
 /* LA SOLUCIÓN: Usamos 'clip' en lugar de 'hidden'SUMARIO
  *  03 BARRA DE NAVEGACIÓN
  * 07 Categoria de Mapas 
  * 08 menu lateral-
  * 
  * 
body, html {
            margin: 0;
            padding: 0;
            font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
            width: 100%;
            max-width: 100%;
            background-color: #fff; /* Fondo base blanco para transiciones */
            
           
            overflow-x: clip; 
        }

        * { box-sizing: border-box; }

        
        /* Efecto hover suave para iconos del menú */
        .hover-opacity:hover {
            opacity: 0.6;
            transition: opacity 0.3s ease;
        }
        
        /* Ajustar el placeholder del buscador nuevo */
        .form-control::placeholder {
            color: #666;
        }
        
        /* Efecto premium para enlaces del footer */
        .text-hover-fade {
            transition: opacity 0.3s ease;
        }
        .text-hover-fade:hover {
            opacity: 0.5;
        }




/* ---  03 BARRA DE NAVEGACIÓN position: relative;--- */
        
        
        .navbar-custom {
            display: block;
            width: 100%;
            z-index: 1000;
            background-color: rgba(255, 255, 255, 0.9);
            padding: 15px 0;
            border-bottom: 1px solid #eee;
            transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
            transform-origin: top center;
        }

        .navbar-custom.is-hidden {
            opacity: 0;
            transform: translateY(-20px); 
            pointer-events: none; 
        }

        /* --- LOGO ANIMADO FLOTANTE --- */
        .brand-logo-anim {
            position: fixed;
            top: 15px;
            left: 30px;
            z-index: 2000;
            transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
            transform-origin: left top;
        }

        .brand-logo-anim svg {
            width: 45px; 
            height: auto;
            display: block;
        }

        .brand-logo-anim.is-hidden {
            opacity: 0;
            transform: translateY(-20px) scale(0.95); 
            pointer-events: none; 
        }


        /* --- SCROLLBAR --- */
        html {
            scrollbar-width: thin; 
            scrollbar-color: #cccccc #ffffff; 
        }
        ::-webkit-scrollbar { width: 6px; height: 6px; }
        ::-webkit-scrollbar-track { background: #ffffff; }
        ::-webkit-scrollbar-thumb {
            background-color: #cccccc; 
            border-radius: 10px; 
        }
        ::-webkit-scrollbar-thumb:hover { background-color: #000000; }
        
        :root {
            --lw-spacing-0: 0;
            --lw-spacing-100: 4px;
            --lw-spacing-200: 8px;
            --lw-spacing-300: 12px;
            --lw-spacing-400: 16px;
            --lw-spacing-600: 24px;
            --lw-spacing-800: 32px;
            --lw-spacing-1200: 48px;
            --lw-spacing-2000: 80px;
            --lw-spacing-3200: 128px;
            --lw-spacing-4000: 160px;
        }
        @media (min-width: 1024px) {
            .p-lr-custom {
                padding-left: var(--lw-spacing-600);
                padding-right: var(--lw-spacing-600);
                padding-bottom: 0;
            }
        }

        /* --- NUEVO: FOOTER ESTILO LOEWE --- */
        .footer-custom {
            background-color: #ffffff;
            position: relative;
            z-index: 10; /* Debe estar por encima de los slides pegajosos */
            border-top: 1px solid #e0e0e0;
            padding: 60px 0;
        }

        /* --- NUEVO: ESTILOS DEL PANEL LATERAL (OFFCANVAS) --- */
        .offcanvas-custom {
            width: 450px !important;
            max-width: 100%;
            border-left: none !important;
        }
        
        .input-newsletter {
            border: none;
            border-bottom: 1px solid #ccc;
            border-radius: 0;
            padding: 10px 0;
            background: transparent;
            font-size: 0.9rem;
        }
        
        .input-newsletter:focus {
            box-shadow: none;
            border-color: #000;
            outline: none;
        }

        .btn-newsletter {
            border-radius: 0;
            letter-spacing: 1px;
            font-size: 0.85rem;
            padding: 15px;
        }
        
        /* --- NAVEGACIÓN INFERIOR MÓVIL (ESTILO APP) --- */
 /* ══ MOBILE BOTTOM NAV — mejorada ══ */
.mobile-bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 56px;
  padding: 0;
  padding-bottom: env(safe-area-inset-bottom, 0px); /* safe area iPhone */
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.06);
  z-index: 2000;
  display: flex;
  justify-content: space-around;
  align-items: stretch;
  transition: transform 0.3s ease-in-out;
}

