/* Base do Cálculo – calculadoras e painéis. Usa variáveis do tema quando disponíveis. */
.bdc-calc, .bdc-indices, .bdc-grid, .bdc-meus-calculos { --bdc-pri: var(--c-pri, #0b6e4f); --bdc-pri-2: var(--c-pri-2, #e8f5ef); --bdc-txt: var(--c-txt, #1b2430); --bdc-mut: var(--c-mut, #5b6675); --bdc-bor: var(--c-bor, #dfe5ea); --bdc-bg: var(--c-card, #fff); --bdc-warn: #b54708; }

.bdc-calc { background: var(--bdc-bg); border: 1px solid var(--bdc-bor); border-radius: 14px; padding: clamp(16px, 3vw, 28px); margin: 24px 0; box-shadow: 0 1px 3px rgba(16, 24, 40, .06); }
.bdc-campos { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px 18px; }
.bdc-campo label { display: block; font-size: .86rem; font-weight: 600; color: var(--bdc-txt); margin-bottom: 6px; }
.bdc-campo input[type=text], .bdc-campo input[type=date], .bdc-campo input[type=month], .bdc-campo select { width: 100%; box-sizing: border-box; height: 44px; padding: 0 12px; border: 1px solid var(--bdc-bor); border-radius: 10px; font-size: 1rem; background: #fff; color: var(--bdc-txt); }
.bdc-campo input:focus, .bdc-campo select:focus { outline: 2px solid var(--bdc-pri); outline-offset: 1px; border-color: var(--bdc-pri); }
.bdc-prefixo, .bdc-sufixo { display: flex; align-items: stretch; }
.bdc-prefixo span, .bdc-sufixo span { display: flex; align-items: center; padding: 0 10px; background: var(--bdc-pri-2); color: var(--bdc-pri); font-weight: 700; border: 1px solid var(--bdc-bor); font-size: .9rem; }
.bdc-prefixo span { border-radius: 10px 0 0 10px; border-right: 0; }
.bdc-prefixo input { border-radius: 0 10px 10px 0 !important; }
.bdc-sufixo span { border-radius: 0 10px 10px 0; border-left: 0; }
.bdc-sufixo input { border-radius: 10px 0 0 10px !important; }
.bdc-campo--check { display: flex; gap: 10px; align-items: center; grid-column: 1 / -1; }
.bdc-campo--check label { margin: 0; font-weight: 500; }
.bdc-campo--check input { width: 18px; height: 18px; accent-color: var(--bdc-pri); }
.bdc-botao { margin-top: 18px; background: var(--bdc-pri); color: #fff; border: 0; border-radius: 10px; padding: 12px 28px; font-size: 1rem; font-weight: 700; cursor: pointer; }
.bdc-botao:hover { filter: brightness(1.08); }

.bdc-resultado { margin-top: 22px; }
.bdc-destaque { background: var(--bdc-pri); color: #fff; border-radius: 12px; padding: 18px 20px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px; }
.bdc-destaque span { font-size: .95rem; opacity: .92; }
.bdc-destaque strong { font-size: clamp(1.5rem, 4vw, 2.1rem); font-variant-numeric: tabular-nums; }
.bdc-resumo { display: grid; grid-template-columns: 1fr auto; margin: 16px 0 0; border: 1px solid var(--bdc-bor); border-radius: 12px; overflow: hidden; }
.bdc-resumo dt, .bdc-resumo dd { margin: 0; padding: 10px 14px; border-bottom: 1px solid var(--bdc-bor); }
.bdc-resumo dt { color: var(--bdc-mut); }
.bdc-resumo dd { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.bdc-resumo dt:nth-last-of-type(1), .bdc-resumo dd:last-of-type { border-bottom: 0; }

.bdc-tabela { width: 100%; border-collapse: collapse; margin: 14px 0; font-size: .93rem; font-variant-numeric: tabular-nums; }
.bdc-tabela th { background: var(--bdc-pri-2); color: var(--bdc-txt); text-align: left; padding: 9px 10px; font-weight: 700; }
.bdc-tabela td { padding: 8px 10px; border-bottom: 1px solid var(--bdc-bor); }
.bdc-tabela td:not(:first-child), .bdc-tabela th:not(:first-child) { text-align: right; }
.bdc-ranking tr.bdc-melhor td { background: #fff8e1; font-weight: 700; }
.bdc-comparativo td:first-child { color: var(--bdc-mut); }
.bdc-rolagem { max-height: 420px; overflow: auto; border: 1px solid var(--bdc-bor); border-radius: 10px; }
.bdc-rolagem .bdc-tabela { margin: 0; }
.bdc-rolagem th { position: sticky; top: 0; }
.bdc-detalhes { margin-top: 14px; }
.bdc-detalhes summary { cursor: pointer; font-weight: 700; color: var(--bdc-pri); padding: 6px 0; }
.bdc-nota { font-size: .87rem; color: var(--bdc-mut); margin: 8px 0 0; }
.bdc-erro { color: #b42318; font-weight: 600; }
.bdc-loading { color: var(--bdc-mut); font-style: italic; }
.bdc-aviso { font-size: .85rem; color: var(--bdc-mut); border-left: 3px solid var(--bdc-bor); padding-left: 10px; }
@media (max-width: 640px) {
	.bdc-tabela { font-size: .82rem; }
	.bdc-tabela th, .bdc-tabela td { padding: 6px; }
	.bdc-detalhes > .bdc-tabela, .bdc-resultado > .bdc-tabela { display: block; overflow-x: auto; }
}

/* Painel de índices */
.bdc-indices { display: grid; grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); gap: 12px; margin: 18px 0 6px; }
.bdc-ind { background: var(--bdc-bg); border: 1px solid var(--bdc-bor); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 2px; }
.bdc-ind__nome { font-size: .8rem; font-weight: 700; color: var(--bdc-mut); text-transform: uppercase; letter-spacing: .03em; }
.bdc-ind__valor { font-size: 1.45rem; font-weight: 800; color: var(--bdc-txt); font-variant-numeric: tabular-nums; }
.bdc-ind__sub { font-size: .82rem; color: var(--bdc-pri); font-weight: 600; }
.bdc-ind__data { font-size: .74rem; color: var(--bdc-mut); }
.bdc-ind__rodape { font-size: .8rem; color: var(--bdc-mut); }

/* Hubs */
.bdc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; margin: 20px 0 30px; }
.bdc-card { display: flex; flex-direction: column; gap: 6px; padding: 18px; border: 1px solid var(--bdc-bor); border-radius: 12px; background: var(--bdc-bg); text-decoration: none !important; color: var(--bdc-txt) !important; transition: transform .12s, box-shadow .12s, border-color .12s; }
.bdc-card:hover { transform: translateY(-2px); border-color: var(--bdc-pri); box-shadow: 0 6px 18px rgba(16, 24, 40, .08); }
.bdc-card strong { color: var(--bdc-pri); font-size: 1.05rem; }
.bdc-card span { font-size: .88rem; color: var(--bdc-mut); }
.bdc-news-list { list-style: none; padding: 0; }
.bdc-news-list li { padding: 8px 0; border-bottom: 1px solid var(--bdc-bor, #dfe5ea); display: flex; justify-content: space-between; gap: 12px; }
.bdc-news-list time { color: var(--bdc-mut, #5b6675); font-size: .85rem; white-space: nowrap; }
.bdc-faq { border: 1px solid var(--c-bor, #dfe5ea); border-radius: 10px; padding: 12px 16px; margin: 8px 0; }
.bdc-faq summary { cursor: pointer; font-weight: 700; }
.bdc-fonte { font-size: .9rem; color: var(--c-mut, #5b6675); }

/* Sliders */
.bdc-slider { width: 100%; margin: 8px 0 0; accent-color: var(--bdc-pri); height: 18px; cursor: pointer; }

/* Gráficos – paleta categórica validada (slots 1 e 2) */
.bdc-calc { --serie-1: #2a78d6; --serie-2: #eb6834; --grade: #e8ecef; --eixo: #b8c0c8; }
.bdc-graf { margin: 18px 0 4px; }
.bdc-graf figcaption { font-weight: 700; font-size: .95rem; margin-bottom: 8px; color: var(--bdc-txt); }
.bdc-graf__area { position: relative; }
.bdc-graf__svg { width: 100%; height: auto; display: block; overflow: visible; }
.bdc-grade { stroke: var(--grade); stroke-width: 1; }
.bdc-eixo { stroke: var(--eixo); stroke-width: 1; }
.bdc-rotulo { font-size: 11px; fill: var(--bdc-mut); font-variant-numeric: tabular-nums; }
.bdc-linha { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.bdc-traco-1 { stroke: var(--serie-1); }
.bdc-traco-2 { stroke: var(--serie-2); }
.bdc-ponto { fill: var(--serie-1); stroke: #fff; stroke-width: 2; }
.bdc-ponto.bdc-traco-2 { fill: var(--serie-2); }
.bdc-cursor { stroke: var(--bdc-mut); stroke-width: 1; stroke-dasharray: 3 3; }
.bdc-legenda { display: flex; gap: 16px; flex-wrap: wrap; font-size: .85rem; color: var(--bdc-mut); margin-bottom: 6px; }
.bdc-legenda__item, .bdc-dica div { display: inline-flex; align-items: center; gap: 6px; }
.bdc-legenda i, .bdc-dica i { width: 12px; height: 3px; border-radius: 2px; display: inline-block; }
.bdc-cor-1 { background: var(--serie-1); }
.bdc-cor-2 { background: var(--serie-2); }
.bdc-dica { position: absolute; top: 0; pointer-events: none; background: #fff; border: 1px solid var(--bdc-bor); border-radius: 8px; padding: 8px 10px; font-size: .82rem; box-shadow: 0 4px 14px rgba(16, 24, 40, .12); white-space: nowrap; color: var(--bdc-txt); }
.bdc-dica div { display: flex; }
.bdc-barra { display: grid; grid-template-columns: minmax(120px, 34%) 1fr auto; gap: 10px; align-items: center; padding: 5px 0; font-size: .86rem; }
.bdc-barra__rot { color: var(--bdc-txt); line-height: 1.25; }
.bdc-barra__trilho { height: 14px; display: block; }
.bdc-barra__val { display: block; height: 100%; background: var(--bdc-pri); border-radius: 0 4px 4px 0; transition: width .25s; }
.bdc-barra:first-of-type .bdc-barra__val { background: var(--bdc-pri); }
.bdc-barra__num { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--bdc-txt); min-width: 96px; text-align: right; }
.bdc-barra:hover .bdc-barra__val { filter: brightness(1.15); }
@media (max-width: 560px) { .bdc-barra { grid-template-columns: 1fr auto; } .bdc-barra__trilho { grid-column: 1 / -1; grid-row: 2; } }
@media (prefers-reduced-motion: reduce) { .bdc-barra__val { transition: none; } }

/* Ofertas de parceiros (afiliados) */
.bdc-ofertas { margin: 26px 0; border: 1px solid var(--c-bor, #dfe5ea); border-radius: 14px; padding: 18px; background: #fafbfc; }
.bdc-ofertas__tit { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: 12px; }
.bdc-ofertas__tit strong { font-size: 1.02rem; }
.bdc-ofertas__tag { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--c-mut, #5b6675); border: 1px solid var(--c-bor, #dfe5ea); border-radius: 999px; padding: 2px 8px; }
.bdc-ofertas__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.bdc-oferta { background: #fff; border: 1px solid var(--c-bor, #dfe5ea); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 6px; }
.bdc-oferta img { max-height: 28px; width: auto; align-self: flex-start; }
.bdc-oferta strong { font-size: .98rem; }
.bdc-oferta p { margin: 0; font-size: .86rem; color: var(--c-mut, #5b6675); }
.bdc-oferta a.bdc-oferta__btn { margin-top: auto; align-self: flex-start; background: var(--c-ace, #f5b700); color: #1b2430; font-weight: 800; text-decoration: none; padding: 8px 14px; border-radius: 8px; font-size: .9rem; }
.bdc-ofertas__aviso { font-size: .76rem; color: var(--c-mut, #5b6675); margin: 10px 0 0; }

/* SEO programático */
.bdc-chips { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bdc-chips a { display: inline-block; padding: 7px 12px; border: 1px solid var(--c-bor, #dfe5ea); border-radius: 999px; text-decoration: none; font-size: .88rem; background: #fff; }
.bdc-chips a:hover { border-color: var(--c-pri, #0b6e4f); }
.bdc-rolagem-x { overflow-x: auto; }
.bdc-variante { margin-top: 28px; }
.bdc-relacionados { font-size: .92rem; }

/* Compartilhar */
.bdc-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 18px; padding-top: 14px; border-top: 1px dashed var(--bdc-bor); }
.bdc-share__rot { font-size: .86rem; color: var(--bdc-mut); margin-right: 4px; }
.bdc-share__btn { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border: 1px solid var(--bdc-bor); border-radius: 999px; background: #fff; color: var(--bdc-txt); font-size: .88rem; font-weight: 600; text-decoration: none; cursor: pointer; font-family: inherit; }
.bdc-share__btn:hover, .bdc-share__btn:focus-visible { border-color: var(--bdc-pri); color: var(--bdc-pri); }
.bdc-share__wa { background: #e7f8ee; border-color: #b8e6c9; color: #0c6b39; }
.bdc-share__ok { font-size: .85rem; color: var(--bdc-pri); }

/* Como calculamos */
.bdc-metodo { --bdc-pri: var(--c-pri, #0b6e4f); --bdc-bor: var(--c-bor, #dfe5ea); --bdc-mut: var(--c-mut, #5b6675); border: 1px solid var(--bdc-bor); border-left: 4px solid var(--bdc-pri); border-radius: 12px; padding: 18px 22px; margin: 28px 0; background: var(--c-card, #fff); }
.bdc-metodo h2 { margin: 0 0 10px; font-size: 1.2rem; }
.bdc-metodo h3 { margin: 16px 0 6px; font-size: .95rem; }
.bdc-metodo ul { margin: 0; padding-left: 20px; }
.bdc-metodo li { margin: 3px 0; }
.bdc-metodo-rev, .bdc-metodo-erro { font-size: .85rem; color: var(--bdc-mut); margin: 14px 0 0; }
.bdc-metodo-erro { margin-top: 4px; }

/* O que mudou */
.bdc-changelog { list-style: none; padding: 0; margin: 0; }
.bdc-changelog > li { border-left: 2px solid var(--c-bor, #dfe5ea); padding: 0 0 12px 18px; position: relative; }
.bdc-changelog > li::before { content: ''; position: absolute; left: -6px; top: 6px; width: 10px; height: 10px; border-radius: 50%; background: var(--c-pri, #0b6e4f); }
.bdc-changelog h3 { margin: 0 0 6px; font-size: 1rem; }
.bdc-changelog ul { margin: 0; padding-left: 18px; }
.bdc-tag { display: inline-block; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; background: var(--c-pri-2, #e8f5ef); color: var(--c-pri, #0b6e4f); border-radius: 4px; padding: 1px 6px; margin-right: 4px; }

/* Impressão / PDF (memória de cálculo) */
.bdc-memoria-print { display: none; }
@media print {
	.site-header, .site-footer, .hero, .lateral, .breadcrumb, .setores-nav, .ticker, .bdc-ofertas, .bdc-share, .bdc-slider, .bdc-botao, .aviso-cookies, .bdc-chips, .bdc-letras, .bdc-faq, .conteudo > .bdc-grid, .bdc-botao-sec, .widget, ins, iframe { display: none !important; }
	.bdc-memoria-print { display: block !important; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 2px solid #000; }
	.bdc-memoria-print__titulo { font-size: 1.15rem; font-weight: 800; margin: 0 0 2px; }
	.bdc-memoria-print__data { font-size: .82rem; color: #555; margin: 0; }
	body { background: #fff !important; color: #000; font-size: 11pt; }
	.site-main, .container, .layout, .conteudo { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
	.bdc-calc, .bdc-metodo { box-shadow: none; border-color: #999; break-inside: avoid-page; }
	.bdc-destaque { background: #fff !important; color: #000 !important; border: 2px solid #000; }
	.bdc-campo input, .bdc-campo select { border: 0 !important; border-bottom: 1px solid #999 !important; height: auto; padding: 2px 0; }
	.layout { display: block !important; }
	.bdc-rolagem { max-height: none !important; overflow: visible !important; }
	a { color: #000; text-decoration: none; }
	.bdc-metodo a::after { content: ' (' attr(href) ')'; font-size: 8pt; color: #555; }
	.site-main::after { content: 'Simulação gerada em basedocalculo.com.br — valores estimados, sem valor legal.'; display: block; margin-top: 16px; font-size: 9pt; color: #555; }
}

/* Histórico de índices */
.bdc-hist-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin: 18px 0; }
.bdc-hist-cards div { border: 1px solid var(--c-bor, #dfe5ea); border-radius: 12px; padding: 14px 16px; background: var(--c-card, #fff); }
.bdc-hist-cards span { display: block; font-size: .82rem; color: var(--c-mut, #5b6675); }
.bdc-hist-cards strong { display: block; font-size: 1.5rem; margin-top: 4px; font-variant-numeric: tabular-nums; }
.bdc-hist-barra { fill: #2a78d6; }
.bdc-hist-barra--parcial { fill: #2a78d6; fill-opacity: .45; }
.bdc-hist-tab table { min-width: 760px; font-variant-numeric: tabular-nums; }
.bdc-hist-tab caption { text-align: left; font-weight: 700; padding: 0 0 8px; }
.bdc-hist-tab td, .bdc-hist-tab th { text-align: right; padding: 6px 8px; white-space: nowrap; }
.bdc-hist-tab th[scope=row] { text-align: left; }
.bdc-hist-tab .bdc-neg { color: #b42318; }
.bdc-hist-tab .bdc-hist-acum { font-weight: 700; background: var(--c-pri-2, #e8f5ef); }
.bdc-hist-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.bdc-hist-hub .bdc-card span { display: block; font-size: .86rem; color: var(--c-mut, #5b6675); margin-top: 6px; }

/* Glossário */
.bdc-letras { display: flex; flex-wrap: wrap; gap: 6px; margin: 16px 0 24px; position: sticky; top: 0; background: var(--c-bg, #f6f8fa); padding: 8px 0; z-index: 2; }
.bdc-letras a { display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; border: 1px solid var(--c-bor, #dfe5ea); border-radius: 8px; background: #fff; font-weight: 700; text-decoration: none; }
.bdc-glossario dt { font-weight: 800; font-size: 1.08rem; margin-top: 22px; scroll-margin-top: 64px; }
.bdc-glossario dt[data-letra] { border-top: 1px solid var(--c-bor, #dfe5ea); padding-top: 18px; }
.bdc-glossario dt span[id] { scroll-margin-top: 64px; }
.bdc-glossario dd { margin: 4px 0 0; }
.bdc-glossario dd p { margin: 4px 0; }
.bdc-glossario__links { font-size: .9rem; }
.bdc-glossario dt:target { color: var(--c-pri, #0b6e4f); }

/* Folha de ponto */
.bdc-ponto { min-width: 640px; }
.bdc-ponto td { height: 30px; border: 1px solid var(--c-bor, #dfe5ea); text-align: center; }
.bdc-ponto td:first-child { text-align: left; white-space: nowrap; font-weight: 600; }
.bdc-ponto td:last-child { min-width: 140px; }
@media print {
	.bdc-ponto { min-width: 0; width: 100%; font-size: 9pt; }
	.bdc-ponto td { height: 20px; border-color: #777; }
	.bdc-calc:has(.bdc-ponto) form { display: none; }
	.bdc-calc:has(.bdc-ponto) .bdc-detalhes > summary { display: none; }
}

/* Meus cálculos (localStorage) */
.bdc-botao-sec { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border: 1px solid var(--bdc-bor, #dfe5ea); border-radius: 999px; background: #fff; color: var(--bdc-txt, #1c2a33); font-size: .88rem; font-weight: 600; cursor: pointer; font-family: inherit; margin-bottom: 14px; }
.bdc-botao-sec:hover, .bdc-botao-sec:focus-visible { border-color: var(--bdc-pri, #0b6e4f); color: var(--bdc-pri, #0b6e4f); }
.bdc-vazio { color: var(--bdc-mut, #5b6675); padding: 12px 0; }
.bdc-meus-lista { display: flex; flex-direction: column; gap: 10px; }
.bdc-meus-item { position: relative; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; padding: 12px 40px 12px 14px; border: 1px solid var(--bdc-bor, #dfe5ea); border-radius: 10px; background: #fff; }
.bdc-meus-titulo { font-weight: 700; color: var(--bdc-pri, #0b6e4f); text-decoration: none; flex: 1 1 100%; }
.bdc-meus-titulo:hover { text-decoration: underline; }
.bdc-meus-destaque { font-size: .92rem; color: var(--bdc-txt, #1b2430); }
.bdc-meus-data { font-size: .82rem; color: var(--bdc-mut, #5b6675); margin-left: auto; }
.bdc-meus-remover { position: absolute; top: 8px; right: 8px; width: 26px; height: 26px; border: none; background: transparent; color: var(--bdc-mut, #5b6675); font-size: 1rem; line-height: 1; cursor: pointer; border-radius: 50%; }
.bdc-meus-remover:hover, .bdc-meus-remover:focus-visible { background: #fdecea; color: #c0392b; }
