/* EVENT86 r76 / Unified public interaction components.
   Scope excludes the detailed /contacts form and calculator configurators. */
:root{--ev-control-red:#f32335;--ev-control-ink:#151619;--ev-control-border:#d9d9db;--ev-control-gray:#75777e;--ev-control-ring:0 0 0 3px rgba(243,35,53,.13)}
/* Main navigation remains balanced after adding Presentations. */
.site-header :is(.nav-links,.nav-menu){column-gap:clamp(11px,1.18vw,20px)}
.site-header :is(.nav-links,.nav-menu) a[href="/presentations"].active{color:#fff;position:relative}
.site-header .nav-links a[href="/presentations"].active::after{content:"";position:absolute;bottom:-17px;left:0;right:0;height:2px;background:var(--ev-control-red)}
/* Shared four-field lead form in light or dark overlays and inline contact panels. */
.ev-form-unified{display:flex!important;flex-direction:column!important;gap:15px!important;max-width:100%;min-width:0}
.ev-form-unified .ev-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;margin:0}
.ev-form-unified .ev-field{display:flex!important;flex-direction:column!important;gap:7px!important;margin:0;min-width:0;align-items:stretch}
.ev-form-unified .ev-field-wide{grid-column:1/-1}
.ev-form-unified .ev-field>span{display:block;font-size:12px!important;font-weight:650!important;letter-spacing:0!important;line-height:1.35;color:#5b5d63!important}
.ev-form-unified .ev-field>span b{color:var(--ev-control-red);font:inherit}
.ev-form-unified .ev-field :is(input,textarea){appearance:none;width:100%!important;min-width:0;min-height:50px!important;height:auto!important;padding:13px 15px!important;border:1px solid var(--ev-control-border)!important;border-radius:12px!important;background:#f7f7f8!important;color:var(--ev-control-ink)!important;font:inherit!important;font-size:15px!important;line-height:1.4!important;box-shadow:none!important;outline:none!important;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
.ev-form-unified .ev-field textarea{min-height:100px!important;resize:vertical;max-height:260px}
.ev-form-unified .ev-field :is(input,textarea)::placeholder{color:#888b91!important;opacity:1}
.ev-form-unified .ev-field :is(input,textarea):hover{border-color:#b0b0b5!important}
.ev-form-unified .ev-field :is(input,textarea):focus-visible{border-color:var(--ev-control-red)!important;box-shadow:var(--ev-control-ring)!important;background:#fff!important}
.ev-form-unified .ev-field :is(input,textarea):disabled{opacity:.55;cursor:not-allowed}
.ev-form-unified .ev-field :is(input,textarea)[aria-invalid="true"]{border-color:var(--ev-control-red)!important}
.ev-form-unified .ev-consent{display:flex!important;flex-direction:row!important;gap:11px!important;align-items:flex-start!important;grid-column:auto!important;margin:0!important;font-size:12px!important;line-height:1.45!important;color:#68696f!important;font-weight:450!important}
.ev-form-unified .ev-consent>span{font-weight:inherit!important;font-size:inherit!important;line-height:inherit!important;color:inherit!important;letter-spacing:0!important}
.ev-form-unified .ev-consent input[type="checkbox"]{appearance:none;flex:none;display:block!important;width:19px!important;height:19px!important;min-width:19px!important;min-height:19px!important;margin:0!important;border-radius:6px!important;background:#fff!important;border:1px solid #bfc1c5!important;cursor:pointer;position:relative}
.ev-form-unified .ev-consent input[type="checkbox"]:checked{background:var(--ev-control-red)!important;border-color:var(--ev-control-red)!important}
.ev-form-unified .ev-consent input[type="checkbox"]:checked::after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ev-form-unified .ev-consent input[type="checkbox"]:focus-visible{outline:2px solid var(--ev-control-red)!important;outline-offset:3px}
.ev-form-unified .ev-consent a{color:inherit!important;text-decoration:underline;text-underline-offset:3px}
.ev-form-unified .ev-consent a:hover{color:var(--ev-control-red)!important}
.ev-form-unified .ev-submit{display:flex!important;align-items:center!important;justify-content:center!important;gap:15px!important;width:100%!important;min-height:52px!important;max-width:100%!important;padding:13px 20px!important;margin:0!important;border:1px solid var(--ev-control-red)!important;border-radius:999px!important;background:var(--ev-control-red)!important;color:#fff!important;font-size:15px!important;font-weight:720!important;line-height:1.2!important;cursor:pointer;white-space:normal}
.ev-form-unified .ev-submit:hover{background:#df1a2d!important;border-color:#df1a2d!important}
.ev-form-unified .ev-submit:focus-visible{outline:2px solid var(--ev-control-red)!important;outline-offset:3px}
.ev-form-unified .ev-submit:disabled{opacity:.6;cursor:wait}
.ev-form-unified .ev-arrow{display:inline-block!important;flex:none;color:inherit!important;transition:transform .24s ease!important;transform:rotate(0deg)!important;font-size:18px!important;font-weight:650!important;line-height:1}
.ev-form-unified .ev-submit:hover .ev-arrow,.ev-form-unified .ev-submit:focus-visible .ev-arrow{transform:rotate(45deg)!important}
.ev-form-unified .form-status{margin:0!important;font-size:13px!important;line-height:1.45!important;color:#62646a!important}
/* Modal consistency without repainting the already approved Contacts form. */
.modal:not(#menuModal) .modal-card:has(.ev-form-unified),
.overlay .dialog:has(.ev-form-unified){width:min(520px,calc(100% - 24px));max-width:520px;max-height:min(90dvh,780px);overflow-y:auto;overscroll-behavior:contain;border-radius:20px!important;padding:clamp(22px,2.5vw,32px)!important;background:#fff!important;color:var(--ev-control-ink)!important;box-shadow:0 24px 70px rgba(0,0,0,.2)!important}
.modal:not(#menuModal) .modal-card:has(.ev-form-unified) :is(h2,.eyebrow),
.overlay .dialog:has(.ev-form-unified) :is(h2,.section-kicker){color:var(--ev-control-ink)}
.modal:not(#menuModal) .modal-card:has(.ev-form-unified) :is(.close,.close-modal),
.overlay .dialog:has(.ev-form-unified) :is(.close,.close-modal){min-width:32px;min-height:32px;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.modal:not(#menuModal) .modal-card:has(.ev-form-unified) :is(.close,.close-modal):hover,
.overlay .dialog:has(.ev-form-unified) :is(.close,.close-modal):hover{background:#f0f0f1}
.modal:not(#menuModal) .modal-card:has(.ev-form-unified) .ev-field>span,
.overlay .dialog:has(.ev-form-unified) .ev-field>span{color:#52545a!important}
/* Standard text controls, search/select fields, and interactive focus (avoid calculated option chips). */
body:not(.ec-contacts-page) :is(.blog-search,.project-search,.site-search) :is(input,select),
body:not(.ec-contacts-page) :is(.filters,.filter-controls,.sort-control) select{accent-color:var(--ev-control-red);border-radius:999px;transition:border-color .2s ease,box-shadow .2s ease}
body :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select,button):focus-visible{outline:2px solid var(--ev-control-red);outline-offset:2px}
body :is(input,textarea,select):disabled{cursor:not-allowed;opacity:.6}
body :is(select,input[type="date"]){accent-color:var(--ev-control-red)}
/* Native city picker, cookie settings and their status controls retain original behavior. */
body :is(.city-button,.cookie-btn,.cookie-panel button):focus-visible{outline:2px solid var(--ev-control-red);outline-offset:3px}
@media(max-width:700px){
 .ev-form-unified .ev-form-grid{grid-template-columns:minmax(0,1fr)!important}
 .ev-form-unified .ev-field-wide{grid-column:1}
 .modal:not(#menuModal) .modal-card:has(.ev-form-unified),.overlay .dialog:has(.ev-form-unified){max-height:calc(100dvh - 24px);padding:22px!important}
}
@media(prefers-reduced-motion:reduce){.ev-form-unified *, .ev-form-unified *::after{transition:none!important}}

/* r76: shrink-proof, accessible consent checkbox on every embedded and modal form. */
body form[data-form] label.ev-consent{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;gap:11px!important;min-height:0!important;height:auto!important;max-width:100%!important;flex-wrap:nowrap!important;line-height:1.45!important}
body form[data-form] label.ev-consent > input[type="checkbox"]{box-sizing:border-box!important;appearance:none!important;-webkit-appearance:none!important;display:block!important;position:relative!important;flex:0 0 20px!important;width:20px!important;height:20px!important;min-width:20px!important;max-width:20px!important;min-height:20px!important;max-height:20px!important;aspect-ratio:1!important;margin:0!important;padding:0!important;transform:none!important;border:1.5px solid #aeb0b5!important;border-radius:6px!important;background:#fff!important;box-shadow:none!important;cursor:pointer!important}
body form[data-form] label.ev-consent > input[type="checkbox"]:checked{background:#f32335!important;border-color:#f32335!important}
body form[data-form] label.ev-consent > input[type="checkbox"]:checked::after{content:"";position:absolute;top:2px;left:6px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
body form[data-form] label.ev-consent > span{display:block!important;min-width:0!important;flex:1 1 auto!important;width:auto!important;font-size:12px!important;font-weight:450!important;line-height:1.45!important;letter-spacing:0!important;overflow-wrap:anywhere}
body .cta form[data-form] label.ev-consent > span{color:#e5e5e5!important}
body .cta form[data-form] label.ev-consent > span a{color:#fff!important;text-decoration:underline}
body form[data-form] label.ev-consent:has([data-ev-invalid]) > input[type="checkbox"]{border-color:#f32335!important;box-shadow:0 0 0 3px rgba(243,35,53,.14)!important}
body form[data-form] .ev-validation-message{display:block!important;position:relative!important;max-width:100%!important;margin:0!important;padding:9px 12px!important;border:1px solid rgba(243,35,53,.23)!important;border-radius:9px!important;background:#fff0f1!important;color:#af1224!important;font-size:12px!important;font-weight:600!important;line-height:1.4!important;box-shadow:none!important;opacity:1!important;visibility:visible!important}
body form[data-form] .ev-field[data-ev-invalid] :is(input,textarea,select){border-color:#f32335!important}
/* A city button opens an explicit chooser dialog rather than a dropdown. */
.site-header [data-city-open] .ev-city-edit{display:inline-flex;align-items:center;justify-content:center;flex:0 0 15px!important;width:15px;height:15px;opacity:.82;transition:color .2s,opacity .2s}
.site-header [data-city-open]:hover .ev-city-edit{color:#f32335;opacity:1}
.site-header .city-picker-button[data-city-open]::after{content:none!important;display:none!important}
.site-header [data-city-open] .ev-city-edit svg{display:block;width:15px;height:15px}
@media(max-width:700px){body form[data-form] label.ev-consent > input[type="checkbox"]{flex-basis:20px!important}}
