/* Deposit gift cards: styles are scoped to the Promotions page. */
.deposit-bonuses { margin: 32px 0 36px; }
.deposit-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 20px; }
.deposit-eyebrow { font-size: 10px; letter-spacing: 1.8px; color: #a4d8b7; font-weight: 700; margin: 0 0 10px; }
.deposit-heading h2 { font-size: clamp(25px,3vw,36px); line-height: 1.08; letter-spacing: -.8px; }
.deposit-heading > p { margin: 0 0 2px; color: #acc7b5; font-size: 12px; text-align: right; }
.deposit-bonus-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.deposit-card { --deposit-accent: #1bff97; --deposit-surface: #073c28; overflow: hidden; border: 1px solid var(--deposit-accent); border-radius: 15px; background: #041d14; box-shadow: 0 8px 26px #0004; transition: transform .2s, box-shadow .2s; }
.deposit-card-2 { --deposit-accent: #66d9ff; --deposit-surface: #07394a; }
.deposit-card-3 { --deposit-accent: #e4a2ff; --deposit-surface: #33203e; }
.deposit-card-4 { --deposit-accent: #ffe25b; --deposit-surface: #3a3012; }
.deposit-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px #0007; }
.deposit-card-art { height: 155px; position: relative; background: #00180d; overflow: hidden; border-bottom: 1px solid #31583c; }
.deposit-card-art > img { width: 100%; height: 100%; object-fit: cover; object-position: 78% center; }
.deposit-step { position: absolute; left: 17px; top: 16px; min-width: 31px; padding: 4px 7px; border-radius: 5px; background: var(--deposit-surface); color: var(--deposit-accent); font-size: 12px; font-weight: 800; text-align: center; border: 1px solid var(--deposit-accent); }
.deposit-gift-mark { position: absolute; left: 18px; bottom: 15px; padding: 8px; background: #001c13d9; border: 1px solid #6a895b; border-radius: 9px; }
.deposit-gift-mark img { width: 22px; height: 22px; }
.deposit-card-content { padding: 20px; }
.deposit-offer { margin: 0; }
.deposit-offer > span { display: block; color: var(--deposit-accent); font-size: clamp(38px,4vw,55px); font-weight: 900; line-height: .95; letter-spacing: -2px; }
.deposit-offer > span > small { font-size: .63em; margin-left: 2px; }
.deposit-offer > strong { display: block; margin-top: 9px; font-size: 23px; line-height: 1.15; color: #fff; letter-spacing: -.5px; }
.deposit-card h3 { margin: 13px 0 21px; font-size: 14px; font-weight: 500; color: #c6dfce; }
.deposit-timer-label { margin: 0 0 9px; color: #8eaf9c; text-transform: uppercase; font-size: 8px; font-weight: 600; letter-spacing: 1px; }
.deposit-countdown { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: start; gap: 3px; }
.deposit-countdown > span { min-width: 0; display: block; text-align: center; }
.deposit-countdown b { display: block; background: var(--deposit-surface); border: 1px solid #37563d; padding: 8px 2px; border-radius: 6px; font-size: 18px; line-height: 1; font-variant-numeric: tabular-nums; color: #f4fff7; }
.deposit-countdown small { display: block; font-size: 8px; color: #8eaf9c; margin-top: 5px; }
.deposit-countdown i { font-size: 17px; line-height: 1; padding-top: 8px; font-style: normal; color: var(--deposit-accent); }
.deposit-claim { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 43px; padding: 10px 9px; border-radius: 8px; margin-top: 20px; background: var(--deposit-accent); color: #001c10; font-weight: 800; font-size: 10px; transition: filter .15s; }
.deposit-claim:hover { filter: brightness(1.12); }
.deposit-claim span { font-size: 19px; line-height: 1; }
.deposit-demo-note { margin: 14px 0 0; color: #8cae99; font-size: 10px; line-height: 1.6; max-width: 750px; }
@media (max-width: 1000px) {
  .deposit-bonus-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .deposit-card-art { height: 170px; }
}
@media (max-width: 600px) {
  .deposit-bonuses { margin: 25px 0 28px; }
  .deposit-heading { margin-bottom: 16px; }
  .deposit-heading h2 { font-size: 25px; }
  .deposit-heading > p { display: none; }
  .deposit-eyebrow { font-size: 9px; margin-bottom: 9px; }
  .deposit-bonus-grid { gap: 12px; }
  .deposit-card { border-radius: 11px; }
  .deposit-card-art { height: 115px; }
  .deposit-step { left: 10px; top: 10px; min-width: 25px; padding: 3px 5px; font-size: 10px; }
  .deposit-gift-mark { left: 10px; bottom: 10px; padding: 5px; border-radius: 7px; }
  .deposit-gift-mark img { width: 18px; height: 18px; }
  .deposit-card-content { padding: 16px 12px 13px; }
  .deposit-offer > span { font-size: 39px; }
  .deposit-offer > strong { font-size: 20px; margin-top: 8px; }
  .deposit-card h3 { font-size: 12px; margin: 10px 0 17px; }
  .deposit-countdown { gap: 2px; }
  .deposit-countdown b { font-size: 14px; padding: 7px 1px; border-radius: 4px; }
  .deposit-countdown small { font-size: 7px; }
  .deposit-countdown i { font-size: 13px; padding-top: 7px; }
  .deposit-claim { font-size: 9px; min-height: 40px; gap: 6px; margin-top: 16px; padding: 9px 5px; }
  .deposit-demo-note { font-size: 9px; }
}
@media (max-width: 360px) {
  .deposit-bonus-grid { grid-template-columns: 1fr; }
  .deposit-card-art { height: 150px; }
  .deposit-card-content { padding: 19px; }
  .deposit-offer > span { font-size: 49px; }
  .deposit-offer > strong { font-size: 24px; }
  .deposit-countdown b { font-size: 18px; }
  .deposit-countdown small { font-size: 9px; }
  .deposit-claim { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { .deposit-card, .deposit-claim { transition: none; } .deposit-card:hover { transform: none; } }

/* Bonus-intent landing guide; existing palette and card language. */
.bonus-intent-nav { display:flex; flex-wrap:wrap; gap:12px 24px; margin:24px 0; padding:18px 0; border-block:1px solid var(--line); color:var(--green); font-size:13px; font-weight:700; }
.bonus-guide { margin-top:40px; min-width:0; scroll-margin-top:100px; }
.bonus-guide h2 { color:var(--gold); line-height:1.3; margin:0 0 20px; font-size:clamp(21px,2.3vw,28px); }
.bonus-guide h3 { line-height:1.4; font-size:18px; margin:0 0 12px; }
.bonus-guide p,.bonus-guide li,.bonus-guide dd { color:var(--muted); line-height:1.8; }
.bonus-guide > p { max-width:920px; }
.bonus-guide .eyebrow { color:var(--green); }
.bonus-guide a:not(.button) { color:var(--green); font-weight:700; }
.bonus-guide a:not(.button):hover { color:var(--gold); }
.bonus-guide .button { margin-top:16px; }
.bonus-table-wrap { margin:24px 0; }
.bonus-compare { width:100%; table-layout:fixed; border-collapse:separate; border-spacing:0; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--panel); }
.bonus-compare caption { text-align:left; color:var(--muted); font-size:12px; padding-bottom:12px; }
.bonus-compare th,.bonus-compare td { text-align:left; padding:16px 20px; line-height:1.6; }
.bonus-compare thead { background:#00251a; color:var(--green); }
.bonus-compare tbody tr > * { border-top:1px solid var(--line); }
.bonus-compare td { color:var(--gold); font-weight:800; }
.bonus-callout,.bonus-guide-grid article { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:24px; }
.bonus-callout { margin:24px 0; }
.bonus-callout strong { color:var(--gold); }
.bonus-guide ul,.bonus-guide ol { padding-left:24px; }
.bonus-guide li { padding-left:4px; margin:14px 0; }
.bonus-guide li strong { color:#fff; }
.bonus-terms-list > div { padding:20px 0; border-bottom:1px solid var(--line); }
.bonus-terms-list dt { font-weight:700; margin-bottom:8px; }
.bonus-terms-list dd { margin:0; max-width:920px; }
.bonus-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.bonus-guide .bonus-editor-note { border-left:2px solid var(--line); padding-left:14px; font-size:12px; }
.bonus-faq details { padding:20px 0; border-bottom:1px solid var(--line); }
.bonus-faq summary { font-weight:700; line-height:1.6; }
.bonus-faq details p { max-width:920px; }
@media(max-width:600px) { .bonus-guide { margin-top:30px; } .bonus-guide-grid { grid-template-columns:1fr; gap:16px; } .bonus-guide-grid article,.bonus-callout { padding:20px; } .bonus-compare th,.bonus-compare td { padding:14px 10px; font-size:13px; } }
