:root{
  --sage:#9fbea3;
  --sage-deep:#55705a;
  --pink:#f5c6c3;
  --pink-light:#fde8e5;
  --cream:#fbf5ed;
  --cream-2:#fffaf4;
  --brown:#4a2b1d;
  --brown-2:#6e4738;
  --white:#fffdf9;
  --gold:#ba7a3d;
  --shadow:0 18px 50px rgba(74,43,29,.14);
  --radius:28px;
  --season-a:var(--brown);
  --season-b:var(--brown);
  --season-accent:var(--pink)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--brown);font-family:"DM Sans",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}.hidden{display:none!important}
body[data-theme="belize"]{--season-a:#0b4ea2;--season-b:#ce2838;--season-accent:#f8f4ed}
body[data-theme="halloween"]{--season-a:#49314f;--season-b:#d8813c;--season-accent:#f7d1a2}
body[data-theme="christmas"]{--season-a:#456a53;--season-b:#a94147;--season-accent:#f0d9b0}
body[data-theme="newyear"]{--season-a:#3d3d4d;--season-b:#a88a4e;--season-accent:#f6e5b3}
body[data-theme="valentine"]{--season-a:#ba7081;--season-b:#edb8bb;--season-accent:#fde8e5}
body[data-theme="easter"]{--season-a:#94b987;--season-b:#c8a7cf;--season-accent:#f5e6ad}
body[data-theme="mothers"]{--season-a:#bb7f91;--season-b:#e8c4bf;--season-accent:#fde8e5}
body[data-theme="fathers"]{--season-a:#677f91;--season-b:#9fb7bd;--season-accent:#e7eef0}
body[data-theme="backschool"]{--season-a:#bb9552;--season-b:#76a0a2;--season-accent:#f5c6c3}

.season-banner{background:linear-gradient(90deg,var(--season-a),var(--season-b));color:var(--white);text-align:center;padding:10px 18px;font-size:.84rem;font-weight:700;letter-spacing:.04em;min-height:40px}
.site-header{height:82px;position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,70px);background:rgba(251,245,237,.92);backdrop-filter:blur(13px);border-bottom:1px solid rgba(74,43,29,.08)}
.brand{display:flex;align-items:center;gap:10px}.brand img{width:58px;height:58px;border-radius:50%;object-fit:contain}.brand div,.brand>span{display:grid;line-height:1}.brand strong{font-family:"DM Serif Display",serif;font-weight:400;font-size:1.08rem}.brand span span,.brand em{font-family:"Sacramento",cursive;color:var(--sage-deep);font-size:1.35rem;font-style:normal}
.site-header nav{display:flex;align-items:center;gap:18px;font-weight:600;font-size:.88rem}.site-header nav a:hover{color:var(--sage-deep)}.nav-toggle{display:none;background:transparent;border:0;font-size:1.5rem}
.section{padding:86px clamp(20px,6vw,90px)}.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.18em;color:var(--sage-deep);margin-bottom:12px}
h1,h2,.heading h2,.about-copy h2,.account-shell h1,.admin-shell h1{font-family:"DM Serif Display",serif;font-weight:400;line-height:.98}
.heading{text-align:center;max-width:720px;margin:0 auto 34px}.heading h2{font-size:clamp(2.6rem,5vw,4.7rem);margin:0}.heading p{color:var(--brown-2)}
.pill,.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:13px 21px;background:var(--pink);color:var(--brown);font-weight:700;box-shadow:0 8px 22px rgba(245,198,195,.35);cursor:pointer;transition:.25s transform,.25s box-shadow}.pill:hover,.btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(74,43,29,.16)}.pill.ghost,.btn.ghost{background:transparent;border:1.5px solid var(--brown);box-shadow:none}.btn.secondary{background:var(--sage)}.btn.small{padding:9px 15px}.btn.danger,.danger{background:#f1b8b5}

.hero{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:45px;overflow:hidden;background:radial-gradient(circle at 12% 12%,var(--pink-light),transparent 33%),linear-gradient(135deg,var(--cream) 0%,var(--white) 65%)}
.hero h1{font-size:clamp(3rem,7vw,6.6rem);max-width:870px;margin:0}.hero h1 span{color:var(--sage-deep);position:relative;z-index:1}.hero h1 span:after{content:"";position:absolute;left:2%;right:2%;bottom:-6px;height:13px;background:var(--pink);border-radius:99px;z-index:-1;transform:rotate(-1.5deg)}
.hero-copy>p{font-size:1.08rem;max-width:630px;color:var(--brown-2);margin:26px 0}.hero-actions,.visit-actions{display:flex;flex-wrap:wrap;gap:12px}.mini-points{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px;font-size:.85rem;color:var(--brown-2)}
.hero-art.clean-logo{position:relative;min-height:520px;display:grid;place-items:center}.hero-art.clean-logo img{width:min(420px,78%);position:relative;z-index:3;filter:drop-shadow(0 22px 28px rgba(74,43,29,.16));animation:logoFloat 5s ease-in-out infinite}
.sticker{position:absolute;z-index:4;background:var(--white);padding:9px 14px;border-radius:999px;box-shadow:var(--shadow);font-family:"Sacramento",cursive;font-size:1.45rem}.sticker-one{top:17%;left:4%;transform:rotate(-8deg)}.sticker-two{bottom:15%;right:2%;transform:rotate(6deg)}
.steam{position:absolute;top:3%;font-family:"Sacramento",cursive;font-size:4.2rem;color:rgba(85,112,90,.25);z-index:1;animation:steam 4s ease-in-out infinite}.steam-one{left:40%}.steam-two{left:52%;animation-delay:1.3s}.float-bean{position:absolute;z-index:2;font-size:1.6rem;opacity:.7;animation:drift 5s ease-in-out infinite}.bean-one{left:8%;bottom:28%}.bean-two{right:12%;top:24%;color:var(--pink)}.bean-three{right:8%;bottom:30%;color:var(--sage-deep)}
@keyframes logoFloat{50%{transform:translateY(-7px)}}@keyframes steam{0%,100%{transform:translateY(8px);opacity:.15}50%{transform:translateY(-14px);opacity:.4}}@keyframes drift{50%{transform:translateY(-9px) rotate(5deg)}}

.soft{background:var(--sage)}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1200px;margin:auto}.drink-card{border:0;background:var(--cream-2);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);text-align:left;cursor:pointer;transition:.25s transform}.drink-card:hover{transform:translateY(-7px) rotate(-.4deg)}.drink-photo{height:220px;display:grid;place-items:center;font-size:4.5rem;position:relative;overflow:hidden;background:linear-gradient(145deg,#f8d8de,#d6e4c4)}.drink-photo:before{content:"";position:absolute;inset:18px;border-radius:50%;background:rgba(255,255,255,.32)}.drink-photo span{z-index:1;filter:drop-shadow(0 10px 10px rgba(74,43,29,.18))}.drink-card-body{padding:18px}.drink-card-body h3{margin:0 0 5px;font-family:"DM Serif Display",serif;font-size:1.5rem}.price{font-weight:800;color:var(--sage-deep)}.tag{display:inline-block;font-size:.72rem;background:var(--pink-light);padding:5px 9px;border-radius:999px;margin-top:10px}

.finder{background:var(--pink-light)}.finder .heading .eyebrow{color:var(--sage-deep)}.finder-box{max-width:850px;margin:auto;background:var(--white);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}.progress{height:8px;background:#eee4dd;border-radius:99px;overflow:hidden;margin-bottom:25px}.progress span{display:block;height:100%;background:var(--sage-deep);width:0;transition:.3s}.question h3{font-family:"DM Serif Display",serif;font-size:2rem;text-align:center}.answers{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.answer{border:1px solid rgba(74,43,29,.18);background:var(--cream-2);border-radius:999px;padding:14px 16px;cursor:pointer;font-weight:600}.answer:hover{background:var(--pink)}.finder-result{text-align:center;padding:24px}.finder-result .big{font-size:4rem}.finder-result h3{font-family:"DM Serif Display",serif;font-size:2.4rem;margin:.2rem 0}

.tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:26px}.tabs button{border:1px solid rgba(74,43,29,.2);background:var(--white);border-radius:999px;padding:11px 15px;cursor:pointer;font-weight:600}.tabs button:hover,.tabs button.active{background:var(--brown);color:var(--white)}
.menu-panel{max-width:920px;margin:auto;background:var(--white);border-radius:var(--radius);padding:clamp(18px,4vw,36px);box-shadow:var(--shadow)}.menu-panel-header{display:flex;justify-content:space-between;align-items:end;border-bottom:1px dashed rgba(74,43,29,.25);padding-bottom:16px;margin-bottom:10px}.menu-panel-header h3{font-family:"DM Serif Display",serif;font-size:2.2rem;margin:0}.menu-item{display:grid;grid-template-columns:1fr auto;gap:16px;padding:12px 0;border-bottom:1px solid rgba(74,43,29,.08)}.menu-item small{display:block;color:var(--brown-2);margin-top:2px}.menu-price{font-weight:800;white-space:nowrap}.menu-group h4{font-family:"DM Serif Display",serif;color:var(--sage-deep);font-size:1.5rem;margin:28px 0 0}
.menu-board-wrap{max-width:1100px;margin:28px auto 0;background:var(--pink-light);padding:18px;border-radius:22px}.menu-board-wrap summary{cursor:pointer;font-weight:700}.menu-boards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}.menu-boards img{border-radius:18px}

.stories{background:linear-gradient(180deg,var(--cream),var(--pink-light))}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:1100px;margin:auto;align-items:start}.story-stack{display:grid;gap:18px}.story-card{background:var(--white);padding:30px;border-radius:10px;box-shadow:var(--shadow);transform:rotate(-.6deg);position:relative}.story-card:before{content:"";position:absolute;width:84px;height:22px;background:rgba(245,198,195,.75);top:-10px;left:50%;transform:translateX(-50%) rotate(2deg)}.story-card h3{font-family:"DM Serif Display",serif;font-size:1.7rem;margin:8px 0}.stars{letter-spacing:.12em;color:var(--gold);font-size:1.15rem}
.form-card,.facts-card,.admin-card,.auth-card,.dash-card{background:var(--white);padding:28px;border-radius:var(--radius);box-shadow:var(--shadow)}.form-card{background:var(--sage);position:sticky;top:105px}.form-card h3,.admin-card h2,.dash-card h3{font-family:"DM Serif Display",serif;font-size:2rem;margin-top:0}.form-card label,.admin-card label,.auth-card label{display:grid;gap:6px;font-weight:600;margin-bottom:13px}.form-card input,.form-card select,.form-card textarea,.admin-card input,.admin-card select,.admin-card textarea,.auth-card input{width:100%;border:0;border-radius:14px;padding:12px 14px;background:var(--white);outline:2px solid transparent}.form-card textarea,.admin-card textarea{min-height:105px}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline-color:var(--pink)}.check{grid-template-columns:auto 1fr!important;align-items:start!important;font-weight:500!important}.check input{width:auto!important;margin-top:4px}.status,.demo-note{font-size:.82rem;color:var(--brown-2)}.status{font-weight:700}

.gallery-section{background:var(--sage)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-card{margin:0;background:var(--white);padding:10px 10px 16px;border-radius:10px;box-shadow:var(--shadow);transform:rotate(-.6deg)}.gallery-card:nth-child(even){transform:rotate(.8deg)}.gallery-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:5px}.gallery-card figcaption{padding:10px 4px 0}.gallery-card figcaption p{font-family:"DM Serif Display",serif;font-size:1.1rem;margin:0 0 5px}
.empty-state{display:grid;gap:5px;text-align:center;padding:28px;border:1px dashed rgba(74,43,29,.22);border-radius:20px;color:var(--brown-2);background:rgba(255,255,255,.45)}

.games-section{background:var(--cream-2)}.game-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:950px;margin:auto}.game-card{border:0;background:var(--pink-light);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow);cursor:pointer;display:grid;gap:5px;text-align:center;font-size:2.5rem;transition:.2s}.game-card:hover{transform:translateY(-4px) rotate(-.4deg)}.game-card strong{font-family:"DM Serif Display",serif;font-size:1.35rem}.game-card span{font-size:.84rem;color:var(--brown-2)}.game-stage{max-width:820px;min-height:260px;margin:24px auto 0;background:var(--white);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow);text-align:center}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:500px;margin:auto}.memory-card{aspect-ratio:1;border:0;border-radius:16px;background:var(--sage);font-size:2rem;cursor:pointer}.catch-area{height:300px;position:relative;overflow:hidden;background:linear-gradient(#eef6ff,#fff8ea);border-radius:18px}.falling{position:absolute;font-size:2rem;cursor:pointer}.trivia-options{display:grid;gap:10px;max-width:520px;margin:auto}.trivia-options button{padding:13px;border-radius:999px;border:1px solid rgba(74,43,29,.18);background:var(--cream-2);cursor:pointer}

.about-section{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center;background:var(--cream)}.about-copy h2{font-size:clamp(2.6rem,5vw,4.7rem);margin:0}.about-copy p{font-size:1.04rem;color:var(--brown-2)}.signature{font-family:"Sacramento",cursive!important;color:var(--sage-deep)!important;font-size:2rem!important}.facts-card{background:var(--pink-light)}.coffee-fact{font-family:"DM Serif Display",serif;font-size:2rem;line-height:1.2;margin:18px 0}

.events-section{background:var(--white)}.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1100px;margin:auto}.event-card{background:var(--cream);padding:22px;border-radius:var(--radius);box-shadow:var(--shadow)}.event-card time{font-weight:700;color:var(--sage-deep)}.event-card h3{font-family:"DM Serif Display",serif;font-size:1.6rem;margin:.4rem 0}
.loyalty-teaser{display:flex;justify-content:space-between;gap:30px;align-items:center;background:var(--pink)}.loyalty-teaser h2{font-family:"DM Serif Display",serif;font-size:clamp(2.4rem,4vw,4rem);margin:.2rem 0}.loyalty-teaser p{max-width:760px}
.visit{display:flex;justify-content:space-between;gap:30px;align-items:center;background:var(--cream-2)}.visit h2{font-family:"DM Serif Display",serif;font-size:clamp(2.5rem,4vw,4rem);margin:.2rem 0}
footer{text-align:center;padding:42px 20px;background:var(--brown);color:var(--cream);display:grid;place-items:center;gap:4px}footer img{width:84px;height:84px;border-radius:50%;margin-bottom:8px}footer div{display:grid}
.floating{position:fixed;bottom:16px;z-index:40;box-shadow:var(--shadow);font-weight:800}.floating.order{left:16px;background:var(--pink);border:2px solid var(--brown);padding:11px 16px;border-radius:999px}.floating.whatsapp{right:16px;width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:var(--sage-deep);color:white;font-size:1.35rem}
dialog{border:0;border-radius:26px;padding:0;max-width:520px;width:calc(100% - 30px);box-shadow:0 24px 80px rgba(0,0,0,.25);background:var(--cream-2)}dialog::backdrop{background:rgba(74,43,29,.48);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:12px;top:12px;border:0;background:var(--white);border-radius:50%;width:38px;height:38px;font-size:1.4rem;cursor:pointer}.dialog-inner{padding:34px}.dialog-inner .emoji{font-size:5rem}.dialog-inner h2{font-family:"DM Serif Display",serif;font-size:2.4rem;margin:8px 0}

.account-page,.admin-page{background:var(--cream)}.account-shell,.admin-shell{max-width:1200px;margin:auto}.auth-card{max-width:520px;margin:auto}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:20px}.auth-tabs button{padding:12px;border:0;background:var(--cream-2);font-weight:700;cursor:pointer}.auth-tabs button.active{background:var(--sage)}.customer-welcome{display:flex;justify-content:space-between;align-items:center;background:var(--pink-light);padding:25px;border-radius:var(--radius);margin-bottom:20px}.customer-welcome h2{font-family:"DM Serif Display",serif;font-size:2.5rem;margin:0}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dash-card.wide{grid-column:1/-1}.loyalty-card{background:var(--cream-2);border:1px solid rgba(74,43,29,.12);padding:20px;border-radius:20px;margin:12px 0}.stamp-row{display:flex;gap:8px;flex-wrap:wrap}.stamp{width:34px;height:34px;border:2px dashed var(--sage-deep);border-radius:50%;display:grid;place-items:center}.stamp.filled{background:var(--sage-deep);color:#fff;border-style:solid}.reward-pill{display:inline-block;background:var(--pink-light);border-radius:999px;padding:8px 12px;font-weight:700;margin:4px}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-card.wide{grid-column:1/-1}.inline-form{display:grid;grid-template-columns:1.1fr 1.2fr .7fr 1.5fr auto;gap:8px;align-items:end}.admin-list-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed rgba(74,43,29,.15)}.admin-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-actions button{border:0;border-radius:999px;padding:7px 10px;cursor:pointer;font-weight:700}.customer-admin{background:var(--pink-light);padding:18px;border-radius:18px;margin-top:15px}.issue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}

@media(max-width:1050px){.site-header nav{display:none;position:absolute;top:82px;right:16px;left:16px;background:var(--cream-2);padding:18px;border-radius:20px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.nav-toggle{display:block}.hero,.about-section,.two-col{grid-template-columns:1fr}.hero-art.clean-logo{min-height:420px}.form-card{position:static}.card-grid{grid-template-columns:repeat(2,1fr)}.events-grid{grid-template-columns:1fr 1fr}.game-picker{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.admin-card.wide{grid-column:auto}.inline-form{grid-template-columns:1fr 1fr}.issue-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.section{padding:62px 18px}.hero{min-height:auto;padding-top:54px}.hero h1{font-size:3.55rem}.hero-art.clean-logo{min-height:340px}.hero-art.clean-logo img{width:min(330px,76%)}.sticker{font-size:1.15rem}.card-grid,.gallery-grid,.menu-boards,.events-grid,.game-picker,.dashboard-grid{grid-template-columns:1fr}.answers{grid-template-columns:1fr}.loyalty-teaser,.visit,.customer-welcome{align-items:flex-start;flex-direction:column}.menu-panel-header{align-items:flex-start;flex-direction:column}.inline-form,.issue-grid{grid-template-columns:1fr}.brand div{display:none}.floating.order{font-size:.82rem}}


/* =========================================================
   SEASONAL FULL-SITE THEMES
   Makes the selected Admin theme affect the whole website.
   ========================================================= */

/* =========================================================
   SEASONAL FULL-SITE THEMES
   Everyday theme stays original pink + sage + cream.
   Holiday themes change the full website.
   ========================================================= */

/* Only change site colors when an ACTUAL seasonal theme is active */
body[data-theme]:not([data-theme=""]){
  --pink:var(--season-b);
  --pink-light:color-mix(in srgb, var(--season-b) 18%, white);
  --sage:color-mix(in srgb, var(--season-a) 38%, white);
  --sage-deep:var(--season-a);
  --gold:var(--season-accent);
}

/* Main page */
body[data-theme]:not([data-theme=""]){
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--season-a) 8%, var(--cream)),
      color-mix(in srgb, var(--season-b) 9%, var(--cream))
    );
}

