/* Simulador de orçamento — só carrega nas páginas com [hg_simulador]. */
.hg-quote { --q-line: var(--wp--preset--color--line, rgba(255,255,255,.14)); --q-acc: var(--wp--preset--color--accent); margin-block: 2rem; }
.hg-quote [hidden] { display: none !important; }
body:has(.hg-quote__sim:not([hidden])) .hg-mobile-bar { display: none !important; }
.hg-quote__step { background: var(--wp--preset--color--surface); border: 1px solid var(--q-line); border-radius: 10px; padding: clamp(1.25rem, 4vw, 2.5rem); }
.hg-quote__email, .hg-quote__code { max-width: 640px; margin-inline: auto; }
.hg-quote__title { margin: 0 0 .5rem; font-size: clamp(1.35rem, 2.4vw, 1.75rem); }
.hg-quote__intro, .hg-quote__help, .hg-quote__fine, .hg-quote__small, .hg-quote__desc { color: var(--wp--preset--color--muted); font-size: .9375rem; }
.hg-quote__fine { max-width: 640px; margin: 1rem auto 0; font-size: .8125rem; text-align: center; }
.hg-quote label { display: grid; gap: .35rem; margin: 0 0 1rem; font-size: .9375rem; }
.hg-quote label > span { color: var(--wp--preset--color--muted); }
.hg-quote input[type=text], .hg-quote input[type=email], .hg-quote input[type=tel], .hg-quote input[type=date], .hg-quote input[type=number], .hg-quote select, .hg-quote textarea {
	width: 100%; box-sizing: border-box; padding: .75rem .9rem; font: inherit; color: inherit;
	background: var(--wp--preset--color--base); border: 1px solid var(--q-line); border-radius: 6px;
}
.hg-quote input:focus, .hg-quote select:focus, .hg-quote textarea:focus { outline: 2px solid var(--q-acc); outline-offset: 1px; border-color: transparent; }
.hg-quote input[type=date] { color-scheme: dark; }
.hg-quote__row { display: grid; gap: 0 1rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.hg-quote__check { display: flex !important; grid-template-columns: none; align-items: flex-start; gap: .6rem !important; font-size: .875rem !important; }
.hg-quote__check input { margin-top: .2rem; accent-color: var(--q-acc); }
.hg-quote__check a { color: var(--q-acc); }
.hg-quote__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.hg-quote__btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .8rem 1.6rem; border: 0; cursor: pointer;
	border-radius: var(--hg-btn-radius, 6px); background: var(--q-acc); color: var(--wp--preset--color--on-accent, #111); font: inherit; font-weight: 600;
	transition: filter .2s, transform .2s;
}
.hg-quote__btn:hover { filter: brightness(1.08); }
.hg-quote__btn:disabled { opacity: .6; cursor: wait; }
.hg-quote__link { background: none; border: 0; color: var(--wp--preset--color--muted); text-decoration: underline; cursor: pointer; font: inherit; font-size: .875rem; margin-left: 1rem; }
.hg-quote__msg { min-height: 1.2em; font-size: .9375rem; }
.hg-quote__msg.is-error { color: #ff8a7a; }
.hg-quote__digits { max-width: 14rem; font-size: 1.75rem !important; letter-spacing: .45em; text-align: center; font-variant-numeric: tabular-nums; }

.hg-quote__grid { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 960px) { .hg-quote__grid { grid-template-columns: minmax(0, 1fr) 340px; } .hg-quote__sum { position: sticky; top: calc(var(--hg-header-h, 76px) + 1rem); align-self: start; } }
.hg-quote fieldset { border: 0; padding: 0; margin: 0 0 1.75rem; min-width: 0; }
.hg-quote legend { font-weight: 600; margin-bottom: .75rem; font-size: 1.0625rem; }
.hg-quote__cards { display: grid; gap: .6rem; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.hg-quote__cards--3 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.hg-quote .hg-quote__card { position: relative; margin: 0; cursor: pointer; }
.hg-quote__card input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.hg-quote__card > span { display: grid; gap: .2rem; height: 100%; box-sizing: border-box; padding: .9rem 1rem; border: 1px solid var(--q-line); border-radius: 8px; color: var(--wp--preset--color--contrast) !important; transition: border-color .2s, background .2s; }
.hg-quote__card small { color: var(--wp--preset--color--muted); }
.hg-quote__card b { font-size: 1.35rem; font-weight: 600; }
.hg-quote__card em { font-style: normal; font-size: .8125rem; color: var(--wp--preset--color--muted); line-height: 1.45; margin-top: .3rem; }
.hg-quote__card input:checked + span { border-color: var(--q-acc); background: color-mix(in srgb, var(--q-acc) 10%, transparent); box-shadow: inset 0 0 0 1px var(--q-acc); }
.hg-quote__card input:focus-visible + span { outline: 2px solid var(--q-acc); outline-offset: 2px; }
.hg-quote__ex { display: flex; align-items: center; gap: .75rem; padding: .6rem 0; border-bottom: 1px solid var(--q-line); }
.hg-quote__ex label { display: flex !important; align-items: center; gap: .6rem !important; margin: 0 !important; flex: 1; cursor: pointer; }
.hg-quote__ex label span { color: var(--wp--preset--color--contrast) !important; }
.hg-quote__ex input[type=checkbox] { width: 1.1rem; height: 1.1rem; accent-color: var(--q-acc); }
.hg-quote__ex b { font-weight: 500; white-space: nowrap; font-size: .9375rem; }
.hg-quote__ex.is-incl { opacity: .65; }
.hg-quote__qty { width: 4.5rem !important; padding: .4rem .5rem !important; }
.hg-quote__sum { background: var(--wp--preset--color--base); border: 1px solid var(--q-line); border-radius: 10px; padding: 1.5rem; }
.hg-quote__sum h3 { margin: 0 0 1rem; font-size: 1.125rem; }
.hg-quote__lines { list-style: none; margin: 0; padding: 0; font-size: .9375rem; }
.hg-quote__lines li { display: flex; justify-content: space-between; gap: 1rem; padding: .4rem 0; border-bottom: 1px dashed var(--q-line); }
.hg-quote__total { margin: 1rem 0; font-size: 2rem; }
.hg-quote__total strong { font-weight: 600; color: var(--q-acc); }
.hg-quote__total small { font-size: .875rem; color: var(--wp--preset--color--muted); }
.hg-quote__warn { font-size: .875rem; padding: .75rem; border-left: 3px solid var(--q-acc); background: color-mix(in srgb, var(--q-acc) 8%, transparent); }
.hg-quote__small { font-size: .8125rem; margin: .5rem 0; }
.hg-quote__send { width: 100%; margin-top: .75rem; }
.hg-quote [aria-invalid="true"] { outline: 2px solid #ff8a7a; }
