/* ============================================================
   SCREEN SYNC — /try ad-space showcase (page-specific styles)
   Inherits :root tokens, .nav, .btn, .footer, .reveal from styles.css
   ============================================================ */

/* ---------- shared small helpers ---------- */
.lead {
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  max-width: 60ch;
  margin-top: 0.4rem;
}
.section--beige .lead { color: var(--charcoal); opacity: 0.8; }
.lead--dim { color: var(--beige-dim); }

.back-link {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  color: var(--beige-dim);
  text-decoration: none;
  margin-bottom: 1.6rem;
  transition: color 0.25s;
}
.back-link:hover { color: var(--cherry-bright); }

code {
  font-family: var(--font-mono);
  font-size: 0.85em;
  background: rgba(234, 227, 211, 0.1);
  padding: 0.1em 0.4em;
  border-radius: 4px;
  color: var(--beige);
}

/* ---------- hero ---------- */
.try-hero {
  position: relative;
  background: var(--charcoal);
  padding: clamp(7rem, 14vw, 10rem) 0 clamp(3rem, 7vw, 5rem);
  overflow: hidden;
}
.try-hero__glow {
  position: absolute;
  width: 70vw; height: 70vw;
  right: -25vw; top: -30vw;
  background: radial-gradient(circle, rgba(142, 31, 51, 0.25), transparent 65%);
  pointer-events: none;
}
.try-hero .container { position: relative; z-index: 2; }

.try-hero__title {
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 7vw, 5rem);
  font-weight: 700;
  line-height: 1.03;
  letter-spacing: -0.03em;
  margin-bottom: 1.4rem;
}
.try-hero__title em { font-style: normal; color: var(--cherry-bright); }

.try-hero__sub {
  max-width: 56ch;
  color: var(--beige-dim);
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  margin-bottom: 2.2rem;
}
.try-hero__cta { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 3.2rem; }

.try-stats {
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: clamp(1.4rem, 4vw, 3.2rem);
  justify-content: start;
  border-top: 1px solid rgba(234, 227, 211, 0.12);
  padding-top: 1.8rem;
}
.try-stat { display: flex; flex-direction: column; gap: 0.2rem; }
.try-stat__num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.4rem, 3vw, 2.1rem);
  color: var(--cherry-bright);
  line-height: 1;
}
.try-stat__label { font-size: 0.8rem; color: var(--beige-dim); }

/* ---------- inventory strip ---------- */
.inv-strip {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 2rem;
}
.inv-strip li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--charcoal);
  background: rgba(29, 27, 25, 0.05);
  border: 1px solid rgba(29, 27, 25, 0.16);
  border-radius: 999px;
  padding: 0.6rem 1.1rem;
  transition: border-color 0.25s, transform 0.25s var(--ease-out);
}
.inv-strip li:hover { border-color: var(--cherry); transform: translateY(-3px); }
.inv-strip__ico { font-size: 1.1rem; }

/* ---------- format showcase ---------- */
.format-list {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  margin-top: 3rem;
}

.format-card {
  display: flex;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
  background: var(--charcoal-2);
  border: 1px solid rgba(234, 227, 211, 0.1);
  border-radius: 18px;
  padding: clamp(1.4rem, 3vw, 2.4rem);
  transition: border-color 0.3s, box-shadow 0.3s;
}
.format-card:hover {
  border-color: rgba(194, 58, 82, 0.45);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
}
.format-card--alt { flex-direction: row-reverse; }

/* the true-size stage (scrolls horizontally if the slot is wider than the card) */
.format-card__stage {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  overflow: auto;
  padding: 1.6rem 1rem 1rem;
  background:
    repeating-linear-gradient(45deg, rgba(234,227,211,0.03) 0 10px, transparent 10px 20px),
    var(--charcoal);
  border: 1px dashed rgba(234, 227, 211, 0.18);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.format-card__sizetag {
  position: absolute;
  top: 0.5rem; left: 0.75rem;
  font-family: var(--font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  color: var(--beige-dim);
}

/* the ad slot itself — exact pixel dimensions set inline */
.ad-slot {
  flex: none;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5);
  outline: 2px solid rgba(194, 58, 82, 0.5);
  outline-offset: 2px;
}

/* branded sample creative */
.adcr {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--cherry-deep), var(--cherry) 60%, #7a1a2c);
  color: var(--beige);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.9rem 1.1rem;
  position: relative;
}
.adcr__mark { color: var(--beige); }
.adcr__kicker {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.18em;
  opacity: 0.85;
}
.adcr__head {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.08;
}
.adcr__cta {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  color: var(--beige-2);
}
.adcr__dim {
  position: absolute;
  bottom: 0.4rem; right: 0.6rem;
  font-family: var(--font-mono);
  font-size: 0.58rem;
  opacity: 0.7;
}

