/* ========== HEADER ========== */


header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 600;
  display: flex;
  align-items: center;
  padding: 10px 20px;
  background: transparent;
  backdrop-filter: none;
  transition:
    background 0.6s ease,
    backdrop-filter 0.6s ease;
}

/* Header con scroll: blur gradiente (oscuro arriba, claro abajo) sin línea */
header.scrolled {
  backdrop-filter: blur(8px);
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.18) 0%,
    rgba(0, 0, 0, 0.08) 50%,
    rgba(0, 0, 0, 0.01) 100%
  );
}


/* ========== HEADER BLOCKS ========== */
.header-left,
.header-center,
.header-right {
  flex: 1;
  display: flex;
  align-items: center;
}

/* Alineaci├│n espec├¡fica */
.header-left    { 
  justify-content: flex-start; 
  gap: 18px; 
  z-index: 200; 
}
.header-center  { 
  justify-content: center; 
}

.header-right   { 
  justify-content: flex-end; 
  gap: 12px; 
}

/* Iconos del header */
.user-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  background: none;
  border: none;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.user-icon:hover {
  opacity: 0.7;
}

.user-icon svg {
  width: 20px;
  height: 20px;
  display: block;
}

/* Botones de b├║squeda: desktop vs mobile */
.search-mobile {
  display: flex !important; /* Visible siempre (izquierda) */
}

.search-desktop {
  display: none !important; /* Oculto siempre (derecha) */
}

/* Texto Men├║ / Cerrar */
.menu-label{
  display:inline-block;
  padding-left:10px ;
  width:40px;
  font-size:12px;
  font-weight:400;
  line-height:1;
  color:#1D1D1D;
  user-select:none;
}

.menu-label::before{content:"Menu"; transition:.3s;}
/* cambia a "Cerrar" cuando el botón tiene la clase .active */


.close-menu{
  position: absolute;      /* lo fijamos dentro del panel */
  top: 16px;               /* ajusta seg├║n tu padding */
  left: 22px;
  font-size: 28px;         /* tama├▒o de la ÔÇ£├ùÔÇØ */
  line-height: 1;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 800;            /* mayor que los links (700) */
}

/* El bot├│n cuando est├í dentro del panel */
.nav-menu .burger{
  position: absolute;       /* vive dentro del panel */
  top: 18px;                /* ajusta a tu gusto */
  left: 18px;
  z-index: 800;             /* por encima de los links (panel = 700) */
}

/* ÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇ
   4. NAV MENU lateral - ELEGANTE CON CASCADA
ÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇ */
.nav-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  max-width: 420px;
  height: 100vh;
  background: #fff;
  transform: translateX(-100%);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 700;
  overflow: hidden;
}

.nav-menu.open {
  transform: translateX(0);
}

/* Header del men├║ */
.nav-menu-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 60px;
  display: flex;
  align-items: center;
  padding: 0 20px;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
  z-index: 10;
}

.close-menu {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  transition: background 0.2s, transform 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.close-menu:hover {
  background: #f5f5f5;
  transform: rotate(90deg);
}

.close-menu svg {
  stroke: #333;
}

/* ÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉ
   PANELES DE NAVEGACI├ôN (cascada)
ÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉ */
.nav-panel {
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  height: calc(100% - 60px);
  background: #fff;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 20px 0;
}

.nav-panel.active {
  transform: translateX(0);
}

.nav-panel-main {
  transform: translateX(0);
}

.nav-panel-main.slide-out {
  transform: translateX(-30%);
  opacity: 0.3;
}

/* Back button header */
.nav-panel-back {
  display: flex;
  align-items: center;
  padding: 0 20px 20px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 10px;
}

.btn-back {
  display: flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 14px;
  color: #666;
  padding: 8px 12px 8px 0;
  transition: color 0.2s;
}

.btn-back:hover {
  color: #000;
}

.btn-back svg {
  transition: transform 0.2s;
}

.btn-back:hover svg {
  transform: translateX(-3px);
}

.panel-title {
  font-size: 18px;
  font-weight: 600;
  color: #1d1d1d;
  margin-left: auto;
  padding-right: 10px;
}

/* ÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉ
   LISTA DE NAVEGACI├ôN
ÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉ */
.nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.nav-item {
  opacity: 0;
  transform: translateY(10px);
}

.nav-menu.open .nav-panel.active .nav-item {
  animation: navItemIn 0.4s ease forwards;
}

.nav-menu.open .nav-panel.active .nav-item:nth-child(1) { animation-delay: 0.1s; }
.nav-menu.open .nav-panel.active .nav-item:nth-child(2) { animation-delay: 0.15s; }
.nav-menu.open .nav-panel.active .nav-item:nth-child(3) { animation-delay: 0.2s; }
.nav-menu.open .nav-panel.active .nav-item:nth-child(4) { animation-delay: 0.25s; }
.nav-menu.open .nav-panel.active .nav-item:nth-child(5) { animation-delay: 0.3s; }
.nav-menu.open .nav-panel.active .nav-item:nth-child(6) { animation-delay: 0.35s; }
.nav-menu.open .nav-panel.active .nav-item:nth-child(7) { animation-delay: 0.4s; }
.nav-menu.open .nav-panel.active .nav-item:nth-child(8) { animation-delay: 0.45s; }

@keyframes navItemIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.nav-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 24px;
  color: #1d1d1d;
  text-decoration: none;
  font-size: 16px;
  font-weight: 500;
  transition: background 0.2s, padding-left 0.2s;
  position: relative;
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
}