/* Header */
body[data-theme]:not([data-theme=""]) .site-header{
  background:color-mix(in srgb, var(--season-a) 10%, var(--cream));
  border-bottom:3px solid var(--season-a);
}

/* Hero */
body[data-theme]:not([data-theme=""]) .hero{
  background:
    radial-gradient(
      circle at 12% 12%,
      color-mix(in srgb, var(--season-b) 30%, white),
      transparent 35%
    ),
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--season-a) 12%, var(--cream)),
      color-mix(in srgb, var(--season-b) 10%, var(--white))
    );
}

/* Main accent headings */
body[data-theme]:not([data-theme=""]) .eyebrow,
body[data-theme]:not([data-theme=""]) .price,
body[data-theme]:not([data-theme=""]) .menu-group h4,
body[data-theme]:not([data-theme=""]) .event-card time,
body[data-theme]:not([data-theme=""]) .signature{
  color:var(--season-a);
}

/* Main buttons */
body[data-theme]:not([data-theme=""]) .btn,
body[data-theme]:not([data-theme=""]) .pill{
  background:var(--season-b);
  color:white;
}

/* Secondary buttons */
body[data-theme]:not([data-theme=""]) .btn.secondary{
  background:var(--season-a);
  color:white;
}

/* Cards */
body[data-theme]:not([data-theme=""]) .drink-card,
body[data-theme]:not([data-theme=""]) .story-card,
body[data-theme]:not([data-theme=""]) .event-card,
body[data-theme]:not([data-theme=""]) .loyalty-card,
body[data-theme]:not([data-theme=""]) .dash-card{
  border:2px solid color-mix(in srgb, var(--season-a) 25%, transparent);
}

