:root{--red:#ed1c16;--red-dark:#b91612;--black:#111318;--ink:#20242c;--muted:#626b7a;--bg:#ffffff;--soft:#f5f6f8;--card:#ffffff;--line:#e8eaf0;--shadow:0 18px 60px rgba(16,24,40,.10);--radius:22px;--container:1180px}html[data-theme=dark]{--bg:#0c1118;--soft:#111925;--card:#151e2b;--ink:#f4f7fb;--muted:#aeb8c7;--line:#263244;--shadow:0 18px 60px rgba(0,0,0,.35)}html.high-contrast{--red:#ff2a1f;--ink:#000;--bg:#fff;--soft:#fff;--card:#fff;--muted:#111;--line:#000}html[data-theme=dark].high-contrast{--ink:#fff;--bg:#000;--soft:#000;--card:#080808;--muted:#fff;--line:#fff}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}a{color:inherit;text-decoration:none}.container{width:min(var(--container),calc(100% - 36px));margin-inline:auto}.top-accessibility{border-bottom:1px solid var(--line);background:var(--bg);font-size:.92rem}.access-row{height:42px;display:flex;align-items:center;justify-content:space-between;gap:18px}.access-left,.access-right{display:flex;align-items:center;gap:10px}.top-accessibility button{border:0;background:transparent;color:var(--ink);font-weight:700;cursor:pointer}.top-accessibility a{font-weight:600}.follow-link{color:var(--red)!important}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}html[data-theme=dark] .site-header{background:rgba(12,17,24,.86)}.nav-wrap{height:78px;display:flex;align-items:center;gap:22px}.brand img{width:172px;display:block}.main-nav{display:flex;align-items:center;gap:5px;flex:1;justify-content:center}.main-nav>a,.nav-dropdown>a{font-weight:800;font-size:.88rem;text-transform:uppercase;padding:12px 10px;border-radius:12px}.main-nav a.active,.main-nav a:hover{color:var(--red);background:rgba(237,28,22,.07)}.header-cta{white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:13px;padding:13px 20px;font-weight:800;border:1px solid transparent;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--red),#ff4a2f);color:white;box-shadow:0 12px 28px rgba(237,28,22,.24)}.btn-light{background:var(--card);border-color:var(--line);color:var(--ink)}.btn-outline{border-color:var(--line);background:transparent;color:var(--ink)}.btn.full{width:100%}.mobile-menu{display:none;margin-left:auto;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:10px}.nav-dropdown{position:relative}.dropdown-panel{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);width:850px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow);grid-template-columns:repeat(5,1fr);gap:18px}.nav-dropdown:hover .dropdown-panel{display:grid}.drop-group strong{display:block;color:var(--red);font-size:.85rem;margin-bottom:8px}.drop-group a{display:block;color:var(--muted);font-size:.82rem;padding:5px 0}.hero{padding:72px 0 38px;background:radial-gradient(circle at 72% 30%,rgba(237,28,22,.23),transparent 34%),linear-gradient(180deg,var(--bg),var(--soft))}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:44px}.eyebrow{display:inline-flex;gap:8px;align-items:center;color:var(--red);font-weight:900;text-transform:uppercase;font-size:.8rem;letter-spacing:.04em}.hero h1{font-size:clamp(2.4rem,5vw,4.8rem);line-height:.98;margin:16px 0}.hero h1 strong{color:var(--red)}.hero p{font-size:1.14rem;color:var(--muted);max-width:620px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.hero-card{height:380px;border-radius:34px;background:linear-gradient(135deg,rgba(237,28,22,.9),#ff4a2f);position:relative;overflow:hidden;box-shadow:var(--shadow)}.hero-card:before{content:"";position:absolute;inset:42px;background:rgba(255,255,255,.12);clip-path:polygon(0 0,100% 50%,0 100%)}.student-visual{position:absolute;right:12%;bottom:12%;font-size:10rem;color:rgba(255,255,255,.86)}.price-badge{position:absolute;right:26px;bottom:28px;background:rgba(17,19,24,.85);color:#fff;border-radius:18px;padding:18px 22px;z-index:2}.price-badge strong{display:block;color:#ffddcf;font-size:2rem}.trust-bar{padding:22px 0;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.trust-grid div{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:800;font-size:.86rem}.trust-grid i{color:var(--red);font-size:1.2rem}.section{padding:70px 0}.section.soft{background:var(--soft)}.section-title{margin-bottom:28px}.section-title.center{text-align:center;max-width:760px;margin-inline:auto}.section-title span,.catalog-head span{color:var(--red);font-weight:900;text-transform:uppercase;font-size:.78rem}.section-title h2,.catalog-head h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.08;margin:8px 0}.section-title strong{color:var(--red)}.section-title p{color:var(--muted)}.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.category-card,.course-card,.content-card,.form-card,.checkout-card,.login-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.category-card{text-align:center;transition:.2s}.category-card:hover{transform:translateY(-4px);border-color:rgba(237,28,22,.4)}.category-card i,.course-icon{color:var(--red);font-size:2rem}.category-card h3{font-size:1rem}.category-card p,.course-card p,.content-card p,.form-note{color:var(--muted)}.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.course-card{display:flex;flex-direction:column}.course-card h3{margin-bottom:8px}.course-meta{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.course-meta span,.feature-pills span{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--muted);font-size:.78rem;font-weight:800}.course-price{margin:auto 0 18px}.course-price small,.course-price span{display:block;color:var(--muted);font-size:.82rem}.course-price strong{display:block;color:var(--red);font-size:1.7rem}.steps-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:start}.steps{display:grid;gap:14px}.steps div{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px}.steps b{display:inline-grid;place-items:center;background:var(--red);color:#fff;width:34px;height:34px;border-radius:50%;margin-bottom:10px}.steps h3{margin:0 0 5px}.steps p{margin:0;color:var(--muted)}.steps.small div{box-shadow:none}.cta-section{padding:0 0 70px}.cta-box{background:linear-gradient(135deg,var(--black),#262b35);color:#fff;border-radius:28px;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.cta-box p{color:#cdd3df}.page-hero,.course-hero{padding:64px 0;background:linear-gradient(135deg,var(--soft),rgba(237,28,22,.09))}.page-hero.compact{padding:44px 0}.page-hero h1,.course-hero h1{font-size:clamp(2rem,4vw,3.6rem);margin:0 0 10px}.page-hero p,.course-hero p{color:var(--muted);font-size:1.1rem}.catalog-layout{display:grid;grid-template-columns:280px 1fr;gap:24px}.catalog-sidebar{position:sticky;top:100px;align-self:start;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.catalog-sidebar h3{margin-top:0}.catalog-sidebar summary{cursor:pointer;font-weight:900;padding:10px 0}.filter-link{display:block;padding:9px 12px;border-radius:10px;color:var(--muted);font-weight:700}.filter-link.active,.filter-link:hover{background:rgba(237,28,22,.09);color:var(--red)}.catalog-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:20px}.catalog-head input,.form-card input,.form-card select,.form-card textarea,.mini-login input{width:100%;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:13px 14px;outline:none}.course-hero-grid{display:grid;grid-template-columns:1fr 360px;gap:32px}.checkout-card strong{display:block;color:var(--red);font-size:2.4rem}.checkout-card p{font-weight:800;color:var(--muted)}.course-detail-grid,.about-grid,.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.check-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.check-list li{display:flex;gap:10px;align-items:center;font-weight:700}.check-list i{color:var(--red)}.feature-pills{display:flex;flex-wrap:wrap;gap:8px}.dark-card{background:linear-gradient(135deg,var(--black),#252b35);color:#fff}.dark-card p,.dark-card .check-list{color:#fff}.form-card label{display:block;font-weight:800;margin-bottom:14px}.form-card label input,.form-card label select,.form-card label textarea{margin-top:6px}.form-card .check{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-weight:600}.form-card .check input{width:auto;margin-top:4px}.contact-card p{font-weight:800}.contact-card i{color:var(--red);margin-right:8px}.login-section{min-height:65vh;display:grid;place-items:center;padding:60px 18px}.login-box{width:min(430px,100%);text-align:center}.login-box img{width:210px}.login-options,.mini-login{display:grid;gap:10px;margin:22px 0}.site-footer{background:var(--soft);border-top:1px solid var(--line);padding-top:48px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}.footer-logo{width:210px}.site-footer p{color:var(--muted)}.site-footer h4{margin-top:0}.site-footer a{display:block;color:var(--muted);font-weight:700;margin:8px 0}.site-footer a:hover{color:var(--red)}.socials{display:flex;gap:10px}.socials a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--card);color:var(--red)}.footer-bottom{border-top:1px solid var(--line);margin-top:28px;padding:18px 0;color:var(--muted)}@media(max-width:1050px){.dropdown-panel{width:680px;grid-template-columns:repeat(3,1fr)}.course-grid{grid-template-columns:repeat(2,1fr)}.category-grid,.trust-grid{grid-template-columns:repeat(3,1fr)}.hero-grid,.steps-grid,.course-hero-grid,.course-detail-grid,.about-grid,.form-grid{grid-template-columns:1fr}.catalog-layout{grid-template-columns:1fr}.catalog-sidebar{position:static}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:780px){.access-row{height:auto;padding:8px 0;align-items:flex-start}.access-row,.access-left,.access-right{flex-wrap:wrap}.nav-wrap{height:auto;padding:14px 0}.mobile-menu{display:block}.main-nav{display:none;position:absolute;left:18px;right:18px;top:88px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow);align-items:stretch;flex-direction:column}.main-nav.open{display:flex}.nav-dropdown:hover .dropdown-panel{display:none}.header-cta{display:none}.brand img{width:145px}.hero{padding-top:42px}.hero-card{height:270px}.student-visual{font-size:6rem}.trust-grid,.category-grid,.course-grid,.footer-grid{grid-template-columns:1fr}.catalog-head{align-items:stretch;flex-direction:column}.cta-box{flex-direction:column;align-items:flex-start}.footer-logo{width:180px}}

/* Login profissional */
.login-page{padding:74px 0;min-height:70vh;background:linear-gradient(180deg,var(--bg) 0%,var(--soft) 100%)}
.login-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center}.login-info h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.05;margin:14px 0}.login-info p{color:var(--muted);font-size:1.08rem;max-width:640px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:8px 14px;background:rgba(237,28,22,.10);color:var(--red);font-weight:900;text-transform:uppercase;font-size:.78rem}.login-benefits{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:11px}.login-benefits li{font-weight:800;color:var(--ink)}.login-benefits i{color:var(--red);margin-right:8px}.login-card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow)}.login-logo{width:190px;display:block;margin:0 auto 18px}.login-card h2{text-align:center;margin:0 0 22px}.login-form{display:grid;gap:12px}.login-form label{font-weight:900}.login-form input{width:100%;height:50px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:13px;padding:0 14px;outline:none}.login-links{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.login-links a{color:var(--red);font-weight:800}.module-note{text-align:center;color:var(--muted);font-size:.86rem;margin:18px 0 0}

/* Atendimento organizado */
.contact-widget{position:fixed;right:24px;bottom:24px;z-index:9999}.contact-panel{width:304px;background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 50px rgba(0,0,0,.18);padding:16px;margin-bottom:14px;display:none}.contact-panel.active{display:block;animation:contactIn .18s ease}.contact-item{display:flex;align-items:center;gap:14px;padding:13px 10px;border-radius:15px;color:var(--ink);transition:.2s}.contact-item:hover{background:var(--soft);transform:translateX(2px)}.contact-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:18px;background:rgba(13,110,253,.09);color:#0d6efd}.contact-icon.whatsapp{background:rgba(24,199,96,.12);color:#18c760}.contact-icon.phone{background:rgba(237,28,22,.10);color:var(--red)}.contact-icon.mail{background:rgba(37,99,235,.10);color:#2563eb}.contact-icon.budget{background:rgba(245,158,11,.13);color:#f59e0b}.contact-item strong{display:block;font-size:.98rem}.contact-item small{display:block;color:var(--muted);font-size:.84rem}.contact-trigger{border:0;background:linear-gradient(90deg,#0d6efd,#145cff);color:#fff;min-height:56px;border-radius:999px;padding:0 20px;display:flex;align-items:center;gap:10px;font-weight:900;box-shadow:0 16px 34px rgba(13,110,253,.30);cursor:pointer}.contact-online-dot{width:13px;height:13px;border-radius:50%;background:#34d399;box-shadow:0 0 0 7px rgba(52,211,153,.17)}.contact-arrow{font-size:.82rem;opacity:.85}.contact-widget.open .contact-arrow{transform:rotate(180deg)}@keyframes contactIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:780px){.login-grid{grid-template-columns:1fr}.contact-widget{right:16px;bottom:16px}.contact-panel{width:min(304px,calc(100vw - 32px))}.contact-trigger span:nth-child(3){display:none}}

/* v1.0.2 — Atendimento no padrão CENATEC e inscrição com cadastro rápido */
.contact-trigger{background:linear-gradient(135deg,var(--red),var(--red-dark))!important;box-shadow:0 16px 34px rgba(237,28,22,.30)!important;color:#fff!important}.contact-panel{border-color:rgba(237,28,22,.16)}.contact-icon{background:rgba(237,28,22,.10)!important;color:var(--red)!important}.contact-icon.whatsapp{background:rgba(237,28,22,.10)!important;color:var(--red)!important}.contact-icon.phone{background:rgba(17,19,24,.08)!important;color:var(--ink)!important}.contact-icon.mail,.contact-icon.budget{background:rgba(237,28,22,.10)!important;color:var(--red)!important}.contact-online-dot{background:#fff;box-shadow:0 0 0 7px rgba(255,255,255,.18)}html[data-theme=dark] .contact-icon.phone{background:rgba(255,255,255,.08)!important;color:#fff!important}.signup-layout{align-items:start}.signup-card h2{margin:8px 0 8px}.signup-intro{margin-bottom:18px}.social-auth-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:18px 0}.social-auth-btn{height:50px;border-radius:14px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:10px;font-weight:900;background:var(--card);transition:.2s;color:var(--ink)}.social-auth-btn:hover{transform:translateY(-2px);border-color:rgba(237,28,22,.35);box-shadow:0 10px 26px rgba(16,24,40,.08)}.social-auth-btn.google i{color:#db4437}.social-auth-btn.apple{background:#111318;color:#fff;border-color:#111318}.social-auth-btn.email{background:rgba(237,28,22,.08);color:var(--red);border-color:rgba(237,28,22,.18)}html[data-theme=dark] .social-auth-btn.apple{background:#fff;color:#111318;border-color:#fff}.divider{position:relative;text-align:center;margin:22px 0;color:var(--muted);font-weight:800;font-size:.85rem}.divider:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}.divider span{position:relative;background:var(--card);padding:0 12px}.form-section-title{margin:8px 0 16px}.form-section-title h3{margin:0 0 4px}.form-section-title p{margin:0;color:var(--muted)}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.signup-aside{position:sticky;top:108px}.secure-box{margin-top:18px;border:1px solid rgba(237,28,22,.18);background:rgba(237,28,22,.07);border-radius:18px;padding:18px;display:flex;gap:14px;align-items:flex-start}.secure-box i{color:var(--red);font-size:1.6rem;margin-top:3px}.secure-box strong{display:block}.secure-box p{margin:4px 0 0;color:var(--muted)}@media(max-width:780px){.two-fields{grid-template-columns:1fr}.signup-aside{position:static}}


/* Páginas jurídicas e aceite de compra */
.legal-section{background:linear-gradient(180deg,rgba(237,28,22,.04),transparent 34%)}
.legal-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}
.legal-summary{position:sticky;top:110px;padding:22px}
.legal-summary h2{font-size:1.05rem;margin:0 0 14px}
.legal-summary a{display:block;padding:10px 0;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);font-weight:800;font-size:.9rem}
.legal-summary a:hover{color:var(--red)}
.legal-content{padding:34px;line-height:1.75}
.legal-content h2{margin-top:30px;margin-bottom:10px;font-size:1.35rem;color:var(--ink)}
.legal-content h2:first-of-type{margin-top:10px}
.legal-content p{color:var(--muted);margin:0 0 14px}
.legal-updated{background:rgba(237,28,22,.08);border:1px solid rgba(237,28,22,.18);border-radius:14px;padding:12px 14px;color:var(--ink)!important}
.legal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.acceptance-box{border:1px solid rgba(237,28,22,.20);background:rgba(237,28,22,.045);border-radius:18px;padding:16px;margin:10px 0 4px;display:grid;gap:12px}
.legal-check{display:flex!important;gap:10px;align-items:flex-start;font-size:.94rem;font-weight:650;color:var(--ink)}
.legal-check input{margin-top:4px;min-width:17px;width:17px;height:17px;accent-color:var(--red)}
.legal-check a{color:var(--red);font-weight:900;text-decoration:underline;text-underline-offset:3px}
.legal-check.optional{opacity:.92}
.purchase-legal-note{font-size:.82rem;line-height:1.45;color:var(--muted);margin:12px 0 0;text-align:center}
.purchase-legal-note a{color:var(--red);font-weight:900;text-decoration:none}
.alert{display:flex;gap:12px;border-radius:16px;padding:14px 16px;margin:16px 0;border:1px solid var(--line)}
.alert ul{margin:8px 0 0;padding-left:20px}.success-alert{background:rgba(20,164,99,.08);border-color:rgba(20,164,99,.20)}.success-alert i{color:#14a463}.error-alert{background:rgba(237,28,22,.08);border-color:rgba(237,28,22,.20)}.error-alert i{color:var(--red)}
html[data-theme=dark] .legal-updated,html[data-theme=dark] .acceptance-box{background:rgba(237,28,22,.10)}
@media(max-width:980px){.legal-layout{grid-template-columns:1fr}.legal-summary{position:static}.legal-content{padding:24px}.legal-summary a{display:inline-block;margin-right:12px;border-bottom:0}.legal-summary{padding:18px}}

/* v1.0.8 — Área do Afiliado no mesmo padrão das demais áreas */
.affiliate-login-page .login-card .btn-primary{margin-top:6px;text-align:center}.affiliate-flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.feature-card i{font-size:2rem;color:var(--red);margin-bottom:12px}.feature-card p{color:var(--muted)}
.affiliate-dashboard-page{padding:28px 0 70px;background:linear-gradient(180deg,var(--soft),var(--bg));min-height:80vh}.affiliate-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}.affiliate-sidebar{position:sticky;top:100px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--shadow)}.affiliate-logo{width:185px;margin-bottom:18px}.affiliate-profile{display:flex;gap:12px;align-items:center;padding:14px;border-radius:18px;background:var(--soft);border:1px solid var(--line);margin-bottom:16px}.affiliate-profile small{display:block;color:var(--muted)}.affiliate-avatar{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--red),var(--red-dark));color:#fff;display:grid;place-items:center;font-weight:900}.affiliate-nav{display:grid;gap:8px}.affiliate-nav a{display:flex;align-items:center;gap:10px;padding:12px;border-radius:14px;color:var(--muted);font-weight:900}.affiliate-nav a:hover,.affiliate-nav a.active{background:rgba(237,28,22,.09);color:var(--red)}.affiliate-main{display:grid;gap:20px}.affiliate-topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.affiliate-topbar h1{margin:10px 0 4px;font-size:2rem}.affiliate-topbar p{margin:0;color:var(--muted)}.affiliate-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.affiliate-stat-card,.affiliate-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.affiliate-stat-card span{display:block;color:var(--muted);font-weight:800}.affiliate-stat-card strong{display:block;font-size:1.8rem;margin:6px 0;color:var(--ink)}.affiliate-stat-card small{color:var(--red);font-weight:900}.affiliate-grid-two{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}.card-head{margin-bottom:18px}.card-head h2{margin:0 0 4px}.card-head p{margin:0;color:var(--muted)}.card-head.row{display:flex;align-items:center;justify-content:space-between;gap:14px}.affiliate-form{display:grid;gap:14px}.affiliate-form label{display:block;font-weight:900}.affiliate-form input,.affiliate-form select,.affiliate-form textarea{width:100%;margin-top:6px;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:13px;padding:13px 14px;outline:none}.compact-form{margin-top:16px}.balance-box{border-radius:18px;padding:18px;background:linear-gradient(135deg,var(--black),#282f3b);color:#fff;margin-bottom:14px}.balance-box small{display:block;color:#cfd6e3}.balance-box strong{display:block;font-size:2rem}.responsive-table{width:100%;overflow:auto}.affiliate-table{width:100%;border-collapse:collapse;min-width:760px}.affiliate-table th,.affiliate-table td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left}.affiliate-table th{color:var(--muted);font-size:.82rem;text-transform:uppercase}.affiliate-table button{border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:10px;padding:8px 12px;font-weight:900}.status{display:inline-flex;border-radius:999px;padding:5px 10px;font-size:.78rem;font-weight:900}.status.ok{background:rgba(20,164,99,.12);color:#14a463}.status.wait{background:rgba(245,158,11,.14);color:#d97706}.timeline-extract{display:grid;gap:12px}.timeline-extract div{display:grid;grid-template-columns:130px 1fr 120px;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}.timeline-extract b{color:var(--red)}.timeline-extract span{font-weight:800}.timeline-extract small{color:var(--muted);text-align:right}
@media(max-width:1050px){.affiliate-shell,.affiliate-grid-two{grid-template-columns:1fr}.affiliate-sidebar{position:static}.affiliate-stats,.affiliate-flow-grid{grid-template-columns:repeat(2,1fr)}.affiliate-topbar{flex-direction:column;align-items:flex-start}}@media(max-width:700px){.affiliate-stats,.affiliate-flow-grid{grid-template-columns:1fr}.timeline-extract div{grid-template-columns:1fr}.timeline-extract small{text-align:left}.affiliate-logo{width:160px}}