.nav-link::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 0;
  background: #1d1d1d;
  transition: height 0.2s;
}

.nav-link:hover {
  background: #f8f8f8;
  padding-left: 28px;
}

.nav-link:hover::before {
  height: 60%;
}

.nav-icon {
  font-size: 20px;
  width: 28px;
  text-align: center;
}

.nav-arrow {
  margin-left: auto;
  opacity: 0.4;
  transition: transform 0.2s, opacity 0.2s;
}

.nav-link:hover .nav-arrow {
  transform: translateX(4px);
  opacity: 0.8;
}

/* Link destacado */
.nav-link-highlight {
  color: #666;
  font-weight: 400;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.nav-link-highlight:hover {
  color: #1d1d1d;
}

/* Divider */
.nav-divider {
  height: 1px;
  background: #eee;
  margin: 15px 24px;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

/* Loading state */
.nav-loading {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 24px;
  color: #999;
  font-size: 14px;
}

.loading-spinner {
  width: 20px;
  height: 20px;
  border: 2px solid #eee;
  border-top-color: #1d1d1d;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Categor├¡a con imagen */
.nav-link .cat-thumb,
.nav-link .sub-thumb {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  object-fit: cover;
  background: #f5f5f5;
}

/* Tipo de subcategor├¡a (header) */
.nav-item-tipo {
  padding: 12px 24px 6px;
  font-size: 11px;
  font-weight: 600;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  opacity: 1 !important;
  transform: none !important;
}

/* Empty state */
.nav-empty {
  padding: 30px 24px;
  text-align: center;
  color: #999;
  font-size: 14px;
}

/* Error state */
.nav-error {
  padding: 20px 24px;
  color: #e74c3c;
  font-size: 14px;
}

/* ÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇ
   5. Bloquear interacci├│n con secciones detr├ís
ÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇ */
.nav-menu.open ~ .hero-banner,
.nav-menu.open ~ .carousel-container {
  pointer-events: none;
}

/* ÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇ
   2. Bot├│n HAMBURGUESA
ÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇ */
/* 1. modifica tu regla existente */
.burger{
  position: relative;
  width: 18px;
  height: 13px;
  cursor: pointer;
  border: none;
  background: none;
  padding: 0;
  display: block;
  z-index: 601;               /* ÔåÉ A├æADE ESTA L├ìNEA */
}



.burger span{
  position:absolute;
  width:100%;
  height:1px;
  background:#1D1D1D;
  transition:.25s;
}
.burger span:nth-of-type(1),
.burger span:nth-of-type(3){background:#000;}
.burger span:nth-of-type(1){top:0;}
.burger span:nth-of-type(2){top:50%; transform:translateY(-50%);}
.burger span:nth-of-type(3){bottom:0;}

/* Animaci├│n a "X" cuando el bot├│n tiene .active  */
.burger.active span:nth-of-type(1){transform:translateY(6px) rotate(45deg);}
.burger.active span:nth-of-type(2){opacity:0;}
.burger.active span:nth-of-type(3){transform:translateY(-6px) rotate(-45deg);}

/* ÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇ
   3. Overlay de fondo
ÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇÔöÇ */
.page-overlay{
  position:fixed; inset:0;
  background:rgba(0,0,0,.35);
  backdrop-filter:blur(3px);
  opacity:0;
  pointer-events:none;
  transition:opacity .3s;
  z-index:200;
}
/* visible cuando a├▒adimos .active desde JS */
.page-overlay.active{
  opacity:1;
  pointer-events:auto;
}


/* ----- Logo ----- */
#Logo {
  width: 200px;
  transition: width 0.3s ease, opacity 1s ease, transform 1s ease;
}

/* Logo m├ís peque├▒o al hacer scroll - se aplicar├í gradualmente desde JS */
header.scrolled #Logo {
  width: 130px;
}

/* ========== EFECTO FADE-IN (logo, burger, usuario) ========== */
.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.fade-in.fade-active {
  opacity: 1;
  transform: translateY(0);
}

/*---Todo el css del boton de cotacto*/
.btn-contacto {
  background: none;
  border: none;
  color: #1D1D1D;
  font-size: 12px;      /* ­ƒæê Aqu├¡ defines el tama├▒o de letra */
  font-weight: 500;
  cursor: pointer;
  padding: 4px 6px;
}

/* Panel lateral derecho (CONTACTO) */
.contact-panel{
  position: fixed;
  top: 0;
  right: 0;                       /* ancla al borde derecho */
  width: 100vw;
  max-width: 480px;
  height: 100%;
  box-sizing:border-box;
  background: #fff;
  box-shadow: -2px 0 12px rgba(0,0,0,.2);
  padding: 60px 60px;
  z-index: 999;

  display: flex;
  flex-direction: column;

  /* Ô¼ç´©Å  Nuevo: sale de pantalla con transform   */
  transform: translateX(100%);
  transition: transform 0.4s ease;
}

/* Cuando lo abras con JS a├▒adiendo la clase .open */
.contact-panel.open{
  transform: none;                /* visible */
}


.contact-header {
  padding: 12px;
  border-bottom: 1px solid #f0f0f0;
  background: #fff;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.contact-header h2 {
  font-size: 36px;
  font-weight: 400;
  letter-spacing: -0.5px;
  color: #000;
  margin: 0;
  text-align: left;
  line-height: 1.2;
}

.close-btn {
  font-size: 28px;
  cursor: pointer;
  font-weight: 300;
  transition: opacity 0.2s;
}

.close-btn:hover {
  opacity: 0.6;
}

.contact-content {
  margin-top: 0;
  padding: 10px;
  flex: 1;
  overflow-y: auto;
}

.contact-content form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.contact-content input,
.contact-content textarea {
  padding: 10px;
  font-size: 14px;
  border: 1px solid #ccc;
  width: 100%;
}

.contact-content button {
  background-color: black;
  color: white;
  border: none;
  padding: 12px;
  cursor: pointer;
}

.contact-content {
  font-size: 19px;
  line-height: 1.6;
}

.contact-content p {
  margin: 20px 0;
  font-size: 14px;
}

.contact-line {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 8px ;
  font-size: 14px;
}

.contact-line i {
  font-size: 14px;
  color: #1D1D1D;
}

.contact-line a {
  color: #1D1D1D;
  text-decoration: none;
}

.contact-line a:hover {
  text-decoration: underline;
}

.contact-list {
  list-style: none;
  padding: 0;
  margin: 10px 0;
}

.contact-list li {
  margin-bottom: 6px;
}

.contact-list a {
  text-decoration: none;
  color: #1D1D1D;
  font-size: 13px;
}

.contact-list a:hover {
  text-decoration: underline;
}

.contact-content p strong {
  margin-top: 30px; /* No es tan recomendable */
}

/* ========== MEDIA QUERIES ORGANIZADAS ========== */

/* Tablets (Ôëñ 1024px) */
@media (max-width: 1024px) {
  header {
    padding: 10px 20px;
  }
}

/* Celulares grandes (Ôëñ 768px) */
@media (max-width: 768px) {
  header {
    padding: 10px 16px;
  }

  #Logo {
    width: 130px;
  }
  
  .header-right {
    gap: 10px;
  }

  /* Contact panel */
  .contact-panel {
    width: 100vw;
    padding: 20px 30px;
  }
  
  .nav-menu {
    width: 100%;
    padding: 20px 30px;
  }

  .contact-header h2 {
    font-size: 24px;
  }

  .btn-contacto {
    font-size: 10px;
    padding: 6px 10px;
  }

  .contact-content {
    font-size: 14px;
  }

  .contact-content input,
  .contact-content textarea {
    font-size: 13px;
    padding: 8px;
  }

  .contact-list a,
  .contact-line {
    font-size: 13px;
  }
}

/* Celulares (Ôëñ 480px) */
@media (max-width: 480px) {
  /* Ocultar bot├│n contacto */
  #btn-contacto,
  .btn-contacto {
    display: none !important;
  }

  header {
    padding: 10px 15px;
  }

  /* Mantener flex: 1 para que el logo quede centrado naturalmente */
  .header-left,
  .header-center,
  .header-right {
    flex: 1;
  }

  #Logo {
    width: 100px;
  }
  
  .header-right {
    gap: 8px;
  }
  
  .user-icon svg {
    width: 18px;
    height: 18px;
  }

  /* ­ƒöì Intercambiar b├║squeda: mostrar en izquierda, ocultar en derecha */
  .search-mobile {
    display: flex !important;
  }
  
  .search-desktop {
    display: none !important;
  }

  /* Contact panel */
  .contact-panel {
    width: 100vw;
    padding: 15px 20px;
  }

  .nav-menu {
    width: 100%;
    padding: 45px 20px;
  }

  .contact-header h2 {
    font-size: 20px;
  }

  .contact-content {
    font-size: 12px;
  }

  .contact-content input,
  .contact-content textarea {
    font-size: 12px;
    padding: 6px;
  }

  .contact-content button {
    padding: 10px;
  }

  .contact-line,
  .contact-line i,
  .contact-list a {
    font-size: 12px;
  }
  
  .menu-label {
    display: none;
  }
}