/* Featured drink cards */
body[data-theme]:not([data-theme=""]) .drink-photo{
  background:
    linear-gradient(
      145deg,
      color-mix(in srgb, var(--season-b) 40%, white),
      color-mix(in srgb, var(--season-a) 35%, white)
    );
}

/* Reviews / stories */
body[data-theme]:not([data-theme=""]) .stories{
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--season-a) 10%, var(--cream)),
      color-mix(in srgb, var(--season-b) 18%, var(--cream))
    );
}

/* Gallery */
body[data-theme]:not([data-theme=""]) .gallery-section{
  background:color-mix(in srgb, var(--season-a) 40%, white);
}

/* Drink finder */
body[data-theme]:not([data-theme=""]) .finder{
  background:color-mix(in srgb, var(--season-b) 18%, white);
}

/* Loyalty section */
body[data-theme]:not([data-theme=""]) .loyalty-teaser{
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--season-a) 70%, white),
      color-mix(in srgb, var(--season-b) 70%, white)
    );
}

/* Customer account */
body[data-theme]:not([data-theme=""]) .customer-welcome,
body[data-theme]:not([data-theme=""]) .reward-pill,
body[data-theme]:not([data-theme=""]) .customer-admin{
  background:color-mix(in srgb, var(--season-b) 18%, white);
}