.mobile-bottom-nav a {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 6px 0;
  margin: 2px 3px;
  color: #94a3b8;
  text-decoration: none;
  border-radius: 12px;
  position: relative;
  transition: color 0.15s ease, background 0.15s ease;
  -webkit-tap-highlight-color: transparent; /* quita el flash azul en Android */
}

/* Feedback táctil al pulsar */
.mobile-bottom-nav a:active {
  background: rgba(0, 0, 0, 0.05);
  transform: scale(0.93);
  transition: transform 0.1s ease;
}

/* Estado activo — añadir clase "active-nav" desde JS según la ruta */
.mobile-bottom-nav a.active-nav {
  color: #e67e22;
}
.mobile-bottom-nav a.active-nav i {
  color: #e67e22;
}

/* Punto naranja bajo el icono activo 
.mobile-bottom-nav a.active-nav::after {
  content: '';
  position: absolute;
  bottom: 4px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #e67e22;
}*/

.mobile-bottom-nav i {
  font-size: 1rem;
  margin-bottom: 0;
  line-height: 1;
}

.mobile-bottom-nav span {
  font-size: 0.45rem;
  letter-spacing: 0.5px;
    padding-top: 4px;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
}
        /* --- BARRA STICKY POR SECCIÓN (ESTILO LOEWE) --- */
        .section-sticky-bar {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            padding: 25px 40px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            z-index: 1500; /* Por debajo del logo, pero por encima de los slides */
            opacity: 0; /* Oculta por defecto */
            pointer-events: none; /* No clickeable mientras está oculta */
            transform: translateY(-20px); /* Ligeramente desplazada hacia arriba */
            transition: opacity 0.4s ease, transform 0.4s ease, color 0.4s ease;
        }

        .section-sticky-bar.is-active {
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto;
        }

        .section-sticky-bar a {
            color: inherit;
            border-bottom: 1px solid transparent;
            transition: border-color 0.3s;
        }

        .section-sticky-bar a:hover {
            border-color: currentColor;
        }

        /* Temas de color para contraste según la foto */
        .section-sticky-bar.theme-light { color: #ffffff; }
        .section-sticky-bar.theme-dark { color: #000000; }

        @media (max-width: 768px) {
            .section-sticky-bar {
                padding: 20px; /* Menos padding en móviles */
            }
        }
        
         @media (max-width: 768px) {  
           .navbar-custom {
          
            background-color: rgba(255, 255, 255, 0);
                   border-bottom: 1px solid transparent;
          
        }
}

/* ── Favoritos — corazón en tarjetas de pines ── */
.pm-pin-card { position: relative; }

.pm-fav-btn {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(255,255,255,0.92);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
  box-shadow: 0 1px 4px rgba(0,0,0,0.15);
  transition: transform 0.15s ease;
  z-index: 2;
  -webkit-tap-highlight-color: transparent;
}
.pm-fav-btn:active  { transform: scale(0.85); }
.pm-fav-btn.active  { background: #fff0f0; }


        /* --- 07 Categoria de Mapas --- */
div.item-content.map-category{padding: 1% 3%}
img.subcat-image{ width: 100%}
.com-content-category__children.page-header.item-title h3{padding-left: 10px}

 /* --- 08 menu lateral--- */
ul.custom-menu-list{    list-style: none;}
ul.custom-menu-list li{ padding: 5px 0px ;     text-decoration: none !important;}
ul.custom-menu-list li a{ text-decoration: none !important;}