/* Celulares peque├▒os (Ôëñ 380px) */
@media (max-width: 380px) {
  header {
    padding: 8px 12px;
  }
  
  #Logo {
    width: 85px;
  }
  
  .header-right {
    gap: 6px;
  }
  
  .user-icon svg {
    width: 16px;
    height: 16px;
  }
  
  .user-icon {
    padding: 4px;
  }
}

/*Estilos para logged*/
/* Panel CLIENTE (derecha) - heredado de .login-panel */
/* Los estilos base vienen de logged.css */

.cliente-panel.open{
  transform: none;
}


.cliente-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.cliente-info p {
  font-size: 14px;
  margin: 10px 0;
}

.panel-link {
  display: block;
  margin: 6px 0;
  color: #1d1d1d;
  text-decoration: none;
  font-size: 0.9rem;
  transition: color 0.2s ease;
}

.panel-link:hover {
  color: #000;
  text-decoration: underline;
}

.quick-links a {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 8px 0;
  font-size: 0.95rem;
  color: inherit;
  text-decoration: none;
}

.quick-links a i {
  min-width: 18px;
  font-size: 1rem;
}

/* ├ìcono del header (estado normal) */
#icon-wishlist-header {
  font-size: 1.2rem;
  color: #555;          /* contorno gris */
  transition: color 0.2s;
}