/* Loyalty stamps */
body[data-theme]:not([data-theme=""]) .stamp{
  border-color:var(--season-a);
}

body[data-theme]:not([data-theme=""]) .stamp.filled{
  background:var(--season-a);
  border-color:var(--season-a);
}

/* Footer */
body[data-theme]:not([data-theme=""]) footer{
  background:
    linear-gradient(
      90deg,
      var(--season-a),
      var(--season-b)
    );
}

/* Floating order button */
body[data-theme]:not([data-theme=""]) .floating.order{
  background:var(--season-b);
}

/* Floating WhatsApp button */
body[data-theme]:not([data-theme=""]) .floating.whatsapp{
  background:var(--season-a);
}

/* Seasonal banner */
body[data-theme]:not([data-theme=""]) .season-banner{
  box-shadow:
    0 4px 18px
    color-mix(in srgb, var(--season-a) 30%, transparent);
}

/* =========================================================
   SEASONAL DECORATIONS
   ========================================================= */

/* CHRISTMAS — falling snow */
body[data-theme="christmas"]::before{
  content:"❄  ·  ❅  ·  ❄  ·  ❆  ·  ❄  ·  ❅";
  position:fixed;
  top:-60px;
  left:0;
  width:100%;
  height:60px;
  z-index:999;
  pointer-events:none;
  color:white;
  font-size:24px;
  letter-spacing:28px;
  text-shadow:
    80px 120px white,
    180px 260px white,
    310px 80px white,
    450px 330px white,
    620px 180px white,
    790px 400px white,
    940px 120px white,
    1100px 280px white;
  animation:cgSnow 9s linear infinite;
  opacity:.85;
}

