/* Simulador da Jornada 5×2 da CNC — identidade do portal: Plus Jakarta Sans, azul CNC #004A8D, azul vivo #1D5EFF, marinho #001E38, dourado #C89633.
   Cores e fontes com !important: o editor do Elementor injeta a cor global em títulos e textos ao salvar. */
:root { --c5-mar: #001E38; --c5-mar2: #002140; --c5-cnc: #004A8D; --c5-viv: #1D5EFF; --c5-ouro: #C89633; --c5-ouro2: #F6BE00; --c5-txt: #384047; --c5-mut: #666D73; --c5-bor: #DFE1E2; --c5-fun: #F2F3F7; --c5-ok: #1E8E5A; --c5-alerta: #C2410C; --c5-perigo: #CA3821; }
body:has(.c5-p) { background: #F9FBFC; }

/* ── base das seções (widgets nativos) ── */
.c5-p { color: var(--c5-txt); line-height: normal; font-size: 16px; }
.c5-p, .c5-p *:not(svg):not(path):not(rect):not(circle):not(i), .c5-p .elementor-widget .elementor-heading-title, .c5-p .elementor-widget-text-editor, .c5-p .elementor-button, .c5-p .elementor-tab-title, .c5-p .elementor-accordion-title, .c5-p .elementor-countdown-digits, .c5-p .elementor-countdown-label { font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important; }
.c5-p .elementor-widget:not(:last-child), .c5-p .elementor-widget { margin-bottom: 0; margin-block-end: 0; }
.c5-p .elementor-widget-wrap { padding: 0; }
.c5-p .elementor-container { max-width: none; }
.c5-p p { margin: 0; }
.c5-p .elementor-widget .elementor-heading-title { font-size: inherit !important; font-weight: inherit !important; line-height: inherit !important; letter-spacing: inherit !important; color: inherit !important; text-transform: inherit !important; margin: 0; }
.c5-p .elementor-widget-text-editor, .c5-p .elementor-widget-heading { color: inherit !important; font-size: inherit; line-height: inherit; }
.c5-p > .elementor-container > .elementor-column > .elementor-widget-wrap.elementor-element-populated { max-width: 1216px; margin: 0 auto; }

.c5-p .elementor-element.c5-olho { font-size: 13px !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--c5-ouro) !important; margin-bottom: 18px; }
.c5-p .elementor-element.c5-h2 { font-size: 40px !important; font-weight: 800 !important; line-height: 1.12 !important; letter-spacing: -.02em !important; color: var(--c5-mar) !important; margin-bottom: 14px; width: 100%; }
.c5-p .elementor-element.c5-sub { font-size: 18px !important; line-height: 1.6 !important; color: var(--c5-mut) !important; max-width: 760px; margin-bottom: 40px; width: 100%; }
.c5-p .elementor-element.c5-sub p { max-width: 760px; }

/* ── hero ── */
.c5-p.c5-hero { position: relative; overflow: hidden; background: radial-gradient(1200px 520px at 85% -10%, rgba(29,94,255,.45), transparent 60%), radial-gradient(900px 500px at -10% 110%, rgba(200,150,51,.18), transparent 60%), linear-gradient(160deg, #001E38 0%, #002C55 55%, #003B71 100%); padding: 72px 24px 88px; }
.c5-p.c5-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 48px 48px; -webkit-mask-image: radial-gradient(ellipse at 70% 30%, #000 0%, transparent 70%); mask-image: radial-gradient(ellipse at 70% 30%, #000 0%, transparent 70%); pointer-events: none; }
.c5-p .c5-hero-linha > .elementor-container { display: flex; flex-wrap: wrap; gap: 56px; align-items: center; justify-content: space-between; }
.c5-p .c5-hero-linha > .elementor-container > .elementor-column { width: auto; }
.c5-p .c5-hero-esq { flex: 1 1 560px; max-width: 680px; }
.c5-p .c5-hero-dir { flex: 1 1 380px; max-width: 460px; }
.c5-p .elementor-element.c5-h1 { font-size: 60px !important; font-weight: 800 !important; line-height: 1.04 !important; letter-spacing: -.03em !important; color: #FFFFFF !important; margin-bottom: 22px; width: 100%; }
.c5-p .elementor-element.c5-h1 .elementor-heading-title span, .c5-p .c5-destaque { color: #7FA6FF !important; }
.c5-p .elementor-element.c5-hero-txt { font-size: 19px !important; line-height: 1.6 !important; color: #C9D6E8 !important; margin-bottom: 32px; width: 100%; }
.c5-p .elementor-element.c5-bt-pri, .c5-p .elementor-element.c5-bt-sec { width: auto !important; margin-right: 12px; margin-bottom: 12px; }
.c5-p .c5-bt-pri .elementor-button { background: var(--c5-viv) !important; color: #FFF !important; border-radius: 999px !important; padding: 17px 28px !important; font-size: 16px !important; font-weight: 700 !important; box-shadow: 0 10px 30px rgba(29,94,255,.45); transition: transform .15s, box-shadow .15s; }
.c5-p .c5-bt-pri .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(29,94,255,.55); }
.c5-p .c5-bt-sec .elementor-button { background: rgba(255,255,255,.06) !important; color: #FFF !important; border: 1px solid rgba(255,255,255,.35) !important; border-radius: 999px !important; padding: 16px 26px !important; font-size: 16px !important; font-weight: 600 !important; }
.c5-p .c5-bt-sec .elementor-button:hover { background: rgba(255,255,255,.14) !important; }
.c5-p .c5-painel > .elementor-widget-wrap.elementor-element-populated { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); border-radius: 24px; padding: 28px !important; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 30px 60px rgba(0,0,0,.25); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 18px; }
.c5-p .elementor-element.c5-painel-t { font-size: 13px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: #C9D6E8 !important; }
.c5-p .c5-contagem .elementor-countdown-wrapper { gap: 10px; }
.c5-p .c5-contagem .elementor-countdown-item { background: rgba(0,15,28,.55) !important; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; padding: 16px 6px !important; margin: 0 !important; }
.c5-p .c5-contagem .elementor-countdown-digits { color: #FFF !important; font-size: 40px !important; font-weight: 800 !important; line-height: 1 !important; letter-spacing: -.02em; }
.c5-p .c5-contagem .elementor-countdown-label { color: #9FB4CC !important; font-size: 12px !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: .08em; margin-top: 8px; }
.c5-p .elementor-element.c5-marcos p { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.c5-p .c5-marcos .c5-m { display: block; background: rgba(255,255,255,.06); border-radius: 14px; padding: 14px 16px; color: #C9D6E8 !important; font-size: 13px !important; line-height: 1.4 !important; }
.c5-p .c5-marcos .c5-m b { display: block; color: #FFF !important; font-size: 26px !important; font-weight: 800 !important; letter-spacing: -.02em; margin-bottom: 2px; }
.c5-p .c5-marcos .c5-m.ouro b { color: var(--c5-ouro2) !important; }

/* ── seções claras ── */
.c5-p.c5-sec { padding: 96px 24px; }
.c5-p.c5-sec-fundo { background: var(--c5-fun); }
.c5-p .c5-grade-4 > .elementor-container, .c5-p .c5-grade-3 > .elementor-container { display: grid; gap: 20px; }
.c5-p .c5-grade-4 > .elementor-container { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.c5-p .c5-grade-3 > .elementor-container { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.c5-p .c5-grade-4 > .elementor-container > .elementor-column, .c5-p .c5-grade-3 > .elementor-container > .elementor-column { width: auto; }
.c5-p .c5-cartao-n > .elementor-widget-wrap.elementor-element-populated { background: #FFF; border: 1px solid var(--c5-bor); border-radius: 20px; padding: 28px !important; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; align-content: stretch; transition: transform .2s, box-shadow .2s, border-color .2s; position: relative; overflow: hidden; }
.c5-p .c5-cartao-n > .elementor-widget-wrap.elementor-element-populated:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0,30,56,.10); border-color: #A5BFFF; }
.c5-p .c5-marco > .elementor-widget-wrap.elementor-element-populated::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--c5-viv), var(--c5-cnc)); }
.c5-p .c5-marco.c5-marco-ouro > .elementor-widget-wrap.elementor-element-populated::before { background: linear-gradient(90deg, var(--c5-ouro), var(--c5-ouro2)); }
.c5-p .elementor-element.c5-data { font-size: 14px !important; font-weight: 700 !important; color: var(--c5-viv) !important; letter-spacing: .02em; }
.c5-p .c5-marco-ouro .elementor-element.c5-data { color: var(--c5-ouro) !important; }
.c5-p .elementor-element.c5-ct { font-size: 22px !important; font-weight: 800 !important; line-height: 1.25 !important; color: var(--c5-mar) !important; letter-spacing: -.01em; }
.c5-p .elementor-element.c5-ctx { font-size: 15px !important; line-height: 1.6 !important; color: var(--c5-mut) !important; }
.c5-p .elementor-element.c5-art { width: auto !important; align-self: flex-start; font-size: 12px !important; font-weight: 700 !important; color: var(--c5-cnc) !important; background: #E8EFF5; border-radius: 999px; padding: 5px 12px; }

.c5-p.c5-sec.c5-sec-fim { padding: 48px 24px 72px; }
.c5-p .elementor-element.c5-fontes p + p { margin-top: 12px; }

/* ── seção do simulador ── */
.c5-p.c5-sec-sim { padding: 96px 24px; background: linear-gradient(180deg, #F9FBFC 0%, #EEF3FB 100%); scroll-margin-top: 80px; }

/* ── STF ── */
.c5-p.c5-stf { padding: 0 24px 96px; }
.c5-p.c5-stf > .elementor-container > .elementor-column > .elementor-widget-wrap.elementor-element-populated { background: linear-gradient(135deg, #001E38, #003B71); border-radius: 28px; padding: 64px clamp(28px, 7vw, 96px) !important; color: #FFF; position: relative; overflow: hidden; }
.c5-p.c5-stf .elementor-element.c5-h2 { color: #FFF !important; }
.c5-p.c5-stf .elementor-element.c5-sub { color: #C9D6E8 !important; margin-bottom: 28px; }

/* ── perguntas frequentes (Acordeão) ── */
.c5-p .c5-faq .elementor-accordion-item { background: #FFF; border: 1px solid var(--c5-bor) !important; border-radius: 16px; margin-bottom: 12px; overflow: hidden; }
.c5-p .c5-faq .elementor-tab-title { padding: 22px 26px !important; font-size: 18px !important; font-weight: 700 !important; color: var(--c5-mar) !important; border: 0 !important; }
.c5-p .c5-faq .elementor-tab-title a, .c5-p .c5-faq .elementor-accordion-title { color: inherit !important; font-size: inherit !important; font-weight: inherit !important; }
.c5-p .c5-faq .elementor-tab-title.elementor-active { color: var(--c5-viv) !important; }
.c5-p .c5-faq .elementor-accordion-icon { color: var(--c5-viv) !important; }
.c5-p .c5-faq .elementor-tab-content { padding: 0 26px 24px !important; border: 0 !important; font-size: 16px !important; line-height: 1.7 !important; color: var(--c5-txt) !important; }

/* ── fontes e aviso ── */
.c5-p .elementor-element.c5-fontes { font-size: 14px !important; line-height: 1.7 !important; color: var(--c5-mut) !important; }
.c5-p .c5-fontes a { color: var(--c5-cnc) !important; font-weight: 600; }

/* ════════ aplicativo do simulador ════════ */
.c5-app { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; color: var(--c5-txt); line-height: 1.5; font-size: 15px; text-align: left; }
.c5-app *, .c5-app *::before, .c5-app *::after { box-sizing: border-box; font-family: inherit; }
.c5-carregando { padding: 40px; text-align: center; color: var(--c5-mut); }
.c5-grade { display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: 28px; align-items: start; }
.c5-form { position: sticky; top: 100px; background: #FFF; border: 1px solid var(--c5-bor); border-radius: 24px; padding: 8px 24px 24px; box-shadow: 0 20px 50px rgba(0,30,56,.08); max-height: calc(100vh - 120px); overflow: auto; }
.c5-bloco { padding: 20px 0; border-bottom: 1px solid #EDEEEE; }
.c5-bloco:last-of-type { border-bottom: 0; }
.c5-bloco-t { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 800; color: var(--c5-mar); margin-bottom: 14px; }
.c5-n { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 999px; background: var(--c5-viv); color: #FFF; font-size: 13px; font-weight: 800; }
.c5-campo { display: block; margin-bottom: 12px; }
.c5-campo > span:first-child { display: block; font-size: 13px; font-weight: 600; color: var(--c5-mut); margin-bottom: 6px; }
.c5-app input, .c5-app select { width: 100%; height: 46px; border: 1.5px solid #D1D3D5; border-radius: 12px; padding: 0 12px; font-size: 16px; font-weight: 600; color: var(--c5-mar); background: #FFF; transition: border-color .15s, box-shadow .15s; margin: 0; }
.c5-app input:focus, .c5-app select:focus { outline: none; border-color: var(--c5-viv); box-shadow: 0 0 0 4px rgba(29,94,255,.15); }
.c5-duplo { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.c5-suf, .c5-pre { position: relative; display: block; }
.c5-suf i, .c5-pre i { position: absolute; top: 50%; transform: translateY(-50%); font-style: normal; font-size: 13px; color: var(--c5-mut); pointer-events: none; }
.c5-suf i { right: 12px; } .c5-pre i { left: 12px; }
.c5-suf input { padding-right: 76px; } .c5-pre input { padding-left: 38px; }
.c5-hor { display: grid; gap: 8px; }
.c5-hor-c, .c5-hor-l { display: grid; grid-template-columns: 70px minmax(0, 1fr) minmax(0, 1fr) 56px; gap: 6px; align-items: center; }
.c5-hor-c span { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--c5-mut); }
.c5-hor-l b { font-size: 13px; color: var(--c5-mar); }
.c5-hor-l input { padding: 0 6px; font-size: 14px; height: 42px; min-width: 0; }
.c5-hor-l input[type=time]::-webkit-calendar-picker-indicator { margin-left: 2px; opacity: .55; }
.c5-hor-l b { font-size: 12px; line-height: 1.25; }
.c5-dica { font-size: 12px; color: var(--c5-mut); margin: 10px 0 12px; line-height: 1.5; }
.c5-chave { display: flex; align-items: center; gap: 12px; cursor: pointer; font-size: 14px; font-weight: 600; color: var(--c5-mar); }
.c5-chave input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.c5-chave-b { flex: none; width: 44px; height: 26px; border-radius: 999px; background: #C1C4C7; position: relative; transition: background .2s; }
.c5-chave-b::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 999px; background: #FFF; transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.2); }
.c5-chave input:checked + .c5-chave-b { background: var(--c5-viv); }
.c5-chave input:checked + .c5-chave-b::after { transform: translateX(18px); }
.c5-chave input:focus-visible + .c5-chave-b { box-shadow: 0 0 0 4px rgba(29,94,255,.25); }
.c5-aviso { font-size: 12px; color: var(--c5-mut); line-height: 1.55; margin: 16px 0 0; padding: 12px 14px; background: var(--c5-fun); border-radius: 12px; }

.c5-res { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.c5-veredito { border-radius: 20px; padding: 22px 26px 22px 64px; font-size: 17px; line-height: 1.55; position: relative; background: #FFF; border: 1px solid var(--c5-bor); color: var(--c5-txt); }
.c5-veredito b { color: var(--c5-mar); }
.c5-veredito::before { content: ""; position: absolute; left: 22px; top: 24px; width: 26px; height: 26px; border-radius: 999px; background: var(--c5-viv) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 8h.01M12 12v4'/%3E%3C/svg%3E") center/16px no-repeat; }
.c5-tom-ok { background: linear-gradient(135deg, #ECF8F1, #FFF); border-color: #B7E2C8; }
.c5-tom-ok::before { background-color: var(--c5-ok); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
.c5-tom-alerta { background: linear-gradient(135deg, #FFF6E5, #FFF); border-color: #F5D58A; }
.c5-tom-alerta::before { background-color: #E8A400; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 8v4M12 16h.01'/%3E%3C/svg%3E"); }

.c5-etapas { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.c5-etapa { border-radius: 24px; padding: 26px; color: #FFF; position: relative; overflow: hidden; background: linear-gradient(150deg, #002C55, #004A8D); box-shadow: 0 20px 44px rgba(0,44,85,.25); }
.c5-etapa-2 { background: linear-gradient(150deg, #001E38, #113899); }
.c5-etapa::after { content: ""; position: absolute; right: -60px; top: -60px; width: 200px; height: 200px; border-radius: 999px; background: radial-gradient(circle, rgba(127,166,255,.35), transparent 70%); }
.c5-etapa header { position: relative; z-index: 1; margin-bottom: 18px; }
.c5-et-sel { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c5-ouro2); background: rgba(246,190,0,.12); border-radius: 999px; padding: 5px 12px; margin-bottom: 12px; }
.c5-etapa strong { display: block; font-size: 22px; font-weight: 700; }
.c5-etapa strong b { font-size: 52px; font-weight: 800; letter-spacing: -.03em; line-height: 1; }
.c5-etapa header small { color: #A9BFD8; font-size: 14px; }
.c5-kpi { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; position: relative; z-index: 1; }
.c5-k { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); border-radius: 14px; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.c5-k span { font-size: 12px; font-weight: 600; color: #D6E2F0; line-height: 1.3; }
.c5-k b { font-size: 24px; font-weight: 800; letter-spacing: -.02em; color: #FFF; font-variant-numeric: tabular-nums; line-height: 1.2; }
.c5-k small { font-size: 11px; color: #9FB4CC; line-height: 1.35; }
.c5-veredito small { display: block; font-size: 13px; color: var(--c5-mut); margin-top: 6px; }

.c5-cartao { background: #FFF; border: 1px solid var(--c5-bor); border-radius: 24px; padding: 26px; box-shadow: 0 10px 30px rgba(0,30,56,.05); }
.c5-cartao h3 { margin: 0 0 18px; font-size: 20px; font-weight: 800; color: var(--c5-mar); letter-spacing: -.01em; line-height: 1.3; }
.c5-cartao h3 small { display: block; font-size: 13px; font-weight: 500; color: var(--c5-mut); margin-top: 4px; letter-spacing: 0; }
.c5-barras { display: flex; flex-direction: column; gap: 18px; }
.c5-bar-n { font-weight: 700; color: var(--c5-mar); font-size: 15px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.c5-bar-n em { font-style: normal; font-size: 11px; font-weight: 700; border-radius: 999px; padding: 3px 9px; text-transform: uppercase; letter-spacing: .04em; }
.c5-bar-n em.ok { background: #E3F4EA; color: var(--c5-ok); }
.c5-bar-n em.melhor { background: #E8EFFF; color: var(--c5-viv); }
.c5-bar-n em.aviso { background: #FFF1D6; color: #9A6100; }
.c5-bar { display: grid; grid-template-columns: 64px minmax(0, 1fr) 150px; gap: 12px; align-items: center; margin-bottom: 6px; }
.c5-bar-et { font-size: 12px; font-weight: 600; color: var(--c5-mut); }
.c5-bar-t { height: 14px; background: #EDEEEE; border-radius: 999px; overflow: hidden; }
.c5-bar-t i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #4A7EFF, #1D5EFF); transition: width .5s cubic-bezier(.2,.8,.2,1); }
.c5-bar-2 .c5-bar-t i { background: linear-gradient(90deg, #336EA4, #002C55); }
.c5-bar-v { font-weight: 800; color: var(--c5-mar); font-size: 15px; text-align: right; font-variant-numeric: tabular-nums; }
.c5-bar-v small { display: block; font-size: 11px; font-weight: 500; color: var(--c5-mut); }
.c5-nota { font-size: 13px; color: var(--c5-mut); margin: 18px 0 0; line-height: 1.6; }

.c5-mapa { overflow-x: auto; }
.c5-mapa-g { display: grid; grid-template-columns: 44px repeat(var(--col), minmax(22px, 1fr)); gap: 4px; min-width: max-content; }
.c5-mapa-h { font-size: 11px; color: var(--c5-mut); text-align: center; }
.c5-mapa-d { font-size: 12px; font-weight: 700; color: var(--c5-mar); align-self: center; }
.c5-cel { height: 28px; border-radius: 6px; background: #EDEEEE; transition: background .3s; }
.c5-cel.ok { background: #2EAD6B; } .c5-cel.meio { background: #F6BE00; } .c5-cel.falta { background: #FC4629; } .c5-cel.fechado { background: #F2F3F7; background-image: repeating-linear-gradient(45deg, transparent 0 4px, rgba(0,0,0,.035) 4px 8px); }
.c5-leg { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 14px; font-size: 12px; color: var(--c5-mut); }
.c5-leg i { display: inline-block; width: 12px; height: 12px; border-radius: 4px; margin-right: 6px; vertical-align: -2px; }
.c5-leg i.ok { background: #2EAD6B; } .c5-leg i.meio { background: #F6BE00; } .c5-leg i.falta { background: #FC4629; } .c5-leg i.fechado { background: #E2E4E6; }

.c5-tabela { overflow-x: auto; border-radius: 14px; border: 1px solid #EDEEEE; }
.c5-tabela table, .c5-imprimir table { width: 100%; border-collapse: collapse; font-size: 13px; margin: 0; }
.c5-tabela th, .c5-tabela td { padding: 10px 8px; text-align: center; border: 0; border-bottom: 1px solid #EDEEEE; white-space: nowrap; }
.c5-tabela tr:first-child th { background: var(--c5-fun); font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--c5-mut); }
.c5-tabela th:first-child { text-align: left; color: var(--c5-mar); font-weight: 700; position: sticky; left: 0; background: #FFF; }
.c5-tabela tr:first-child th:first-child { background: var(--c5-fun); }
.c5-tabela td b { display: block; color: var(--c5-mar); font-weight: 700; font-variant-numeric: tabular-nums; }
.c5-tabela td small { color: var(--c5-mut); font-size: 11px; }
.c5-tabela td.c5-folga span { display: inline-block; background: #E8EFFF; color: var(--c5-viv); font-weight: 700; font-size: 12px; border-radius: 999px; padding: 4px 10px; }
.c5-tabela td.c5-tot { font-weight: 800; color: var(--c5-mar); }
.c5-conf { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 18px; }
.c5-conf li { position: relative; padding-left: 28px; font-size: 13px; line-height: 1.5; color: var(--c5-txt); }
.c5-conf li::before { content: ""; position: absolute; left: 0; top: 1px; width: 18px; height: 18px; border-radius: 999px; background: var(--c5-ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat; }
.c5-conf li.aviso::before { background-color: #E8A400; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E"); }
.c5-conf li.falha::before { background-color: var(--c5-perigo); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E"); }

.c5-passos { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; counter-reset: p; }
.c5-passos li { display: grid; grid-template-columns: 130px 1fr; gap: 14px; align-items: baseline; padding: 12px 0; border-bottom: 1px dashed #DFE1E2; font-size: 14px; line-height: 1.55; }
.c5-passos li:last-child { border-bottom: 0; }
.c5-quando { font-weight: 800; color: var(--c5-viv); font-size: 13px; }
.c5-memo summary { cursor: pointer; font-size: 17px; font-weight: 800; color: var(--c5-mar); list-style: none; display: flex; justify-content: space-between; align-items: center; }
.c5-memo summary::-webkit-details-marker { display: none; }
.c5-memo summary::after { content: "+"; font-size: 24px; color: var(--c5-viv); font-weight: 400; transition: transform .2s; }
.c5-memo[open] summary::after { transform: rotate(45deg); }
.c5-memo-c { margin-top: 16px; }
.c5-memo-c h4, .c5-imprimir h4 { margin: 18px 0 8px; font-size: 15px; color: var(--c5-cnc); }
.c5-calc { padding: 10px 0; border-bottom: 1px solid #F2F3F7; font-size: 13px; line-height: 1.6; }
.c5-calc-t { font-weight: 700; color: var(--c5-mar); }
.c5-calc-f { color: var(--c5-txt); font-variant-numeric: tabular-nums; }

.c5-acoes { display: flex; flex-wrap: wrap; gap: 10px; }
.c5-app .c5-bt { display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 18px; border-radius: 999px; border: 1.5px solid #C9D6F5; background: #FFF; color: var(--c5-viv); font-weight: 700; font-size: 14px; cursor: pointer; text-decoration: none; transition: transform .15s, box-shadow .15s, background .15s; text-transform: none; letter-spacing: normal; line-height: 1; }
.c5-app .c5-bt:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(29,94,255,.15); background: #FAFBFF; color: var(--c5-viv); }
.c5-app .c5-bt svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.c5-app .c5-bt-pri { background: var(--c5-viv); border-color: var(--c5-viv); color: #FFF; }
.c5-app .c5-bt-pri:hover { background: #174BCC; color: #FFF; }
.c5-fed { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; justify-content: space-between; background: linear-gradient(135deg, #FAF6ED, #FFF); border: 1px solid #EAD9B3; border-radius: 20px; padding: 22px 24px; }
.c5-fed div { flex: 1 1 320px; display: flex; flex-direction: column; gap: 4px; }
.c5-fed small { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--c5-ouro); }
.c5-fed b { font-size: 17px; color: var(--c5-mar); }
.c5-fed span { font-size: 14px; color: var(--c5-mut); }
.c5-imprimir { display: none; }

/* ── responsivo ── */
@media (max-width: 1100px) {
	.c5-grade { grid-template-columns: 1fr; }
	.c5-form { position: static; max-height: none; }
}
@media (max-width: 767px) {
	.c5-p.c5-hero { padding: 48px 16px 56px; }
	.c5-p .elementor-element.c5-h1 { font-size: 40px !important; }
	.c5-p .elementor-element.c5-hero-txt { font-size: 17px !important; }
	.c5-p .c5-contagem .elementor-countdown-digits { font-size: 30px !important; }
	.c5-p.c5-sec, .c5-p.c5-sec-sim { padding: 64px 16px; }
	.c5-p .elementor-element.c5-h2 { font-size: 30px !important; }
	.c5-p .elementor-element.c5-sub { font-size: 16px !important; margin-bottom: 28px; }
	.c5-p.c5-stf { padding: 0 16px 64px; }
	.c5-p.c5-stf > .elementor-container > .elementor-column > .elementor-widget-wrap.elementor-element-populated { padding: 36px 22px !important; border-radius: 22px; }
	.c5-form { padding: 4px 16px 18px; border-radius: 20px; }
	.c5-etapas { grid-template-columns: 1fr; }
	.c5-etapa strong b { font-size: 44px; }
	.c5-bar { grid-template-columns: 54px minmax(0, 1fr) 112px; gap: 8px; }
	.c5-conf { grid-template-columns: 1fr; }
	.c5-passos li { grid-template-columns: 1fr; gap: 2px; }
	.c5-veredito { font-size: 15px; padding: 18px 18px 18px 56px; }
	.c5-veredito::before { left: 18px; top: 20px; }
	.c5-app .c5-bt { width: 100%; justify-content: center; }
	.c5-cartao { padding: 20px; border-radius: 20px; }
}

/* ── impressão: só o plano ── */
@media print {
	@page { size: A4; margin: 14mm; }
	body.c5-modo-impressao * { visibility: hidden !important; }
	body.c5-modo-impressao .c5-imprimir, body.c5-modo-impressao .c5-imprimir * { visibility: visible !important; }
	body.c5-modo-impressao .c5-imprimir { display: block !important; position: absolute; left: 0; top: 0; width: 100%; color: #111; font-family: 'Plus Jakarta Sans', Arial, sans-serif; font-size: 11px; line-height: 1.5; background: #FFF; }
	.c5-imprimir header { border-bottom: 3px solid #004A8D; padding-bottom: 10px; margin-bottom: 14px; }
	.c5-imprimir header small { color: #C89633; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: 9px; }
	.c5-imprimir h1 { font-size: 22px; margin: 4px 0; color: #001E38; }
	.c5-imprimir h2 { font-size: 14px; margin: 16px 0 6px; color: #001E38; break-after: avoid; }
	.c5-imprimir .c5-p-ver { background: #F2F3F7; border-radius: 8px; padding: 10px 12px; margin-bottom: 12px; }
	.c5-imprimir table { border-collapse: collapse; width: 100%; font-size: 10px; }
	.c5-imprimir th, .c5-imprimir td { border: 1px solid #D1D3D5; padding: 5px 6px; text-align: left; }
	.c5-imprimir tr { break-inside: avoid; }
	.c5-imprimir td small { display: block; color: #666; }
	.c5-imprimir .c5-conf, .c5-imprimir .c5-passos { padding-left: 16px; }
	.c5-imprimir .c5-conf li, .c5-imprimir .c5-passos li { margin-bottom: 3px; break-inside: avoid; }
	.c5-imprimir .c5-calc { break-inside: avoid; padding: 3px 0; }
	.c5-imprimir footer { margin-top: 16px; border-top: 1px solid #ccc; padding-top: 8px; font-size: 9px; color: #555; }
}
.c5-p.c5-stf .elementor-element.c5-bt-pri { flex-basis: 100%; width: 100% !important; margin-right: 0; }
.c5-p.c5-stf .elementor-element.c5-sub { max-width: 820px; }