/* compact creative for tiny slots (728×90, 320×50, etc.) */
.adcr--compact {
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0.6rem;
  padding: 0 0.8rem;
}
.adcr--compact .adcr__line {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.adcr--compact .adcr__dim { position: static; margin-left: auto; }

/* skyscraper (tall + narrow) keeps content stacked & centered */
.ad-slot--skyscraper .adcr { text-align: center; align-items: center; }
.ad-slot--skyscraper .adcr__head { font-size: 1.1rem; }

/* info column */
.format-card__info { flex: 0 0 clamp(180px, 26%, 260px); }
.format-card__badge {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  color: var(--beige);
  background: rgba(142, 31, 51, 0.35);
  border: 1px solid rgba(194, 58, 82, 0.4);
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  margin-bottom: 0.9rem;
}
.format-card__info h3 {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 0.3rem;
}
.format-card__dims { font-family: var(--font-mono); font-size: 0.78rem; color: var(--beige-dim); }
.format-card__listing { font-size: 0.88rem; color: var(--beige-dim); margin: 0.5rem 0 1rem; }
.format-card__price {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.6rem;
  color: var(--beige);
  margin-bottom: 1.1rem;
}
.format-card__price .price-num { color: var(--cherry-bright); }
.format-card__price .price-per { font-size: 0.85rem; color: var(--beige-dim); font-weight: 400; }
.format-card__book {
  display: inline-block;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--beige);
  text-decoration: none;
  padding: 0.6rem 1.2rem;
  border: 1.5px solid var(--cherry);
  border-radius: 999px;
  transition: background 0.25s, transform 0.3s var(--ease-out);
  will-change: transform;
}
.format-card__book:hover { background: var(--cherry); }

/* ---------- in-context mockups ---------- */
.ctx-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.6rem;
  margin-top: 3rem;
}
.ctx-card { display: flex; flex-direction: column; gap: 0.9rem; }
.ctx-card figcaption {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: var(--charcoal);
  opacity: 0.75;
}
.ctx-mock {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(29, 27, 25, 0.2);
  background: #111;
}
.ctx-ad {
  background: linear-gradient(135deg, var(--cherry-deep), var(--cherry));
  color: var(--beige);
  font-family: var(--font-mono);
  font-size: 0.66rem;
  letter-spacing: 0.06em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 4px;
}

/* browser mock */
.ctx-browser { background: var(--charcoal-2); }
.ctx-browser__bar {
  display: flex; align-items: center; gap: 5px;
  padding: 8px 10px;
  background: var(--charcoal-3);
}
.ctx-browser__bar i { width: 8px; height: 8px; border-radius: 50%; background: var(--beige-dim); opacity: 0.5; }
.ctx-browser__bar i:first-child { background: var(--cherry-bright); opacity: 1; }
.ctx-browser__bar span {
  margin-left: 8px; font-family: var(--font-mono); font-size: 0.6rem; color: var(--beige-dim);
}
.ctx-browser__body { padding: 12px; display: flex; flex-direction: column; gap: 10px; }
.ctx-ad--leaderboard { height: 42px; }
.ctx-browser__cols { display: flex; gap: 10px; }
.ctx-browser__main { flex: 1; display: flex; flex-direction: column; gap: 7px; }
.ctx-browser__main span { height: 9px; border-radius: 3px; background: rgba(234,227,211,0.14); }
.ctx-browser__main span.short { width: 55%; }
.ctx-ad--sky { width: 70px; min-height: 150px; line-height: 1.4; }
.ctx-ad--rect { height: 90px; }

