/* Approved, bounded seasonal palettes. No public font or layout changes. */
html[data-season]:not([data-season="neutral"]) [data-format-cta-color="accent"],.admin-page [data-season-preview]:not([data-season-preview="neutral"])[data-format-cta-color="accent"]{--campaign-button:var(--brand-action);--campaign-button-text:var(--brand-action-text)}
html[data-season]:not([data-season="neutral"]) body [data-format-headline-color="accent"] [data-campaign-headline],html[data-season]:not([data-season="neutral"]) body [data-headline-color="accent"],.admin-page [data-season-preview]:not([data-season-preview="neutral"]) [data-headline-color="accent"]{color:var(--brand-accent)}
html[data-season="halloween-2026"], [data-season-preview="halloween-2026"]{--brand-bg:#211f2b;--brand-surface:#302b38;--brand-soft:#302b38;--brand-text:#f8f5ef;--brand-muted:#d5d6d9;--brand-line:#707580;--brand-accent:#ff9374;--brand-action:#ff9374;--brand-action-text:#10202c}
html[data-theme="light"][data-season="halloween-2026"], .admin-page [data-season-preview="halloween-2026"]{--brand-bg:#faf7f1;--brand-surface:#fff;--brand-soft:#f2e9dd;--brand-text:#10202c;--brand-muted:#51606a;--brand-line:#bcc3c8;--brand-accent:#ad3418;--brand-action:#ad3418;--brand-action-text:#fff}
html[data-season="christmas-2026"], [data-season-preview="christmas-2026"]{--brand-bg:#142923;--brand-surface:#20392f;--brand-soft:#20392f;--brand-text:#f8f5ef;--brand-muted:#d5d6d9;--brand-line:#707580;--brand-accent:#ff827e;--brand-action:#ff827e;--brand-action-text:#10202c}
html[data-theme="light"][data-season="christmas-2026"], .admin-page [data-season-preview="christmas-2026"]{--brand-bg:#faf8f4;--brand-surface:#fff;--brand-soft:#eee9e0;--brand-text:#10202c;--brand-muted:#51606a;--brand-line:#bcc3c8;--brand-accent:#b42328;--brand-action:#b42328;--brand-action-text:#fff}
html[data-season="valentines-2027"], [data-season-preview="valentines-2027"]{--brand-bg:#2b1d2a;--brand-surface:#3a2937;--brand-soft:#3a2937;--brand-text:#f8f5ef;--brand-muted:#d5d6d9;--brand-line:#707580;--brand-accent:#ff8faf;--brand-action:#ff8faf;--brand-action-text:#10202c}
html[data-theme="light"][data-season="valentines-2027"], .admin-page [data-season-preview="valentines-2027"]{--brand-bg:#fff8fa;--brand-surface:#fff;--brand-soft:#f7e9ef;--brand-text:#10202c;--brand-muted:#51606a;--brand-line:#bcc3c8;--brand-accent:#b22959;--brand-action:#b22959;--brand-action-text:#fff}
html[data-season="mothers-2027"], [data-season-preview="mothers-2027"]{--brand-bg:#241c2e;--brand-surface:#33263f;--brand-soft:#33263f;--brand-text:#f8f5ef;--brand-muted:#d5d6d9;--brand-line:#707580;--brand-accent:#daa7ef;--brand-action:#daa7ef;--brand-action-text:#10202c}
html[data-theme="light"][data-season="mothers-2027"], .admin-page [data-season-preview="mothers-2027"]{--brand-bg:#fcf8ff;--brand-surface:#fff;--brand-soft:#eee7f4;--brand-text:#10202c;--brand-muted:#51606a;--brand-line:#bcc3c8;--brand-accent:#714092;--brand-action:#714092;--brand-action-text:#fff}
html[data-season="easter-2027"], [data-season-preview="easter-2027"]{--brand-bg:#1b2b22;--brand-surface:#273b2d;--brand-soft:#273b2d;--brand-text:#f8f5ef;--brand-muted:#d5d6d9;--brand-line:#707580;--brand-accent:#91d5a7;--brand-action:#91d5a7;--brand-action-text:#10202c}
html[data-theme="light"][data-season="easter-2027"], .admin-page [data-season-preview="easter-2027"]{--brand-bg:#fafbf5;--brand-surface:#fff;--brand-soft:#e9eee0;--brand-text:#10202c;--brand-muted:#51606a;--brand-line:#bcc3c8;--brand-accent:#267246;--brand-action:#267246;--brand-action-text:#fff}
html[data-season="fathers-2027"], [data-season-preview="fathers-2027"]{--brand-bg:#172637;--brand-surface:#20374a;--brand-soft:#20374a;--brand-text:#f8f5ef;--brand-muted:#d5d6d9;--brand-line:#707580;--brand-accent:#83b9f5;--brand-action:#83b9f5;--brand-action-text:#10202c}
html[data-theme="light"][data-season="fathers-2027"], .admin-page [data-season-preview="fathers-2027"]{--brand-bg:#f7f9fc;--brand-surface:#fff;--brand-soft:#e7edf4;--brand-text:#10202c;--brand-muted:#51606a;--brand-line:#bcc3c8;--brand-accent:#225fa2;--brand-action:#225fa2;--brand-action-text:#fff}
html[data-season="summer-2027"], [data-season-preview="summer-2027"]{--brand-bg:#28271f;--brand-surface:#38362a;--brand-soft:#38362a;--brand-text:#f8f5ef;--brand-muted:#d5d6d9;--brand-line:#707580;--brand-accent:#e8c268;--brand-action:#e8c268;--brand-action-text:#10202c}
html[data-theme="light"][data-season="summer-2027"], .admin-page [data-season-preview="summer-2027"]{--brand-bg:#fffbf2;--brand-surface:#fff;--brand-soft:#f2ebd9;--brand-text:#10202c;--brand-muted:#51606a;--brand-line:#bcc3c8;--brand-accent:#936400;--brand-action:#936400;--brand-action-text:#fff}
html[data-season="back-to-school-2027"], [data-season-preview="back-to-school-2027"]{--brand-bg:#211f32;--brand-surface:#302d44;--brand-soft:#302d44;--brand-text:#f8f5ef;--brand-muted:#d5d6d9;--brand-line:#707580;--brand-accent:#bab1ff;--brand-action:#bab1ff;--brand-action-text:#10202c}
html[data-theme="light"][data-season="back-to-school-2027"], .admin-page [data-season-preview="back-to-school-2027"]{--brand-bg:#faf9ff;--brand-surface:#fff;--brand-soft:#ebe9f7;--brand-text:#10202c;--brand-muted:#51606a;--brand-line:#bcc3c8;--brand-accent:#5341a7;--brand-action:#5341a7;--brand-action-text:#fff}
[data-season-preview]{background-color:var(--brand-bg);color:var(--brand-text)}.admin-page [data-season-preview] .campaign-heading{color:var(--brand-text)}.admin-page [data-season-preview] .campaign-cta{background:var(--brand-action);border-color:var(--brand-action);color:var(--brand-action-text)}.admin-page [data-season-preview] .campaign-secondary{color:var(--brand-text)}.admin-page [data-season-preview] .campaign-copy{color:var(--brand-muted)}.campaign-season-fields{border:1px solid #b8a694;border-radius:10px;padding:16px;min-width:0}.campaign-season-fields .admin-field-row{display:flex;flex-wrap:wrap;gap:14px}.campaign-season-fields label{flex:1;min-width:160px}
html[data-season="halloween-2026"]{--season-background-form:url("/img/seasonal/halloween-pumpkins-20261001.webp")}

html[data-season="christmas-2026"]{--season-background-form:url("/img/seasonal/christmas-baubles-20261001-v2.webp")}

html[data-season="valentines-2027"]{--season-background-form:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M16%2027%205%2016C-3%205%2012%200%2016%2010%2020%200%2035%205%2027%2016Z%22%20fill%3D%22none%22%20stroke%3D%22%23b09c83%22%20stroke-width%3D%22.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")}

html[data-season="mothers-2027"]{--season-background-form:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M16%2028V16M16%2016C2%2016%204%202%2013%207M16%2016c14%200%2012-14%203-9M8%2024q8%200%208%204M24%2024q-8%200-8%204%22%20fill%3D%22none%22%20stroke%3D%22%23b09c83%22%20stroke-width%3D%22.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")}

html[data-season="easter-2027"]{--season-background-form:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M16%203C8%203%205%2016%205%2021a11%208%200%200%200%2022%200C27%2016%2024%203%2016%203Z%20M7%2020q9-7%2018%200%22%20fill%3D%22none%22%20stroke%3D%22%23b09c83%22%20stroke-width%3D%22.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")}

html[data-season="fathers-2027"]{--season-background-form:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M16%203%2020%2012%2030%2013%2022%2020%2025%2030%2016%2024%207%2030%2010%2020%202%2013%2012%2012Z%22%20fill%3D%22none%22%20stroke%3D%22%23b09c83%22%20stroke-width%3D%22.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")}

html[data-season="summer-2027"]{--season-background-form:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M16%202v4M16%2026v4M2%2016h4M26%2016h4M6%206l3%203M23%2023l3%203M6%2026l3-3M23%209l3-3M23%2016a7%207%200%201%200-14%200%207%207%200%200%200%2014%200Z%22%20fill%3D%22none%22%20stroke%3D%22%23b09c83%22%20stroke-width%3D%22.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")}

html[data-season="back-to-school-2027"]{--season-background-form:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20d%3D%22M5%203%2011%203%2027%2019%2021%2025%205%209Z%20M5%203v6l6-6M21%2025l6-6M21%2025l8%204-2-10%22%20fill%3D%22none%22%20stroke%3D%22%23b09c83%22%20stroke-width%3D%22.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E")}

/* Seasonal forms belong to the background, behind page content, never to a foreground layer. */
html[data-season-decoration="on"] body:not(.admin-page){isolation:isolate}
html[data-season-decoration="on"] body:not(.admin-page)::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:var(--season-background-form),var(--season-background-form);background-repeat:no-repeat;background-size:clamp(360px,44vw,740px) auto,clamp(300px,36vw,620px) auto;background-position:left -160px top 12%,right -180px bottom -150px;opacity:.055;filter:saturate(.4) blur(1px)}
html[data-theme="dark"][data-season-decoration="on"] body:not(.admin-page)::before{opacity:.075}
.season-control{position:static;flex:0 0 44px;width:44px;height:44px;min-height:44px;margin-left:4px;border:1px solid var(--brand-line);border-radius:50%;background:var(--brand-surface);color:var(--brand-text);font:inherit;font-size:22px;cursor:pointer}
.season-control:focus-visible{outline:3px solid var(--brand-accent);outline-offset:3px}
@media(max-width:760px){html[data-season-decoration="on"] body:not(.admin-page)::before{background-size:340px auto,280px auto;background-position:left -150px top 18%,right -145px bottom -85px;opacity:.045}}
