/* Responsividade global — carregado por último em todas as páginas */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
img, video, canvas { max-width: 100%; }
:root { --safe-b: env(safe-area-inset-bottom, 0px); --safe-t: env(safe-area-inset-top, 0px); }

/* colunas únicas não podem crescer por causa do conteúdo (evita rolagem horizontal) */
.h-demo__in, .h-manifesto, .admin, .admin__cols, .xexp__col, .checkout, .criar__main { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .h-demo__in { grid-template-columns: 1fr 1fr; } .h-manifesto { grid-template-columns: 1.05fr 1fr; } }
@media (min-width: 1024px) { .admin__cols { grid-template-columns: 2fr 1fr; } .checkout { grid-template-columns: 1fr 1fr; } .criar__main { grid-template-columns: minmax(0, 1fr) 440px; } }
.h-demo__in > *, .h-manifesto > *, .h-foot__grid > *, .h-plans > *, .h-rgrid > *, .h-grid > *, .a-wrap > *, .admin > *, .admin__cols > *, .xexp__col > *, .checkout > *, .criar__main > *, .stack > * { min-width: 0; }
.admin .card { overflow: hidden; } .tablewrap { max-width: 100%; }

/* altura de tela cheia que respeita a barra do navegador no celular */
.h-sticky, .xcover, .xexp, .trailer, .trailer__scene, .stage, .center-screen, .criar, .a-wrap, .admin-login { min-height: 100vh; min-height: 100dvh; }
.h-sticky { height: 100vh; height: 100dvh; } .sc--scroll { max-height: 100vh; max-height: 100dvh; }

/* áreas seguras (iPhone com notch / barra home) */
.bottombar__in { padding-bottom: calc(.9rem + var(--safe-b)); } .criar__head, .xexp__bar, .h-nav { padding-top: var(--safe-t); }
.toast { bottom: calc(6rem + var(--safe-b)); }

/* evita o zoom automático do iOS ao focar em campos */
@media (max-width: 900px) { input, textarea, select, .input, .field input, .a-field input { font-size: max(16px, 1rem); } }

