/* Ajustes da versão estática. Os demais CSS preservam o layout original. */
html { scroll-behavior: smooth; }
.privacy-banner { position: fixed; right: 20px; bottom: 20px; width: min(526px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); overflow-y: auto; padding: 22px 20px 18px; border-radius: 12px; background: #fff; color: #333; box-shadow: 0 6px 30px #0004; z-index: 2000; font: 13px/1.5 Poppins, Arial, sans-serif; }
.privacy-banner h2 { font: 500 16px/1.5 Poppins, Arial, sans-serif; text-align: center; margin: 0 24px 22px; }
.privacy-banner p { font: inherit; margin: 0 0 20px; }
.privacy-close { position: absolute; right: 12px; top: 10px; border: 0; padding: 2px 8px; background: transparent; color: #222; font: bold 28px/1.2 Arial, sans-serif; }
.privacy-actions { display: flex; gap: 10px; }
.privacy-actions button, .privacy-save { flex: 1; padding: 11px 8px; border: 1px solid #e9e9e9; border-radius: 6px; background: #f7f7f7; color: #333; font: 500 14px/1.4 Poppins, Arial, sans-serif; cursor: pointer; }
.privacy-actions [data-consent="accept"], .privacy-save { background: #1e73be; border-color: #1e73be; color: white; }
.privacy-save { width: 100%; margin-top: 10px; }
.privacy-policy { display: block; text-align: center; color: #1468ad !important; text-decoration: underline; margin-top: 15px; }
.privacy-options label { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid #eee; }
.privacy-options small { display: block; font-size: 12px; margin-top: 5px; }
.privacy-options input { width: 20px; height: 20px; flex-shrink: 0; accent-color: #1e73be; }
.privacy-options p { font-size: 12px; margin: 12px 0; }
.privacy-reopen { position: fixed; left: 16px; bottom: 14px; padding: 8px 12px; border: 1px solid #ddd; border-radius: 6px; background: white; color: #333; font: 12px/1.4 Arial, sans-serif; box-shadow: 0 2px 8px #0002; z-index: 950; }
@media(max-width: 480px) { .privacy-banner { right: 16px; bottom: 16px; padding: 20px 16px 16px; } .privacy-actions { flex-wrap: wrap; } .privacy-actions button { min-width: 100px; white-space: normal; } .privacy-actions [data-consent="preferences"] { flex-basis: 100%; } }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #14743f !important; outline-offset: 4px; }
.skip-link { position: fixed; top: -100px; left: 12px; z-index: 100000; background: #fff; color: #135333; padding: 12px 20px; }
.skip-link:focus { top: 12px; }
.elementor-invisible { visibility: visible !important; }
a[href^="mailto:"], .elementor-widget-text-editor, .elementor-location-footer .elementor-icon-list-text { overflow-wrap: anywhere; }
.elementor-location-footer .elementor-icon-list-item a { min-width: 0; }
.elementor-nav-menu--main .menu-item-has-children { position: relative; }
.elementor-nav-menu--main .sub-menu { display: none; position: absolute; top: 100%; left: 0; width: max-content; min-width: 250px; max-width: min(390px, 90vw); z-index: 1000; box-shadow: 0 8px 24px #0002; }
.elementor-nav-menu--main .site-submenu-open > .sub-menu { display: block; }
.elementor-nav-menu .sub-menu a { white-space: normal; }
.site-submenu-arrow { margin-left: 5px; }
nav.elementor-nav-menu--dropdown:not(.site-menu-open) { display: none !important; }
nav.elementor-nav-menu--dropdown.site-menu-open { display: block !important; max-height: 75vh !important; overflow: auto; transform: none !important; }
nav.elementor-nav-menu--dropdown .sub-menu { display: none; position: static; width: 100%; }
nav.elementor-nav-menu--dropdown .site-submenu-open > .sub-menu { display: block; }
.elementor-toggle .elementor-tab-content.elementor-active { display: block; }
.elementskit-card .collapse.show { display: block; }
.site-dialog { border: 0; border-radius: 8px; padding: 30px 12px 14px; width: min(620px, calc(100% - 32px)); max-height: 90vh; overflow: auto; color: #303030; background: white; box-shadow: 0 20px 80px #0005; }
.site-dialog::backdrop { background: #0009; }
.site-dialog .elementor-location-popup { display: block !important; }
.dialog-close { position: absolute; right: 9px; top: 2px; border: 0; font-size: 30px; padding: 0 10px; background: white; color: #333; z-index: 2; }
.form-note, .form-status { font: 13px/1.6 Arial, sans-serif; margin-top: 15px; width: 100%; color: #454545; }
.form-status:empty { display: none; }
.form-status[data-state="error"] { color: #9a2020; }
.form-status[data-state="success"] { color: #176534; }
.elementor-form button:disabled { cursor: wait; opacity: .65; }
.form-trap { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-status a { text-decoration: underline; color: #165e35; }
.copy-message { display: block; font: inherit; margin-top: 10px; border: 1px solid #165e35; color: #165e35; background: #fff; padding: 8px 12px; }
.message-fallback { width: 100%; min-height: 160px; }
.site-whatsapp { position: fixed; bottom: 20px; right: 20px; width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: #168343; color: white !important; z-index: 900; box-shadow: 0 3px 12px #0003; }
.site-whatsapp svg { width: 34px; height: 34px; }
.site-whatsapp:hover { background: #116b36; transform: translateY(-2px); }
.map-placeholder { min-height: 310px; padding: 35px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 14px; text-align: center; background: #f1f5f1; color: #354f3b; }
.map-placeholder button { color: white; background: #21803d; border: 0; padding: 12px 20px; }
.elementor-widget-google_maps iframe { width: 100%; min-height: 310px; border: 0; }
@media (max-width: 1024px) {
 .elementor-widget-nav-menu { position: relative; }
 .elementor-widget-nav-menu .elementor-menu-toggle { color: #fff; background: #006d40; min-width: 44px; min-height: 44px; margin-left: auto; margin-right: 0; }
 nav.elementor-nav-menu--dropdown.site-menu-open { position: absolute; top: 100%; right: 0; width: min(92vw, 380px); z-index: 1000; box-shadow: 0 8px 25px #0002; }
}
@media (max-width: 767px) {
 .elementor-location-footer .elementor-top-column { width: 100% !important; }
 .elementor-location-footer .elementor-widget-wrap { padding: 16px !important; }
 .elementor-location-footer .elementor-icon-list-text { overflow-wrap: anywhere; }
 .elementor-location-footer .elementor-widget-site-logo img { width: 220px; max-width: 100%; }
 .site-whatsapp { width: 52px; height: 52px; right: 14px; bottom: 14px; }
 .site-dialog { padding: 32px 6px 12px; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 *, *::before, *::after { animation: none !important; transition: none !important; }
}