/* Estado ÔÇ£hay productos en wishlistÔÇØ */
#icon-wishlist-header.active {
  color: #ff4d6d;       /* rojo */
  font-weight: 900;     /* relleno s├│lido */
}
/* Contador de wishlist en el header */
.wishlist-count {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #ff4d6d;
  color: #fff;
  font-size: 10px;
  font-weight: 600;
  border-radius: 50%;
  padding: 1px 4px;
  line-height: 1;
  min-width: 12px;
  text-align: center;
  display: inline-block;
}

.wishlist-count[hidden] {
  display: none !important;
}

@keyframes fadeInUpSmall {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeOutDownSmall {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(6px);
  }
}

.wishlist-count.animate-in {
  animation: fadeInUpSmall 0.3s ease forwards;
}

.wishlist-count.animate-out {
  animation: fadeOutDownSmall 0.3s ease forwards;
}

#btn-wishlist-panel {
  position: relative;
}


/*Color de iconos siempre en negro*/
.user-icon, .password {
  color: #000 !important;
}

.toggle-password {
  color: #000 !important; /* fuerza negro para el ├¡cono */
  -webkit-tap-highlight-color: transparent;
}

.toggle-password i {
  color: inherit !important; /* hereda de .toggle-password */
}

/* Estilos para items del men├║ con submen├║s */
.menu-item-with-submenu {
  position: relative;
}

.menu-item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

/* Links del men├║ */
.genero-link,
.categoria-link {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 8px !important;
  color: #1d1d1d !important;
  text-decoration: none !important;
  border-radius: 6px;
  transition: all 0.2s ease;
}

