.stx-promo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin:28px 0}.stx-promo-card{background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:18px;overflow:hidden;box-shadow:0 12px 35px rgba(2,6,23,.12)}.stx-promo-card-media{background:var(--stx-bg);aspect-ratio:16/9;overflow:hidden}.stx-promo-card-media img{width:100%;height:100%;object-fit:cover}.stx-promo-card-body{padding:22px}.stx-promo-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(245,158,11,.14);color:var(--stx-accent);border:1px solid rgba(245,158,11,.42);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.stx-promo-card h3{margin:14px 0 8px;font-size:26px;line-height:1.1}.stx-promo-reward{font-size:17px;color:#0f172a}.stx-promo-date{font-size:14px;color:#475569;font-weight:700}.stx-promo-terms,.stx-promo-disclaimer{font-size:12px;color:#64748b;line-height:1.55}.stx-promo-products{padding:10px 0;color:#334155}.stx-promo-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:16px}.stx-promo-button{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(90deg,var(--stx-accent),#ea580c);color:#fff!important;text-decoration:none!important;border-radius:10px;padding:11px 16px;font-weight:900}.stx-promo-link{font-weight:800;color:var(--stx-accent)!important}.stx-on-dark{color:#dbeafe!important}.stx-promo-hero{background:var(--stx-bg);background-size:cover;background-position:center;color:#fff;padding:72px 24px;border-bottom:1px solid rgba(245,158,11,.25)}.stx-promo-hero-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:28px;align-items:center}.stx-promo-hero h1{font-size:clamp(38px,6vw,76px);line-height:.96;margin:16px 0;color:#fff}.stx-promo-hero-reward{font-size:clamp(18px,2vw,26px);color:#e2e8f0}.stx-promo-hero-box{background:rgba(15,23,42,.78);border:1px solid rgba(245,158,11,.35);border-radius:18px;padding:24px;color:#e2e8f0}.stx-promo-topbar{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;background:var(--stx-bg);color:#fff;padding:10px 18px;font-size:14px}.stx-promo-topbar span{color:var(--stx-accent);font-weight:900}.stx-promo-topbar a{background:var(--stx-accent);color:#111827!important;text-decoration:none;border-radius:8px;padding:6px 10px;font-weight:900}.stx-promo-floating{position:fixed;right:22px;bottom:22px;z-index:9999;width:min(340px,calc(100vw - 44px));background:var(--stx-bg);color:#fff;border:1px solid rgba(245,158,11,.35);border-radius:18px;padding:18px;box-shadow:0 16px 40px rgba(0,0,0,.32)}.stx-promo-floating strong{display:block;margin:10px 0;font-size:18px}.stx-promo-floating small{display:block;color:#cbd5e1;margin-bottom:12px}@media(max-width:800px){.stx-promo-hero-inner{grid-template-columns:1fr}.stx-promo-hero{padding:46px 18px}.stx-promo-floating{right:12px;bottom:12px}}

/* v1.0.5: multi-promo rotation for any promos sharing the same header/hero location */
.stx-promo-rotator{position:relative}.stx-promo-rotator>.stx-promo-slide{display:none}.stx-promo-rotator>.stx-promo-slide.is-active{display:block}.stx-promo-rotator-dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:8px;z-index:5}.stx-promo-rotator-dots button{width:10px;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.25);padding:0;cursor:pointer}.stx-promo-rotator-dots button.is-active{background:#fff}.stx-topbar-rotator .stx-promo-rotator-dots{position:static;transform:none;justify-content:center;padding:4px;background:#020617}.stx-topbar-rotator .stx-promo-rotator-dots button{width:8px;height:8px}.stx-replace-hero-holder{width:100%}


/* v1.0.6 hero size and density controls */
.stx-promo-hero.stx-hero-size-compact{padding:34px 24px;min-height:320px;display:flex;align-items:center}
.stx-promo-hero.stx-hero-size-medium{padding:56px 24px;min-height:440px;display:flex;align-items:center}
.stx-promo-hero.stx-hero-size-large{padding:76px 24px;min-height:560px;display:flex;align-items:center}
.stx-promo-hero.stx-hero-size-full{padding:90px 24px;min-height:calc(100vh - 90px);display:flex;align-items:center}
.stx-promo-hero.stx-hero-size-compact .stx-promo-hero-inner{width:100%}
.stx-promo-hero.stx-text-size-small h1{font-size:clamp(30px,4.2vw,54px);line-height:1.02;margin:10px 0}
.stx-promo-hero.stx-text-size-normal h1{font-size:clamp(38px,5.2vw,68px);line-height:.98}
.stx-promo-hero.stx-text-size-large h1{font-size:clamp(48px,6.5vw,84px);line-height:.94}
.stx-promo-hero.stx-text-size-small .stx-promo-hero-reward{font-size:clamp(14px,1.5vw,18px);max-width:680px}
.stx-promo-hero.stx-density-compact .stx-promo-disclaimer{display:none}
.stx-promo-hero.stx-density-compact .stx-promo-hero-box{font-size:13px;max-height:130px;overflow:auto;padding:16px}
.stx-promo-hero.stx-density-compact .stx-promo-actions{margin-top:12px}
.stx-promo-hero.stx-density-compact .stx-promo-button{padding:9px 13px;font-size:13px;border-radius:999px}
.stx-promo-hero.stx-density-compact .stx-promo-badge{font-size:10px;padding:5px 9px}
.stx-promo-hero.stx-hero-layout-left .stx-promo-hero-inner{grid-template-columns:1fr}.stx-promo-hero.stx-hero-layout-left .stx-promo-hero-copy{max-width:760px}
.stx-promo-hero.stx-hero-layout-center .stx-promo-hero-inner{grid-template-columns:1fr;text-align:center}.stx-promo-hero.stx-hero-layout-center .stx-promo-actions{justify-content:center}.stx-promo-hero.stx-hero-layout-center .stx-promo-hero-copy{max-width:900px;margin:auto}
.stx-promo-hero.stx-hero-layout-center .stx-promo-hero-box{display:none}
.stx-promo-hero.stx-hero-size-compact .stx-promo-hero-inner{grid-template-columns:minmax(0,1.4fr) minmax(240px,.65fr);gap:22px}
@media(max-width:800px){.stx-promo-hero.stx-hero-size-compact,.stx-promo-hero.stx-hero-size-medium,.stx-promo-hero.stx-hero-size-large,.stx-promo-hero.stx-hero-size-full{min-height:auto;padding:32px 18px}.stx-promo-hero.stx-hero-size-compact .stx-promo-hero-inner{grid-template-columns:1fr}.stx-promo-hero.stx-text-size-large h1{font-size:clamp(34px,11vw,56px)}}