body[data-theme="christmas"]::after{
  content:"❄   ❅   ❆   ❄   ❅   ❄";
  position:fixed;
  top:-80px;
  left:8%;
  width:100%;
  height:80px;
  z-index:998;
  pointer-events:none;
  color:rgba(255,255,255,.75);
  font-size:16px;
  letter-spacing:45px;
  text-shadow:
    120px 190px white,
    280px 390px white,
    430px 130px white,
    590px 290px white,
    760px 90px white,
    920px 350px white,
    1080px 210px white;
  animation:cgSnowSlow 14s linear infinite;
}

@keyframes cgSnow{
  from{
    transform:translateY(0) rotate(0deg);
  }
  to{
    transform:translateY(110vh) rotate(25deg);
  }
}

@keyframes cgSnowSlow{
  from{
    transform:translateY(-100px) rotate(0deg);
  }
  to{
    transform:translateY(115vh) rotate(-20deg);
  }
}

/* Christmas banner decoration */
body[data-theme="christmas"] .season-banner::before{
  content:"🎄  ";
}

body[data-theme="christmas"] .season-banner::after{
  content:"  🎁 ✨";
}

/* Christmas logo glow */
body[data-theme="christmas"] .brand img{
  filter:drop-shadow(0 0 9px rgba(255,255,255,.8));
}