.genero-link:hover,
.categoria-link:hover {
  background: #f0f0f0;
}

.genero-item.active > .menu-item-header .genero-link {
  background: #0056b3;
  color: white !important;
}

.categoria-item.active > .menu-item-header .categoria-link {
  background: #e7f3ff;
  color: #0056b3 !important;
}

/* Iconos y ├¡conos de g├®nero */
.genero-icon {
  font-size: 1.3rem;
  display: inline-block;
  min-width: 24px;
  text-align: center;
}

.genero-nombre {
  font-weight: 600;
  font-size: 0.95rem;
}

/* Thumbnails de categor├¡as y subcategor├¡as */
.cat-thumb,
.sub-thumb {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  object-fit: cover;
}

/* Bot├│n toggle */
.submenu-toggle {
  background: none;
  border: none;
  padding: 6px 8px;
  cursor: pointer;
  color: #666;
  font-size: 1.2rem;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
}

.submenu-toggle:hover {
  background: #f0f0f0;
  color: #333;
}

.menu-item-with-submenu.submenu-open > .menu-item-header .submenu-toggle {
  transform: rotate(90deg);
  color: #0056b3;
}

/* Submen├║s (ocultos por defecto) */
.submenu {
  list-style: none;
  padding: 8px 0 8px 16px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  background: #f9f9f9;
  border-left: 3px solid #007bff;
  margin-left: 8px;
}

.menu-item-with-submenu.submenu-open > .submenu {
  max-height: 1000px; /* Aumenta si necesitas m├ís items */
}

.submenu li {
  opacity: 1 !important;
  transform: none !important;
}

.submenu li a {
  padding: 8px 12px !important;
  font-size: 0.9rem;
  color: #333 !important;
}

.submenu li a:hover {
  background: #e7f3ff;
  border-radius: 4px;
  color: #0056b3 !important;
}

/* Encabezados de tipo (Marcas, Promociones, etc.) */
.subcategoria-tipo-header {
  padding: 12px 12px 6px !important;
  font-size: 0.75rem;
  font-weight: 700;
  color: #007bff;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 8px;
  opacity: 1 !important;
  transform: none !important;
}

.subcategoria-tipo-header:first-child {
  margin-top: 0;
  padding-top: 8px;
}

/* Items de subcategor├¡a */
.subcategoria-item {
  opacity: 1 !important;
  transform: none !important;
}

.subcategoria-item a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px !important;
  font-size: 0.9rem;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.subcategoria-item a:hover {
  background: #e7f3ff;
  color: #0056b3 !important;
}

/* Mensajes de error/vac├¡o */
.error-msg,
.empty-msg {
  display: block;
  padding: 10px 12px;
  color: #999;
  font-size: 0.85rem;
  font-style: italic;
}

.error-msg {
  color: #dc3545;
}

/* Responsive */
@media (max-width: 600px) {
  .genero-link,
  .categoria-link {
    font-size: 0.9rem;
  }

  .genero-nombre {
    font-size: 0.85rem;
  }

  .submenu {
    padding: 6px 0 6px 12px;
    margin-left: 6px;
  }

  .submenu li a {
    padding: 6px 10px !important;
  }
}


/* 
   NUEVO ESTILO CASCADA Y GRID (Minimalista Elegante)
 */

/* Contenedor de categor´┐¢as desplegable */
.nav-categories-container {
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  background: linear-gradient(to bottom, #fafafa, #ffffff);
  border-top: 1px solid #e8e8e8;
  border-bottom: 1px solid #e8e8e8;
}

.nav-categories-container.hidden {
  display: none;
}

/* Grid de categor├¡as - Dise├▒o profesional */
.nav-categories-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  max-width: 100%;
}

/* Categor├¡a individual - estilo minimalista de lujo */
.nav-category-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 24px;
  background: #ffffff;
  border: none;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  font-weight: 500;
  color: #1d1d1d;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  position: relative;
  letter-spacing: 0.5px;
}

.nav-category-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0;
  background: #1d1d1d;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.nav-category-card:hover {
  background: #fafafa;
  padding-left: 28px;
}

.nav-category-card:hover::before {
  width: 3px;
}

.nav-category-card .cat-name {
  position: relative;
  z-index: 1;
  flex: 1;
}

.nav-category-card .nav-arrow {
  width: 16px;
  height: 16px;
  stroke: #999;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), stroke 0.3s;
  stroke-width: 2;
}

