/* Shared button finish. Header/menu styles are deliberately outside this sheet. */
body :is(.btn,.btn-primary,.btn-hero-primary,.btn-hero-secondary,.btn-secondary,.landing-button,.elementor-button,.btn-calcular-main,.btn-add-ncm,.btn-enviar-email,.btn-ver-detalhes,.service-card-cta,.cta-button,.admin-btn-primary,.admin-btn-danger,.sv-cookie-button) {
    background-image: var(--sv-button-gradient, linear-gradient(180deg,#dc3545 0%,#b11217 48%,#930402 100%)) !important;
    color: var(--sv-button-text,#fff) !important;
    border: 1px solid var(--sv-button-border,#d9515d) !important;
    border-radius: 999px !important;
    box-shadow: inset 0 1px 0 #ffffff38,0 5px 14px #93040226 !important;
    text-shadow: 0 1px 1px #0002;
    transition: filter .2s ease,box-shadow .2s ease,transform .2s ease;
}
body :is(.btn,.btn-primary,.btn-hero-primary,.btn-hero-secondary,.btn-secondary,.landing-button,.elementor-button,.btn-calcular-main,.btn-add-ncm,.btn-enviar-email,.btn-ver-detalhes,.service-card-cta,.cta-button,.admin-btn-primary,.admin-btn-danger,.sv-cookie-button):hover { filter: brightness(1.08); }
body :is(.btn,.btn-primary,.btn-hero-primary,.btn-hero-secondary,.btn-secondary,.landing-button,.elementor-button,.btn-calcular-main,.btn-add-ncm,.btn-enviar-email,.btn-ver-detalhes,.service-card-cta,.cta-button,.admin-btn-primary,.admin-btn-danger,.sv-cookie-button):focus-visible { outline: 3px solid #e0c200; outline-offset: 3px; }
body :is(.btn-hero-secondary,.btn-secondary,.landing-button--ghost,.sv-cookie-button-light) { --sv-button-gradient:linear-gradient(180deg,#fff 0%,#f9edef 65%,#efd7dc 100%); --sv-button-text:#930402; --sv-button-border:#d7aab1; text-shadow:none; }
body #contato.section-cta .btn-primary { --sv-button-gradient:linear-gradient(180deg,#ffe87c 0%,#f7ce03 52%,#d8a900 100%); --sv-button-text:#0e000a; --sv-button-border:#ffed99; text-shadow:none; }
body a.btn-calcular-main[href*="wa.me"],body .whatsapp-float { --sv-button-gradient:linear-gradient(180deg,#32df84 0%,#18ab57 55%,#087b3a 100%); --sv-button-border:#51e696; }
body .whatsapp-float { background-image:var(--sv-button-gradient) !important; border:1px solid var(--sv-button-border); box-shadow:inset 0 1px 0 #ffffff50,0 5px 18px #075e5440; }

.sv-cookie-panel,.sv-cookie-reopen,.sv-cookie-map-placeholder { font-family:Inter,Arial,sans-serif; box-sizing:border-box; }
.sv-cookie-panel[hidden],.sv-cookie-settings[hidden],[data-cookie-map-placeholder][hidden],iframe[data-cookie-src][hidden] { display:none !important; }
.sv-cookie-panel { position:fixed; z-index:100000; left:22px; bottom:22px; width:480px; max-width:calc(100vw - 44px); max-height:85vh; max-height:85svh; overflow:auto; padding:25px; border:1px solid #eadde0; border-radius:16px; color:#33282e; background:#fff; box-shadow:0 12px 60px #0e000a33; text-align:left; line-height:1.6; }
.sv-cookie-heading { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.sv-cookie-panel h2 { margin:0; font:700 20px/1.3 Inter,Arial,sans-serif; color:#241b20; text-transform:none; letter-spacing:-.02em; }
.sv-cookie-panel p { margin:0 0 10px; font-size:14px; line-height:1.65; color:#55474e; }
.sv-cookie-policy { font-size:12px; color:#930402; text-decoration:underline; text-underline-offset:3px; }
.sv-cookie-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.sv-cookie-button { cursor:pointer; display:inline-flex; align-items:center; justify-content:center; padding:11px 13px; font:600 12px/1.3 Inter,Arial,sans-serif; flex:1; white-space:nowrap; min-height:40px; }
.sv-cookie-settings { margin-top:18px; border-top:1px solid #eee3e6; padding-top:16px; }
.sv-cookie-panel h3 { font:700 15px/1.5 Inter,Arial,sans-serif; color:#33282e; margin:0 0 10px; text-transform:none; letter-spacing:normal; }
.sv-cookie-option { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:12px 0; border-top:1px solid #f2ecee; font-size:13px; cursor:pointer; }
.sv-cookie-option strong { display:block; color:#33282e; font-weight:600; }
.sv-cookie-option small { display:block; color:#76656e; line-height:1.5; margin-top:3px; font-size:12px; }
.sv-cookie-option input { width:19px; height:19px; accent-color:#a71d2a; flex-shrink:0; cursor:pointer; }
.sv-cookie-settings > .sv-cookie-button { width:100%; margin-top:12px; }
.sv-cookie-reopen { display:block; border:0; background:none; color:#76656e; margin:14px auto; padding:6px 12px; font-size:12px; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.footer .sv-cookie-footer-link { color:inherit; background:none; border:0; font:inherit; cursor:pointer; padding:0; text-align:left; }
.footer .sv-cookie-footer-link:hover { color:#dc3545; }
.sv-cookie-map-placeholder { min-height:260px; padding:35px 25px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; text-align:center; background:#f4f0f1; color:#55474e; border-radius:12px; font-size:14px; }
.sv-cookie-map-placeholder button { padding:11px 18px; font-weight:600; cursor:pointer; }
.sv-cookie-panel button:focus-visible,.sv-cookie-panel a:focus-visible,.sv-cookie-reopen:focus-visible { outline:3px solid #a71d2a; outline-offset:3px; }
@media(max-width:540px) { .sv-cookie-panel { left:12px; bottom:12px; width:calc(100vw - 24px); max-width:none; padding:20px; } .sv-cookie-actions { gap:7px; } .sv-cookie-button { padding:10px 11px; } .sv-cookie-actions .sv-cookie-button-light { flex-basis:100%; } }
@media(prefers-reduced-motion:reduce) { body :is(.btn,.btn-primary,.landing-button,.elementor-button,.sv-cookie-button) { transition:none; } }