/* v1.0.10 — Cena no banner principal */
.hero-card-cena{isolation:isolate;overflow:hidden;}
.hero-card-cena:after{content:"";position:absolute;right:-70px;bottom:-120px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.12);z-index:0;}
.hero-card-cena .student-visual{right:30%;bottom:10%;font-size:11rem;color:rgba(255,255,255,.16);z-index:1;}
.cena-hero-mascot{position:absolute;right:12px;bottom:-42px;height:420px;max-width:62%;object-fit:contain;z-index:2;opacity:.38;filter:drop-shadow(0 22px 28px rgba(0,0,0,.22));pointer-events:none;}
.hero-card-cena .price-badge{z-index:4;right:24px;bottom:22px;}
html[data-theme=dark] .cena-hero-mascot{opacity:.44;}
@media(max-width:1050px){.cena-hero-mascot{height:390px;max-width:58%;}}
@media(max-width:780px){.cena-hero-mascot{height:300px;right:-8px;bottom:-32px;opacity:.33}.hero-card-cena .price-badge{right:16px;bottom:16px}.hero-card-cena .student-visual{font-size:7rem;right:36%;}}

/* ==========================================================
   V1.0.11 — Banner principal com a Cena visível e profissional
   Correção solicitada: remove o chapéu grande, mantém caixa vermelha,
   mantém botões e valor, e deixa a Cena em destaque.
========================================================== */
.hero-card-cena{
    height:420px;
    min-height:420px;
    border-radius:34px;
    overflow:hidden;
    isolation:isolate;
    background:
        radial-gradient(circle at 16% 18%,rgba(255,255,255,.28),transparent 22%),
        linear-gradient(135deg,#ff3b30 0%,#ed1c16 42%,#c91619 100%);
    box-shadow:0 28px 72px rgba(237,28,22,.28);
}
.hero-card-cena:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(135deg,rgba(255,255,255,.18),transparent 48%),
        radial-gradient(circle at 88% 12%,rgba(255,255,255,.16),transparent 30%);
    clip-path:none;
    z-index:0;
}
.hero-card-cena:after{
    content:"";
    position:absolute;
    right:-88px;
    bottom:-92px;
    width:340px;
    height:340px;
    border-radius:58px;
    border:34px solid rgba(255,255,255,.16);
    transform:rotate(45deg);
    background:transparent;
    z-index:0;
}
.hero-cena-bg{
    position:absolute;
    left:34px;
    top:50%;
    transform:translateY(-50%);
    width:0;
    height:0;
    border-top:122px solid transparent;
    border-bottom:122px solid transparent;
    border-left:245px solid rgba(255,255,255,.13);
    z-index:1;
}
.hero-cena-circuits{
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
}
.circuit{
    position:absolute;
    width:52px;
    height:52px;
    border:1px solid rgba(255,255,255,.48);
    border-radius:18px;
    display:grid;
    place-items:center;
    color:rgba(255,255,255,.88);
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(5px);
}
.circuit:after{
    content:"";
    position:absolute;
    width:95px;
    height:1px;
    background:rgba(255,255,255,.35);
}
.circuit-1{left:34px;top:42px}.circuit-1:after{left:52px;top:26px}
.circuit-2{left:62px;bottom:48px}.circuit-2:after{left:52px;top:26px;width:125px}
.circuit-3{right:44px;top:48px}.circuit-3:after{right:52px;top:26px;width:90px}
.cena-hero-mascot{
    position:absolute;
    right:18px;
    bottom:-22px;
    height:438px;
    width:auto;
    max-width:none;
    object-fit:contain;
    z-index:3;
    opacity:1;
    filter:drop-shadow(0 28px 36px rgba(0,0,0,.34));
    pointer-events:none;
}
.hero-card-cena .price-badge{
    z-index:5;
    right:24px;
    bottom:24px;
    background:rgba(45,16,16,.94);
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 20px 42px rgba(0,0,0,.28);
    backdrop-filter:blur(10px);
}
.hero-card-cena .price-badge strong{color:#fff1ed;}
html[data-theme=dark] .hero-card-cena{
    background:
        radial-gradient(circle at 14% 16%,rgba(255,255,255,.2),transparent 22%),
        linear-gradient(135deg,#ff352c 0%,#db171c 48%,#940d16 100%);
    box-shadow:0 30px 80px rgba(255,49,40,.22);
}
html[data-theme=dark] .cena-hero-mascot{opacity:1;}
html[data-theme=dark] .hero-card-cena .price-badge{background:rgba(11,14,22,.94);}
@media(max-width:1050px){
    .hero-card-cena{height:390px;min-height:390px;}
    .cena-hero-mascot{height:405px;right:6px;bottom:-18px;}
    .circuit-3{display:none;}
}
@media(max-width:780px){
    .hero-card-cena{height:360px;min-height:360px;margin-top:20px;}
    .cena-hero-mascot{height:350px;right:-18px;bottom:-12px;}
    .hero-cena-bg{left:22px;border-top-width:96px;border-bottom-width:96px;border-left-width:190px;}
    .circuit{width:42px;height:42px;border-radius:14px;}
    .circuit-1{left:22px;top:28px}.circuit-2{left:26px;bottom:34px}.circuit-3{display:none;}
    .hero-card-cena .price-badge{right:14px;bottom:14px;padding:14px 16px;}
    .hero-card-cena .price-badge strong{font-size:1.55rem;}
}
@media(max-width:480px){
    .hero-card-cena{height:330px;min-height:330px;border-radius:26px;}
    .cena-hero-mascot{height:310px;right:-36px;bottom:-8px;}
    .hero-card-cena .price-badge{right:10px;bottom:10px;max-width:142px;}
    .hero-card-cena .price-badge small{font-size:.72rem;}
}


/* =========================================================
   V1.0.12 — Ajustes da Cena
   - Banner principal com a Cena anterior maior
   - Seção de matrícula com a Cena e tablet (bico preto)
========================================================= */
.hero-card-cena{height:420px;min-height:420px;border-radius:34px;overflow:visible;}
.hero-cena-bg{left:34px;top:50%;transform:translateY(-50%);border-top-width:128px;border-bottom-width:128px;border-left-width:258px;opacity:.18;}
.cena-hero-mascot{right:-24px;bottom:-20px;height:500px;max-width:none;width:auto;opacity:1;z-index:3;filter:drop-shadow(0 22px 34px rgba(0,0,0,.26));}
.hero-card-cena .price-badge{right:18px;bottom:18px;z-index:5;}
.steps-grid-cena{grid-template-columns:.96fr 1.04fr;gap:40px;align-items:center;}
.steps-info{display:flex;flex-direction:column;gap:22px;}
.steps-illustration{position:relative;background:linear-gradient(135deg,rgba(237,28,22,.06),rgba(237,28,22,.12));border:1px solid var(--line);border-radius:28px;min-height:420px;padding:14px 14px 0;overflow:hidden;box-shadow:var(--shadow);}
.steps-illustration:before{content:"";position:absolute;right:-60px;bottom:-80px;width:240px;height:240px;border-radius:50%;background:rgba(237,28,22,.09);}
.steps-illustration img{display:block;width:100%;max-width:470px;margin:0 auto;position:relative;z-index:2;transform:translateY(8px);}
html[data-theme=dark] .steps-illustration{background:linear-gradient(135deg,rgba(237,28,22,.08),rgba(255,255,255,.02));}
@media(max-width:1050px){.hero-card-cena{height:390px;min-height:390px;overflow:hidden;}.cena-hero-mascot{height:430px;right:-12px;bottom:-8px;}.steps-grid-cena{grid-template-columns:1fr;}.steps-illustration{min-height:360px;}.steps-illustration img{max-width:380px;}}
@media(max-width:780px){.hero-card-cena{height:340px;min-height:340px;}.cena-hero-mascot{height:360px;right:-26px;bottom:-6px;}.hero-cena-bg{left:18px;border-top-width:96px;border-bottom-width:96px;border-left-width:190px;}.steps-illustration{min-height:300px;}.steps-illustration img{max-width:300px;}}
@media(max-width:480px){.hero-card-cena{height:315px;min-height:315px;}.cena-hero-mascot{height:315px;right:-34px;bottom:-2px;}.hero-card-cena .price-badge{right:10px;bottom:10px;max-width:142px;}.steps-illustration{min-height:260px;padding:10px 10px 0;}.steps-illustration img{max-width:250px;}}

/* =========================================================
   V1.0.13 — Imagem editável na seção matrícula/AVA
========================================================= */
.steps-info .section-title{margin-bottom:0}
.steps-illustration{display:flex;align-items:flex-end;justify-content:center}
.steps-illustration img{max-height:420px;object-fit:contain}
@media(max-width:1050px){.steps-illustration img{max-height:350px}}
@media(max-width:780px){.steps-illustration img{max-height:300px}}


/* =========================================================
   V1.0.14 — Banner principal como fundo real da Home
   O banner fica por trás do texto, botões e caixa de valor.
   Ideal: imagem 1920x700 ou 1920x760.
========================================================= */
.hero.hero-banner-bg{
    position:relative;
    min-height:560px;
    padding:0;
    display:flex;
    align-items:center;
    overflow:hidden;
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.90) 34%, rgba(255,255,255,.28) 62%, rgba(255,255,255,.10) 100%),
        var(--hero-banner-image);
    background-size:cover;
    background-position:center right;
    background-repeat:no-repeat;
    border-bottom:1px solid var(--line);
}
.hero-banner-overlay{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 18% 46%, rgba(237,28,22,.08), transparent 28%),
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
    pointer-events:none;
    z-index:1;
}
.hero-banner-content{
    position:relative;
    z-index:2;
    min-height:560px;
    display:flex;
    align-items:center;
}
.hero-copy-banner{
    width:min(620px, 54%);
    padding:64px 0;
}
.hero-copy-banner h1{
    text-shadow:0 2px 0 rgba(255,255,255,.38);
}
.hero-copy-banner p{
    color:#4b5563;
    max-width:560px;
}
.hero-price-floating{
    position:absolute;
    right:32px;
    bottom:42px;
    z-index:4;
    background:rgba(46,18,18,.94);
    color:#fff;
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 24px 50px rgba(0,0,0,.22);
}
.hero-price-floating strong{color:#fff1ed;}
html[data-theme=dark] .hero.hero-banner-bg{
    background-image:
        linear-gradient(90deg, rgba(12,17,24,.96) 0%, rgba(12,17,24,.80) 38%, rgba(12,17,24,.26) 66%, rgba(12,17,24,.10) 100%),
        var(--hero-banner-image);
}
html[data-theme=dark] .hero-copy-banner p{color:#d1d5db;}
html[data-theme=dark] .hero-copy-banner h1{text-shadow:0 4px 18px rgba(0,0,0,.32);}
html[data-theme=dark] .hero-price-floating{background:rgba(12,14,22,.94);}

@media(max-width:1050px){
    .hero.hero-banner-bg{min-height:510px;background-position:center right;}
    .hero-banner-content{min-height:510px;}
    .hero-copy-banner{width:min(600px, 62%);}
    .hero-price-floating{right:22px;bottom:28px;}
}
@media(max-width:780px){
    .hero.hero-banner-bg{
        min-height:620px;
        align-items:flex-start;
        background-image:
            linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 38%, rgba(255,255,255,.26) 72%, rgba(255,255,255,.08) 100%),
            var(--hero-banner-image);
        background-size:cover;
        background-position:center bottom;
    }
    html[data-theme=dark] .hero.hero-banner-bg{
        background-image:
            linear-gradient(180deg, rgba(12,17,24,.98) 0%, rgba(12,17,24,.92) 40%, rgba(12,17,24,.30) 74%, rgba(12,17,24,.10) 100%),
            var(--hero-banner-image);
    }
    .hero-banner-content{min-height:620px;align-items:flex-start;}
    .hero-copy-banner{width:100%;padding:44px 0 240px;}
    .hero-price-floating{right:18px;bottom:22px;}
}
@media(max-width:480px){
    .hero.hero-banner-bg{min-height:600px;}
    .hero-banner-content{min-height:600px;}
    .hero-copy-banner{padding-top:34px;}
    .hero-price-floating{right:12px;bottom:16px;padding:14px 16px;max-width:150px;}
    .hero-price-floating strong{font-size:1.45rem;}
}


/* =========================================================
   V1.0.15 — Regulagem de cor/contraste do banner
   O fundo da imagem agora fica em camada própria com filter().
========================================================= */
.hero.hero-banner-bg{
    background-image:none !important;
    background-color:#fff;
}
.hero.hero-banner-bg::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background-image:var(--hero-banner-image);
    background-size:cover;
    background-position:var(--hero-image-position, center right);
    background-repeat:no-repeat;
    filter:
        brightness(var(--hero-image-brightness, 1.10))
        contrast(var(--hero-image-contrast, 1.08))
        saturate(var(--hero-image-saturation, 1.14));
    transform:scale(1.002);
}
.hero.hero-banner-bg::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:
        linear-gradient(90deg,
            rgba(255,255,255,var(--hero-text-overlay-opacity, .88)) 0%,
            rgba(255,255,255,calc(var(--hero-text-overlay-opacity, .88) * .78)) 34%,
            rgba(255,255,255,var(--hero-overlay-opacity, .18)) 63%,
            rgba(255,255,255,calc(var(--hero-overlay-opacity, .18) * .45)) 100%),
        radial-gradient(circle at 18% 46%, rgba(237,28,22,.08), transparent 28%);
}
.hero-banner-overlay{display:none}
.hero-banner-content{z-index:2}
html[data-theme=dark] .hero.hero-banner-bg{background-color:#0c1118}
html[data-theme=dark] .hero.hero-banner-bg::after{
    background:
        linear-gradient(90deg,
            rgba(12,17,24,var(--hero-text-overlay-opacity, .88)) 0%,
            rgba(12,17,24,calc(var(--hero-text-overlay-opacity, .88) * .78)) 38%,
            rgba(12,17,24,var(--hero-overlay-opacity, .18)) 66%,
            rgba(12,17,24,calc(var(--hero-overlay-opacity, .18) * .50)) 100%),
        radial-gradient(circle at 18% 46%, rgba(237,28,22,.10), transparent 28%);
}
@media(max-width:780px){
    .hero.hero-banner-bg::after{
        background:
            linear-gradient(180deg,
                rgba(255,255,255,var(--hero-text-overlay-opacity, .90)) 0%,
                rgba(255,255,255,calc(var(--hero-text-overlay-opacity, .90) * .88)) 38%,
                rgba(255,255,255,var(--hero-overlay-opacity, .20)) 72%,
                rgba(255,255,255,calc(var(--hero-overlay-opacity, .20) * .45)) 100%);
    }
    html[data-theme=dark] .hero.hero-banner-bg::after{
        background:
            linear-gradient(180deg,
                rgba(12,17,24,var(--hero-text-overlay-opacity, .90)) 0%,
                rgba(12,17,24,calc(var(--hero-text-overlay-opacity, .90) * .88)) 40%,
                rgba(12,17,24,var(--hero-overlay-opacity, .20)) 74%,
                rgba(12,17,24,calc(var(--hero-overlay-opacity, .20) * .50)) 100%);
    }
}


/* =========================================================
   V1.0.16 — Editor funcional para imagem por seção
========================================================= */
.steps-illustration{
    background:
      linear-gradient(135deg,
        rgba(237,28,22, var(--steps-box-overlay-opacity, .10)),
        rgba(237,28,22, calc(var(--steps-box-overlay-opacity, .10) * .65))),
      var(--card);
}
.steps-illustration img{
    filter:
      brightness(var(--steps-image-brightness, 1.05))
      contrast(var(--steps-image-contrast, 1.06))
      saturate(var(--steps-image-saturation, 1.10));
    opacity:var(--steps-image-opacity, 1);
    object-fit:var(--steps-image-size, contain);
    object-position:var(--steps-image-position, center bottom);
}


/* V1.0.18 — painel de horário de funcionamento */
.hours-panel{
    margin:18px 0;
    border:1px solid var(--line);
    border-radius:18px;
    padding:16px;
    background:var(--soft);
}
.hours-panel h3{
    margin:0 0 12px;
    font-size:1rem;
}
.hours-panel div{
    display:grid;
    grid-template-columns:150px 1fr;
    gap:10px;
    padding:9px 0;
    border-top:1px solid var(--line);
}
.hours-panel div:first-of-type{border-top:0}
.hours-panel strong{color:var(--ink)}
.hours-panel span{color:var(--muted)}
@media(max-width:560px){.hours-panel div{grid-template-columns:1fr}}


/* PATCH CENATEC v1.0.66 - restaura catálogo como estava e preserva curso v65 */
.courses-page-v61{
  background:#f7f8fb !important;
  color:#172033 !important;
}
.courses-hero-v61{
  padding:46px 0 30px;
  background:linear-gradient(135deg,#ffffff 0%,#fff7f6 52%,#f7f8fb 100%) !important;
  border-bottom:1px solid #edf0f5;
}
.courses-hero-v61 h1,
.courses-hero-v61 p{
  color:#172033 !important;
}
.courses-layout-v61{
  display:grid;
  grid-template-columns:295px minmax(0,1fr);
  gap:26px;
  align-items:start;
  padding:34px 0 70px;
}
.courses-filter-v61{
  position:sticky;
  top:18px;
}
.filter-box-v61{
  background:#ffffff !important;
  border:1px solid #e7ebf2 !important;
  border-radius:24px;
  padding:16px;
  box-shadow:0 18px 44px rgba(18,24,40,.06);
  color:#172033 !important;
}
.filter-title-v61{
  display:flex;
  gap:10px;
  align-items:center;
  margin-bottom:14px;
  padding:8px 6px;
}
.filter-title-v61>span{
  width:38px;
  height:38px;
  border-radius:14px;
  background:#fff0ef !important;
  color:#ff382f !important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.filter-title-v61 h2{
  font-size:18px;
  margin:0;
  color:#172033 !important;
}
.filter-title-v61 p{
  margin:2px 0 0;
  color:#667085 !important;
  font-size:12px;
}
.filter-all-v61{
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:space-between;
  padding:12px;
  border-radius:15px;
  background:#f8fafc !important;
  border:1px solid #e7ebf2 !important;
  color:#172033 !important;
  text-decoration:none;
  font-weight:900;
  margin-bottom:10px;
}
.filter-all-v61 i{
  color:#ff382f !important;
}
.filter-all-v61 strong{
  margin-left:auto;
  background:#ffffff !important;
  border:1px solid #e7ebf2 !important;
  color:#172033 !important;
  border-radius:999px;
  padding:3px 8px;
  font-size:12px;
}
.filter-all-v61.active{
  background:#fff0ef !important;
  border-color:#ffd6d2 !important;
  color:#ff382f !important;
}
.filter-accordion-v61{
  display:grid;
  gap:9px;
}
.filter-category-v61{
  border:1px solid #e7ebf2 !important;
  border-radius:16px;
  background:#ffffff !important;
  overflow:hidden;
}
.filter-category-v61 summary{
  list-style:none;
  cursor:pointer;
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#172033 !important;
  font-weight:900;
}
.filter-category-v61 summary::-webkit-details-marker{
  display:none;
}
.cat-left-v61{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.cat-left-v61 i{
  color:#ff382f !important;
}
.cat-left-v61 span{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cat-count-v61{
  background:#f3f5f9 !important;
  color:#667085 !important;
  border-radius:999px;
  padding:3px 8px;
  font-size:12px;
}
.filter-category-v61[open] summary{
  background:#fff8f7 !important;
  color:#ff382f !important;
}
.filter-sublist-v61{
  padding:0 10px 10px;
  display:grid;
  gap:6px;
}
.filter-sublist-v61 a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:9px 10px;
  border-radius:12px;
  color:#344054 !important;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  background:#f8fafc !important;
}
.filter-sublist-v61 a small{
  background:#ffffff !important;
  border:1px solid #e7ebf2 !important;
  border-radius:999px;
  padding:2px 7px;
  color:#667085 !important;
}
.filter-sublist-v61 a.active,
.filter-sublist-v61 a:hover{
  background:#fff0ef !important;
  color:#ff382f !important;
}
.courses-results-v61{
  min-width:0;
}
.courses-results-head-v61{
  background:#ffffff !important;
  border:1px solid #e7ebf2 !important;
  border-radius:24px;
  padding:22px;
  margin-bottom:18px;
  box-shadow:0 18px 44px rgba(18,24,40,.05);
}
.courses-results-head-v61 h2{
  margin:4px 0 4px;
  font-size:30px;
  color:#172033 !important;
  letter-spacing:-.035em;
}
.courses-results-head-v61 p{
  margin:0;
  color:#667085 !important;
}
.course-grid-v61{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.course-card-v61{
  background:#ffffff !important;
  border:1px solid #e7ebf2 !important;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 18px 44px rgba(18,24,40,.06);
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.course-img-v61{
  display:block;
  background:#f3f5f9 !important;
  aspect-ratio:16/9;
  overflow:hidden;
}
.course-img-v61 img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:.25s ease;
}
.course-card-v61:hover .course-img-v61 img{
  transform:scale(1.035);
}
.course-img-placeholder-v61{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#ff382f !important;
  background:linear-gradient(135deg,#fff0ef,#f7f8fb) !important;
  font-size:42px;
}
.course-card-body-v61{
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}
.course-tags-v61{
  display:flex;
  gap:6px;
  flex-wrap:nowrap;
  align-items:center;
  overflow:hidden;
}
.course-tags-v61 span{
  font-size:11px;
  font-weight:900;
  border-radius:999px;
  background:#fff0ef !important;
  color:#ff382f !important;
  padding:5px 8px;
}
.course-code-tag-v63{
  display:inline-flex !important;
  align-items:center !important;
  gap:4px !important;
}
.course-code-tag-v63 small{
  font-size:9px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  opacity:.75 !important;
  color:inherit !important;
}
.course-card-v61 h3{
  font-size:18px;
  line-height:1.18;
  margin:0;
  color:#172033 !important;
  letter-spacing:-.02em;
}
.course-card-v61 h3 a{
  color:#172033 !important;
  text-decoration:none;
}
.course-card-v61 p{
  margin:0;
  color:#667085 !important;
  font-size:13.5px;
  line-height:1.55;
  min-height:42px;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-overflow:ellipsis;
}
.course-mini-meta-v61{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-top:auto;
}
.course-mini-meta-v61 span{
  display:inline-flex;
  gap:5px;
  align-items:center;
  background:#f8fafc !important;
  border:1px solid #edf0f5 !important;
  border-radius:999px;
  padding:6px 8px;
  font-size:11px;
  font-weight:800;
  color:#344054 !important;
}
.course-mini-meta-v61 i{
  color:#ff382f !important;
}
.course-link-v61{
  margin-top:4px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:14px;
  padding:11px 12px;
  background:#ff382f !important;
  color:#ffffff !important;
  text-decoration:none;
  font-weight:900;
}
.empty-box-v61{
  background:#ffffff !important;
  border:1px dashed #cfd6e3 !important;
  border-radius:22px;
  padding:34px;
  text-align:center;
  color:#667085 !important;
}
.empty-box-v61 i{
  font-size:34px;
  color:#ff382f !important;
  margin-bottom:10px;
}
.empty-box-v61 h3{
  color:#172033 !important;
  margin:0 0 8px;
}
@media(max-width:1120px){
  .course-grid-v61{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
  .courses-layout-v61{grid-template-columns:1fr}
  .courses-filter-v61{position:relative;top:auto}
  .course-grid-v61{grid-template-columns:1fr}
}


/* PATCH CENATEC v1.0.65 - apresentação profissional do curso */
.course-detail-page-v65{
  background:#f7f8fb;
  color:#172033;
}
.course-hero-v65{
  background:linear-gradient(135deg,#ffffff 0%,#fff7f6 54%,#f7f8fb 100%);
  border-bottom:1px solid #edf0f5;
  padding:42px 0 36px;
}
.course-hero-grid-v65{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:28px;
  align-items:start;
}
.course-breadcrumb-v65{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:18px;
  font-size:13px;
  font-weight:800;
  color:#667085;
}
.course-breadcrumb-v65 a{
  color:#667085;
  text-decoration:none;
}
.course-breadcrumb-v65 a:hover{
  color:#ff382f;
}
.course-labels-v65{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.course-labels-v65 span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  border-radius:999px;
  background:#fff0ef;
  color:#ff382f;
  border:1px solid #ffd6d2;
  padding:6px 10px;
  font-size:12px;
  font-weight:900;
}
.course-labels-v65 small{
  font-size:9px;
  opacity:.75;
}
.course-hero-copy-v65 h1{
  max-width:850px;
  margin:0;
  color:#172033;
  font-size:clamp(34px,5vw,58px);
  line-height:1.02;
  letter-spacing:-.055em;
}
.course-lead-v65{
  max-width:820px;
  margin:18px 0 0;
  color:#475467;
  font-size:17px;
  line-height:1.68;
}
.course-facts-v65{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:24px;
}
.course-facts-v65 div{
  background:#ffffff;
  border:1px solid #e7ebf2;
  border-radius:18px;
  padding:14px;
  box-shadow:0 10px 28px rgba(18,24,40,.045);
}
.course-facts-v65 i{
  color:#ff382f;
  margin-bottom:8px;
}
.course-facts-v65 span{
  display:block;
  font-size:11px;
  color:#667085;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.course-facts-v65 strong{
  display:block;
  color:#172033;
  margin-top:3px;
  font-size:14px;
}
.course-investment-card-v65{
  background:#ffffff;
  border:1px solid #e7ebf2;
  border-radius:26px;
  padding:22px;
  box-shadow:0 22px 56px rgba(18,24,40,.09);
  position:sticky;
  top:22px;
}
.investment-head-v65{
  border-bottom:1px solid #edf0f5;
  padding-bottom:16px;
  margin-bottom:14px;
}
.investment-head-v65 span{
  color:#ff382f;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.investment-head-v65 h2{
  margin:6px 0 3px;
  color:#172033;
  font-size:34px;
  line-height:1;
  letter-spacing:-.04em;
}
.investment-head-v65 p{
  margin:0;
  color:#667085;
  font-weight:700;
}
.investment-list-v65{
  display:grid;
  gap:8px;
  margin-bottom:16px;
}
.investment-list-v65 div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#f8fafc;
  border:1px solid #edf0f5;
  border-radius:14px;
  padding:10px 12px;
}
.investment-list-v65 span{
  color:#667085;
  font-size:12px;
  font-weight:800;
}
.investment-list-v65 strong{
  color:#172033;
  font-size:13px;
  text-align:right;
}
.course-cta-v65{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  border-radius:16px;
  padding:14px 16px;
  background:#ff382f !important;
  color:#ffffff !important;
  text-decoration:none !important;
  font-weight:900;
  border:1px solid #ff382f !important;
  box-shadow:0 16px 30px rgba(255,56,47,.24);
}
.course-cta-v65:hover{
  background:#d91f18 !important;
  border-color:#d91f18 !important;
  color:#fff !important;
  transform:translateY(-1px);
}
.investment-note-v65{
  margin:12px 0 0;
  color:#667085;
  font-size:12.5px;
  line-height:1.45;
  text-align:center;
}
.course-body-grid-v65{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:26px;
  padding:40px 0 76px;
  align-items:start;
}
.course-content-v65{
  min-width:0;
}
.course-cover-v65{
  margin:0 0 22px;
  border-radius:26px;
  overflow:hidden;
  border:1px solid #e7ebf2;
  box-shadow:0 18px 44px rgba(18,24,40,.06);
  background:#fff;
}
.course-cover-v65 img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
.course-section-v65{
  background:#ffffff;
  border:1px solid #e7ebf2;
  border-radius:26px;
  padding:26px;
  box-shadow:0 18px 44px rgba(18,24,40,.055);
  margin-bottom:18px;
}
.course-section-v65 h2{
  margin:0 0 14px;
  color:#172033;
  font-size:25px;
  letter-spacing:-.035em;
}
.course-section-v65 p{
  margin:0;
  color:#475467;
  line-height:1.72;
  font-size:15.5px;
}
.course-grade-v65{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.course-grade-v65 div{
  display:flex;
  align-items:flex-start;
  gap:10px;
  background:#f8fafc;
  border:1px solid #edf0f5;
  border-radius:14px;
  padding:12px;
  color:#344054;
  font-weight:750;
}
.course-grade-v65 i{
  color:#ff382f;
  margin-top:2px;
}
.course-modules-v65{
  display:grid;
  gap:10px;
}
.course-modules-v65 details{
  background:#f8fafc;
  border:1px solid #edf0f5;
  border-radius:16px;
  overflow:hidden;
}
.course-modules-v65 summary{
  cursor:pointer;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-weight:900;
  color:#172033;
}
.course-modules-v65 summary::-webkit-details-marker{
  display:none;
}
.course-modules-v65 summary small{
  color:#667085;
  background:#fff;
  border:1px solid #e7ebf2;
  border-radius:999px;
  padding:4px 8px;
}
.course-module-static-v65{
  background:#f8fafc;
  border:1px solid #edf0f5;
  border-radius:16px;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-weight:900;
  color:#172033;
}
.course-module-static-v65 small{
  flex:0 0 auto;
  color:#667085;
  background:#fff;
  border:1px solid #e7ebf2;
  border-radius:999px;
  padding:4px 8px;
  white-space:nowrap;
}
@media (max-width:640px){
  .course-module-static-v65{
    align-items:flex-start;
  }
  .course-module-static-v65 span{
    min-width:0;
    overflow-wrap:anywhere;
  }
}
.module-lessons-v65{
  border-top:1px solid #e7ebf2;
  padding:12px 14px;
}
.module-lessons-v65 p{
  margin:6px 0;
  font-size:14px;
}
.module-lessons-v65 span{
  color:#667085;
}
.course-side-v65{
  position:sticky;
  top:22px;
  display:grid;
  gap:14px;
}
.side-box-v65{
  background:#ffffff;
  border:1px solid #e7ebf2;
  border-radius:22px;
  padding:20px;
  box-shadow:0 14px 34px rgba(18,24,40,.055);
}
.side-box-v65 h3{
  margin:0 0 12px;
  color:#172033;
  font-size:18px;
}
.side-box-v65 ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:9px;
}
.side-box-v65 li{
  display:flex;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid #edf0f5;
  padding-bottom:9px;
}
.side-box-v65 li:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.side-box-v65 span,
.side-box-v65 p{
  color:#667085;
  font-size:13px;
  line-height:1.55;
}
.side-box-v65 strong{
  color:#172033;
  text-align:right;
  font-size:13px;
}
.side-link-v65{
  display:inline-flex;
  margin-top:10px;
  color:#ff382f;
  font-weight:900;
  text-decoration:none;
}
.course-not-found-v65{
  padding:70px 0;
}
.course-not-found-v65 h1{
  color:#172033;
  font-size:42px;
  margin:10px 0;
}
.course-not-found-v65 p{
  color:#667085;
  max-width:620px;
}
@media(max-width:1050px){
  .course-hero-grid-v65,
  .course-body-grid-v65{
    grid-template-columns:1fr;
  }
  .course-investment-card-v65,
  .course-side-v65{
    position:relative;
    top:auto;
  }
  .course-facts-v65{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:640px){
  .course-hero-v65{
    padding:30px 0;
  }
  .course-facts-v65,
  .course-grade-v65{
    grid-template-columns:1fr;
  }
  .course-section-v65{
    padding:20px;
    border-radius:20px;
  }
  .investment-head-v65 h2{
    font-size:30px;
  }
}


/* PATCH CENATEC v1.0.68 - somente descrição da index e rótulo do código */
.featured-courses p,
.cursos-destaque p,
.courses-featured p,
.home-courses p,
.index-courses p,
.course-highlight p,
.home .course-card p,
.home .card-curso p,
.home .curso-card p,
.destaques-cursos p{
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  max-height:4.9em !important;
}

.course-tags-v61 span,
.course-code-tag-v63{
  white-space:nowrap !important;
}
.course-tags-v61 span{
  max-width:50%;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* HOTFIX identidade visual dinâmica: logo normal/branca e favicon sem cache */
.logo-dark{display:none!important}.logo-normal{display:block!important}html[data-theme=dark] .logo-normal{display:none!important}html[data-theme=dark] .logo-dark{display:block!important}.brand .brand-logo-img{width:172px;max-height:62px;object-fit:contain}.footer-logo{max-width:190px;max-height:74px;object-fit:contain;margin-bottom:16px}html[data-theme=dark] .footer-logo.logo-normal{display:none!important}html[data-theme=dark] .footer-logo.logo-dark{display:block!important}@media(max-width:780px){.brand .brand-logo-img{width:145px}}

/* PATCH v1.0.102 - seção de passos/home com imagem livre e visual mais profissional */
.steps-grid-cena{grid-template-columns:minmax(320px,.95fr) minmax(420px,1.05fr);gap:42px;align-items:center}
.steps-info{display:flex;flex-direction:column;gap:22px}
.steps-visual-stage{position:relative;min-height:420px;display:flex;align-items:flex-end;justify-content:center;padding:8px 8px 0;overflow:visible}
.steps-illustration-free{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:400px;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;overflow:visible!important;isolation:isolate}
.steps-illustration-free:before,.steps-illustration-free:after{content:"";position:absolute;border-radius:50%;z-index:1;pointer-events:none}
.steps-illustration-free:before{width:310px;height:310px;left:50%;bottom:24px;transform:translateX(-58%);background:radial-gradient(circle,rgba(237,28,22,.18) 0%,rgba(237,28,22,.08) 42%,rgba(237,28,22,0) 72%)}
.steps-illustration-free:after{width:180px;height:180px;right:10%;top:10%;background:radial-gradient(circle,rgba(255,195,191,.6) 0%,rgba(255,195,191,0) 72%)}
.steps-glow{position:absolute;border-radius:50%;pointer-events:none;z-index:1}
.steps-glow-a{width:120px;height:120px;left:6%;bottom:18%;background:radial-gradient(circle,rgba(237,28,22,.12) 0%,rgba(237,28,22,0) 72%)}
.steps-glow-b{width:86px;height:86px;right:12%;bottom:10%;background:radial-gradient(circle,rgba(17,19,24,.08) 0%,rgba(17,19,24,0) 72%)}
.steps-illustration-free img{display:block;max-width:min(100%,480px);max-height:420px;width:auto;height:auto;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 24px 45px rgba(17,19,24,.18)) brightness(var(--steps-image-brightness,1.05)) contrast(var(--steps-image-contrast,1.06)) saturate(var(--steps-image-saturation,1.10));opacity:var(--steps-image-opacity,1)}
.steps{display:grid;gap:18px}
.steps>div{position:relative;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:24px 22px 24px 86px;box-shadow:0 16px 44px rgba(16,24,40,.08);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.steps>div:hover{transform:translateY(-3px);border-color:rgba(237,28,22,.18);box-shadow:0 20px 48px rgba(16,24,40,.12)}
.steps b{position:absolute;left:22px;top:22px;margin:0;width:46px;height:46px;font-size:1rem;font-weight:900;box-shadow:0 12px 24px rgba(237,28,22,.20)}
.steps h3{margin:0 0 7px;font-size:1.55rem;line-height:1.1}
.steps p{margin:0;font-size:1rem;line-height:1.6;color:var(--muted)}
html[data-theme=dark] .steps>div{box-shadow:0 16px 44px rgba(0,0,0,.26)}
html[data-theme=dark] .steps-illustration-free img{filter:drop-shadow(0 24px 48px rgba(0,0,0,.38)) brightness(var(--steps-image-brightness,1.05)) contrast(var(--steps-image-contrast,1.06)) saturate(var(--steps-image-saturation,1.10))}
@media(max-width:1050px){
  .steps-grid-cena{grid-template-columns:1fr;gap:24px}
  .steps-visual-stage,.steps-illustration-free{min-height:330px}
  .steps-illustration-free img{max-height:340px;max-width:380px}
}
@media(max-width:780px){
  .steps-visual-stage,.steps-illustration-free{min-height:280px}
  .steps-illustration-free img{max-height:290px;max-width:320px}
  .steps>div{padding:22px 18px 22px 78px;border-radius:20px}
  .steps h3{font-size:1.32rem}
  .steps p{font-size:.96rem}
  .steps b{left:18px;top:18px;width:42px;height:42px}
}
@media(max-width:480px){
  .steps-visual-stage,.steps-illustration-free{min-height:240px}
  .steps-illustration-free img{max-height:250px;max-width:260px}
  .steps>div{padding-left:72px}
}


/* PATCH v1.0.109 - Home: seção como funciona com 3 imagens editáveis no admin */
.home-steps-section-v109{
  background:
    radial-gradient(circle at 12% 18%, rgba(237,28,22,.06), transparent 24%),
    linear-gradient(180deg, var(--bg), var(--soft));
}
.home-steps-grid-v109{
  display:grid;
  grid-template-columns:minmax(470px,1.02fr) minmax(380px,.98fr);
  gap:38px;
  align-items:stretch;
}
.home-steps-carousel-v109{
  position:relative;
  overflow:hidden;
  min-height:635px;
  border-radius:34px;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,246,244,.94));
  border:1px solid rgba(17,24,39,.08);
  box-shadow:0 24px 68px rgba(16,24,40,.10);
}
html[data-theme="dark"] .home-steps-carousel-v109{
  background:linear-gradient(180deg, rgba(22,31,45,.98), rgba(18,25,36,.96));
  border-color:rgba(255,255,255,.08);
}
.home-steps-carousel-v109 input{position:absolute;opacity:0;pointer-events:none;}
.home-steps-track-v109{display:flex;width:300%;height:100%;transition:transform .45s ease;}
#steps-slide-1:checked ~ .home-steps-track-v109{transform:translateX(0);}
#steps-slide-2:checked ~ .home-steps-track-v109{transform:translateX(-33.3333%);}
#steps-slide-3:checked ~ .home-steps-track-v109{transform:translateX(-66.6666%);}
.home-steps-slide-v109{
  width:33.3333%;
  margin:0;
  min-height:635px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px 22px 56px;
}
.home-steps-slide-v109 img{
  width:100%;
  max-width:100%;
  height:auto;
  max-height:590px;
  object-fit:contain;
  object-position:center;
  opacity:var(--steps-image-opacity,1);
  filter:brightness(var(--steps-image-brightness,1.05)) contrast(var(--steps-image-contrast,1.06)) saturate(var(--steps-image-saturation,1.10));
}
.home-steps-arrows-v109 label{
  position:absolute;
  top:50%;transform:translateY(-50%);
  width:42px;height:42px;border-radius:999px;
  display:none;place-items:center;cursor:pointer;
  background:#fff;border:1px solid rgba(17,24,39,.08);color:var(--red);
  box-shadow:0 12px 30px rgba(16,24,40,.12);z-index:3;
}
.home-steps-arrows-v109 .prev{left:16px;}
.home-steps-arrows-v109 .next{right:16px;}
#steps-slide-1:checked ~ .home-steps-arrows-v109 .prev-1,
#steps-slide-1:checked ~ .home-steps-arrows-v109 .next-1,
#steps-slide-2:checked ~ .home-steps-arrows-v109 .prev-2,
#steps-slide-2:checked ~ .home-steps-arrows-v109 .next-2,
#steps-slide-3:checked ~ .home-steps-arrows-v109 .prev-3,
#steps-slide-3:checked ~ .home-steps-arrows-v109 .next-3{display:grid;}
.home-steps-dots-v109{
  position:absolute;left:0;right:0;bottom:18px;display:flex;justify-content:center;gap:10px;z-index:4;
}
.home-steps-dots-v109 label{width:10px;height:10px;border-radius:999px;background:#d0d5dd;cursor:pointer;transition:.2s;}
#steps-slide-1:checked ~ .home-steps-dots-v109 label:nth-child(1),
#steps-slide-2:checked ~ .home-steps-dots-v109 label:nth-child(2),
#steps-slide-3:checked ~ .home-steps-dots-v109 label:nth-child(3){width:26px;background:var(--red);}
.home-steps-content-v109{display:flex;flex-direction:column;justify-content:flex-start;min-width:0;}
.home-steps-content-v109 .section-title{margin-bottom:22px;}
.home-steps-list-v109{display:grid;gap:14px;}
.home-steps-list-v109 div{
  min-height:106px;
  display:grid;grid-template-columns:56px 1fr 54px;gap:16px;align-items:center;
  padding:18px 20px;border-radius:24px;background:var(--card);border:1px solid var(--line);
  box-shadow:0 18px 46px rgba(16,24,40,.08);
}
.home-steps-list-v109 b{
  width:42px;height:42px;display:grid;place-items:center;border-radius:50%;
  background:linear-gradient(135deg,var(--red),#ff4a2f);color:#fff;font-weight:900;font-size:1.1rem;
}
.home-steps-list-v109 strong{display:block;color:var(--ink);font-size:1.35rem;line-height:1.12;margin-bottom:4px;}
.home-steps-list-v109 small{display:block;color:var(--muted);font-size:.96rem;line-height:1.45;}
.home-steps-list-v109 i{
  width:42px;height:42px;display:grid;place-items:center;border-radius:50%;
  background:var(--soft);color:var(--red);font-size:1.15rem;
}
@media(max-width:1050px){
  .home-steps-grid-v109{grid-template-columns:1fr;}
  .home-steps-carousel-v109,.home-steps-slide-v109{min-height:520px;}
  .home-steps-slide-v109 img{max-height:470px;}
}
@media(max-width:780px){
  .home-steps-carousel-v109,.home-steps-slide-v109{min-height:360px;border-radius:26px;}
  .home-steps-slide-v109{padding:14px 14px 48px;}
  .home-steps-slide-v109 img{max-height:320px;}
  .home-steps-list-v109 div{grid-template-columns:44px 1fr;}
  .home-steps-list-v109 i{display:none;}
  .home-steps-list-v109 strong{font-size:1.12rem;}
  .home-steps-list-v109 small{font-size:.9rem;}
}


/* PATCH v1.0.112 - Home: seção Como Funciona sem imagem e sem carrossel */
.home-flow-static-v112{
  position:relative;
  overflow:hidden;
  padding:76px 0 72px !important;
  background:
    radial-gradient(circle at 16% 18%, rgba(237,28,22,.055), transparent 28%),
    radial-gradient(circle at 86% 82%, rgba(17,24,39,.035), transparent 34%),
    linear-gradient(180deg, var(--bg), var(--soft));
}
.home-flow-heading-v112{
  text-align:center;
  max-width:920px;
  margin:0 auto 34px;
}
.home-flow-heading-v112 span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  color:var(--red);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.86rem;
}
.home-flow-heading-v112 span:before,
.home-flow-heading-v112 span:after{
  content:"";
  width:52px;
  height:2px;
  background:var(--red);
  display:block;
}
.home-flow-heading-v112 h2{
  margin:12px 0 12px;
  color:var(--ink);
  font-size:clamp(2.35rem,4.2vw,4.2rem);
  line-height:1.02;
  letter-spacing:-.045em;
}
.home-flow-heading-v112 p{
  margin:0 auto;
  max-width:760px;
  color:var(--muted);
  font-size:1.12rem;
  line-height:1.6;
}
.home-flow-static-grid-v112{
  display:grid;
  grid-template-columns:minmax(500px,1.05fr) minmax(410px,.95fr);
  gap:42px;
  align-items:stretch;
}
.home-flow-main-card-v112,
.home-flow-side-v112 > div{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(17,24,39,.065);
  box-shadow:0 22px 62px rgba(16,24,40,.08);
}
html[data-theme="dark"] .home-flow-main-card-v112,
html[data-theme="dark"] .home-flow-side-v112 > div{
  background:rgba(21,30,43,.94);
  border-color:rgba(255,255,255,.08);
  box-shadow:0 22px 62px rgba(0,0,0,.24);
}
.home-flow-main-card-v112{
  position:relative;
  min-height:520px;
  border-radius:32px;
  padding:42px 42px 38px;
  overflow:hidden;
}
.home-flow-main-card-v112:before{
  content:"";
  position:absolute;
  width:250px;
  height:250px;
  right:66px;
  top:132px;
  border-radius:50%;
  background:rgba(237,28,22,.055);
}
.home-flow-main-card-v112:after{
  content:"";
  position:absolute;
  width:310px;
  height:310px;
  right:32px;
  top:100px;
  border-radius:50%;
  border:5px dotted rgba(17,24,39,.12);
}
.home-flow-count-v112{
  display:inline-flex;
  align-items:center;
  gap:6px;
  height:38px;
  padding:0 15px;
  border-radius:999px;
  border:1px solid rgba(17,24,39,.08);
  background:rgba(255,255,255,.80);
  box-shadow:0 10px 24px rgba(16,24,40,.05);
  margin-bottom:24px;
}
html[data-theme="dark"] .home-flow-count-v112{
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.10);
}
.home-flow-count-v112 strong{
  color:var(--red);
  font-size:1rem;
}
.home-flow-count-v112 span{
  color:#98a2b3;
  font-weight:900;
}
.home-flow-main-card-v112 h3{
  margin:0;
  color:var(--ink);
  font-size:clamp(1.85rem,2.6vw,2.45rem);
  line-height:1.05;
}
.home-flow-main-text-v112{
  max-width:390px;
  color:var(--muted);
  margin:14px 0 34px;
  font-size:1.06rem;
  line-height:1.55;
}
.home-flow-detail-list-v112{
  display:grid;
  gap:18px;
  max-width:440px;
  position:relative;
  z-index:2;
}
.home-flow-detail-list-v112 div{
  display:grid;
  grid-template-columns:66px 1fr;
  gap:18px;
  align-items:center;
}
.home-flow-detail-list-v112 i{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(237,28,22,.08);
  color:var(--red);
  font-size:1.55rem;
}
.home-flow-detail-list-v112 strong{
  display:block;
  color:var(--ink);
  font-size:1.05rem;
  margin-bottom:4px;
}
.home-flow-detail-list-v112 small{
  display:block;
  color:var(--muted);
  line-height:1.45;
  font-size:.96rem;
}
.home-flow-center-icon-v112{
  position:absolute;
  right:82px;
  top:238px;
  width:188px;
  height:188px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,245,244,.92));
  box-shadow:0 18px 46px rgba(16,24,40,.08);
  z-index:2;
}
html[data-theme="dark"] .home-flow-center-icon-v112{
  background:rgba(255,255,255,.05);
}
.home-flow-center-icon-v112 i{
  position:absolute;
  color:var(--red);
}
.home-flow-center-icon-v112 i:nth-child(1){
  font-size:4.6rem;
  opacity:.88;
}
.home-flow-center-icon-v112 i:nth-child(2){
  font-size:2.3rem;
  top:48px;
}
.home-flow-center-icon-v112 i:nth-child(3){
  font-size:2rem;
  right:36px;
  bottom:42px;
  background:#fff;
  border-radius:50%;
}
.home-flow-side-v112{
  display:grid;
  gap:22px;
}
.home-flow-side-v112 > div{
  display:grid;
  grid-template-columns:64px 1fr 64px;
  gap:20px;
  align-items:center;
  min-height:152px;
  padding:28px 30px;
  border-radius:26px;
}
.home-flow-side-v112 b{
  width:54px;
  height:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--red),#d90404);
  color:#fff;
  font-weight:900;
  font-size:1.25rem;
  box-shadow:0 14px 30px rgba(237,28,22,.24);
}
.home-flow-side-v112 strong{
  display:block;
  color:var(--ink);
  font-size:1.45rem;
  line-height:1.14;
  margin-bottom:7px;
}
.home-flow-side-v112 small{
  display:block;
  color:var(--muted);
  font-size:1rem;
  line-height:1.45;
}
.home-flow-side-v112 i{
  width:60px;
  height:60px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--red);
  background:rgba(237,28,22,.07);
  font-size:1.55rem;
}
@media(max-width:1050px){
  .home-flow-static-grid-v112{
    grid-template-columns:1fr;
  }
  .home-flow-main-card-v112{
    min-height:460px;
  }
}
@media(max-width:780px){
  .home-flow-static-v112{
    padding:52px 0 !important;
  }
  .home-flow-heading-v112 h2{
    font-size:2.2rem;
  }
  .home-flow-heading-v112 span:before,
  .home-flow-heading-v112 span:after{
    width:32px;
  }
  .home-flow-main-card-v112{
    min-height:auto;
    padding:28px 22px;
  }
  .home-flow-main-card-v112:before,
  .home-flow-main-card-v112:after,
  .home-flow-center-icon-v112{
    display:none;
  }
  .home-flow-side-v112 > div{
    grid-template-columns:50px 1fr;
    min-height:auto;
    padding:20px;
  }
  .home-flow-side-v112 i{
    display:none;
  }
  .home-flow-side-v112 b{
    width:44px;
    height:44px;
    font-size:1rem;
  }
  .home-flow-side-v112 strong{
    font-size:1.18rem;
  }
  .home-flow-side-v112 small{
    font-size:.92rem;
  }
}


/* PATCH v1.0.113 - Ajuste fino do ícone computador e acabamento da seção sem imagem */
.home-flow-main-card-v112:before{
  right:44px !important;
  top:136px !important;
  width:230px !important;
  height:230px !important;
}
.home-flow-main-card-v112:after{
  right:16px !important;
  top:106px !important;
  width:292px !important;
  height:292px !important;
  opacity:.72 !important;
}
.home-flow-center-icon-v112{
  right:74px !important;
  top:250px !important;
  width:152px !important;
  height:152px !important;
  box-shadow:0 16px 38px rgba(16,24,40,.06) !important;
}
.home-flow-center-icon-v112 i:nth-child(1){
  font-size:3.8rem !important;
}
.home-flow-center-icon-v112 i:nth-child(2){
  font-size:1.85rem !important;
  top:40px !important;
}
.home-flow-center-icon-v112 i:nth-child(3){
  font-size:1.65rem !important;
  right:26px !important;
  bottom:32px !important;
}
.home-flow-detail-list-v112{
  max-width:430px !important;
}
@media(max-width:1180px){
  .home-flow-center-icon-v112{
    opacity:.22;
    right:34px !important;
  }
}


/* PATCH v1.0.115 - Voltar computador visível e remover informação 01/03 */
.home-flow-count-v112{
  display:none !important;
}
.home-flow-main-card-v112 h3{
  margin-top:6px !important;
}
.home-flow-main-card-v112:before{
  right:44px !important;
  top:136px !important;
  width:245px !important;
  height:245px !important;
}
.home-flow-main-card-v112:after{
  right:18px !important;
  top:106px !important;
  width:302px !important;
  height:302px !important;
  opacity:.72 !important;
}
.home-flow-center-icon-v112{
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
  right:78px !important;
  top:242px !important;
  width:165px !important;
  height:165px !important;
  z-index:2 !important;
  box-shadow:0 16px 38px rgba(16,24,40,.06) !important;
}
.home-flow-center-icon-v112 i:nth-child(1){
  font-size:4.05rem !important;
}
.home-flow-center-icon-v112 i:nth-child(2){
  font-size:1.95rem !important;
  top:44px !important;
}
.home-flow-center-icon-v112 i:nth-child(3){
  font-size:1.72rem !important;
  right:28px !important;
  bottom:34px !important;
}
@media(max-width:780px){
  .home-flow-count-v112{
    display:none !important;
  }
}


/* PATCH v1.0.116 - Texto à frente do computador */
.home-flow-main-card-v112{
  isolation:isolate !important;
}
.home-flow-main-card-v112 > *{
  position:relative;
}
.home-flow-main-card-v112 h3,
.home-flow-main-text-v112,
.home-flow-detail-list-v112,
.home-flow-detail-list-v112 div,
.home-flow-detail-list-v112 span,
.home-flow-detail-list-v112 strong,
.home-flow-detail-list-v112 small{
  position:relative !important;
  z-index:5 !important;
}
.home-flow-center-icon-v112,
.home-flow-main-card-v112:before,
.home-flow-main-card-v112:after{
  z-index:1 !important;
}


/* v1.0.118 - Valor em destaque por parcelamento */
.course-price-installment-v118{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
}
.course-price-installment-v118 strong{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#ff2f2a;
  font-size:1rem;
  font-weight:900;
  line-height:1.1;
}
.course-price-installment-v118 strong i{
  font-size:.82rem;
}
.course-price-installment-v118 small{
  color:#64748b;
  font-size:.78rem;
  font-weight:700;
}
.investment-head-v118 h2{
  font-size:2rem;
  line-height:1.08;
}
.investment-head-v118 p{
  color:#64748b;
  font-weight:800;
  margin-top:6px;
}

/* v1.0.104 — Menu público unificado de cursos */
.nav-dropdown-toggle{font:inherit;border:0;background:transparent;color:inherit;font-weight:800;font-size:.88rem;text-transform:uppercase;padding:12px 10px;border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:6px}
.nav-dropdown-toggle:hover,.nav-dropdown-toggle.active,.nav-dropdown.open .nav-dropdown-toggle{color:var(--red);background:rgba(237,28,22,.07)}
.dropdown-panel.dropdown-panel-courses{width:290px;left:0;transform:none;padding:10px;grid-template-columns:1fr;gap:4px;border-radius:16px}
.dropdown-panel-courses>a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:11px;color:var(--ink);font-weight:800;font-size:.9rem}
.dropdown-panel-courses>a i{width:22px;text-align:center;color:var(--red)}
.dropdown-panel-courses>a:hover{background:rgba(237,28,22,.08);color:var(--red)}
@media(max-width:780px){.nav-dropdown-courses{width:100%}.nav-dropdown-toggle{width:100%;justify-content:space-between}.nav-dropdown:hover .dropdown-panel{display:none}.nav-dropdown.open .dropdown-panel-courses{display:grid;position:static;width:100%;transform:none;box-shadow:none;margin-top:4px;background:var(--soft);border-radius:12px}.dropdown-panel-courses>a{font-size:.86rem}}
