/* Padrões compartilhados da jornada de cursos. */
:root { --esace-ink:#18223b; --esace-muted:#53617a; --esace-brand:#4338ca; }
html { scroll-padding-top:90px; }
:where(button,a,input,select,textarea,[tabindex]):focus-visible { outline:3px solid #6366f1!important; outline-offset:4px; }
:where(button,a) { -webkit-tap-highlight-color:transparent; }
.esace-field-label { display:block; font-size:.85rem; font-weight:600; color:var(--esace-ink); margin:12px 0 6px; }
.esace-secondary { display:block; width:100%; padding:12px 18px; margin:10px 0; border:1px solid #c7cddd; border-radius:10px; background:#fff; color:var(--esace-brand); font:inherit; font-weight:600; cursor:pointer; min-height:44px; }
.esace-secondary:hover { background:#f5f5ff; border-color:#6366f1; }
.esace-skip { position:fixed; top:-100px; left:16px; z-index:100000; background:white; color:#18223b; padding:14px; border-radius:8px; }
.esace-skip:focus { top:12px; }
.auth-box { box-shadow:0 24px 70px #192b4d14!important; }
.auth-body input { min-height:46px; }
.auth-body label { text-align:left; }
.lp-hero h1 { font-size:clamp(2rem,4.6vw,3.65rem)!important; line-height:1.12!important; letter-spacing:-.035em; max-width:24ch; }
.lp-hero { padding-top:clamp(36px,6vw,76px)!important; padding-bottom:42px!important; }
.hero-copy .video-cta-row { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin:26px 0 18px; }
.hero-copy .video-cta-row .btn-buy { width:auto; min-width:240px; min-height:52px; }
.video-cta-info { display:flex; flex-direction:column; gap:4px; }
#video-cta-price { font-size:1.4rem; }
#video-cta-access { font-size:.85rem; }
#view-dashboard.active { display:flex; flex-direction:column; }
#view-dashboard > .stats-grid { order:2; margin-top:24px; }
#view-dashboard .panel { box-shadow:0 6px 24px #20345506; }
#view-dashboard .panel-head h3 { font-size:1rem; }
.lesson-row { min-height:48px; }
.lesson-row.active { box-shadow:inset 3px 0 0 #4f46e5; }
#lesson-title { line-height:1.35; }
#esace-feedback { position:fixed; bottom:28px; left:50%; transform:translateX(-50%); z-index:100001; width:min(90vw,520px); padding:16px 44px 16px 20px; border-radius:12px; background:#18223b; color:white; box-shadow:0 8px 30px #0003; font:500 15px/1.5 system-ui; }
#esace-feedback button { position:absolute; top:7px; right:7px; background:transparent; color:white; border:0; padding:8px; font-size:20px; cursor:pointer; }
@media(max-width:640px) { .hero-copy .video-cta-row { align-items:stretch; gap:12px; } .hero-copy .video-cta-row .btn-buy { width:100%; } .hero-copy .video-cta-info { width:100%; } .auth-box { max-width:calc(100vw - 28px)!important; } input,select,textarea { font-size:16px!important; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; animation-iteration-count:1!important; } }

.hero-copy .video-cta-row { flex-direction:row; justify-content:flex-start; text-align:left; padding:0; }
.hero-copy #video-cta-price { color:#18223b; }
.hero-copy #video-cta-access { color:#53617a; }
.hero-copy .video-cta-info { text-align:left; }

body[data-template="impact"] .hero-copy #video-cta-price,
body[data-template="video"] .hero-copy #video-cta-price { color:#fff; }
body[data-template="impact"] .hero-copy #video-cta-access,
body[data-template="video"] .hero-copy #video-cta-access { color:#d9e0ef; }
body[data-template="video"] .hero-copy > .video-cta-row { order:5; justify-content:center; }

body[data-template="impact"] .lp-hero,
body[data-template="video"] .lp-hero { padding-top:128px!important; }
@media(max-width:640px) { body[data-template="impact"] .lp-hero, body[data-template="video"] .lp-hero { padding-top:100px!important; } }
