/* Diamond Valley Fitness Research — dark / lime, scoped to the shortcodes. */
.dvfr{--dvfr-accent:#B8F500;--dvfr-accent-hover:#D0FF36;--dvfr-text:#F4F5F2;--dvfr-border:#3B4140;--dvfr-muted:#B0B6B3;--dvfr-surface:#171A19;--dvfr-panel:#0E1110;--dvfr-field:#111514;--dvfr-error:#FF9B9B;color:var(--dvfr-text);font-family:inherit;max-width:1460px;width:100%;margin:0 auto;line-height:1.5;scroll-margin-top:75px;color-scheme:dark}
.dvfr *, .dvfr *::before,.dvfr *::after{box-sizing:border-box}
.dvfr-form,.dvfr-inquiry{background:linear-gradient(135deg,#141817 0%,#090C0B 72%);border:1px solid #444A47;border-radius:10px;padding:clamp(22px,4.5vw,52px);box-shadow:0 15px 55px rgba(0,0,0,.22)}
.dvfr h2,.dvfr h3,.dvfr legend,.dvfr label,.dvfr strong{color:var(--dvfr-text)}
.dvfr h2{font-size:clamp(1.7rem,3.3vw,2.55rem);font-weight:800;letter-spacing:-.025em;line-height:1.12;margin:0 0 12px;text-transform:uppercase}
.dvfr h3{font-size:1.25rem;font-weight:750;margin:10px 0}
.dvfr p{margin:0 0 20px;color:var(--dvfr-muted)}
.dvfr-step-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}
.dvfr-step-eyebrow{font-size:.8rem;font-weight:750;letter-spacing:.16em;color:var(--dvfr-muted);text-transform:uppercase;margin:0}
.dvfr-step-label{font-size:.83rem;font-weight:750;letter-spacing:.075em;color:var(--dvfr-text)!important;text-transform:uppercase;margin:0!important;white-space:nowrap}
.dvfr-progress{height:5px;background:#303633;border-radius:99px;overflow:hidden;margin:0 0 30px}.dvfr-progress-bar{height:100%;background:var(--dvfr-accent);transition:width .25s ease}
.dvfr-step{outline:0}.dvfr-intro{max-width:76ch}
.dvfr-field{border:0;padding:0;margin:0 0 29px;min-width:0}
.dvfr-label{display:block;font-size:1.04rem;font-weight:700;line-height:1.4;margin:0 0 13px;color:var(--dvfr-text)}
.dvfr-label small{font-size:.83rem;color:var(--dvfr-muted);font-weight:400;display:block;margin:5px 0 0}
.dvfr-required{color:var(--dvfr-accent)}.dvfr-optional{font-size:.82em;color:var(--dvfr-muted);font-weight:400}
.dvfr-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dvfr-check{display:flex;gap:12px;align-items:flex-start;margin:0!important;cursor:pointer;padding:13px 15px;border:1px solid #434946;border-radius:5px;background:rgba(8,11,10,.75);font-size:.96rem;line-height:1.45;color:var(--dvfr-text)!important;min-width:0;transition:background-color .16s,border-color .16s}
.dvfr-check span{color:inherit!important}.dvfr-check:hover{border-color:#92C600;background:#191F14}
.dvfr-check input[type=checkbox],.dvfr-check input[type=radio]{appearance:auto;flex:none;margin:3px 0 0!important;width:18px;height:18px;accent-color:var(--dvfr-accent);cursor:pointer}
.dvfr-check:has(input:checked){border-color:var(--dvfr-accent);background:#273319}
.dvfr-check:has(input:disabled){opacity:.5;cursor:not-allowed}
.dvfr input[type=text],.dvfr input[type=email],.dvfr input[type=tel],.dvfr input:not([type]),.dvfr select,.dvfr textarea{width:100%;max-width:100%;font-family:inherit;font-size:16px!important;line-height:1.4;border:1px solid #666C68!important;color:var(--dvfr-text)!important;background:#141817!important;border-radius:5px!important;min-height:49px;padding:12px 14px!important;box-shadow:none!important}
.dvfr input::placeholder,.dvfr textarea::placeholder{color:#969C98!important}.dvfr select option{background:#141817;color:#fff}.dvfr textarea{resize:vertical;min-height:110px}
.dvfr input:focus-visible,.dvfr textarea:focus-visible,.dvfr select:focus-visible,.dvfr button:focus-visible,.dvfr a:focus-visible{outline:3px solid var(--dvfr-accent)!important;outline-offset:3px}
.dvfr-actions{display:flex;justify-content:space-between;gap:14px;padding-top:25px;border-top:1px solid #333936;margin-top:23px}
.dvfr-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 27px!important;border-radius:5px!important;border:1px solid var(--dvfr-accent)!important;background:var(--dvfr-accent)!important;color:#080B08!important;font-family:inherit;font-size:1rem!important;font-weight:800!important;text-decoration:none!important;text-transform:uppercase;letter-spacing:.015em;cursor:pointer;line-height:1.2!important;box-shadow:none!important;transition:background-color .15s,border-color .15s}
.dvfr-btn:hover,.dvfr-btn:focus{background:var(--dvfr-accent-hover)!important;border-color:var(--dvfr-accent-hover)!important;color:#080B08!important}.dvfr-btn:disabled{opacity:.65;cursor:wait}
.dvfr-back{background:transparent!important;color:var(--dvfr-text)!important;border-color:#636A66!important}.dvfr-back:hover,.dvfr-back:focus{background:#252A27!important;border-color:#BDC4BE!important;color:#fff!important}
.dvfr-divider{border-top:1px solid #3F4641;margin:27px 0}
.dvfr-privacy{font-size:.84rem;margin:18px 0!important;line-height:1.55}.dvfr-privacy a{color:var(--dvfr-accent)!important;text-decoration:underline}
.dvfr-error{color:var(--dvfr-error);font-size:.86rem;margin-top:7px}.dvfr-error-text{color:var(--dvfr-error)!important}.dvfr-form-message{font-size:.93rem;margin:14px 0 0!important}
.dvfr-success{padding:clamp(22px,4vw,42px);background:#172213;border:1px solid #5C8123;border-radius:8px;text-align:center}.dvfr-success h2,.dvfr-success h3{color:#fff}.dvfr-success p{color:#C6D0C3}
.dvfr-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.dvfr-inquiry-intro{margin-bottom:25px}.dvfr-inquiry-intro p{margin:0 0 14px}.dvfr-inquiry-intro strong{color:#E6E9E4}
.dvfr-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.dvfr-inquiry .dvfr-field{margin-bottom:21px}
.dvfr .cf-turnstile{margin:18px 0}
.dvfr [hidden]{display:none!important}
@media (max-width:700px){.dvfr-options,.dvfr-grid{grid-template-columns:1fr}.dvfr-form,.dvfr-inquiry{padding:24px 17px;border-radius:7px}.dvfr-check{padding:13px 12px}.dvfr-step-heading{align-items:flex-start}.dvfr-actions{gap:10px}.dvfr-btn{padding:14px 18px!important}.dvfr h2{font-size:clamp(1.45rem,7vw,2rem)}}
@media (prefers-reduced-motion:reduce){.dvfr *{transition:none!important;scroll-behavior:auto!important}}

/* v1.2: accessible, comfortable typography across survey and inquiry forms.
   Scoped and explicit to override small Elementor/OceanWP inherited styles. */
.dvfr{font-size:18px;line-height:1.65}
.dvfr .dvfr-form,.dvfr .dvfr-inquiry,.dvfr.dvfr-inquiry{font-size:18px;line-height:1.65}
.dvfr h2{font-size:clamp(27px,3vw,38px)!important;line-height:1.18!important;letter-spacing:-.02em}
.dvfr h3{font-size:clamp(22px,2.25vw,27px)!important;line-height:1.3!important}
.dvfr p,.dvfr .dvfr-intro,.dvfr .dvfr-inquiry-intro p{font-size:18px!important;line-height:1.65!important}
.dvfr .dvfr-label,.dvfr legend.dvfr-label,.dvfr label.dvfr-label{font-size:20px!important;font-weight:700!important;line-height:1.45!important;margin-bottom:14px!important}
.dvfr .dvfr-label small{font-size:16px!important;line-height:1.5!important;margin-top:6px!important}
.dvfr .dvfr-step-eyebrow,.dvfr .dvfr-step-label{font-size:15px!important;line-height:1.45!important;letter-spacing:.07em}
.dvfr .dvfr-check,.dvfr label.dvfr-check,.dvfr .dvfr-check span{font-size:18px!important;line-height:1.5!important}
.dvfr .dvfr-check{padding:15px 16px;gap:13px;min-height:57px;align-items:center}
.dvfr .dvfr-check input[type=checkbox],.dvfr .dvfr-check input[type=radio]{width:21px;height:21px;margin:0!important}
.dvfr input[type=text],.dvfr input[type=email],.dvfr input[type=tel],.dvfr input:not([type]),.dvfr select,.dvfr textarea{font-size:18px!important;line-height:1.5!important;min-height:55px;padding:14px 16px!important}
.dvfr .dvfr-btn,.dvfr button.dvfr-btn{font-size:18px!important;line-height:1.35!important;min-height:56px;padding:15px 29px!important;font-weight:800!important}
.dvfr .dvfr-privacy,.dvfr .dvfr-form-message{font-size:16px!important;line-height:1.6!important}
.dvfr .dvfr-error{font-size:16px!important;line-height:1.5!important}
.dvfr .dvfr-optional{font-size:16px!important}
@media (max-width:700px){
 .dvfr{font-size:17px;line-height:1.6}
 .dvfr h2{font-size:clamp(25px,6vw,31px)!important}
 .dvfr .dvfr-label,.dvfr legend.dvfr-label,.dvfr label.dvfr-label{font-size:19px!important}
 .dvfr .dvfr-check,.dvfr label.dvfr-check,.dvfr .dvfr-check span{font-size:17px!important}
 .dvfr .dvfr-check{padding:14px 13px;min-height:56px}
 .dvfr p,.dvfr .dvfr-intro,.dvfr .dvfr-inquiry-intro p{font-size:17px!important}
 .dvfr .dvfr-step-eyebrow,.dvfr .dvfr-step-label{font-size:14px!important}
 .dvfr .dvfr-btn,.dvfr button.dvfr-btn{font-size:17px!important;padding:15px 19px!important;min-height:54px}
 .dvfr input[type=text],.dvfr input[type=email],.dvfr input[type=tel],.dvfr input:not([type]),.dvfr select,.dvfr textarea{font-size:17px!important}
}
