/* Fixes for running the Duda-built pages without Duda's runtime script. */

/* Duda hides animated elements until its script animates them in: show them, with a light fade */
#dmRoot [data-anim-desktop], #dmRoot [data-anim-extended],
.dmDesktopBody [data-anim-desktop], .dmDesktopBody [data-anim-extended] { visibility: visible !important; }
.js-anim { opacity: 0; transform: translateY(16px); transition: opacity .6s ease-out, transform .6s ease-out; }
.js-anim.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js-anim { opacity: 1; transform: none; transition: none; } }

/* Grid backgrounds Duda lazy-loads */
.flex-element.grid.lazy { background-image: var(--lazy-bg, none); }

/* Forms */
.dmform-wrapper form.is-sending input[type=submit] { opacity: .6; pointer-events: none; }
.dmforminput.invalid input, .dmforminput.invalid select, .dmforminput.invalid textarea { outline: 2px solid #b3261e; outline-offset: 1px; }
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Mobile drawer */
.layout-drawer-overlay.js-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.35); opacity: 0; pointer-events: none; transition: opacity .3s; z-index: 99; }
.layout-drawer_open .layout-drawer-overlay.js-overlay { opacity: 1; pointer-events: all; }

/* 404 page */
#dmRoot .p-404 { max-width: 760px; margin: 0 auto; padding: 140px 24px 120px; text-align: center; }
#dmRoot .p-404 h1 { font-size: 44px !important; line-height: 1.1 !important; margin: 0 0 16px !important; }
#dmRoot .p-404 p { font-size: 18px !important; line-height: 1.6 !important; margin: 0 0 10px !important; }
#dmRoot .p-404 a { text-decoration: underline; }

/* Duda's runtime clipped sideways overflow on #iscrollBody (full-bleed sections use 100vw, which includes the scrollbar) */
#iscrollBody { overflow-x: clip; }