.nav-category-card:hover .nav-arrow {
  stroke: #1d1d1d;
  transform: translateX(3px);
}

.nav-category-card.expanded .nav-arrow {
  transform: rotate(90deg);
}

.nav-category-card.expanded:hover .nav-arrow {
  transform: rotate(90deg) translateY(-3px);
}

/* Estilo especial para "Ver Todo" */
.nav-category-card.nav-category-all {
  background: #1d1d1d;
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 1px;
  border-bottom: 2px solid #1d1d1d;
}

.nav-category-card.nav-category-all .nav-arrow {
  stroke: #ffffff;
}

.nav-category-card.nav-category-all:hover {
  background: #333;
  padding-left: 24px;
  border-bottom-color: #333;
}

.nav-category-card.nav-category-all::before {
  display: none;
}

/* Spinner en el container */
.nav-categories-container .loading-spinner {
  margin: 30px auto;
  display: block;
  width: 40px;
  height: 40px;
  border: 3px solid #f0f0f0;
  border-top-color: #1d1d1d;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Mensajes de error/vac´┐¢o */
.nav-error,
.nav-empty {
  padding: 20px;
  text-align: center;
  color: #666;
  font-size: 14px;
}

.nav-error {
  color: #d32f2f;
}

/* Mejorar el nav-link para g´┐¢nero */
.nav-item-expandable > .nav-link {
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

/* Responsive: 2 columnas en pantallas m´┐¢s peque´┐¢as */
@media (max-width: 380px) {
  .nav-categories-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  
  .nav-category-card {
    font-size: 12px;
    padding: 14px 6px;
    min-height: 55px;
  }
}


/* Subcategor├¡as - dise├▒o profesional */
.nav-category-item {
  position: relative;
}

.nav-subcategories-container {
  background: #fafafa;
  border-left: 2px solid #e0e0e0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease, padding 0.3s ease;
}

.nav-subcategories-container:not(.hidden) {
  max-height: 600px;
  opacity: 1;
  padding: 8px 0;
}

.nav-subcategories-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.nav-subcategory-link {
  display: flex;
  align-items: center;
  padding: 14px 24px 14px 40px;
  background: transparent;
  border: none;
  border-bottom: 1px solid #f0f0f0;
  color: #555;
  font-size: 13px;
  font-weight: 400;
  text-decoration: none;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  letter-spacing: 0.3px;
}

.nav-subcategory-link::before {
  content: 'ÔåÆ';
  position: absolute;
  left: 20px;
  opacity: 0;
  transform: translateX(-10px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-size: 14px;
  color: #1d1d1d;
}

.nav-subcategory-link:hover {
  background: #ffffff;
  color: #1d1d1d;
  padding-left: 50px;
}

.nav-subcategory-link:hover::before {
  opacity: 1;
  transform: translateX(0);
}

.nav-subcategory-link:last-child {
  border-bottom: none;
}

.nav-subcategory-link:hover {
  background: #1d1d1d;
  color: #ffffff;
  border-color: #1d1d1d;
}

/* ÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉ
   PANEL LATERAL TIPO LOUIS VUITTON - 3 NIVELES
   Desktop: 3 divs separados | Mobile: Deslizante
ÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉ */

/* Paneles individuales (categor├¡as y subcategor├¡as) */
.lv-panel {
  position: fixed;
  top: 0;
  height: 100vh;
  width: 0;
  background: #ffffff;
  z-index: 699;
  overflow: hidden;
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
              opacity 0.4s ease,
              left 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

/* Los paneles solo son visibles cuando el nav-menu est├í abierto (cascada) */
.nav-menu.open ~ .lv-panel {
  visibility: visible;
}

/* Panel de Categor├¡as */
.lv-panel-categories {
  left: 420px; /* Despu├®s del nav-menu */
}

/* Panel de Subcategor├¡as */
.lv-panel-subcategories {
  left: 420px; /* Inicialmente en la misma posici├│n */
}

/* Estado activo - Desktop */
.lv-panel.active {
  width: 420px;
  opacity: 1;
  pointer-events: all;
}

/* Desktop: Cuando categor├¡as est├í activo, subcategor├¡as se mueve a la derecha */
.lv-panel-categories.active ~ .lv-panel-subcategories {
  left: 840px; /* nav-menu (420px) + categor├¡as (420px) */
}

/* Desktop: Subcategor├¡as activo se muestra a la derecha */
.lv-panel-subcategories.active {
  left: 840px;
}

/* Encabezado de los paneles */
.lv-panel-header {
  position: sticky;
  top: 0;
  background: #ffffff;
  padding: 20px 30px;
  border-bottom: 1px solid #e8e8e8;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  position: relative;
}

/* Bot├│n volver - Posicionado absoluto a la izquierda */
.lv-back-btn {
  position: absolute;
  left: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px 12px 8px 4px;
  color: #666;
  font-size: 14px;
  font-weight: 500;
  transition: color 0.2s, transform 0.2s;
  border-radius: 8px;
}

.lv-back-btn:hover {
  color: #1d1d1d;
  background: #f5f5f5;
}

.lv-back-btn svg {
  transition: transform 0.2s;
}

.lv-back-btn:hover svg {
  transform: translateX(-3px);
}

.lv-panel-title {
  font-size: 20px;
  font-weight: 600;
  color: #1d1d1d;
  letter-spacing: 0.5px;
  text-transform: capitalize;
  text-align: center;
  margin: 0;
}

/* Contenido del panel */
.lv-panel-content {
  height: calc(100% - 80px);
  overflow-y: auto;
  padding: 0 0 20px 0;
}

/* Panel de categor├¡as sin header, contenido desde arriba */
.lv-panel-categories .lv-panel-content {
  height: 100%;
  padding: 0;
}

.lv-panel-categories .lv-panel-header {
  display: none;
}

/* Panel de subcategor├¡as sin header en desktop */
.lv-panel-subcategories .lv-panel-header {
  display: none;
}

/* Banner de g├®nero (imagen decorativa) */
.lv-gender-banner {
  width: 100%;
  margin-bottom: 20px;
  overflow: hidden;
}

.lv-gender-banner-img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.lv-gender-banner:hover .lv-gender-banner-img {
  transform: scale(1.05);
}

/* Lista de categor├¡as en el panel lateral */
.lv-categories-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.lv-category-item {
  border-bottom: 1px solid #f0f0f0;
}

/* Bot├│n de categor├¡a - ahora navega al siguiente panel */
.lv-category-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 30px;
  background: none;
  border: none;
  border-bottom: 1px solid #f5f5f5;
  font-size: 15px;
  font-weight: 500;
  color: #1d1d1d;
  text-align: left;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  letter-spacing: 0.3px;
}

.lv-category-trigger::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0;
  background: #1d1d1d;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.lv-category-trigger:hover {
  background: #fafafa;
  padding-left: 34px;
}

.lv-category-trigger:hover::before {
  width: 4px;
}

.lv-category-trigger .cat-name {
  flex: 1;
  position: relative;
  z-index: 1;
}

.lv-category-trigger .lv-arrow {
  width: 16px;
  height: 16px;
  stroke: #999;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), stroke 0.3s;
  stroke-width: 2.5;
}

.lv-category-trigger:hover .lv-arrow {
  stroke: #1d1d1d;
  transform: translateX(3px);
}

/* Lista de subcategor├¡as en el tercer panel */
.lv-subcategories-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Item de subcategor├¡a - Bloque completo con t├¡tulo sobrepuesto + productos */
.lv-subcategory-item {
  margin-bottom: 0;
  position: relative;
}

/* T├¡tulo de la subcategor├¡a - Sobrepuesto arriba en blanco */
.lv-subcat-title {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 18px;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 2px;
  text-transform: uppercase;
  z-index: 10;
  pointer-events: none;
  text-align: center;
  width: 100%;
  padding: 0 20px;
  transition: transform 0.3s ease, font-size 0.3s ease;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}

/* Hover sobre toda la subcategor├¡a agranda el t├¡tulo */
.lv-subcategory-item:hover .lv-subcat-title {
  transform: translateX(-50%) scale(1.1);
}

/* Grid de productos 2x1 por subcategor├¡a */
.lv-subcat-products-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  position: relative;
}

/* Card de producto individual */
.lv-subcategory-card {
  display: block;
  background: transparent;
  color: #1d1d1d;
  text-decoration: none;
  position: relative;
}

/* Contenedor de imagen del producto - Cuadrado sin m├írgenes */
.lv-subcat-image-wrapper {
  width: 100%;
  padding-bottom: 100%; /* Aspecto 1:1 (cuadrado) */
  position: relative;
  background: transparent;
  overflow: hidden;
  border-radius: 0;
}

.lv-subcat-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

/* Placeholder mientras carga - Invisible */
.lv-subcat-image-placeholder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border-radius: 0;
}

