/* ==========================================================================
   IA SEM LIMITES · Estilos das páginas (landing e VSL)
   Só o que é específico das páginas. Todo o resto vem do design system.
   ========================================================================== */

/* Âncoras param abaixo da barra de urgência + nav */
html:has(.pg-urgency:not([hidden])) { scroll-padding-top: calc(var(--isl-nav-h) + 70px); }

/* Barra de urgência que gruda no topo */
.pg-urgency { position: sticky; top: 0; z-index: calc(var(--isl-z-nav) + 1); }
.pg-urgency .isl-countdown__value { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.14); color: #fff; box-shadow: none; }
.pg-urgency .isl-countdown__sep { color: rgba(255, 255, 255, 0.4); }
.pg-urgency .isl-countdown--sm .isl-countdown__value { min-width: 40px; font-size: 1rem; padding: 6px; }
.pg-urgency .isl-countdown--sm .isl-countdown__sep { font-size: 1rem; line-height: 30px; }
.pg-urgency .isl-countdown__label { display: none; }
.pg-urgency + .isl-nav { top: 50px; }

/* Hero */
.pg-hero { padding-top: clamp(3.5rem, 2rem + 5vw, 7rem); overflow: clip; }
.pg-hero .isl-hero-title { max-width: 15ch; }
.pg-hero__lead { max-width: 44ch; }

/* Varejo x Atacado */
.pg-doors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pg-door { display: grid; gap: 22px; align-content: start; }
.pg-door__sign {
  display: inline-flex; align-items: center; gap: 10px; justify-self: start;
  padding: 10px 16px; border-radius: var(--isl-radius-md);
  font-family: var(--isl-font-mono); font-size: var(--isl-fs-xs); letter-spacing: var(--isl-ls-caps); text-transform: uppercase;
  background: var(--isl-surface-3); color: var(--isl-text-muted);
}
.pg-door--wholesale .pg-door__sign { background: var(--isl-grad-infinity); color: #fff; }
.pg-door h3 { font-size: var(--isl-fs-h2); letter-spacing: var(--isl-ls-display); line-height: 1.05; }
.pg-door__sub { color: var(--isl-text-muted); margin-top: -12px; }

/* Cards que empilham (dois caminhos) */
.pg-stack { display: grid; }
.pg-stack > .isl-card { position: sticky; min-height: 380px; display: grid; align-content: space-between; gap: 32px; }
.pg-stack > .isl-card:nth-child(1) { top: calc(var(--isl-nav-h) + 40px); }
.pg-stack > .isl-card:nth-child(2) { top: calc(var(--isl-nav-h) + 60px); margin-top: 35vh; }
.pg-stack p { max-width: 58ch; }

/* Pra quem é / não é */
.pg-fit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pg-fit h3 { font-size: var(--isl-fs-h4); margin-bottom: 8px; }

/* Preço: valor de amanhã */
.pg-next {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 10px;
  font-size: var(--isl-fs-sm); color: var(--isl-text-muted);
}
.pg-next s { color: var(--isl-text-faint); }
.pg-next b { color: var(--isl-danger); font-weight: 600; }

.pg-anchor {
  max-width: 960px; margin: 24px auto 0; padding: 22px 26px; border-radius: var(--isl-radius-xl);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px;
  background: var(--isl-surface); border: 1px dashed var(--isl-border-strong);
}
.pg-anchor p { color: var(--isl-text-muted); max-width: 56ch; line-height: 1.6; }
.pg-anchor strong { color: var(--isl-text); }
.pg-anchor__math { font-family: var(--isl-font-mono); font-size: var(--isl-fs-sm); color: var(--isl-text-faint); white-space: nowrap; }
.pg-anchor__math b { color: var(--isl-danger); font-weight: 500; text-decoration: line-through; }

/* Painel final: cartas de vidro */
.pg-panel-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 40px; align-items: center; }
.pg-glass-stack { position: relative; height: 320px; }
.pg-glass-stack .isl-glasscard { position: absolute; width: 280px; }
.pg-glass-stack .isl-glasscard:nth-child(1) { right: 0; top: 0; rotate: 9deg; opacity: 0.6; }
.pg-glass-stack .isl-glasscard:nth-child(2) { right: 30px; top: 50px; rotate: 3deg; opacity: 0.8; }
.pg-glass-stack .isl-glasscard:nth-child(3) { right: 60px; top: 100px; rotate: -4deg; background: rgba(255, 255, 255, 0.2); }
.pg-glass-stack .isl-logo { position: absolute; top: 20px; left: 20px; --size: 34px; }

/* FAQ: título fixo à esquerda, perguntas à direita */
.pg-faq { grid-template-columns: 0.75fr 1.25fr; align-items: start; }
.pg-faq__head { position: sticky; top: calc(var(--isl-nav-h) + 90px); }

/* VSL */
.pg-vsl-head { display: grid; justify-items: center; text-align: center; gap: 14px; }
.pg-vsl-head .isl-display { max-width: 22ch; font-size: clamp(1.625rem, 1.15rem + 2.2vw, 3rem); }
.pg-vsl-head .isl-lead { font-size: clamp(0.9375rem, 0.88rem + 0.3vw, 1.0625rem); }
.pg-vsl-wrap { width: min(980px, 100%); margin-inline: auto; }
/* Mobile: vídeo de borda a borda, sem gutter nem cantos */
@media (max-width: 640px) {
  .pg-vsl-wrap .isl-vsl { width: 100vw; margin-inline: calc(50% - 50vw); border-radius: 0; box-shadow: none; }
  .pg-vsl-head [data-hero-eyebrow] { display: none; }
}
.pg-vsl-note { text-align: center; margin-top: 18px; font-size: var(--isl-fs-sm); color: var(--isl-text-muted); }
.pg-vsl-cta { display: grid; justify-items: center; gap: 14px; margin-top: 28px; }
.pg-brandbar { display: flex; justify-content: center; padding: 22px 0 6px; }
.isl-vsl__cover .pg-cover-msg {
  position: absolute; left: 50%; top: 22%; translate: -50% 0; width: min(78%, 520px);
  padding: 14px 18px; border-radius: 14px; text-align: center;
  background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.82); font-size: clamp(0.75rem, 0.6rem + 0.6vw, 0.9375rem);
}
.isl-vsl__cover .pg-cover-clock {
  position: absolute; right: 22px; top: 18px; font-family: var(--isl-font-mono); font-size: var(--isl-fs-sm); color: rgba(255, 255, 255, 0.5);
}
[data-offer][hidden] { display: none !important; }

@media (max-width: 900px) {
  .pg-panel-grid { grid-template-columns: 1fr; }
  .pg-glass-stack { height: 280px; max-width: 340px; margin-inline: auto; width: 100%; }
}
@media (max-width: 768px) {
  .pg-doors, .pg-fit, .pg-faq { grid-template-columns: minmax(0, 1fr); }
  .pg-faq__head { position: static; }
  .pg-stack > .isl-card { position: relative; top: 0 !important; min-height: 0; }
  .pg-stack > .isl-card:nth-child(2) { margin-top: 16px; }
  .pg-urgency { font-size: var(--isl-fs-xs); gap: 8px; }
  .pg-urgency + .isl-nav { top: 46px; }
  .isl-vsl__cover .pg-cover-msg { display: none; }
  .pg-anchor { flex-direction: column; align-items: flex-start; }
}
