/* LE SWING — menú rojo editorial, sin líneas ni numeración */
.menu-trigger{position:fixed;top:clamp(18px,3vw,42px);right:clamp(18px,3vw,44px);z-index:1002;width:54px;height:54px;border:1px solid rgba(255,245,233,.95);border-radius:50%;background:rgba(0,0,0,.28);color:#FFF5E9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;backdrop-filter:blur(6px);transition:background .25s}
.menu-trigger span{display:block;width:20px;height:1px;background:currentColor;transition:transform .3s}
.menu-trigger[aria-expanded="true"]{background:transparent}
.menu-trigger[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-trigger[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.menu-trigger:focus-visible,.menu-links a:focus-visible,.menu-social a:focus-visible{outline:2px solid #FFF5E9;outline-offset:5px}
.menu-panel{position:fixed;inset:0;z-index:1001;background:#B71916;color:#FFF5E9;display:flex;flex-direction:column;padding:clamp(24px,4.7vw,76px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .35s,transform .35s,visibility .35s;overflow-y:auto;overscroll-behavior:contain}
.menu-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.menu-header{display:flex;align-items:flex-start;min-height:clamp(92px,15vh,150px);padding-right:80px}
.menu-logo{display:block;width:clamp(110px,12vw,160px);max-height:92px;height:auto;object-fit:contain;object-position:left top;background:transparent!important;padding:0;border:0;box-shadow:none}
.menu-header a{display:inline-block;width:fit-content;line-height:0}
.menu-header a:focus-visible{outline:2px solid #FFF5E9;outline-offset:5px}
.menu-links{display:flex;flex-direction:column;justify-content:center;flex:1;gap:clamp(12px,2vh,32px);padding:24px 0}
.menu-links a{display:block;width:fit-content;max-width:100%;color:#FFF5E9;text-decoration:none;font:400 clamp(52px,7.3vw,116px)/1 'Cormorant Garamond',Georgia,serif;transition:transform .25s,opacity .25s}
.menu-links a:hover{transform:translateX(10px);opacity:.78}
.menu-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;font:500 11px/1.6 'Montserrat',Arial,sans-serif;letter-spacing:.17em;color:#FFF5E9;padding-top:22px}
.menu-social{display:flex;align-items:center;gap:24px}
.menu-social a,.menu-social .social-pending{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;color:#FFF5E9}
.menu-social a:hover{opacity:.7}
.menu-social svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.menu-social .social-pending{opacity:.5;cursor:default}
body.menu-open{overflow:hidden}
/* En móvil, elevar ligeramente el bloque de enlaces sin alterar tamaños ni separación. */
@media(max-width:600px) and (min-height:531px){.menu-links{transform:translateY(-45px)}}
@media(max-width:600px){.menu-panel{padding:25px}.menu-trigger{width:46px;height:46px;top:20px;right:20px}.menu-logo{width:132.25px}.menu-header{min-height:115px}.menu-links{gap:clamp(18px,3vh,32px)}.menu-links a{font-size:clamp(43.2px,10.35vw,68.4px)}.menu-footer{font-size:10.35px;letter-spacing:.1em;gap:10px}.menu-social{gap:14px}.menu-social a,.menu-social .social-pending{width:33px;height:33px}.menu-social svg{width:25.3px;height:25.3px}}
@media(max-height:530px){.menu-header{min-height:68px}.menu-logo{width:90px}.menu-links{gap:8px;padding:10px 0}.menu-links a{font-size:clamp(35px,7vh,55px)}.menu-footer{padding-top:8px}}
@media(prefers-reduced-motion:reduce){.menu-panel,.menu-trigger span,.menu-links a{transition:none}}

/* LE SWING + ARCHIVE: cuatro colores reales inspirados en las tiendas.
   Solo se anima el fondo. Textos, logo y botones siempre marfil.
   Sin degradados: se mantiene la paleta de colores planos. */
@keyframes leswing-wall-colors {
  0%, 100% { background-color: #B71916; }
  25% { background-color: #D77C9C; }
  50% { background-color: #E5B316; }
  75% { background-color: #258FAF; }
}
body[data-menu-color="animado"] .menu-panel.is-open { animation: leswing-wall-colors 18s ease-in-out infinite; }
body[data-menu-color="aleatorio"] .menu-panel.is-open { animation: none; background-color: var(--menu-random-color, #B71916); }
/* Colores planos: sin degradado ni capa oscura. */
.menu-panel::before { display: none; }
.menu-panel > * { position: relative; z-index: 1; }
.menu-panel, .menu-panel .menu-links a,
.menu-panel .menu-footer, .menu-panel .menu-social a,
.menu-panel .menu-social .social-pending { color: #FFF5E9; }
.menu-panel .menu-logo { filter: none; }
/* El botón de cierre está fuera del panel; fondo oscuro para contraste. */
.menu-trigger[aria-expanded="true"] {
  color: #FFF5E9;
  border-color: #FFF5E9;
  background: transparent;
  backdrop-filter: none;
  animation: none;
}
@media (prefers-reduced-motion: reduce) {
  body[data-menu-color="animado"] .menu-panel.is-open { animation: none; background-color: #B71916; }
}

/* Continuidad entre páginas: el color del menú se desvanece sobre el destino. */
.menu-panel.is-arriving{opacity:1;visibility:visible;pointer-events:none;transform:none;transition:none}
.menu-panel.is-arriving:not(.is-open){opacity:1}
