/* DOMUS seasonal + live status layer */
:root{--season-accent:#a80d3c;--season-soft:#f8f3f5;--season-symbol:""}
body.season-spring{--season-soft:#fbf7f8}
body.season-summer{--season-soft:#fff9f3}
body.season-autumn{--season-soft:#faf4f0}
body.season-winter{--season-soft:#f5f7fa}
.domus-live-banner{display:none;border-bottom:1px solid rgba(168,13,60,.16);background:linear-gradient(90deg,#fff,#faf5f7,#fff);color:#262626;font-size:.92rem;position:relative;z-index:1100}
.domus-live-banner.is-visible{display:block}
.domus-live-banner .container{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;padding-top:.52rem;padding-bottom:.52rem}
.live-pill{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(168,13,60,.2);border-radius:999px;padding:.34rem .62rem;background:#fff;line-height:1.25}
.live-pill strong{color:#8f1238}.live-pill .flag{font-size:1.12em}.live-pill.local-fiesta{background:#fff7fa}.live-pill.seasonal{background:var(--season-soft)}
.office-status{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;white-space:nowrap}
.office-status::before{content:"";width:.54rem;height:.54rem;border-radius:50%;background:#777;box-shadow:0 0 0 3px rgba(119,119,119,.12)}
.office-status.is-open::before{background:#159447;box-shadow:0 0 0 3px rgba(21,148,71,.14)}
.office-status.is-closed::before{background:#b7273f;box-shadow:0 0 0 3px rgba(183,39,63,.12)}
#office-live-status{margin-left:.65rem;padding-left:.65rem;border-left:1px solid rgba(255,255,255,.28)}
.season-corner{position:fixed;right:18px;top:116px;z-index:900;pointer-events:none;font-size:25px;opacity:.82;filter:drop-shadow(0 2px 5px rgba(0,0,0,.12));animation:seasonFloat 4.5s ease-in-out infinite}
@keyframes seasonFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(3deg)}}
body.season-christmas .site-header{box-shadow:0 2px 0 rgba(168,13,60,.15),0 5px 0 rgba(34,123,75,.08)}
body.season-christmas .hero::after{content:"✦  ❄  ✦";position:absolute;right:5%;top:5%;font-size:28px;letter-spacing:10px;color:rgba(168,13,60,.22);pointer-events:none}
body.season-easter .hero::after{content:"✿  ·  ✦";position:absolute;right:5%;top:5%;font-size:30px;letter-spacing:10px;color:rgba(168,13,60,.22);pointer-events:none}
body.season-autumn .hero::after{content:"◆  ·  ◇";position:absolute;right:5%;top:5%;font-size:24px;letter-spacing:9px;color:rgba(135,85,52,.16);pointer-events:none}
body.season-winter:not(.season-christmas) .hero::after{content:"❄  ·  ❄";position:absolute;right:5%;top:5%;font-size:23px;letter-spacing:9px;color:rgba(70,100,130,.14);pointer-events:none}
.hero{position:relative}
@media(max-width:900px){#office-live-status{margin-left:0;padding-left:0;border-left:0}.domus-live-banner .container{gap:.45rem}.live-pill{font-size:.82rem}.season-corner{top:98px;right:10px;font-size:20px}.modern-topbar-inner>span{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}}

/* Special celebrations: automatic, temporary and reversible */
.special-decor{position:fixed;inset:0;z-index:899;pointer-events:none;overflow:hidden}
.special-decor span{position:absolute;font-size:25px;opacity:.72;filter:drop-shadow(0 2px 5px rgba(0,0,0,.12));animation:specialDrift 6s ease-in-out infinite}
.special-decor span:nth-child(1){left:3%;top:18%}.special-decor span:nth-child(2){right:5%;top:22%;animation-delay:-1s}.special-decor span:nth-child(3){left:8%;bottom:16%;animation-delay:-2s}.special-decor span:nth-child(4){right:9%;bottom:13%;animation-delay:-3s}.special-decor span:nth-child(5){right:28%;top:13%;animation-delay:-4s}
@keyframes specialDrift{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-9px) rotate(5deg)}}

/* Oktoberfest: Bavarian blue, white and warm gold */
body.season-oktoberfest{--season-accent:#0b5ea8;--season-soft:#eef7ff}
body.season-oktoberfest .site-header,body.season-oktoberfest .modern-topbar{background:#07569b!important}
body.season-oktoberfest .btn-primary,body.season-oktoberfest .cta-button,body.season-oktoberfest button[type="submit"]{background:#0b5ea8!important;border-color:#0b5ea8!important}
body.season-oktoberfest .domus-live-banner{background:repeating-linear-gradient(135deg,#fff 0 18px,#eef7ff 18px 36px);border-color:#0b5ea8}
body.season-oktoberfest .oktoberfest-pill{border-color:#0b5ea8;background:#fff;color:#063f70}
body.season-oktoberfest .oktoberfest-pill strong{color:#063f70}

/* Halloween: black, pumpkin orange and violet accents */
body.season-halloween{--season-accent:#f47c20;--season-soft:#fff3e8;background-image:linear-gradient(rgba(255,255,255,.97),rgba(255,255,255,.97)),radial-gradient(circle at 10% 10%,#7c3aed 0 2px,transparent 3px)}
body.season-halloween .site-header,body.season-halloween .modern-topbar{background:#1f1726!important}
body.season-halloween .btn-primary,body.season-halloween .cta-button,body.season-halloween button[type="submit"]{background:#e96813!important;border-color:#e96813!important}
body.season-halloween .domus-live-banner{background:linear-gradient(90deg,#1f1726,#382347,#1f1726);color:#fff;border-color:#f47c20}
body.season-halloween .halloween-pill{background:#2a1b33;border-color:#f47c20;color:#fff}

/* New Year: elegant gold celebration, preserving DOMUS identity */
body.season-newyear{--season-accent:#b48a2b;--season-soft:#fffaf0}
body.season-newyear .site-header{box-shadow:0 3px 0 #c6a44b}
body.season-newyear .domus-live-banner{background:linear-gradient(90deg,#fffaf0,#f6ead0,#fffaf0);border-color:#c6a44b}
body.season-newyear .newyear-pill{border-color:#b48a2b;background:#fffaf0;color:#725510}

/* Torrevieja patron festivities: local burgundy, sea blue and festive gold */
body.season-patronales{--season-accent:#a80d3c;--season-soft:#fff8ed}
body.season-patronales .site-header{box-shadow:0 3px 0 #d3aa45,0 6px 0 rgba(17,111,160,.18)}
body.season-patronales .domus-live-banner{background:linear-gradient(90deg,#fff,#fff7e8,#eef8fc,#fff);border-color:#d3aa45}
body.season-patronales .patronales-pill{border-color:#d3aa45;background:#fffaf0;color:#7b1234}

@media(prefers-reduced-motion:reduce){.season-corner,.special-decor span{animation:none!important}}
@media(max-width:900px){.special-decor span{font-size:19px;opacity:.52}.special-decor span:nth-child(5){display:none}}


/* Greater seasonal/festive visibility without covering content */
.season-corner{font-size:42px!important;opacity:1!important;right:22px!important;top:122px!important;filter:drop-shadow(0 5px 12px rgba(0,0,0,.22))!important;background:rgba(255,255,255,.88);border:1px solid rgba(143,18,56,.14);border-radius:50%;width:62px;height:62px;display:grid;place-items:center;}
.special-decor span{font-size:36px!important;opacity:.9!important;filter:drop-shadow(0 4px 10px rgba(0,0,0,.18))!important;}
.live-pill.seasonal{font-size:.95rem;font-weight:800;border-width:2px;padding:.48rem .78rem;box-shadow:0 3px 12px rgba(0,0,0,.08);}
body.season-spring .hero::after{content:"🌸  ✿  🌸";position:absolute;right:4%;top:5%;font-size:28px;letter-spacing:8px;opacity:.34;pointer-events:none;}
body.season-summer .hero::after{content:"☀️  ·  🌊";position:absolute;right:4%;top:5%;font-size:28px;letter-spacing:8px;opacity:.32;pointer-events:none;}
@media(max-width:900px){.season-corner{font-size:30px!important;width:48px;height:48px;right:10px!important;top:94px!important}.special-decor span{font-size:25px!important;opacity:.72!important}.live-pill.seasonal{font-size:.84rem}}
@media(max-width:480px){.season-corner{font-size:26px!important;width:44px;height:44px;top:88px!important}.special-decor span:nth-child(3),.special-decor span:nth-child(5){display:none}.special-decor span{opacity:.58!important}}

/* 2026-09-07: high-visibility seasonal badge */
.season-corner{
  position:fixed!important;
  z-index:9998!important;
  top:118px!important;
  right:20px!important;
  width:auto!important;
  min-width:210px!important;
  height:auto!important;
  min-height:82px!important;
  padding:10px 16px 10px 11px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.96)!important;
  border:2px solid var(--season-accent,#a80d3c)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.20),0 0 0 4px rgba(255,255,255,.62)!important;
  opacity:1!important;
  pointer-events:none!important;
  animation:seasonBadgeFloat 3.8s ease-in-out infinite!important;
}
.season-corner .season-symbol{
  display:grid;
  place-items:center;
  flex:0 0 62px;
  width:62px;
  height:62px;
  font-size:50px;
  line-height:1;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));
}
.season-corner .season-label{
  max-width:170px;
  font-size:13px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.01em;
  color:#601028;
  text-align:left;
}
body.season-oktoberfest .season-corner .season-label{color:#063f70}
body.season-halloween .season-corner .season-label{color:#34203f}
body.season-stpatrick .season-corner .season-label{color:#0b632b}
body.season-newyear .season-corner .season-label{color:#725510}
@keyframes seasonBadgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:900px){
  .season-corner{top:88px!important;right:8px!important;min-width:0!important;max-width:185px!important;min-height:64px!important;padding:7px 10px 7px 7px!important;border-radius:18px!important;gap:7px!important}
  .season-corner .season-symbol{flex-basis:48px;width:48px;height:48px;font-size:39px}
  .season-corner .season-label{max-width:112px;font-size:11px}
}
@media(max-width:480px){
  .season-corner{top:82px!important;right:6px!important;max-width:154px!important;min-height:56px!important;padding:6px 8px 6px 6px!important;border-radius:16px!important}
  .season-corner .season-symbol{flex-basis:42px;width:42px;height:42px;font-size:34px}
  .season-corner .season-label{max-width:92px;font-size:10px;line-height:1.15}
}