/* Christmas hero logo gets a warm festive glow */
body[data-theme="christmas"] .hero-art.clean-logo img{
  filter:
    drop-shadow(0 22px 28px rgba(74,43,29,.16))
    drop-shadow(0 0 18px rgba(240,217,176,.65));
}

/* Respect reduced-motion accessibility settings */
@media (prefers-reduced-motion: reduce){
  body[data-theme="christmas"]::before,
  body[data-theme="christmas"]::after{
    animation:none;
    display:none;
  }
}

/* =========================================================
   COMMON GROUNDS — UNIQUE SEASONAL EFFECTS
   ========================================================= */

/* Full-screen effects layer */
.cg-seasonal-effects{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  overflow:hidden;
  pointer-events:none;
  z-index:999;
}


/* =========================================================
   🇧🇿 BELIZE — RED / WHITE / BLUE CONFETTI
   ========================================================= */

.cg-belize-confetti{
  position:absolute;
  width:9px;
  height:18px;
  border-radius:2px;
  opacity:.9;
  animation-name:cgBelizeFall;
  animation-timing-function:linear;
  animation-iteration-count:infinite;
}

@keyframes cgBelizeFall{
  0%{
    transform:
      translate3d(0,-10vh,0)
      rotate(var(--cg-rotate));
  }

  50%{
    transform:
      translate3d(45px,55vh,0)
      rotate(360deg);
  }

  100%{
    transform:
      translate3d(-30px,115vh,0)
      rotate(720deg);
  }
}


