/* ============================================================
   Sweet Monster — Halloween seasonal theme
   ------------------------------------------------------------
   This file only applies while <html data-theme="halloween">.
   The switch lives at the top of theme.js. Set it to '' and
   every rule here stops matching — the normal site is untouched.
   ============================================================ */

/* ---------- Seasonal palette ---------- */
html[data-theme="halloween"]{
  --bg:          #FBF1E4;
  --surface:     #FFFBF4;
  --cream:       #F6E6D0;
  --cream-deep:  #EFD9BC;
  --ink:         #241428;
  --ink-soft:    #4A3550;
  --muted:       #6E5A72;
  --line:        #E4D0BC;

  --pink:        #FF8A1F;
  --pink-deep:   #B23A0A;
  --pink-dark:   #7F2B03;
  --pink-soft:   #FFE0C2;
  --taro:        #7B3FB0;
  --taro-deep:   #5A2A86;
  --taro-soft:   #EDE1F7;
  --butter:      #F2B233;

  --pumpkin:      #FF8A1F;
  --pumpkin-deep: #B23A0A;
  --pumpkin-dark: #7F2B03;
  --pumpkin-soft: #FFE0C2;
}

/* ---------- Base surfaces ---------- */
html[data-theme="halloween"] body{
  background:var(--bg);
}

html[data-theme="halloween"] .topbar{
  background:#1A0F1E;
  box-shadow:inset 0 -1px 0 rgba(255,138,31,.28);
}

html[data-theme="halloween"] .nav{
  background:rgba(251,241,228,.96);
  border-bottom-color:rgba(178,58,10,.24);
}

html[data-theme="halloween"] .site-header.scrolled .nav{
  box-shadow:0 10px 30px -22px rgba(36,20,40,.55);
}

