/* Componentes públicos e administrativos com superfícies claras. */
:root { --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; --serif:var(--sans); }
body { font-size:1rem; line-height:1.55; }
h1,h2,h3,h4 { line-height:1.2; }
button,.button,.button:hover { transform:none; box-shadow:none; }
.eyebrow,.progress,.badge,.receipt-facts dt,.receipt-amount span { font-family:var(--sans); letter-spacing:0; text-transform:none; }
.eyebrow { font-size:.82rem; font-weight:600; }
.brand-copy strong { font-size:1rem; letter-spacing:-.02em; }
.header-help { display:inline-flex; min-height:44px; color:#175cd3; background:#fff; }
.header-help:hover { color:#1849a9; background:#eff4ff; }
.nav-link { font-weight:550; min-height:44px; }
.summary-benefits li,.summary-next li,.summary-facts dd { color:#344054; }
.summary-facts dt { color:#475467; }
.summary-benefits,.summary-next,.summary-facts,.summary-facts>div { border-color:#eaecf0; }
.summary-benefits span,.summary-next li::before { color:#175cd3; }
.summary-price { flex-wrap:wrap; gap:4px 12px; }
.summary-price strong { font-size:2.25rem; }
.order-summary h1,.order-summary h2 { font-size:1.85rem; }
.summary-support a { overflow-wrap:anywhere; }
.progress { gap:12px 24px; font-size:.82rem; }
.checkout-grid { grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr); gap:32px; }
.checkout-form-card { padding:32px; }
.checkout-form { margin-top:24px; }
.form-head h2 { font-size:1.65rem; }
.form-section { margin-bottom:28px; }
.form-section+.form-section { padding-top:24px; border-top:1px solid #eaecf0; }
.form-section legend { margin-bottom:18px; font-size:1.05rem; }
.field-grid { gap:20px; align-items:start; }
.field-full,.field-check { grid-column:1/-1; }
.field textarea { min-height:144px; }
.field-help { margin-top:6px; }
.draft-note { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; padding:14px 16px; border:1px solid #eaecf0; font-size:.82rem; }
.draft-note [data-draft-status] { flex:1 1 100%; }
.draft-note button { min-height:32px; margin:0; }
.storage-consent { margin-bottom:28px; gap:10px; }
.storage-consent input,.checkline input { accent-color:#175cd3; }
.form-context em { font-family:var(--sans); }
.status-hero h1 { font-size:2rem; }
.status-hero .eyebrow { color:#475467; }
.badge { font-size:.76rem; font-weight:600; }
.catalog-intro { padding-block:48px 0; }
.catalog-intro h1 { margin-top:12px; font-size:2.4rem; }
.catalog-intro>p:not(.eyebrow) { margin-top:14px; color:#475467; }
.catalog-tabs { display:flex; gap:24px; margin-top:28px; border-bottom:1px solid #d0d5dd; overflow:auto; }
.catalog-tabs a { flex:0 0 auto; padding:12px 0; color:#475467; text-decoration:none; border-bottom:2px solid transparent; font-weight:600; }
.catalog-tabs .is-active { color:#175cd3; border-color:#175cd3; }
.services-section { padding-top:32px; }
.services-section .section-heading h2 { font-size:1.6rem; }
.product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.product-card { overflow:hidden; }
.product-card-link { display:flex; flex-direction:column; height:100%; }
.product-card-image { width:100%; aspect-ratio:16/9; object-fit:cover; border-bottom:1px solid #eaecf0; }
.product-card-body { display:flex; flex-direction:column; flex:1; padding:24px; }
.product-card-body h3 { font-size:1.3rem; line-height:1.3; }
.product-card-merchant { color:#475467; letter-spacing:0; text-transform:none; font-size:.82rem; }
.product-card-tagline { color:#475467; line-height:1.6; }
.plan-benefits { display:grid; gap:8px; margin:18px 0 24px; font-size:.87rem; color:#344054; }
.plan-benefits li { display:flex; gap:8px; }
.plan-benefits li::before { content:'✓'; color:#067647; flex:none; }
.product-card-foot { margin-top:auto; padding-top:20px; border-top:1px solid #eaecf0; }
.product-card-price { font-size:1.6rem; color:#101828; }
.product-card-arrow { background:#eff4ff; color:#175cd3; }
.values-shell { background:#fff; background-image:none; border:1px solid #eaecf0; color:#101828; border-radius:12px; }
.values-shell .section-heading h2,.values-grid h3 { color:#101828; }
.values-shell .eyebrow,.values-grid p { color:#475467; }
.values-grid { background:#fff; border:0; gap:24px; }
.values-grid article { background:#fff; padding:0; }
.closing-band { background:#eef4ff; color:#101828; }
.closing-shell .eyebrow { color:#475467; }
.closing-shell h2 { color:#101828; font-size:1.8rem; }
.closing-shell .button { background:#175cd3; color:#fff; }
.step-number { opacity:1; font-size:1.5rem; }
.section-heading h2 { font-size:1.9rem; }
/* O painel usa a mesma escala e o mesmo vocabulário de controles. */
.admin-body { background:#f7f8fa; color:#101828; }
.admin-shell { display:block; }
.admin-sidebar { position:sticky; top:0; z-index:40; display:flex; flex-direction:row; align-items:center; gap:20px; width:100%; height:auto; overflow-x:auto; overflow-y:hidden; padding:12px 24px; background:#fff; color:#344054; border-bottom:1px solid #eaecf0; white-space:nowrap; }
.admin-brand { flex:0 0 auto; padding:0; color:#101828; }
.admin-brand:hover { color:#101828; }
.admin-brand strong { font:650 1rem var(--sans); }
.admin-brand small { color:#475467; font:400 .75rem var(--sans); letter-spacing:0; text-transform:none; }
.admin-nav { flex:0 0 auto; flex-direction:row; margin:0; gap:4px; }
.admin-nav-link { min-height:44px; padding:0 12px; color:#475467; font-weight:550; }
.admin-nav-link:hover { background:#f2f4f7; color:#101828; }
.admin-nav-link.is-active { background:#eff4ff; color:#175cd3; }
.admin-sidebar-foot { display:flex; flex:0 0 auto; gap:18px; margin:0 0 0 auto; padding:0; border:0; }
.admin-sidebar-foot a,.admin-sidebar-foot .link-button { color:#475467; }
.admin-topbar,.admin-content { width:min(100%,1480px); margin-inline:auto; padding-inline:32px; }
.admin-topbar { align-items:center; padding-block:32px 24px; }
.admin-topbar h1 { font-size:1.9rem; }
.admin-topbar-kicker { color:#475467; font:500 .82rem var(--sans); letter-spacing:0; text-transform:none; }
.admin-content { padding-top:24px; }
.admin-panel,.stat-card { border:1px solid #eaecf0; border-radius:10px; background:#fff; box-shadow:0 1px 2px #10182805; }
.admin-panel { padding:24px; margin-bottom:24px; }
.panel-head p { font-size:.87rem; }
.stat-grid { gap:20px; margin-bottom:24px; }
.stat-card { padding:24px; }
.stat-card p { font:500 .85rem var(--sans); color:#475467; text-transform:none; letter-spacing:0; }
.stat-card strong { font-size:2rem; margin-top:12px; }
.stat-card small { font-size:.8rem; }
.admin-table th { font:600 .8rem var(--sans); color:#344054; text-transform:none; letter-spacing:0; padding:14px; }
.admin-table td { padding:14px; border-color:#eaecf0; }
.admin-table td small { font-size:.8rem; }
.admin-form-head h2 { font-size:1.6rem; }
.admin-flash-error { color:#912018; background:#fef3f2; }
@media(max-width:1100px) { .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .checkout-grid { grid-template-columns:minmax(0,1fr); } .order-summary { position:static; } }
@media(max-width:760px) {
 .catalog-intro { padding-top:32px; } .catalog-intro h1 { font-size:1.9rem; }
 .product-grid { grid-template-columns:minmax(0,1fr); } .product-card-body { padding:20px; }
 .checkout-form-card { padding:24px 18px; } .field-grid { gap:20px; } .checkout-grid { gap:24px; }
 .admin-sidebar { gap:16px; padding:10px 16px; } .admin-sidebar-foot { margin-left:8px; }
 .admin-topbar,.admin-content { padding-inline:18px; } .admin-panel { padding:20px 16px; }
 .admin-topbar h1 { font-size:1.6rem; } .admin-topbar { padding-top:24px; }
 .button { white-space:normal; } .summary-price strong { font-size:2rem; }
 .header-help { display:inline-flex; } .values-grid { grid-template-columns:1fr; }
}
@media print { .admin-sidebar { display:none; } }

#planos,#servicos,#como-funciona,#duvidas,#conteudo { scroll-margin-top:100px; }
.product-card-merchant,.product-card-terms,.product-card-price { font-family:var(--sans); }

.coupon-controls { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:8px; }
.coupon-controls input { flex:1 1 180px; min-width:0; width:100%; min-height:46px; padding:10px 12px; border:1px solid #cfd4dc; border-radius:8px; background:#fff; text-transform:uppercase; }
.coupon-controls input[aria-invalid=true] { border-color:#b42318; }
.coupon-controls input:focus-visible { outline:3px solid #b2ccff; outline-offset:2px; }
[data-coupon-status] { margin-top:10px; font-size:.87rem; color:#067647; }
[data-coupon-status].field-error { color:#b42318; }
.coupon-breakdown { margin-top:16px; border-top:1px solid #eaecf0; }
.coupon-breakdown>div { display:flex; justify-content:space-between; gap:16px; padding:9px 0; }
.coupon-breakdown>div:last-child { font-weight:650; border-top:1px solid #eaecf0; }
.coupon-breakdown dd { text-align:right; }
.coupon-receipt { margin-top:16px; color:#344054; font-size:.87rem; }
.negotiation-note { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:14px; margin:24px 0; padding:20px; background:#ecfdf3; border:1px solid #abefc6; border-radius:10px; color:#085d3a; }
.whatsapp-button,.whatsapp-button:hover { background:#067647; border-color:#067647; color:#fff; font-size:.88rem; }
.whatsapp-button:hover { background:#085d3a; }
.header-help,.header-help:hover { color:#fff; background:#067647; border-color:#067647; }
@media(max-width:600px) { .negotiation-note { align-items:stretch; } .negotiation-note .button { width:100%; } }

/* Resumo antes do formulário, com detalhes recolhidos no telefone. */
.summary-details { margin-top:18px; }
.summary-details>summary { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:46px; padding:12px 0; color:#175cd3; font-size:.88rem; font-weight:600; cursor:pointer; list-style:none; border-top:1px solid #eaecf0; }
.summary-details>summary::-webkit-details-marker { display:none; }
.summary-details>summary::after { content:'⌄'; flex:none; font-size:1.2rem; line-height:1; }
.summary-details[open]>summary::after { transform:rotate(180deg); }
.summary-details-close-label { display:none; }
.summary-details[open] .summary-details-open-label { display:none; }
.summary-details[open] .summary-details-close-label { display:inline; }
.summary-details-body { padding-top:12px; }
.summary-details .summary-benefits { margin-top:0; padding-top:0; border-top:0; }
.summary-details[data-desktop-open]>summary { display:none; }
.summary-details[data-desktop-open] { margin-top:22px; padding-top:20px; border-top:1px solid #eaecf0; }
.summary-details[data-desktop-open] .summary-details-body { padding-top:0; }
@media(max-width:760px) {
 .checkout-grid>.order-summary { order:0; width:100%; }
 .checkout-grid>.checkout-form-card { order:1; }
 .checkout-body .form-context { display:none; }
 .checkout-grid>.order-summary h1 { margin-top:16px; font-size:1.6rem; }
 .checkout-grid>.order-summary .summary-price { margin-top:16px; padding-top:14px; }
 .checkout-grid>.order-summary .summary-description { margin-top:14px; }
 .checkout-grid>.order-summary .summary-support { margin-top:14px; padding-top:14px; }
}