/* =========================================================
   🎃 HALLOWEEN — FLYING BATS
   ========================================================= */

.cg-bat{
  position:absolute;
  left:-80px;
  line-height:1;
  opacity:.82;
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.25));
  animation-name:cgBatFly;
  animation-timing-function:linear;
  animation-iteration-count:infinite;
}

@keyframes cgBatFly{
  0%{
    transform:
      translateX(-100px)
      translateY(0)
      rotate(-8deg);
  }

  25%{
    transform:
      translateX(28vw)
      translateY(-35px)
      rotate(8deg);
  }

  50%{
    transform:
      translateX(55vw)
      translateY(25px)
      rotate(-6deg);
  }

  75%{
    transform:
      translateX(82vw)
      translateY(-20px)
      rotate(7deg);
  }

  100%{
    transform:
      translateX(115vw)
      translateY(15px)
      rotate(-5deg);
  }
}


/* =========================================================
   🎆 NEW YEAR — GOLD CORNER CONFETTI BURSTS
   ========================================================= */

.cg-newyear-confetti{
  position:absolute;
  width:8px;
  height:16px;
  border-radius:2px;
  box-shadow:0 0 7px rgba(255,220,100,.5);
  animation-timing-function:cubic-bezier(.18,.65,.35,1);
  animation-iteration-count:infinite;
}

.cg-confetti-left{
  animation-name:cgNewYearBurstLeft;
}

.cg-confetti-right{
  animation-name:cgNewYearBurstRight;
}

@keyframes cgNewYearBurstLeft{
  0%{
    opacity:0;
    transform:
      translate3d(0,0,0)
      rotate(0deg)
      scale(.7);
  }

  8%{
    opacity:1;
  }

  45%{
    opacity:1;
    transform:
      translate3d(var(--cg-x),var(--cg-y),0)
      rotate(420deg)
      scale(1);
  }

  100%{
    opacity:0;
    transform:
      translate3d(var(--cg-x),20vh,0)
      rotate(850deg)
      scale(.8);
  }
}

@keyframes cgNewYearBurstRight{
  0%{
    opacity:0;
    transform:
      translate3d(0,0,0)
      rotate(0deg)
      scale(.7);
  }

  8%{
    opacity:1;
  }

  45%{
    opacity:1;
    transform:
      translate3d(var(--cg-x),var(--cg-y),0)
      rotate(-420deg)
      scale(1);
  }

  100%{
    opacity:0;
    transform:
      translate3d(var(--cg-x),20vh,0)
      rotate(-850deg)
      scale(.8);
  }
}


/* =========================================================
   💕 VALENTINE — FLOATING HEARTS
   ========================================================= */

.cg-heart{
  position:absolute;
  color:#d85d78;
  opacity:.42;
  line-height:1;
  text-shadow:0 3px 8px rgba(186,112,129,.18);
  animation-name:cgHeartRise;
  animation-timing-function:linear;
  animation-iteration-count:infinite;
}

