/* Archote Jr. — simulador de orçamento (página e prévia do painel).
   Autônomo: as cores ficam em .c-sim (o painel do WordPress não carrega o base.css).
   Cantos retos, botões grandes, contraste AA. */

.c-sim, .c-sim-fora, .c-sim-aviso-equipe, .c-sim-contatos {
	--s-noite: #062123; --s-petroleo: #125354; --s-teal: #399388; --s-lumi: #f7ce3e; --s-lumi-forte: #e8b923;
	--s-creme: #f8f5d3; --s-nevoa: #edf2f0; --s-branco: #fff; --s-tinta: #0b2426; --s-tinta-2: #35504f; --s-tinta-3: #4d6564;
	--s-linha: rgba(6, 33, 35, .16); --s-linha-forte: rgba(6, 33, 35, .38); --s-rubi: #b3123a; --s-zap: #25d366;
	--s-titulo: var(--fonte-titulo, 'Roboto Serif', Georgia, serif);
	box-sizing: border-box;
	color: var(--s-tinta);
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.5;
}
.c-sim *, .c-sim *::before, .c-sim *::after { box-sizing: border-box; }
.c-sim svg { width: 1.35em; height: 1.35em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.c-sim h2, .c-sim h3, .c-sim h4, .c-sim p { margin: 0; }
.c-sim ul, .c-sim ol, .c-sim fieldset { margin: 0; padding: 0; }
.c-sim ul, .c-sim ol { list-style: none; }
.c-sim fieldset { border: 0; min-width: 0; }
.c-sim legend { padding: 0; float: left; width: 100%; }
.c-sim legend + * { clear: both; }
.c-sim [hidden] { display: none !important; }
.c-sim :focus-visible { outline: 3px solid var(--s-petroleo); outline-offset: 2px; }

.c-sim__carregando { padding: 2rem 0; color: var(--s-tinta-3); }
.c-sim__sem-js, .c-sim-fora { padding: 1.5rem; background: var(--s-branco); border-left: 4px solid var(--s-lumi); }
.c-sim-fora__titulo { margin: 0 0 .5rem; font-family: var(--fonte-titulo, Georgia, serif); font-weight: 500; font-size: 1.6rem; }
.c-sim-contatos { display: flex; flex-wrap: wrap; gap: .75rem; list-style: none; margin: 1rem 0 0; padding: 0; }

/* aviso só para a equipe */
.c-sim-aviso-equipe { margin: 0 0 1.5rem; padding: .85rem 1.1rem; background: #fff6d6; border-left: 4px solid var(--s-lumi-forte); font-size: .92rem; }
.c-sim-aviso-equipe p { margin: 0; }
.c-sim-aviso-equipe a { color: var(--s-petroleo); font-weight: 600; }

/* ------------------------------------------------------------ grade */
.c-sim-grade { display: grid; gap: 1.5rem; align-items: start; }
@media (min-width: 60em) {
	.c-sim-grade { grid-template-columns: minmax(0, 1fr) 22rem; gap: 2.5rem; }
	.c-sim-painel { position: sticky; top: calc(var(--cab-h, 4.5rem) + 1.25rem); }
}
.c-sim-principal { min-width: 0; }

/* etapas */
.c-sim-passos { display: flex; gap: .5rem; margin: 0 0 1.5rem !important; counter-reset: none; }
.c-sim-passo { flex: 1 1 0; min-width: 0; display: flex; align-items: center; gap: .55rem; padding: .6rem .75rem; background: var(--s-branco); border-top: 3px solid var(--s-linha); color: var(--s-tinta-3); font-size: .85rem; font-weight: 500; }
.c-sim-passo__n { display: grid; place-items: center; flex: none; width: 1.5rem; height: 1.5rem; background: var(--s-nevoa); color: var(--s-tinta-2); font-size: .78rem; font-weight: 700; }
.c-sim-passo.is-feito { border-top-color: var(--s-teal); color: var(--s-tinta-2); }
.c-sim-passo.is-feito .c-sim-passo__n { background: var(--s-teal); color: var(--s-noite); }
.c-sim-passo.is-atual { border-top-color: var(--s-lumi); color: var(--s-noite); font-weight: 700; }
.c-sim-passo.is-atual .c-sim-passo__n { background: var(--s-lumi); color: var(--s-noite); }
@media (max-width: 40em) {
	.c-sim-passos { gap: .25rem; }
	.c-sim-passo { justify-content: center; padding: .5rem .25rem; }
	.c-sim-passo__nome { display: none; }
	.c-sim-passo.is-atual .c-sim-passo__nome { display: inline; font-size: .8rem; }
	.c-sim-passo:not(.is-atual) { flex: 0 0 2.6rem; }
	.c-sim-passo.is-atual { flex: 1 1 auto; }
}

/* conteúdo */
.c-sim-tela { display: grid; gap: 1.5rem; padding: clamp(1.25rem, .8rem + 2vw, 2.25rem); background: var(--s-branco); box-shadow: 0 1px 2px rgba(6, 33, 35, .06), 0 10px 30px rgba(6, 33, 35, .08); }
.c-sim-titulo { font-family: var(--s-titulo); font-weight: 500; font-size: clamp(1.45rem, 1.1rem + 1.2vw, 2rem); line-height: 1.15; letter-spacing: -.01em; color: var(--s-noite); }
.c-sim-titulo:focus { outline: none; }
.c-sim-sub { margin-top: .5rem !important; color: var(--s-tinta-2); max-width: 46rem; }

/* cartões de serviço */
.c-sim-servicos { display: grid; gap: .85rem; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); }
.c-sim-servico { display: block; height: 100%; cursor: pointer; position: relative; }
.c-sim-servico__marca { position: absolute; opacity: 0; width: 1px; height: 1px; }
.c-sim-servico__corpo { display: grid; align-content: start; gap: .4rem; height: 100%; padding: 1.1rem 1.1rem 1.2rem; padding-right: 3rem; background: var(--s-nevoa); border: 2px solid transparent; position: relative; transition: background-color .18s, border-color .18s, box-shadow .18s; }
.c-sim-servico:hover .c-sim-servico__corpo { background: #e1e9e6; }
.c-sim-servico__icone { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; margin-bottom: .2rem; background: var(--s-petroleo); color: var(--s-lumi); }
.c-sim-servico__icone svg { width: 1.45rem; height: 1.45rem; }
.c-sim-servico__nome { font-weight: 700; font-size: 1.05rem; color: var(--s-noite); line-height: 1.25; }
.c-sim-servico__desc { font-size: .88rem; color: var(--s-tinta-2); line-height: 1.45; }
.c-sim-servico__marca-visual { position: absolute; top: .9rem; right: .9rem; display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border: 2px solid var(--s-linha-forte); background: var(--s-branco); color: transparent; }
.c-sim-servico__marca-visual svg { width: 1.1rem; height: 1.1rem; stroke-width: 2.6; }
.c-sim-servico__marca:checked + .c-sim-servico__corpo { background: #fffbe6; border-color: var(--s-lumi-forte); box-shadow: 0 6px 20px rgba(6, 33, 35, .1); }
.c-sim-servico__marca:checked + .c-sim-servico__corpo .c-sim-servico__marca-visual { background: var(--s-lumi); border-color: var(--s-lumi-forte); color: var(--s-noite); }
.c-sim-servico__marca:focus-visible + .c-sim-servico__corpo { outline: 3px solid var(--s-petroleo); outline-offset: 2px; }

/* blocos e campos */
.c-sim-bloco { display: grid; gap: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--s-linha); }
.c-sim-tela > .c-sim-bloco:first-of-type { border-top: 0; padding-top: 0; }
.c-sim-bloco__titulo { display: flex; align-items: center; gap: .6rem; font-size: 1.15rem; font-weight: 700; color: var(--s-petroleo); }
.c-sim-ico { display: inline-grid; place-items: center; flex: none; color: var(--s-petroleo); }
.c-sim-campo { display: grid; gap: .4rem; }
.c-sim-rotulo { font-weight: 700; color: var(--s-noite); font-size: 1rem; }
.c-sim-ajuda { color: var(--s-tinta-2); font-size: .9rem; line-height: 1.45; }
.c-sim-limites { color: var(--s-tinta-3); font-size: .8rem; }
.c-sim-numero { display: grid; grid-template-columns: minmax(0, 1fr) 9.5rem; gap: 1rem; align-items: center; margin-top: .25rem; }
@media (max-width: 30em) { .c-sim-numero { grid-template-columns: 1fr; gap: .6rem; } }
.c-sim-numero__caixa { display: flex; align-items: center; gap: .5rem; }
.c-sim-unidade { color: var(--s-tinta-2); font-size: .9rem; white-space: nowrap; }
.c-sim-entrada { width: 100%; min-height: 3rem; padding: .6rem .8rem; border: 1px solid var(--s-linha-forte); border-radius: 0; background: var(--s-branco); color: var(--s-tinta); font: inherit; font-size: 1rem; }
.c-sim-entrada:focus { outline: none; border-color: var(--s-petroleo); box-shadow: 0 0 0 3px rgba(18, 83, 84, .22); }
.c-sim-entrada--texto { max-width: 100%; }

/* controle deslizante */
.c-sim-faixa { -webkit-appearance: none; appearance: none; width: 100%; height: 2.25rem; margin: 0; background: transparent; cursor: pointer; --sim-p: 0%; }
.c-sim-faixa::-webkit-slider-runnable-track { height: .5rem; background: linear-gradient(to right, var(--s-petroleo) var(--sim-p), #cfdad6 var(--sim-p)); }
.c-sim-faixa::-moz-range-track { height: .5rem; background: #cfdad6; }
.c-sim-faixa::-moz-range-progress { height: .5rem; background: var(--s-petroleo); }
.c-sim-faixa::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 1.6rem; height: 1.6rem; margin-top: -.55rem; background: var(--s-lumi); border: 3px solid var(--s-noite); border-radius: 50%; }
.c-sim-faixa::-moz-range-thumb { width: 1.2rem; height: 1.2rem; background: var(--s-lumi); border: 3px solid var(--s-noite); border-radius: 50%; }
.c-sim-faixa:focus { outline: none; }
.c-sim-faixa:focus-visible::-webkit-slider-thumb { outline: 3px solid var(--s-petroleo); outline-offset: 3px; }
.c-sim-faixa:focus-visible::-moz-range-thumb { outline: 3px solid var(--s-petroleo); outline-offset: 3px; }

/* opções (rádios em cartões) */
.c-sim-opcoes { display: grid; gap: .6rem; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); margin-top: .35rem; }
.c-sim-opcoes--par { grid-template-columns: repeat(2, minmax(0, 11rem)); }
.c-sim-opcoes--lista { grid-template-columns: 1fr; max-width: 34rem; }
.c-sim-opcao { display: block; cursor: pointer; position: relative; }
.c-sim-opcao__radio { position: absolute; opacity: 0; width: 1px; height: 1px; }
.c-sim-opcao__corpo { display: flex; align-items: center; gap: .7rem; min-height: 3rem; padding: .65rem .9rem; border: 1.5px solid var(--s-linha-forte); background: var(--s-branco); transition: background-color .15s, border-color .15s; }
.c-sim-opcao:hover .c-sim-opcao__corpo { background: var(--s-nevoa); }
.c-sim-opcao__marca { flex: none; width: 1.15rem; height: 1.15rem; border: 2px solid var(--s-tinta-3); border-radius: 50%; background: var(--s-branco); }
.c-sim-opcao__texto { line-height: 1.3; }
.c-sim-opcao__radio:checked + .c-sim-opcao__corpo { border-color: var(--s-petroleo); background: #f1f7f5; font-weight: 600; }
.c-sim-opcao__radio:checked + .c-sim-opcao__corpo .c-sim-opcao__marca { border-color: var(--s-petroleo); background: radial-gradient(circle, var(--s-petroleo) 0 45%, var(--s-branco) 50%); }
.c-sim-opcao__radio:focus-visible + .c-sim-opcao__corpo { outline: 3px solid var(--s-petroleo); outline-offset: 2px; }

.c-sim-desl { color: var(--s-petroleo); font-weight: 600; font-size: .92rem; }

/* botões */
.c-sim-btn { display: inline-flex; align-items: center; justify-content: center; gap: .6em; min-height: 3rem; padding: .75em 1.4em; border: 1.5px solid transparent; border-radius: 0; font: inherit; font-size: .98rem; font-weight: 600; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; transition: background-color .18s, color .18s, border-color .18s; }
.c-sim-btn--primario { background: var(--s-lumi); color: var(--s-noite); }
.c-sim-btn--primario:hover { background: var(--s-lumi-forte); }
.c-sim-btn--contorno { background: transparent; border-color: var(--s-petroleo); color: var(--s-petroleo); }
.c-sim-btn--contorno:hover { background: var(--s-petroleo); color: var(--s-branco); }
.c-sim-btn--zap { background: var(--s-zap); color: var(--s-noite); }
.c-sim-btn--zap:hover { background: #1fbd5b; color: var(--s-noite); }
.c-sim-btn--link { background: none; color: var(--s-petroleo); text-decoration: underline; text-underline-offset: 3px; padding-inline: .5em; }
.c-sim-btn--link:hover { color: var(--s-noite); }
.c-sim-btn--grande { min-height: 3.5rem; padding: .9em 1.6em; font-size: 1.02rem; }
.c-sim-btn:disabled { opacity: .6; cursor: wait; }
.c-sim-btn.is-desligado { opacity: .5; }
.c-sim-btn__ico { display: inline-grid; }
.c-sim-nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; padding-top: 1.25rem; border-top: 1px solid var(--s-linha); }
.c-sim-nav__avancar { margin-left: auto; }
.c-sim-erro { margin: 0; padding: .7rem 1rem; background: #fdecef; border-left: 4px solid var(--s-rubi); color: #7f1230; font-weight: 500; }

/* resultado */
.c-sim-destaque { padding: 1.5rem; background: var(--s-petroleo); color: var(--s-creme); }
.c-sim-destaque__rotulo { font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--s-lumi); }
.c-sim-destaque__valor { margin: .25rem 0 !important; font-family: var(--s-titulo); font-weight: 500; font-size: clamp(2rem, 1.2rem + 3.4vw, 3.4rem); line-height: 1.05; color: var(--s-branco); }
.c-sim-destaque__nota { font-size: .9rem; color: rgba(248, 245, 211, .85); }
.c-sim-itens { display: grid; gap: .85rem; }
.c-sim-item { padding: 1rem 1.1rem; background: var(--s-nevoa); }
.c-sim-item__topo { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.c-sim-item__nome { font-size: 1.05rem; font-weight: 700; flex: 1 1 10rem; }
.c-sim-item__valor { color: var(--s-petroleo); font-size: 1.05rem; }
.c-sim-itens__det { display: grid; gap: .2rem; margin-top: .6rem !important; font-size: .9rem; color: var(--s-tinta-2); }
.c-sim-itens__det li { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px dashed var(--s-linha); padding-top: .25rem; }
.c-sim-itens__det strong { color: var(--s-tinta); font-weight: 600; text-align: right; }
.c-sim-extras { display: grid; gap: .4rem; font-size: .95rem; color: var(--s-tinta-2); }
.c-sim-extras li { display: flex; gap: .55rem; align-items: center; }
.c-sim-aviso-legal { padding: .9rem 1.1rem; background: #fffbe6; border-left: 4px solid var(--s-lumi-forte); font-size: .92rem; color: var(--s-tinta-2); }
.c-sim-acoes { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
@media (max-width: 40em) { .c-sim-acoes .c-sim-btn--grande { width: 100%; } }
.c-sim-msg { margin: 0; padding: .9rem 1.1rem; border-left: 4px solid; font-weight: 500; }
.c-sim-msg--ok { background: #e7f6ee; border-color: #1f9d55; color: #14532d; }
.c-sim-msg--erro { background: #fdecef; border-color: var(--s-rubi); color: #7f1230; }
.c-sim-msg:focus { outline: none; }
.c-sim-email { padding: 1.25rem; background: var(--s-nevoa); }
.c-sim-form { display: grid; gap: 1rem; }
.c-sim-form__grade { display: grid; gap: 1rem 1.25rem; }
@media (min-width: 40em) { .c-sim-form__grade { grid-template-columns: 1fr 1fr; } .c-sim-form__grade > :last-child { grid-column: 1 / -1; } }
.c-sim-form textarea { min-height: 5.5rem; resize: vertical; }
.c-sim-aceite { display: flex; gap: .6rem; align-items: flex-start; font-size: .92rem; color: var(--s-tinta-2); }
.c-sim-aceite input { flex: none; width: 1.2rem; height: 1.2rem; margin-top: .15rem; accent-color: var(--s-petroleo); }
.c-sim-aceite a { color: var(--s-petroleo); font-weight: 600; }
.c-sim-isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ------------------------------------------------------------ painel de estimativa */
.c-sim-painel { background: var(--s-noite); color: var(--s-creme); }
.c-sim-painel__topo { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.4rem .5rem; }
.c-sim-painel__cab { display: grid; gap: .1rem; min-width: 0; }
.c-sim-painel__rotulo { font-size: .76rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--s-lumi); }
.c-sim-painel__total { display: block; font-family: var(--s-titulo); font-weight: 500; font-size: 1.85rem; line-height: 1.1; color: var(--s-branco); overflow-wrap: anywhere; }
.c-sim-painel__total.is-vazio { color: rgba(248, 245, 211, .6); }
.c-sim-painel__total.is-texto { font-size: 1.3rem; }
.c-sim-painel__corpo { padding: .5rem 1.4rem 1.4rem; display: grid; gap: .75rem; }
.c-sim-painel__lista { display: grid; gap: .5rem; }
.c-sim-painel__lista li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .1rem .75rem; padding-top: .5rem; border-top: 1px solid rgba(248, 245, 211, .18); font-size: .92rem; }
.c-sim-painel__valor { color: var(--s-lumi); font-weight: 600; }
.c-sim-painel__vazio, .c-sim-painel__nota, .c-sim-painel__extra { font-size: .85rem; color: rgba(248, 245, 211, .82); line-height: 1.45; }
.c-sim-painel__alternar { display: none; align-items: center; gap: .4rem; min-height: 2.75rem; padding: .4rem .9rem; background: transparent; border: 1.5px solid rgba(248, 245, 211, .5); color: var(--s-creme); font: inherit; font-size: .88rem; font-weight: 600; cursor: pointer; border-radius: 0; }
.c-sim-painel__alternar:hover { background: var(--s-creme); color: var(--s-noite); }
.c-sim-painel__seta { display: inline-grid; transform: rotate(-90deg); transition: transform .18s; }
.c-sim-painel__alternar[aria-expanded="true"] .c-sim-painel__seta { transform: rotate(90deg); }
.c-sim-painel :focus-visible { outline-color: var(--s-lumi); }
.c-sim-anuncio { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* celular: barra fixa embaixo */
@media (max-width: 59.99em) {
	.c-sim:not(.c-sim--previa) .c-sim-painel { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; max-height: 75vh; overflow: auto; box-shadow: 0 -8px 30px rgba(6, 33, 35, .3); padding-bottom: env(safe-area-inset-bottom); }
	.c-sim:not(.c-sim--previa) .c-sim-painel__topo { padding: .8rem 1rem; }
	.c-sim:not(.c-sim--previa) .c-sim-painel__total { font-size: 1.35rem; }
	.c-sim:not(.c-sim--previa) .c-sim-painel__alternar { display: inline-flex; }
	.c-sim:not(.c-sim--previa) .c-sim-painel__corpo { display: none; padding: .25rem 1rem 1rem; }
	.c-sim:not(.c-sim--previa) .c-sim-painel.is-aberto .c-sim-painel__corpo { display: grid; }
	.tem-simulador .c-sim-secao { padding-bottom: 7rem; }
	.sim-painel-aberto .c-dock { display: none; }
	.tem-simulador .c-dock { bottom: calc(5.25rem + env(safe-area-inset-bottom)); }
}

/* ------------------------------------------------------------ prévia no painel do WordPress */
.c-sim--previa .c-sim-grade { display: block; }
.c-sim--previa .c-sim-painel { position: static; margin-top: 1rem; }
.c-sim--previa .c-sim-tela { padding: 1rem; box-shadow: none; border: 1px solid var(--s-linha); gap: 1.1rem; }
.c-sim--previa .c-sim-titulo { font-size: 1.25rem; }
.c-sim--previa .c-sim-servicos { grid-template-columns: 1fr 1fr; }
.c-sim--previa .c-sim-passo__nome { display: none; }
.c-sim--previa .c-sim-passo.is-atual .c-sim-passo__nome { display: inline; }
.c-sim--previa .c-sim-numero { grid-template-columns: 1fr; }
.c-sim--previa .c-sim-form__grade { grid-template-columns: 1fr; }

@media (prefers-reduced-motion: reduce) {
	.c-sim *, .c-sim *::before, .c-sim *::after { transition: none !important; }
}
@media (forced-colors: active) {
	.c-sim-servico__marca:checked + .c-sim-servico__corpo, .c-sim-opcao__radio:checked + .c-sim-opcao__corpo { outline: 3px solid Highlight; }
}