/* game mock */
.ctx-game { background: linear-gradient(160deg, #1a2b3c, #0e1a26); }
.ctx-game__hud {
  display: flex; justify-content: space-between;
  padding: 8px 10px;
  font-family: var(--font-mono); font-size: 0.6rem; color: #8fd9ff;
}
.ctx-game__world {
  height: 150px; margin: 0 10px;
  background: linear-gradient(180deg, rgba(143,217,255,0.08), transparent), #16222e;
  border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
}
.ctx-ad--ingame { width: 78%; height: 56px; transform: perspective(300px) rotateX(8deg); }
.ctx-game__bar { display: flex; gap: 6px; padding: 10px; }
.ctx-game__bar i { flex: 1; height: 8px; border-radius: 3px; background: rgba(143,217,255,0.25); }

/* phone mock */
.ctx-phone {
  width: 170px; margin: 0 auto;
  background: #0c0b0a;
  border-radius: 22px;
  border: 6px solid #2a2724;
  position: relative;
  padding: 16px 10px 10px;
}
.ctx-phone__notch {
  position: absolute; top: 6px; left: 50%; transform: translateX(-50%);
  width: 46px; height: 5px; border-radius: 3px; background: #2a2724;
}
.ctx-phone__screen { display: flex; flex-direction: column; gap: 9px; min-height: 220px; }
.ctx-phone__row { display: flex; gap: 8px; }
.ctx-phone__row span { flex: 1; height: 40px; border-radius: 6px; background: rgba(234,227,211,0.1); }
.ctx-phone__row span.short { flex: 0 0 38%; }
.ctx-ad--mobile { margin-top: auto; height: 38px; }

/* ---------- estimator ---------- */
.estimator {
  margin-top: 2.5rem;
  background: var(--charcoal-2);
  border: 1px solid rgba(234, 227, 211, 0.12);
  border-radius: 18px;
  padding: clamp(1.5rem, 4vw, 2.4rem);
  text-align: left;
}
.estimator__field { margin-bottom: 1.4rem; }
.estimator__field label,
.estimator__label {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  color: var(--cherry-bright);
  margin-bottom: 0.6rem;
}
#estFormat {
  width: 100%;
  font-family: var(--font-body);
  font-size: 0.98rem;
  color: var(--beige);
  background: rgba(234, 227, 211, 0.06);
  border: 1.5px solid rgba(234, 227, 211, 0.25);
  border-radius: 10px;
  padding: 0.8rem 1rem;
  outline: none;
  cursor: pointer;
  transition: border-color 0.25s;
}
#estFormat:focus { border-color: var(--cherry-bright); }

.estimator__durations { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.dur-chip {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--beige-dim);
  background: transparent;
  border: 1.5px solid rgba(234, 227, 211, 0.22);
  border-radius: 999px;
  padding: 0.55rem 1.1rem;
  cursor: pointer;
  transition: all 0.25s var(--ease-out);
}
.dur-chip:hover { border-color: var(--beige-dim); color: var(--beige); }
.dur-chip.is-active {
  background: var(--cherry);
  border-color: var(--cherry);
  color: var(--beige);
}

.estimator__receipt {
  margin: 1.8rem 0;
  border-top: 1px solid rgba(234, 227, 211, 0.12);
  padding-top: 1.2rem;
}
.rcpt-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: 0.95rem;
  color: var(--beige-dim);
  padding: 0.4rem 0;
}
.rcpt-row span:last-child { font-family: var(--font-mono); color: var(--beige); white-space: nowrap; }
.rcpt-row--total {
  margin-top: 0.4rem;
  border-top: 1px solid rgba(234, 227, 211, 0.12);
  padding-top: 0.9rem;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--beige);
}
.rcpt-row--total span:last-child { color: var(--cherry-bright); font-family: var(--font-display); }
.rcpt-net {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.8rem;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--beige-dim);
}
.estimator__cta { width: 100%; text-align: center; }

/* ---------- handoff ---------- */
.cta-handoff { text-align: center; }
.cta-handoff .container { text-align: center; }
.cta-handoff__btns { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin: 2rem 0 1.4rem; }
.btn--ghost-dark { border-color: rgba(29, 27, 25, 0.4); color: var(--charcoal); }
.btn--ghost-dark:hover { border-color: var(--charcoal); background: rgba(29, 27, 25, 0.06); }
.cta-handoff__roles {
  font-family: var(--font-mono);
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  color: var(--charcoal);
  opacity: 0.6;
}

/* ---------- responsive ---------- */
@media (max-width: 820px) {
  .format-card, .format-card--alt { flex-direction: column; align-items: stretch; }
  .format-card__info { flex-basis: auto; }
  .try-stats { grid-template-columns: repeat(2, auto); }
  .nav__links { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .inv-strip li, .format-card__book, .dur-chip { transition: none; }
}