@keyframes cgHeartRise{
  0%{
    transform:
      translate3d(0,100px,0)
      rotate(-10deg)
      scale(.8);
    opacity:0;
  }

  15%{
    opacity:.42;
  }

  50%{
    transform:
      translate3d(45px,-55vh,0)
      rotate(12deg)
      scale(1);
  }

  85%{
    opacity:.35;
  }

  100%{
    transform:
      translate3d(-25px,-120vh,0)
      rotate(-8deg)
      scale(.85);
    opacity:0;
  }
}


/* =========================================================
   🐣 EASTER — PASTEL PETALS
   ========================================================= */

.cg-easter-petal{
  position:absolute;
  width:11px;
  height:18px;
  border-radius:80% 20% 70% 30%;
  opacity:.65;
  animation-name:cgEasterPetal;
  animation-timing-function:linear;
  animation-iteration-count:infinite;
}

@keyframes cgEasterPetal{
  0%{
    transform:
      translate3d(-20px,-10vh,0)
      rotate(0deg);
  }

  30%{
    transform:
      translate3d(55px,35vh,0)
      rotate(170deg);
  }

  65%{
    transform:
      translate3d(-35px,75vh,0)
      rotate(390deg);
  }

  100%{
    transform:
      translate3d(65px,115vh,0)
      rotate(720deg);
  }
}


/* =========================================================
   🌸 MOTHER'S DAY — ROSE PETALS
   ========================================================= */

.cg-mothers-petal{
  position:absolute;
  width:12px;
  height:19px;
  border-radius:70% 30% 65% 35%;
  opacity:.58;
  box-shadow:0 2px 5px rgba(187,127,145,.12);
  animation-name:cgMothersPetal;
  animation-timing-function:linear;
  animation-iteration-count:infinite;
}

@keyframes cgMothersPetal{
  0%{
    transform:
      translate3d(0,-10vh,0)
      rotate(0deg);
  }

  25%{
    transform:
      translate3d(40px,30vh,0)
      rotate(130deg);
  }

  55%{
    transform:
      translate3d(-45px,62vh,0)
      rotate(320deg);
  }

  80%{
    transform:
      translate3d(30px,90vh,0)
      rotate(510deg);
  }

  100%{
    transform:
      translate3d(-15px,115vh,0)
      rotate(700deg);
  }
}


/* =========================================================
   👔 FATHER'S DAY — BLUE/GOLD SPARKLES
   ========================================================= */

.cg-fathers-sparkle{
  position:absolute;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--sparkle-color);
  box-shadow:
    0 0 7px var(--sparkle-color),
    0 0 14px var(--sparkle-color);
  animation-name:cgFatherSparkle;
  animation-timing-function:ease-in-out;
  animation-iteration-count:infinite;
}

.cg-fathers-sparkle::before,
.cg-fathers-sparkle::after{
  content:"";
  position:absolute;
  background:var(--sparkle-color);
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}

.cg-fathers-sparkle::before{
  width:18px;
  height:1px;
}

.cg-fathers-sparkle::after{
  width:1px;
  height:18px;
}

@keyframes cgFatherSparkle{
  0%,100%{
    opacity:.08;
    transform:scale(.35) rotate(0deg);
  }

  50%{
    opacity:.85;
    transform:scale(1) rotate(90deg);
  }
}


/* =========================================================
   📚 BACK TO SCHOOL — PAPER AIRPLANES
   ========================================================= */

.cg-paper-plane{
  position:absolute;
  left:-80px;
  color:var(--season-a);
  opacity:.42;
  line-height:1;
  animation-name:cgSchoolPlane;
  animation-timing-function:linear;
  animation-iteration-count:infinite;
}

@keyframes cgSchoolPlane{
  0%{
    transform:
      translate3d(-100px,25px,0)
      rotate(-15deg);
  }

  25%{
    transform:
      translate3d(30vw,-25px,0)
      rotate(-5deg);
  }

  50%{
    transform:
      translate3d(60vw,35px,0)
      rotate(8deg);
  }

  75%{
    transform:
      translate3d(88vw,-15px,0)
      rotate(-4deg);
  }

  100%{
    transform:
      translate3d(120vw,20px,0)
      rotate(6deg);
  }
}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

@media (prefers-reduced-motion:reduce){
  .cg-seasonal-effects{
    display:none !important;
  }
}