.lv-subcat-image-placeholder-empty {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  border-radius: 0;
}

.lv-subcat-image-placeholder-empty::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23999" stroke-width="1.5"><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="8.5" cy="8.5" r="1.5"/><path d="M21 15l-5-5L5 21"/></svg>') center/contain no-repeat;
  opacity: 0;
}

/* Spinner oculto */
.lv-loading-spinner-small {
  width: 24px;
  height: 24px;
  border: 2px solid #f0f0f0;
  border-top-color: #1d1d1d;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  opacity: 0;
  visibility: hidden;
}



/* Link de subcategor├¡a - ESTILO ANTIGUO (mantener por compatibilidad) */
.lv-subcategory-link {
  display: flex;
  align-items: center;
  padding: 14px 30px 14px 46px;
  background: transparent;
  color: #555;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  letter-spacing: 0.3px;
  border-left: 3px solid transparent;
}

.lv-subcategory-link::before {
  content: 'ÔåÆ';
  position: absolute;
  left: 30px;
  opacity: 0;
  transform: translateX(-8px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-size: 14px;
  color: #1d1d1d;
}

.lv-subcategory-link:hover {
  background: #ffffff;
  color: #1d1d1d;
  padding-left: 52px;
  border-left-color: #1d1d1d;
}

.lv-subcategory-link:hover::before {
  opacity: 1;
  transform: translateX(0);
}

/* Animaci├│n de entrada para las categor├¡as */
@keyframes lvFadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.lv-side-panel.active .lv-category-item {
  animation: lvFadeIn 0.4s ease forwards;
}

.lv-side-panel.active .lv-category-item:nth-child(1) { animation-delay: 0.05s; }
.lv-side-panel.active .lv-category-item:nth-child(2) { animation-delay: 0.1s; }
.lv-side-panel.active .lv-category-item:nth-child(3) { animation-delay: 0.15s; }
.lv-side-panel.active .lv-category-item:nth-child(4) { animation-delay: 0.2s; }
.lv-side-panel.active .lv-category-item:nth-child(5) { animation-delay: 0.25s; }
.lv-side-panel.active .lv-category-item:nth-child(6) { animation-delay: 0.3s; }
.lv-side-panel.active .lv-category-item:nth-child(7) { animation-delay: 0.35s; }
.lv-side-panel.active .lv-category-item:nth-child(8) { animation-delay: 0.4s; }

/* Spinner de carga */
.lv-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 30px;
  color: #999;
}