/* ---------- Type accents ---------- */
html[data-theme="halloween"] .eyebrow::before{
  height:10px;
  border-radius:3px;
  background:linear-gradient(180deg,#F2B233 0 33.33%,#FF8A1F 33.33% 66.66%,#FFF6E6 66.66% 100%);
  box-shadow:0 0 0 1px rgba(36,20,40,.16);
}

html[data-theme="halloween"] .eyebrow.light{ color:#FFC08A; }
html[data-theme="halloween"] .eyebrow.light::before{ background:#FFB067; }
html[data-theme="halloween"] .display.light em{ color:#FFB067; }

/* ---------- Halloween badge (only exists while themed) ---------- */
.halloween-only{ display:none; }
html[data-theme="halloween"] .halloween-only{ display:inline-flex; }

.halloween-badge{
  align-items:center;
  gap:8px;
  margin-bottom:16px;
  padding:7px 14px;
  border-radius:999px;
  border:1px solid rgba(178,58,10,.28);
  background:var(--pumpkin-soft);
  color:var(--pumpkin-deep);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}

/* ---------- Hero ---------- */
html[data-theme="halloween"] .hero-art{ position:relative; }

html[data-theme="halloween"] .hero-art::before,
html[data-theme="halloween"] .hero-art::after{
  content:"";
  position:absolute;
  z-index:3;
  pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 46'%3E%3Cpath fill='%23241428' d='M50 14c2-6 7-10 13-12-2 4-2 7 0 9 4-3 9-4 14-3-3 3-4 6-3 9 5-1 10 0 14 3-6 1-10 5-12 11-5-4-11-6-17-6-3 0-6 .5-9 1.5-3-1-6-1.5-9-1.5-6 0-12 2-17 6-2-6-6-10-12-11 4-3 9-4 14-3 1-3 0-6-3-9 5-1 10 0 14 3 2-2 2-5 0-9 6 2 11 6 13 12z'/%3E%3C/svg%3E") center/contain no-repeat;
  animation:bat-drift 8s ease-in-out infinite;
}

html[data-theme="halloween"] .hero-art::before{
  width:86px; height:38px;
  top:-14px; right:8%;
  opacity:.62;
}

html[data-theme="halloween"] .hero-art::after{
  width:46px; height:20px;
  top:64px; left:2%;
  opacity:.38;
  animation-delay:-4s;
}

@keyframes bat-drift{
  0%,100%{ transform:translateY(0) rotate(-2deg); }
  50%{ transform:translateY(-10px) rotate(3deg); }
}

html[data-theme="halloween"] .arch{
  background:linear-gradient(158deg,#FFE0B0 0%,#FF9A3C 46%,#6E3AA8 100%);
  box-shadow:0 40px 90px -40px rgba(36,20,40,.55), inset 0 0 0 1px rgba(255,255,255,.42);
}

html[data-theme="halloween"] .arch::before{
  background:radial-gradient(120% 80% at 28% 12%,rgba(255,255,255,.55),transparent 55%),
             radial-gradient(90% 70% at 85% 95%,rgba(123,63,176,.46),transparent 60%);
}

/* Cobweb in the top-right corner of the hero photo */
html[data-theme="halloween"] .arch::after{
  width:190px; height:190px;
  right:0; top:0;
  z-index:3;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23241428' stroke-width='1.1'%3E%3Cpath d='M100 0H48M100 0V52M100 0L40 60M100 0L72 8M100 0L92 28'/%3E%3Cpath d='M100 14C84 14 66 32 66 48M100 28C78 28 54 52 54 74M100 44C70 44 40 74 40 100'/%3E%3C/svg%3E") top right/contain no-repeat;
  opacity:.72;
}

html[data-theme="halloween"] .art-tag,
html[data-theme="halloween"] .art-chip{
  background:rgba(36,20,40,.84);
  border-color:rgba(255,138,31,.48);
  color:#FFF6E6;
}

/* ---------- Marquee ---------- */
html[data-theme="halloween"] .marquee{
  background:rgba(123,63,176,.055);
}

html[data-theme="halloween"] .marquee-track span:nth-child(even){
  font-size:0;
  color:transparent;
}

html[data-theme="halloween"] .marquee-track span:nth-child(even)::before{
  content:"🎃";
  font-size:.95rem;
  line-height:1;
  color:#FF8A1F;
}

/* ---------- Seasonal promo band ---------- */
html[data-theme="halloween"] .seasonal-band{
  background:
    radial-gradient(120% 160% at 86% 6%,rgba(255,138,31,.32),transparent 58%),
    radial-gradient(80% 140% at 0% 100%,rgba(123,63,176,.34),transparent 60%),
    linear-gradient(180deg,#2B1830 0%,#1E1222 100%);
  border-bottom-color:rgba(255,138,31,.34);
}

html[data-theme="halloween"] .seasonal-kicker{ color:#FFB067; }
html[data-theme="halloween"] .seasonal-title{ color:var(--bg); }
html[data-theme="halloween"] .seasonal-text{ color:rgba(251,241,228,.74); }
html[data-theme="halloween"] .seasonal-thumb{
  border-color:rgba(255,138,31,.42);
  box-shadow:0 18px 34px -22px rgba(0,0,0,.8);
}

/* ---------- Buttons ---------- */
html[data-theme="halloween"] .btn-primary{
  box-shadow:0 10px 24px -12px rgba(178,58,10,.82);
}
html[data-theme="halloween"] .btn-primary:hover{
  box-shadow:0 16px 30px -12px rgba(127,43,3,.86);
}
html[data-theme="halloween"] .btn-pumpkin{
  box-shadow:0 10px 24px -12px rgba(178,58,10,.82);
}
html[data-theme="halloween"] .btn-pumpkin:hover{
  box-shadow:0 16px 30px -12px rgba(127,43,3,.86);
}

/* ---------- Story collage ---------- */
html[data-theme="halloween"] .card-a{ background:linear-gradient(160deg,#FFD9A8,#FF8A1F); }
html[data-theme="halloween"] .card-b{ background:linear-gradient(160deg,#C9A7E8,#5A2A86); }

/* ---------- Menu ---------- */
html[data-theme="halloween"] .menu-section{
  background-color:var(--cream);
  background-image:
    radial-gradient(circle at 4% 2%,rgba(255,138,31,.12),transparent 30%),
    radial-gradient(circle at 96% 98%,rgba(123,63,176,.12),transparent 34%);
}

html[data-theme="halloween"] .tabs{
  background:var(--surface);
  border-color:rgba(178,58,10,.22);
}

html[data-theme="halloween"] .menu-card:hover{
  border-color:rgba(178,58,10,.34);
}

/* ---------- Signatures ---------- */
html[data-theme="halloween"] .sig-a{ background:linear-gradient(155deg,#7A2E0A,#FF8A1F); }
html[data-theme="halloween"] .sig-b{ background:linear-gradient(155deg,#5A2A86,#9B6BD0); }
html[data-theme="halloween"] .sig-c{ background:linear-gradient(155deg,#8A5A12,#F2B233); }

/* ---------- Dark bands ---------- */
html[data-theme="halloween"] .order-band::before{
  background:radial-gradient(60% 70% at 15% 20%,rgba(255,138,31,.28),transparent 60%),
             radial-gradient(55% 70% at 90% 85%,rgba(123,63,176,.38),transparent 60%);
}

html[data-theme="halloween"] .review-band::before{
  background:radial-gradient(60% 70% at 12% 15%,rgba(255,138,31,.26),transparent 60%),
             radial-gradient(55% 70% at 92% 88%,rgba(123,63,176,.36),transparent 60%);
}

html[data-theme="halloween"] .orb-1{
  background:radial-gradient(circle at 35% 30%,#FFC46B,#FF6A00);
  box-shadow:0 0 80px rgba(255,106,0,.45);
}
html[data-theme="halloween"] .orb-2{
  background:radial-gradient(circle at 35% 30%,#C9A7E8,#5A2A86);
  box-shadow:0 0 70px rgba(123,63,176,.55);
}

/* ---------- Visit ---------- */
html[data-theme="halloween"] .visit-map iframe{
  filter:saturate(.75) sepia(.08);
}

/* ---------- Footer ---------- */
html[data-theme="halloween"] .site-footer{
  box-shadow:inset 0 3px 0 var(--pink);
}

/* ---------- Small screens ---------- */
@media (max-width:520px){
  html[data-theme="halloween"] .hero-art::before,
  html[data-theme="halloween"] .hero-art::after{ display:none; }
  html[data-theme="halloween"] .arch::after{ width:130px; height:130px; opacity:.6; }
}

/* ---------- Print stays normal ---------- */
@media print{
  html[data-theme="halloween"]{
    --bg:#fff; --surface:#fff; --cream:#fff; --cream-deep:#fff;
    --ink:#1A1613; --ink-soft:#473F38; --muted:#6C635B; --line:#E7DCD0;
    --pink:#FF4F86; --pink-deep:#C81E56; --pink-dark:#A5164A; --pink-soft:#FFD9E4;
    --taro:#7B5CF0; --taro-deep:#5B3FD1; --taro-soft:#E4DCFF; --butter:#F7C948;
    --pumpkin:#E2711D; --pumpkin-deep:#A63A05; --pumpkin-dark:#7F2B03; --pumpkin-soft:#FFE8D1;
  }
  html[data-theme="halloween"] .halloween-badge,
  html[data-theme="halloween"] .hero-art::before,
  html[data-theme="halloween"] .hero-art::after{ display:none !important; }
}
