/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Jorge
Author URI: https://generatepress.com/about
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.6.0.1751578667
Updated: 2025-07-03 21:37:47

*/
/* --- PRODUCTOS Y PÁGINAS --- */
.wc-block-grid__products,
.woocommerce ul.products {
  margin-left: 0;
  max-width: 100%;
}

.wc-block-grid__products li.product,
.woocommerce ul.products li.product {
  background-color: rgba(0, 141, 165, 0.1);
  border-radius: 16px;
  padding: 16px;
  margin: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  border: none;
}

.woocommerce ul.products li.product a.button,
a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart,
.woocommerce a.button {
  font-size: 14px !important;
  padding: 12px 16px !important;
  width: auto !important;
  min-width: unset !important;
  background-color: #008da5 !important;
  color: #ffffff !important;
  border-radius: 8px !important;
  border: none !important;
  transition: background-color 0.3s ease;
}

.woocommerce ul.products li.product a.button:hover,
a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart:hover,
.woocommerce a.button:hover {
  background-color: #006b7e !important;
  color: #ffffff !important;
}

/* Redondear solo los bloques destacados de categorías en página de inicio */
.gb-container.contenedor-destacado {
  border-radius: 16px !important;
  overflow: hidden;
}

/* Restablecer estilos a contenedor-destacado solo en móvil */
@media (max-width: 768px) {
  .contenedor-destacado {
    border-radius: 16px !important;
    overflow: hidden;
    width: auto !important;
    margin: 8px !important;
    height: auto !important;
    padding: 16px !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .contenedor-destacado > .gb-container {
    padding: 14px !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .contenedor-destacado .gb-headline,
  .contenedor-destacado .wp-block-button {
    margin: 0 auto !important;
    text-align: center;
  }

  .single-product .product_title.entry-title {
    font-size: 24px !important;
    line-height: 1.3;
    text-align: left;
  }

  .single-product .site-main {
    padding-left: 12px;
    padding-right: 12px;
  }

  .juntar-parrafos {
    margin-bottom: 5px;
    line-height: 1.3;
  }

  /* --- MENÚ MÓVIL (FIX) --- */
  .slideout-navigation {
    position: fixed !important;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 100000 !important;
    background: #fff;
  }
  .slideout-navigation .main-nav {
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    position: relative;
    z-index: 1;
  }

  /* Asegurar que la flecha/toggle existe (NO ocultarla) */
  .main-navigation .dropdown-menu-toggle {
    display: inline-flex !important;
    align-items: center;
    margin-left: 8px;
  }

  /* Reset del listado */
  .slideout-navigation .main-nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .slideout-navigation .main-nav ul > li {
    position: static !important;
    clear: both !important;
  }

  /* Enlaces de primer nivel: centrados */
  .slideout-navigation .main-nav ul > li > a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px 16px;
    text-align: center;
    text-decoration: none;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  /* Submenús cerrados por defecto, apilados en flujo */
  .slideout-navigation .main-nav ul ul.sub-menu {
    display: none;
    position: relative !important;
    left: auto !important; right: auto !important; top: auto !important;
    float: none !important;
    z-index: 2;
    margin: 0;
    padding: 6px 0 6px 16px;
    box-shadow: none !important;
    background: transparent !important;

    max-height: none !important;
    overflow: visible !important;
    transition: none !important;
  }
  .slideout-navigation .main-nav ul ul.sub-menu.toggled-on {
    display: block !important;
  }

  /* Niveles más profundos */
  .slideout-navigation .main-nav ul ul ul.sub-menu {
    padding-left: 16px;
  }

  /* Enlaces de submenú */
  .slideout-navigation .main-nav ul ul li > a {
    display: block;
    padding: 8px 12px;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  /* Neutralizar hover pegado */
  .slideout-navigation .main-nav li.sfHover > ul.sub-menu {
    display: none !important;
  }

  /* Anular reglas antiguas basadas en .open */
  .main-navigation ul ul { 
    max-height: none !important; 
    overflow: visible !important; 
    transition: none !important; 
    background-color: transparent !important;
  }
  .main-navigation ul li.open > ul { 
    max-height: none !important; 
  }

  /* --- Textos del carrito y checkout --- */
  .woocommerce-cart,
  .woocommerce-checkout,
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce,
  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart_totals,
  .woocommerce-checkout .woocommerce-checkout-review-order,
  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout .woocommerce-shipping-fields,
  .woocommerce-checkout .woocommerce-additional-fields,
  .woocommerce table,
  .woocommerce table th,
  .woocommerce table td,
  .woocommerce h2,
  .woocommerce h3,
  .woocommerce p,
  .woocommerce label,
  .woocommerce input,
  .woocommerce select,
  .woocommerce textarea,
  .woocommerce-message,
  .woocommerce-error,
  .woocommerce-info {
    font-size: 16px !important;
    line-height: 1.4 !important;
  }

  .woocommerce-checkout .wc-stripe-gpay-button,
  .woocommerce-checkout .apple-pay-button {
    font-size: 16px !important;
  }
}

/* Contenido personalizado */
.custom-html-container {
  text-align: justify;
}
@media (max-width: 768px) {
  .custom-html-container {
    font-size: 15px;
  }
}

.sobre-nosotros {
  text-align: justify;
  padding-left: 40px;
  padding-right: 40px;
}
@media (max-width: 768px) {
  .sobre-nosotros {
    padding-left: 10px;
    padding-right: 10px;
    font-size: 15px;
  }
}

/* Esconder menú normal en móvil, mostrar solo el slideout */
@media (max-width: 768px) {
  .main-navigation:not(.offside--left):not(.offcanvas-navigation) {
    display: none !important;
  }
}

/* Ocultar/mostrar banners */
.banner-movil {
  display: none;
}
@media (max-width: 768px) {
  .banner-escritorio { display: none; }
  .banner-movil { display: block; }
}
/* ===========================
   SUBMENÚ MÓVIL – ESTILOS VISUALES
   Pega este bloque debajo de tu CSS actual
   =========================== */

/* ===== Opción RECOMENDADA (combo: fondo + sombra + borde + separadores) ===== */
@media (max-width: 768px) {
  /* Caja del submenú */
  .slideout-navigation .main-nav ul ul.sub-menu {
    background: #ffffff !important;
    border-left: 3px solid #008da5;   /* color de marca */
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(0,0,0,0.10);
    margin: 6px 10px;                 /* separa visualmente del item padre */
    padding: 8px 0;                   /* respiro interno */
  }
  /* Separadores entre ítems */
  .slideout-navigation .main-nav ul ul.sub-menu > li {
    border-bottom: 1px solid #eaeaea;
  }
  .slideout-navigation .main-nav ul ul.sub-menu > li:last-child {
    border-bottom: none;
  }
  /* Enlaces del submenú */
  .slideout-navigation .main-nav ul ul.sub-menu > li > a {
    padding: 10px 14px;
    color: #004a54;                   /* texto más oscuro */
    text-align: left;
    border-radius: 6px;
  }
  .slideout-navigation .main-nav ul ul.sub-menu > li > a:hover,
  .slideout-navigation .main-nav ul ul.sub-menu > li > a:focus {
    background: #e6f7fa;             /* tinte suave de tu paleta */
    outline: none;
  }
  /* Padre abierto: borde lateral más vivo */
  .slideout-navigation .main-nav li.menu-item-has-children > ul.sub-menu.toggled-on {
    border-left-color: #00a8c0;
  }
}
