/* Shared styles for /merch/, /giveaways/ and /offers/. Loaded after styles.css. */
@font-face{font-family:'Barlow Condensed';font-style:italic;font-weight:800;font-display:swap;src:url(/assets/fonts/50off/barlow-condensed-800i.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:italic;font-weight:900;font-display:swap;src:url(/assets/fonts/50off/barlow-condensed-900i.woff2) format('woff2')}

.ssg-cond { font-family: "Barlow Condensed", "Arial Narrow", sans-serif; font-style: italic; font-weight: 900; text-transform: uppercase; letter-spacing: -.01em; line-height: .95; }
.ssg-pages a:focus-visible, .ssg-pages button:focus-visible, .ssg-pages input:focus-visible, .ssg-pages select:focus-visible { outline: 3px solid #36a3ff; outline-offset: 3px; }

/* ---------- Merch ---------- */
.merch-hero { padding: 64px 0 28px; background: #fff; color: #0b1b3a; }
.merch-hero .eyebrow { color: #0b1b3a; }
.merch-hero h1 { font-size: clamp(2.6rem, 6vw, 4.6rem); margin: 8px 0 12px; color: #0b1b3a; }
.merch-hero h1 span { background: #000; color: #fff; padding: 0 .18em; }
.merch-hero p { max-width: 640px; color: #3a4a66; margin: 0; }
.merch-section { padding: 28px 0 88px; background: #fff; }
.ssg-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; max-width: 1100px; }
.ssg-product-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); max-width: none; }
.ssg-product { overflow: hidden; border: 1px solid #e1e6ed; border-radius: 12px; background: #fff; color: #101d32; display: flex; flex-direction: column; transition: box-shadow .2s ease, transform .2s ease; }
.ssg-product:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(16,29,50,.10); }
.ssg-product-image { display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; padding: 20px; background: #f5f7fa; }
.ssg-product-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ssg-image-placeholder { width: 100%; height: 100%; border-radius: 10px; background: #000; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; padding: 20px; }
.ssg-image-placeholder strong { font-family: "Barlow Condensed", sans-serif; font-style: italic; font-weight: 900; font-size: clamp(2.4rem, 6vw, 4rem); line-height: .95; }
.ssg-image-placeholder strong span { background: #fff; color: #000; padding: 0 .16em; }
.ssg-image-placeholder small { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: #b8c2d3; }
.ssg-product-info { padding: 22px; display: flex; flex-direction: column; flex: 1; }
.ssg-product-info h3 { margin: 0 0 10px; font-size: 21px; color: #101d32; }
.ssg-product-info p { color: #536176; line-height: 1.5; margin: 0 0 14px; }
.ssg-buy-button { align-self: flex-start; margin-top: auto; padding: 13px 22px; border-radius: 6px; background: #102b50; color: #fff; font-weight: 700; letter-spacing: .04em; text-decoration: none; }
.ssg-buy-button:hover, .ssg-buy-button:focus-visible { background: #1767b1; color: #fff; outline: 2px solid #1767b1; outline-offset: 3px; }
@media (max-width: 1180px) { .ssg-product-grid--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ssg-product-grid, .ssg-product-grid--5 { grid-template-columns: 1fr; gap: 20px; } }
@media (prefers-reduced-motion: reduce) { .ssg-product { transition: none; } .ssg-product:hover { transform: none; } }
.merch-note { margin-top: 36px; font-size: .88rem; color: #55637d; max-width: 760px; }

/* ---------- Dark promo pages (giveaways + offers) ---------- */
.ssg-dark { --mid: #020c24; --mid-2: #061a42; --elec: #1e90ff; --elec-2: #59c2ff; background: var(--mid); color: #fff; overflow-x: hidden; }
.ssg-dark p { color: #c4d4ee; }
.ssg-ribbon-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 34px; font-family: "Barlow Condensed", sans-serif; font-style: italic; font-weight: 900; font-size: 1.3rem; letter-spacing: .03em; text-transform: uppercase; color: #fff; background: var(--elec); clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%); transition: background .2s, transform .2s; border: 0; cursor: pointer; }
.ssg-ribbon-btn:hover { background: #0a72e6; transform: translateY(-1px); }
.ssg-ribbon-btn--gold { background: #fbcd32; color: #0b1430; }
.ssg-ribbon-btn--gold:hover { background: #ffd95a; }
.ssg-ghost-link { display: inline-flex; align-items: center; min-height: 52px; padding: 0 22px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; color: #fff; border: 1px solid rgba(89,194,255,.6); }
.ssg-ghost-link:hover { background: rgba(30,144,255,.14); }

.ssg-hero { position: relative; padding: 72px 0 64px; background: radial-gradient(1000px 520px at 80% 20%, rgba(30,144,255,.28), transparent 60%), linear-gradient(180deg, var(--mid-2), var(--mid)); border-bottom: 1px solid rgba(89,194,255,.35); }
.ssg-hero__grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center; }
.ssg-hero .eyebrow { color: var(--elec-2); }
.ssg-hero h1 { font-size: clamp(3rem, 7.4vw, 6.2rem); margin: 10px 0 18px; color: #fff; }
.ssg-hero h1 em { font-style: inherit; color: var(--elec-2); }
.ssg-hero__lead { font-size: 1.12rem; max-width: 560px; margin: 0 0 28px; }
.ssg-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.ssg-hero__art { border: 1px solid rgba(89,194,255,.45); padding: 10px; background: rgba(6,26,66,.6); box-shadow: 0 30px 80px rgba(0,0,0,.45); }
.ssg-hero__art img { display: block; width: 100%; height: auto; }
@media (max-width: 900px) { .ssg-hero__grid { grid-template-columns: 1fr; gap: 32px; } }

.ssg-section { padding: 72px 0; }
.ssg-section h2 { font-size: clamp(2.2rem, 4.6vw, 3.6rem); color: #fff; margin: 6px 0 14px; }
.ssg-section .eyebrow { color: var(--elec-2); }

/* Offer ribbon */
.offer-ribbon { position: sticky; top: var(--hdr-h, 0px); z-index: 30; background: rgba(2,12,36,.94); backdrop-filter: blur(8px); border-bottom: 1px solid rgba(89,194,255,.35); }
.offer-ribbon__list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; margin: 0 auto; padding: 0; }
.offer-ribbon a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; padding: 6px 10px; font-family: "Barlow Condensed", sans-serif; font-style: italic; font-weight: 800; font-size: 1.12rem; letter-spacing: .04em; text-transform: uppercase; color: #9fb6d9; text-align: center; border-inline-end: 1px solid rgba(89,194,255,.18); position: relative; transition: color .2s, background .2s; }
.offer-ribbon a::before { content: ""; width: 10px; height: 10px; transform: skewX(-18deg); background: var(--c, #1e90ff); flex: none; }
.offer-ribbon a::after { content: ""; position: absolute; left: 12%; right: 12%; bottom: 0; height: 3px; background: var(--c, #1e90ff); transform: scaleX(0); transition: transform .25s; }
.offer-ribbon a:hover { color: #fff; background: rgba(30,144,255,.08); }
.offer-ribbon a.is-active, .offer-ribbon a[aria-current="true"] { color: #fff; background: rgba(30,144,255,.14); }
.offer-ribbon a.is-active::after, .offer-ribbon a[aria-current="true"]::after { transform: scaleX(1); }
@media (max-width: 760px) {
  .offer-ribbon__list { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .offer-ribbon__list::-webkit-scrollbar { display: none; }
  .offer-ribbon li { flex: 0 0 auto; scroll-snap-align: start; }
  .offer-ribbon a { font-size: 1rem; padding: 6px 16px; }
}

/* Promo cards */
.promo-cards { display: grid; gap: 26px; }
.promo-card { --c: #1e90ff; display: grid; grid-template-columns: 320px 1fr; gap: 0; border: 1px solid color-mix(in srgb, var(--c) 60%, transparent); background: linear-gradient(120deg, color-mix(in srgb, var(--c) 14%, #04112e), #04112e 55%); scroll-margin-top: calc(var(--hdr-h, 0px) + 76px); transition: box-shadow .25s; }
.promo-card:target, .promo-card.is-active { box-shadow: 0 0 0 1px var(--c), 0 18px 50px color-mix(in srgb, var(--c) 25%, transparent); }
.promo-card__art { position: relative; min-height: 240px; background: #020a1e; overflow: hidden; border-right: 1px solid color-mix(in srgb, var(--c) 45%, transparent); }
.promo-card__art svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.promo-card__body { padding: 30px 34px; display: flex; flex-direction: column; gap: 10px; }
.promo-card__kicker { font-weight: 850; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: var(--c); }
.promo-card h3 { font-size: clamp(1.9rem, 3.4vw, 2.7rem); margin: 0; color: #fff; }
.promo-card p { margin: 0; max-width: 620px; }
.promo-card__facts { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 4px 0 6px; }
.promo-card__facts li { font-size: .85rem; font-weight: 800; color: #fff; border: 1px solid color-mix(in srgb, var(--c) 55%, transparent); padding: 5px 11px; }
.promo-card__cta { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 12px; }
.promo-card .ssg-ribbon-btn { background: var(--c); color: #04112e; }
.promo-card .ssg-ribbon-btn:hover { filter: brightness(1.08); }
.promo-card--blue { --c: #1e90ff; } .promo-card--gold { --c: #fbcd32; } .promo-card--green { --c: #4fd17a; } .promo-card--silver { --c: #c9d3e0; } .promo-card--purple { --c: #a66bff; }
.promo-card--blue .ssg-ribbon-btn { color: #fff; }
@media (max-width: 760px) { .promo-card { grid-template-columns: 1fr; } .promo-card__art { min-height: 170px; border-right: 0; border-bottom: 1px solid color-mix(in srgb, var(--c) 45%, transparent); } .promo-card__body { padding: 24px 20px; } }

/* Join band */
.join-band { padding: 64px 0; text-align: center; background: linear-gradient(90deg, #0a3fa8, #1e90ff 50%, #0a3fa8); border-block: 1px solid rgba(255,255,255,.25); }
.join-band h2 { font-size: clamp(2rem, 5vw, 3.6rem); color: #fff; margin: 0 0 18px; }
.join-band p { color: #e3efff; margin: 0 auto 22px; max-width: 620px; }
.join-band .ssg-ribbon-btn { background: #fff; color: #062d61; }
.join-band .ssg-ribbon-btn:hover { background: #e9f3ff; }

/* Enquiry modal */
.ssg-enquiry { width: min(560px, calc(100% - 24px)); max-height: calc(100dvh - 24px); padding: 0; border: 1px solid #59c2ff; background: #04112e; color: #fff; overflow: auto; }
.ssg-enquiry::backdrop { background: rgba(0,6,20,.78); }
.ssg-enquiry__inner { padding: 28px 28px 24px; }
.ssg-enquiry h2 { font-size: 2.2rem; margin: 0 0 6px; color: #fff; }
.ssg-enquiry p { margin: 0 0 18px; color: #c4d4ee; font-size: .95rem; }
.ssg-enquiry__close { position: absolute; top: 10px; right: 12px; width: 40px; height: 40px; border: 1px solid rgba(89,194,255,.5); background: transparent; color: #fff; font-size: 1.5rem; line-height: 1; cursor: pointer; }
.ssg-field { display: grid; gap: 6px; margin-bottom: 14px; }
.ssg-field label { color: #fff; font-weight: 800; font-size: .88rem; letter-spacing: .02em; }
.ssg-field input, .ssg-field select { min-height: 46px; padding: 0 12px; border: 1px solid #36507e; background: #061a42; color: #fff; border-radius: 0; }
.ssg-field input[aria-invalid="true"], .ssg-field select[aria-invalid="true"] { border-color: #ff6b7a; }
.ssg-field__error { min-height: 1em; font-size: .82rem; color: #ff98a3; }
.ssg-consent { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; font-size: .88rem; color: #c4d4ee; margin: 4px 0 6px; }
.ssg-consent input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: #1e90ff; }
.ssg-form-status { min-height: 1.4em; font-size: .9rem; font-weight: 700; color: #ff98a3; margin: 6px 0 12px; }
.ssg-enquiry .ssg-ribbon-btn { width: 100%; }

/* Giveaways */
.gw-tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 28px; }
.gw-tier { border: 1px solid rgba(89,194,255,.4); background: linear-gradient(180deg, #071c47, #04112e); padding: 28px 24px; display: flex; flex-direction: column; gap: 10px; }
.gw-tier--premium { border-color: #fbcd32; box-shadow: 0 0 0 1px rgba(251,205,50,.35); }
.gw-tier__name { font-size: 2.2rem; color: #fff; margin: 0; }
.gw-tier__count { font-size: 4.2rem; color: #59c2ff; margin: 6px 0 0; }
.gw-tier--premium .gw-tier__count { color: #fbcd32; }
.gw-tier ul { margin: 0 0 8px; padding-left: 18px; color: #c4d4ee; font-size: .95rem; }
.gw-tier .ssg-ribbon-btn { margin-top: auto; }
.gw-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; counter-reset: s; list-style: none; padding: 0; margin: 28px 0 0; }
.gw-steps li { border-top: 3px solid #1e90ff; padding-top: 16px; counter-increment: s; }
.gw-steps li::before { content: "0" counter(s); display: block; font-family: "Barlow Condensed", sans-serif; font-style: italic; font-weight: 900; font-size: 2.4rem; color: #59c2ff; }
.gw-steps strong { display: block; font-size: 1.1rem; margin: 4px 0 6px; }
.gw-draft { margin-top: 28px; border: 1px dashed rgba(251,205,50,.7); background: rgba(251,205,50,.06); padding: 20px 22px; }
.gw-draft strong { color: #fbcd32; letter-spacing: .08em; text-transform: uppercase; font-size: .85rem; }
.gw-draft p { margin: 8px 0 0; }
@media (max-width: 900px) { .gw-tiers, .gw-steps { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) {
  .ssg-pages *, .ssg-pages *::before, .ssg-pages *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
.merch-hero .breadcrumb a { color: #0b1b3a; text-decoration: underline; }
