/* Current offers and campaign invitation. */
.offers-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:2rem; }
.offers-heading h2 { margin:0; font-weight:var(--font-bold); letter-spacing:var(--tracking-title); }
.offers-heading > span, .offers-note { color:var(--ink-muted); font-size:var(--inner-action-size); }
.offers-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.offer-card { display:flex; flex-direction:column; align-items:flex-start; gap:1rem; min-width:0; padding:clamp(1.5rem,3vw,2.5rem); background:var(--surface); border:1px solid var(--border-strong); border-radius:var(--r-card); scroll-margin-top:calc(var(--header-h) + 1.5rem); }
.offer-card:target { border-color:var(--accent); box-shadow:var(--focus-ring); }
.offer-card__top { display:flex; align-items:center; justify-content:space-between; width:100%; gap:1rem; }
.offer-card__symbol { display:inline-flex; padding:.8rem; background:var(--accent-soft); color:var(--accent-text); border-radius:var(--r-inner); }
.offer-card__category { color:var(--ink-muted); font-size:var(--inner-action-size); }
.offer-card__badge, .offer-popup__badge { display:inline-flex; align-self:flex-start; padding:.4rem .75rem; background:var(--accent-soft); color:var(--accent-text); border-radius:var(--r-pill); font-size:var(--inner-action-size); font-weight:var(--font-bold); }
.offer-popup__badge[hidden] { display:none; }
.offer-card h2 { margin:0; color:var(--ink-strong); font-weight:var(--font-bold); letter-spacing:var(--tracking-title); overflow-wrap:anywhere; }
.offer-card p { margin:0; color:var(--ink-soft); line-height:var(--leading-prose); overflow-wrap:anywhere; }
.offer-card__validity { display:flex; align-items:flex-start; gap:.5rem; color:var(--ink-muted); font-size:var(--inner-action-size); }
.offer-card__validity > .tx-icon { flex-shrink:0; margin-top:.2em; }
.offer-card__action { margin-top:auto; padding-top:1rem; }
.offer-card__action .btn { border-radius:var(--r-pill); white-space:normal; }
.offer-code { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; padding:.7rem 1rem; border:1px dashed var(--border-strong); border-radius:var(--r-field); color:var(--ink-muted); }
.offer-code strong { color:var(--ink-strong); overflow-wrap:anywhere; }
.offer-terms { width:100%; color:var(--ink-soft); font-size:var(--inner-action-size); }
.offer-terms summary { cursor:pointer; padding:.5rem 0; }
.offer-terms p { margin-top:.5rem; }
.offers-note { margin-top:1.5rem; }
.offers-empty-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.offer-popup { margin:auto; font-family:var(--font); width:min(850px, calc(100% - 2rem)); max-height:calc(100dvh - 2rem); padding:0; border:1px solid var(--chrome-line-strong); border-radius:var(--r-card); background:var(--surface); color:var(--ink-strong); overflow:auto; box-shadow:var(--shadow-raised); }
.offer-popup[open] { display:grid; grid-template-columns:.85fr 1.15fr; }
.offer-popup::backdrop { background:var(--offer-backdrop); backdrop-filter:blur(5px); }
.offer-popup__close { position:absolute; top:1rem; right:1rem; z-index:2; width:36px; height:36px; display:flex; align-items:center; justify-content:center; background:var(--surface); border:1px solid var(--border-strong); border-radius:var(--r-pill); color:var(--ink-soft); cursor:pointer; }
.offer-popup__close:hover { background:var(--surface-sunken); }
.offer-popup__art { position:relative; min-height:400px; display:flex; align-items:center; justify-content:center; overflow:hidden; background:var(--offer-art); color:var(--chrome-ink); }
.offer-popup__orbit { position:absolute; width:340px; height:340px; border:1px solid var(--chrome-line-strong); border-radius:var(--r-pill); transform:rotate(-20deg); }
.offer-popup__orbit::after { content:''; position:absolute; inset:35px; border:1px solid var(--chrome-line-strong); border-radius:inherit; }
.offer-popup__ticket { display:flex; flex-direction:column; align-items:flex-start; gap:1.5rem; width:80%; padding:2rem; transform:rotate(-8deg); border:1px solid var(--chrome-line-strong); background:var(--chrome); border-radius:var(--r-card); box-shadow:var(--offer-ticket-shadow); }
.offer-popup__ticket > .tx-icon { width:36px; height:36px; color:var(--accent); }
.offer-popup__ticket > span { font-size:var(--offer-popup-title); line-height:1.2; letter-spacing:var(--tracking-title); }
.offer-popup__ticket strong { color:var(--accent); }
.offer-popup__spark { position:absolute; bottom:1.5rem; right:1.5rem; font-size:var(--inner-hero-title); font-weight:var(--font-medium); }
.offer-popup__copy { display:flex; flex-direction:column; gap:1rem; min-width:0; padding:3.25rem 2.5rem 2rem; }
.offer-popup__eyebrow { font-size:var(--inner-action-size); color:var(--ink-muted); }
.offer-popup__copy h2 { margin:0; font-size:var(--offer-popup-title); line-height:var(--leading-title); font-weight:var(--font-extrabold); letter-spacing:var(--tracking-title); overflow-wrap:anywhere; }
.offer-popup__copy p { margin:0 0 .5rem; color:var(--ink-soft); line-height:var(--leading-prose); overflow-wrap:anywhere; }
.offer-popup__copy .btn { justify-content:center; border-radius:var(--r-pill); margin-top:auto; }
.offer-popup__later { border:0; background:none; color:var(--ink-muted); padding:.3rem; font:inherit; font-size:var(--inner-action-size); cursor:pointer; }
.offer-popup__copy small { color:var(--ink-muted); font-size:var(--text-xs); text-align:center; }
body.offer-popup-open { overflow:hidden; }
.offer-popup button:focus-visible, .offer-popup a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:640px) {
  .offers-grid { grid-template-columns:minmax(0,1fr); }
  .offer-popup[open] { grid-template-columns:minmax(0,1fr); }
  .offer-popup__art { min-height:140px; max-height:150px; }
  .offer-popup__ticket { width:auto; padding:1rem 2rem; flex-direction:row; align-items:center; gap:1rem; transform:rotate(-5deg); }
  .offer-popup__ticket > span { font-size:var(--text-lg); }
  .offer-popup__spark { display:none; }
  .offer-popup__copy { padding:1.5rem; gap:.8rem; }
}
