/* Seasonal placements. Colours come from each season's settings as CSS variables; text colours are contrast-checked in PHP. */
.gcp-season-tile{display:flex;align-items:center;gap:20px;padding:22px;border:1px solid #e9dfd2;border-radius:18px;background:var(--season-bg,#fff9ed);color:var(--season-bg-ink,#2b1055);margin:16px 0}
.gcp-season-tile-image{width:30%;max-width:220px;aspect-ratio:4/3;object-fit:cover;border-radius:12px;flex:none}
.gcp-season-tile h3{margin:4px 0 6px;font-size:clamp(1.1rem,2vw,1.5rem)}.gcp-season-tile p{margin:0 0 8px}
.gcp-season-eyebrow{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800}
.gcp-season-link{font-weight:800;color:var(--season-link,inherit)}
.gcp-season-cutoff{font-size:.9rem;font-weight:700}
.gcp-season-shop-tile{flex-direction:column;align-items:flex-start;padding:14px;gap:8px;font-size:14px;margin:18px 0 0}
.gcp-season-shop-tile .gcp-season-tile-image{width:100%;max-width:none}.gcp-season-shop-tile h3{font-size:17px}
.gcp-season-home-feature{padding-top:0;padding-bottom:0}
.gcp-season-supporting-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:8px 0 24px}
.gcp-season-supporting-grid .gcp-season-tile{margin:0}
.gcp-season-teasers{display:grid;gap:8px;margin:0 0 20px}
.gcp-season-teaser{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;padding:10px 18px;border-radius:999px;background:var(--season-bg);color:var(--season-bg-ink);font-size:15px}
.gcp-season-teaser a{font-weight:800;color:var(--season-link)}.gcp-season-count{font-weight:800;padding:2px 10px;border-radius:999px;background:var(--season-primary);color:var(--season-on-primary)}
.gcp-season-me{font-size:14px}
.gcp-season-hero .hero-visual{background:var(--season-bg)}
.gcp-season-hero .eyebrow{color:var(--season-link)}
.gcp-season-hero-count{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:4px 0 6px}
.gcp-season-hero-count strong{font:700 clamp(20px,2.4vw,28px)/1.2 'DynaPuff',sans-serif;padding:8px 18px;border-radius:16px;background:var(--season-primary);color:var(--season-on-primary)}
.gcp-season-hero-count span{font-weight:700}
.gcp-season-stage-takeover.hero .button:not(.secondary){background:var(--season-primary);color:var(--season-on-primary)}
.gcp-season-products{padding:26px clamp(16px,3vw,32px);border-radius:24px;background:var(--season-bg);color:var(--season-bg-ink)}
.gcp-season-products .section-head a{color:var(--season-link)}
.gcp-season-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:24px clamp(16px,3vw,32px);border-radius:22px;background:var(--season-bg);color:var(--season-bg-ink);margin:0 0 24px}
.gcp-season-banner .gcp-garland{grid-column:1/-1}
.gcp-season-banner h2{margin:4px 0 8px;font-size:clamp(22px,2.6vw,32px)}.gcp-season-banner p{margin:0 0 10px}
.gcp-season-banner-image{width:min(260px,30vw);aspect-ratio:4/3;object-fit:cover;border-radius:16px}
.gcp-season-banner.gcp-season-stage-teaser,.gcp-season-banner.gcp-season-stage-sale{padding:16px 22px}.gcp-season-banner.gcp-season-stage-teaser h2,.gcp-season-banner.gcp-season-stage-sale h2{font-size:clamp(19px,2vw,24px)}
.gcp-season-banner.gcp-season-stage-takeover,.gcp-season-banner.gcp-season-stage-major{background:var(--season-primary);color:var(--season-on-primary)}
.gcp-season-banner.gcp-season-stage-takeover .gcp-season-button,.gcp-season-banner.gcp-season-stage-major .gcp-season-button{background:var(--season-accent);color:var(--season-on-accent)}
.gcp-season-button{background:var(--season-primary);color:var(--season-on-primary)}
.gcp-season-facts{font-size:15px}
.gcp-season-product-note{display:flex;flex-direction:column;gap:2px;margin:14px 0;padding:12px 16px;border-left:5px solid var(--season-primary);border-radius:10px;background:var(--season-bg);color:var(--season-bg-ink);font-size:15px}
.gcp-season-product-note a{font-weight:800;color:var(--season-link)}
body.gcp-season-product-match .product .summary{border-top:5px solid var(--season-accent);padding-top:14px}
.gcp-season-suggest{clear:both;margin:50px 0 10px;padding:22px;border-radius:20px;background:var(--season-bg);color:var(--season-bg-ink)}.gcp-season-suggest h2{font-size:clamp(20px,2.2vw,26px)}
.gcp-season-suggest .section-head a{color:var(--season-link)}
.nav-season{padding:8px 16px!important;margin:6px 0;border-radius:999px;background:var(--season-primary);color:var(--season-on-primary)!important}
.gcp-season-menu{margin-bottom:6px}.gcp-season-menu-link{background:var(--season-bg)!important;color:var(--season-bg-ink)!important;border-color:var(--season-primary)!important}.gcp-season-menu-link small{font-weight:800;margin-left:4px}
.gcp-occasion-tile--season{background:var(--season-bg)!important;color:var(--season-bg-ink)!important;box-shadow:inset 0 0 0 2px var(--season-primary)}
.gcp-season-subfooter{max-width:1250px;margin:40px auto 0;padding:0 5%;display:grid;gap:12px}
.gcp-season-subfooter-lead{border-radius:24px;padding:24px clamp(16px,3vw,32px);background:var(--season-primary);color:var(--season-on-primary);text-align:center}
.gcp-season-subfooter-lead h2{margin:6px 0}.gcp-season-subfooter-lead p{margin:0 auto 10px;max-width:640px}
.gcp-season-subfooter-lead .gcp-season-button{background:var(--season-accent);color:var(--season-on-accent)}
.gcp-season-subfooter-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:24px}
.gcp-season-chip{display:inline-flex;gap:10px;align-items:center;padding:10px 18px;border-radius:999px;background:var(--season-bg);color:var(--season-bg-ink);text-decoration:none;border:2px solid var(--season-primary)}
.gcp-season-me-prompt{border:2px dashed var(--stone,#e7dfd4);border-radius:18px;padding:14px 18px;margin:0 auto 20px;max-width:1100px;background:#fff}.gcp-season-me-prompt h3{margin:0 0 6px}
.gcp-season-me-prompt p{margin:6px 0;padding:10px 12px;border-radius:12px;background:var(--season-bg);color:var(--season-bg-ink)}
.gcp-season-prefill-note{padding:10px 14px;border-radius:12px;background:#fff4f9;font-weight:700}.gcp-highlight{outline:3px solid var(--berry,#d6246e);outline-offset:4px;border-radius:6px}
body.gcp-season-takeover .announcement{background:var(--season-primary);color:var(--season-on-primary)}
body.gcp-season-takeover .benefits{background:var(--season-bg);color:var(--season-bg-ink)}
/* Letter garland */
.gcp-garland{color:var(--season-bg-ink,#2b1055);pointer-events:none;margin:0 auto}
.gcp-garland{--letter:56px}.gcp-garland svg{display:block;width:min(100%,calc(var(--n)*var(--letter) + 40px));height:auto;margin:0 auto}
.gcp-garland-wide svg+svg,.gcp-garland-narrow svg+svg{margin-top:-6px}
.gcp-garland-narrow{display:none}
.gcp-garland--large{max-width:1100px;padding:6px 5% 0}
.gcp-garland--medium{--letter:44px;max-width:820px;margin-bottom:10px}
.gcp-garland--small{--letter:28px;max-width:560px;margin-bottom:6px}
.gcp-season-banner .gcp-garland,.gcp-season-subfooter-lead .gcp-garland{color:inherit}
@media(max-width:700px){.gcp-garland:not(.gcp-garland--small) .gcp-garland-wide{display:none}.gcp-garland-narrow{display:block}.gcp-garland{--letter:32px}.gcp-garland--small{--letter:20px}
 .gcp-season-tile{flex-direction:column;align-items:flex-start;padding:16px}.gcp-season-tile-image{width:100%;max-width:none}
 .gcp-season-banner{grid-template-columns:1fr}.gcp-season-banner-image{width:100%}
 .gcp-season-teaser{border-radius:16px}.nav-season{display:inline-block;margin:8px 0}}
