html { scroll-behavior: smooth; }
body { overflow-x: clip; }
.elementor-invisible { visibility: visible !important; }
img { content-visibility: auto; }
[hidden] { display: none !important; }
.form-status { width: 100%; margin: 12px 0 0; color: #eee38e; font-size: 15px; line-height: 1.5; }
.form-status:empty { display: none; }
.form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; }
button:disabled { opacity: .65; cursor: wait; }
.elementor-field-type-submit button { min-height: 48px; }
.elementor-field-type-tel input { min-width: 0; }
.survey-navigation { display: flex; gap: 12px; width: 100%; align-items: center; margin: 24px 0 8px; }
.survey-navigation button { border: 1px solid #dacb73; border-radius: 6px; background: #dacb73; color: #111; padding: 12px 20px; font: inherit; cursor: pointer; }
.survey-navigation button:first-child { background: transparent; color: #dacb73; }
.survey-progress { color: #c9c7bf; font-size: 14px; margin: 0 0 20px; }
form[data-campaign-form="survey"] .elementor-field-group { width: 100%; }
form[data-campaign-form="survey"] .elementor-field-option { display: flex; align-items: flex-start; gap: 10px; }
form[data-campaign-form="survey"] input[type="radio"],
form[data-campaign-form="survey"] input[type="checkbox"] { flex: 0 0 auto; margin-top: 6px; accent-color: #dacb73; }
form[data-campaign-form="survey"] label { cursor: pointer; }
:focus-visible { outline: 2px solid #eee38e !important; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