/* ---- menu hambúrguer da home ---- */
.h-burger { display: none; width: 2.6rem; height: 2.6rem; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .06); flex-direction: column; justify-content: center; align-items: center; gap: 5px; padding: 0; }
.h-burger span { display: block; width: 1.1rem; height: 2px; background: #fff; border-radius: 2px; transition: transform .35s var(--ease); }
.h-long { display: inline; } .h-short { display: none; }
@media (max-width: 819px) {
  .h-burger { display: inline-flex; }
  .h-nav__links { display: grid !important; position: fixed; top: 0; left: 0; right: 0; z-index: -1; padding: calc(5rem + var(--safe-t)) 1.5rem 1.75rem; gap: 0; font-size: 1.15rem; background: rgba(18, 8, 13, .97); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(255, 255, 255, .1); transform: translateY(-110%); visibility: hidden; transition: transform .45s var(--ease), visibility .45s; }
  .h-nav__links a { padding: 1rem 0; border-bottom: 1px solid rgba(255, 255, 255, .08); color: #fff; }
  .h-nav.is-open .h-nav__links { transform: none; visibility: visible; }
  .h-nav.is-open { background: rgba(18, 8, 13, .97); }
  .h-nav.is-open .h-burger span:nth-child(1) { transform: translateY(3.5px) rotate(45deg); } .h-nav.is-open .h-burger span:nth-child(2) { transform: translateY(-3.5px) rotate(-45deg); }
}

/* ---- celulares ---- */
@media (max-width: 640px) {
  .h-wrap { padding: 0 1.1rem; } .h-nav__in { height: 4rem; } .h-logo { font-size: 1.5rem; } .h-nav__act { gap: .5rem; } .h-nav__act .btn { padding: .5rem .95rem; font-size: .78rem; }
  .h-long { display: none; } .h-short { display: inline; }
  .h-video { object-position: 66% center; } .h-cta .btn { flex: 1 1 100%; } .h-lead { font-size: 1.05rem; }
  .h-title { font-size: clamp(2.5rem, 12.5vw, 3.6rem); } .h-h2 { font-size: clamp(2.2rem, 10.5vw, 3rem); }
  .h-stats { grid-template-columns: repeat(3, 1fr); gap: .75rem; } .h-stats b { font-size: 2rem; } .h-stats span { font-size: .62rem; }
  .h-collage { gap: .65rem; } .h-collage figure:nth-child(2) { margin-top: 1.5rem; }
  .h-plan { padding: 1.6rem; } .h-price b { font-size: 3.6rem; } .h-final { min-height: 60vh; padding: 5rem 1.25rem; }
  .h-foot { padding-top: 3.5rem; } .h-foot__bar { flex-direction: column; } .h-social a { flex: 1 1 100%; }
  .h-car__dots { max-width: 9rem; } .h-car__btn { width: 2.5rem; height: 2.5rem; } .h-rev { padding: 1.5rem; } .h-rev blockquote { font-size: 1.25rem; }
  .h-poster__bot b { font-size: 1.5rem; }
  .h-phonewrap { min-height: 0; }
  .demo__stage { transform: none !important; height: 31rem !important; } .demo__glow { width: 22rem; }
  .xcover h1 { font-size: clamp(2.6rem, 13vw, 4rem); } .xcover { padding: 1rem; }
  .tcell { padding: .6rem .4rem; } .tcell__v { font-size: 1.9rem; }
  .bottombar__in { padding-left: 1rem; padding-right: 1rem; gap: .5rem; } .bottombar .btn { padding: .8rem 1.1rem; font-size: .9rem; }
  .checkout { padding: 1.1rem; } .pixqr { width: 14rem; height: 14rem; } .bubble { gap: .6rem; } .bubble__mascot { width: 3.4rem; height: 3.4rem; }
  .yt-form { flex-direction: column; } .yt-form .btn { width: 100%; }
  .admin { padding: 1rem .75rem 3rem; } .admin__head .row { flex-wrap: wrap; } .stat .font-display { font-size: 1.8rem; }
  .a-trust { gap: .4rem .9rem; }
}
@media (max-width: 380px) {
  .h-nav__act .link-btn { display: none; } .criar__headin .logo { font-size: 1.3rem; } .stepcount { padding: .2rem .55rem; } .h-stats b { font-size: 1.7rem; }
  .pv-toggle span { display: none; } .opt { padding: 1rem; gap: .85rem; } .opt__ic { width: 2.8rem; height: 2.8rem; } .opt__title { font-size: 1.5rem; }
  .counter6 .font-display { font-size: 1.25rem; } .grid6 { grid-template-columns: repeat(3, 1fr); }
}

/* ---- tablets e telas maiores ---- */
@media (min-width: 768px) { .xexp__col, .xexp__barin { max-width: 36rem; } .xcover__body { max-width: 34rem; } .tl { max-width: 40rem; } }
@media (min-width: 1500px) { .h-wrap, .criar__headin, .criar__main, .seg, .steplabel, .bottombar__in { max-width: 88rem; } .h-title { font-size: clamp(4rem, 6.4vw, 7.2rem); } }

/* ---- celular deitado / telas baixas ---- */
@media (max-height: 520px) and (orientation: landscape) {
  .h-title { font-size: clamp(2rem, 6vw, 3.1rem); } .h-lead, .h-counter, .h-scrollhint { display: none; } .h-kicker { margin-bottom: .4rem; }
  .xcover h1 { font-size: 2.3rem; margin-bottom: .75rem; } .xcover p { margin-bottom: 1rem; font-size: .95rem; } .xcover__brand { margin-bottom: .75rem; }
  .a-panel { padding-top: 4rem; } .h-chap { min-height: 0; padding: 4rem 0; } .center-screen { min-height: 0; padding: 3rem 1rem; }
}

/* ---- prévia do assistente em celulares/tablets (abre como tela cheia) ---- */
.pv-toggle { display: none; align-items: center; gap: .4rem; padding: .35rem .85rem; border-radius: 99px; border: 1px solid rgba(217, 138, 156, .55); background: rgba(217, 138, 156, .12); color: var(--rose, #d98a9c); font-size: .78rem; font-weight: 600; }
.pv-close { display: none; }
@media (max-width: 1023px) {
  .pv-toggle { display: inline-flex; }
  body.pv-open { overflow: hidden; }
  body.pv-open .criar__main { z-index: 100; }       /* o painel fixo precisa ficar acima do topo e da barra inferior */
  body.pv-open .criar__aside { display: block; position: fixed; inset: 0; z-index: 90; overflow-y: auto; padding: calc(1.25rem + var(--safe-t)) 1rem calc(2rem + var(--safe-b)); background: rgba(10, 4, 7, .96); backdrop-filter: blur(14px); }
  body.pv-open .criar__aside .sticky { position: static; max-width: 24rem; margin: 0 auto; }
  body.pv-open .pv-close { display: inline-flex; position: sticky; top: 0; margin: 0 0 .75rem auto; z-index: 3; }
  body.pv-open .pv__screen { height: min(36rem, calc(100dvh - 15rem)); }
}

.criar__right { display: flex; align-items: center; gap: .5rem; }

/* bloco de texto da cena do hero respeita as margens (antes os botões invadiam a linha da direita) */
.h-phase { left: 1.5rem; right: 1.5rem; }
@media (max-width: 640px) { .h-phase { left: 1.25rem; right: 2.5rem; } .h-counter { right: 2.5rem; } }