.lv-loading-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #f0f0f0;
  border-top-color: #1d1d1d;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  margin-bottom: 15px;
}

.lv-loading-text {
  font-size: 14px;
  color: #999;
}

/* Bot├│n volver - solo visible en m├│vil */
.lv-back-btn.lv-mobile-only {
  display: none;
}

/* Responsive - Navegaci├│n deslizante en m├│vil */
@media (max-width: 768px) {
  /* Mostrar bot├│n volver en m├│vil */
  .lv-back-btn.lv-mobile-only {
    display: flex;
  }
  
  /* Mostrar headers en mobile para navegaci├│n */
  .lv-panel-categories .lv-panel-header,
  .lv-panel-subcategories .lv-panel-header {
    display: flex !important;
  }
  
  /* Todos los paneles empiezan desde la izquierda en m├│vil */
  .lv-panel {
    left: 0;
    width: 100vw;
    max-width: 100vw;
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.4s ease;
  }
  
  .lv-panel.active {
    width: 100vw;
    transform: translateX(0);
  }
  
  /* En m├│vil, las posiciones no cambian, solo el transform */
  .lv-panel-categories,
  .lv-panel-subcategories {
    left: 0;
  }
  
  .lv-panel-categories.active ~ .lv-panel-subcategories {
    left: 0;
  }
  
  .lv-panel-subcategories.active {
    left: 0;
  }
  
  /* Ocultar el nav-menu cuando un panel est├í activo en m├│vil */
  .nav-menu.has-active-panel {
    transform: translateX(-100%);
  }
  
  /* Ajustes de padding */
  .lv-panel-header {
    padding: 15px 20px;
  }
  
  .lv-panel-title {
    font-size: 18px;
  }
  
  .lv-category-trigger,
  .lv-subcategory-link {
    padding: 18px 20px;
  }
}
