/* =============================================================
   La Villa Restaurant — October / UX / bilingual enhancements
   Additive only: intentionally does not replace existing imagery.
   ============================================================= */

/* Language switcher */
.lang-switcher{
  display:inline-flex; align-items:center; gap:2px; padding:3px;
  border:1px solid rgba(255,255,255,.22); border-radius:999px;
  background:rgba(255,255,255,.08); backdrop-filter:blur(8px);
}
.lang-switcher button{
  border:0; background:transparent; color:rgba(255,255,255,.78);
  border-radius:999px; min-width:34px; height:30px; padding:0 9px;
  font:700 .73rem/1 var(--label); letter-spacing:.06em; cursor:pointer;
}
.lang-switcher button[aria-pressed="true"]{background:#fff;color:#2a1710;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.drawer .lang-switcher{align-self:flex-start;margin-top:.8rem;background:rgba(255,255,255,.06)}
@media(max-width:1120px){.header-social{display:none!important}}
@media(max-width:980px){.header-cta>.lang-switcher{display:none}}

/* Takeout / Para llevar */
.takeout-header{white-space:nowrap;background:linear-gradient(135deg,#f0b439,#d36b1f)!important;color:#2b180c!important}
.takeout-header:hover{filter:brightness(1.05)}
.takeout-icon{font-size:1.05em;line-height:1}
@media(max-width:1180px){.header-cta>.takeout-header{display:none}}
.mobile-cta.has-takeout{grid-template-columns:repeat(4,1fr)}
.mobile-cta .takeout-mobile{background:#f0b439;color:#2a1608}
@media(max-width:360px){.mobile-cta.has-takeout a{font-size:.68rem}.mobile-cta.has-takeout svg{width:19px;height:19px}}
.takeout-hero{background:linear-gradient(135deg,#f0b439,#d36b1f)!important;color:#2a1608!important}

/* October: make Events unmistakable without adding another top banner */
.is-october .nav a[href*="events.html"],
.is-october .drawer nav a[href*="events.html"]{
  color:#ffd37a!important;
}
.is-october .nav a[href*="events.html"]::before{
  content:"🎃"; position:absolute; top:-13px; right:2px; font-size:13px;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.45)); animation:lvPumpkinPulse 1.8s ease-in-out infinite;
}
.is-october .drawer nav a[href*="events.html"]::after{content:"  🎃 OCT";font:700 .68rem/1 var(--label);color:#ffb24f;letter-spacing:.08em}
@keyframes lvPumpkinPulse{0%,100%{transform:scale(.94) rotate(-4deg)}50%{transform:scale(1.16) rotate(5deg)}}

/* Seasonal animation around the ORIGINAL logo (the logo file itself is untouched) */
.is-october .brand,
.is-october .footer-brand{position:relative;isolation:isolate}
.is-october .brand::before,
.is-october .footer-brand::before{
  content:""; position:absolute; pointer-events:none; z-index:0;
  background:url('../images/halloween/logo-halloween-orbit.gif') center/contain no-repeat;
  opacity:.88;
}
.is-october .brand::before{width:150px;height:102px;left:-34px;top:-28px}
.is-october .footer-brand::before{width:265px;height:180px;left:-30px;top:-36px;opacity:.68}
.is-october .brand img,.is-october .footer-brand img{
  position:relative;z-index:1;
  filter:drop-shadow(0 0 8px rgba(255,134,31,.35)) drop-shadow(0 4px 9px rgba(0,0,0,.38));
}

/* Ambient Halloween animation — light, decorative, never blocks content */
.halloween-ambient{position:fixed;inset:0;z-index:18;overflow:hidden;pointer-events:none}
.halloween-ambient span{position:absolute;opacity:.15;filter:drop-shadow(0 5px 10px rgba(0,0,0,.22));animation:lvFloat var(--dur,11s) ease-in-out infinite;animation-delay:var(--delay,0s)}
.halloween-ambient .a1{left:2vw;top:21vh;font-size:28px}.halloween-ambient .a2{right:3vw;top:34vh;font-size:24px}.halloween-ambient .a3{left:8vw;top:72vh;font-size:25px}.halloween-ambient .a4{right:9vw;top:77vh;font-size:28px}.halloween-ambient .a5{left:51vw;top:14vh;font-size:18px}
@keyframes lvFloat{0%,100%{transform:translate3d(0,0,0) rotate(0)}35%{transform:translate3d(9px,-14px,0) rotate(8deg)}70%{transform:translate3d(-6px,-4px,0) rotate(-6deg)}}

/* Existing seasonal GIF on both sides */
.halloween-corner--left{left:10px!important;right:auto!important;top:auto!important;bottom:92px;transform:scaleX(-1);opacity:.72!important}

/* Events: more visible and more polished while keeping original posters */
.is-october .halloween-events{border-block:1px solid rgba(190,91,20,.16)}
.is-october .halloween-events .head::before{
  content:"🎃  EVENTOS DE OCTUBRE  🎃"; display:inline-flex;align-items:center;justify-content:center;
  padding:.48rem .9rem;margin-bottom:.85rem;border-radius:999px;
  background:linear-gradient(135deg,#2f1435,#8b3219); color:#ffd994;
  font:700 .72rem/1 var(--label);letter-spacing:.12em;box-shadow:0 10px 26px rgba(94,33,19,.15);
  animation:lvBadgeGlow 2.3s ease-in-out infinite;
}
@keyframes lvBadgeGlow{0%,100%{box-shadow:0 8px 22px rgba(94,33,19,.12)}50%{box-shadow:0 10px 30px rgba(232,112,21,.34)}}
.is-october .halloween-event{transition:transform .28s ease,box-shadow .28s ease;border-color:rgba(211,102,31,.22)}
.is-october .halloween-event:hover{transform:translateY(-5px);box-shadow:0 28px 65px rgba(64,31,15,.18)}
.halloween-event__body{position:relative}
.event-brand-mini{position:absolute;right:1.2rem;top:1.05rem;width:82px;height:auto;opacity:.92;filter:drop-shadow(0 4px 8px rgba(0,0,0,.15));animation:lvMiniLogo 3.8s ease-in-out infinite}
@keyframes lvMiniLogo{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1.5deg)}}
@media(max-width:650px){.event-brand-mini{width:62px;right:.9rem;top:.85rem}.halloween-event__date{max-width:calc(100% - 70px)}}

/* Floating October events shortcut */
.october-event-fab{
  position:fixed;left:18px;bottom:142px;z-index:53;
  display:flex;align-items:center;gap:.58rem;padding:.7rem .95rem .7rem .72rem;
  border-radius:999px;text-decoration:none;color:#fff;
  background:linear-gradient(135deg,#6c1a69,#c64b16 58%,#f0a132);
  box-shadow:0 13px 30px rgba(69,19,54,.34);border:1px solid rgba(255,210,126,.42);
  font:700 .82rem/1.1 var(--label);animation:lvEventFab 2.4s ease-in-out infinite;
}
.october-event-fab span:first-child{font-size:1.35rem}.october-event-fab small{display:block;font-size:.65rem;font-weight:600;opacity:.85;margin-top:2px}
@keyframes lvEventFab{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.october-event-fab:hover{filter:brightness(1.08);transform:translateY(-3px)}
@media(max-width:760px){.october-event-fab{left:10px;right:auto;bottom:116px;padding:.6rem .72rem}.october-event-fab .october-event-fab__copy{display:none}}

/* Optional subtle Halloween edge lights */
.is-october body::before{
  content:"";position:fixed;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(circle at 0 25%,rgba(255,132,30,.055),transparent 18%),radial-gradient(circle at 100% 68%,rgba(116,44,139,.06),transparent 20%);
}

/* Keep decorative motion accessible */
@media(prefers-reduced-motion:reduce){
  .halloween-ambient,.is-october .brand::before,.is-october .footer-brand::before,.event-brand-mini{display:none!important}
  .october-event-fab,.is-october .halloween-events .head::before,.is-october .nav a[href*="events.html"]::before{animation:none!important}
}
