/* Shared consent controls and targeted improvements, independent of page theme. */
.ew-consent,.ew-consent *,.ew-cookie-settings{box-sizing:border-box}
.ew-consent{position:fixed;z-index:10000;right:20px;bottom:66px;width:min(620px,calc(100vw - 40px));max-height:calc(100dvh - 90px);overflow:auto;padding:24px;background:#fff;color:#10232c;border:1px solid #b7c7ce;border-radius:14px;box-shadow:0 12px 55px #051f2a40;font:16px/1.5 "Segoe UI",Arial,sans-serif;text-align:left}
.ew-consent[hidden]{display:none!important}.ew-consent-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.ew-consent h2{margin:0 0 12px;color:#082936;font-size:23px;line-height:1.3;letter-spacing:normal}.ew-consent p{margin:0 0 12px;font-size:16px;color:#10232c}.ew-consent a{color:#08665e;text-decoration:underline}.ew-consent fieldset{margin:16px 0;padding:12px;border:1px solid #b7c7ce;border-radius:8px}.ew-consent legend{width:auto;margin:0;padding:0 6px;border:0;color:#10232c;font-size:16px;font-weight:600}.ew-consent label{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:16px;font-weight:400}.ew-consent input{width:20px;height:20px;margin:0;flex:0 0 auto;accent-color:#08756d}.ew-consent .ew-consent-note{font-size:13px;color:#405963}.ew-consent-actions{display:flex;flex-wrap:wrap;gap:10px}.ew-consent button,.ew-cookie-settings{min-height:44px;padding:10px 14px;color:#fff;background:#082936;border:2px solid #082936;border-radius:7px;font:600 14px/1.3 "Segoe UI",Arial,sans-serif;cursor:pointer}.ew-consent-actions button{flex:1 1 155px}.ew-consent-actions button:hover,.ew-cookie-settings:hover{background:#174e61}.ew-consent .ew-consent-close{flex:0 0 44px;padding:3px;color:#10232c;background:#fff;border-color:#b7c7ce;font-size:27px;line-height:1}.ew-cookie-settings{position:fixed;z-index:9999;left:12px;bottom:12px;box-shadow:0 3px 15px #051f2a25}
.ew-consent :focus-visible,.ew-cookie-settings:focus-visible,[data-ew-cookie-settings]:focus-visible{outline:3px solid #b84c00;outline-offset:3px}
.site-footer .footer-bottom div,.ew-footer .ew-footer-bottom div{flex-wrap:wrap}.site-footer [data-ew-cookie-settings],.ew-footer [data-ew-cookie-settings]{padding:0;color:inherit;background:transparent;border:0;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:32px}
body.ew-has-global-menu .cta-inner>*,body.ew-has-global-menu .hero-layout>*,body.ew-has-global-menu .footer-links>div{min-width:0}
body.ew-has-global-menu .cta-inner .button{white-space:normal;text-align:center;overflow-wrap:anywhere}
body.ew-has-global-menu a:focus-visible,body.ew-has-global-menu button:focus-visible,body.ew-has-global-menu input:focus-visible,body.ew-has-global-menu textarea:focus-visible,body.ew-has-global-menu select:focus-visible{outline:3px solid #b84c00;outline-offset:3px}
.ew-policy{padding-block:44px 90px;max-width:880px}.ew-policy h1{font-size:clamp(2rem,5vw,3rem)}.ew-policy h2{font-size:1.5rem;margin-top:32px}.ew-policy p,.ew-policy li{font-size:16px;line-height:1.7}.ew-policy a{text-decoration:underline;text-underline-offset:3px}.ew-policy table{width:100%;border-collapse:collapse;margin-block:20px;font-size:15px}.ew-policy th,.ew-policy td{padding:12px;border:1px solid #b7c7ce;text-align:left;vertical-align:top;overflow-wrap:anywhere}.ew-policy th{background:#edf4f2}.ew-table-scroll{max-width:100%;overflow:auto}.ew-table-scroll:focus-visible{outline:3px solid #b84c00;outline-offset:3px}
@media(max-width:1020px){body.ew-has-global-menu .cta-inner{flex-wrap:wrap;gap:2rem}body.ew-has-global-menu .cta-inner>div{max-width:100%}}
@media(max-width:620px){.ew-consent{right:12px;bottom:66px;width:calc(100vw - 24px);padding:18px;max-height:calc(100dvh - 90px)}.ew-consent h2{font-size:20px}.ew-consent-actions{flex-direction:column}.ew-consent-actions button{flex:auto;width:100%}.ew-policy{padding-inline:16px}.site-footer .footer-links,.ew-footer .ew-footer-links{gap:24px 16px}.site-footer .footer-links a,.ew-footer .ew-footer-links a{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){body.ew-has-global-menu{scroll-behavior:auto!important}body.ew-has-global-menu *,body.ew-has-global-menu *:before,body.ew-has-global-menu *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.ew-media-placeholder{padding:24px;border:1px solid #b7c7ce;border-radius:10px;background:#f2f7f5;color:#10232c;font:16px/1.5 Segoe UI,Arial,sans-serif}.ew-media-placeholder[hidden],iframe[data-ew-consent][hidden]{display:none!important}.ew-media-placeholder button{min-height:44px;padding:10px 16px;border:0;border-radius:6px;background:#082936;color:#fff;cursor:pointer}.ew-media-placeholder button:focus-visible{outline:3px solid #b84c00;outline-offset:3px}
/* Policy pages use pixel bounds because the legacy Bootstrap root is 10px. */
.ew-policy h1{font-size:clamp(30px,5vw,44px);line-height:1.15}.ew-policy h2{font-size:23px;line-height:1.25}.ew-policy{padding-block:48px 90px}
body.ew-has-global-menu>.skip-link{position:fixed;top:-200px;left:12px;z-index:9998;padding:12px 18px;background:#fff;color:#082936;border:2px solid #082936;border-radius:6px}
body.ew-has-global-menu>.skip-link:focus{top:92px}
#frmMeteoData #mapid{width:100%!important;max-width:100%;min-width:0}
#frmMeteoData .leaflet-control-attribution{max-width:100%;white-space:normal}
.link-button{padding:0;color:#08665e;background:transparent;border:0;font:inherit;text-decoration:underline;cursor:pointer}
@media(max-width:620px){#frmMeteoData .control-group>.form-group{float:none;width:100%;padding:8px 4px}#frmMeteoData #mapid{height:300px!important}#frmMeteoData .control-group>.form-group>input,#frmMeteoData .control-group>.form-group>select{width:100%}#frmMeteoData label{overflow-wrap:anywhere}}

footer .text-right>a,footer .text-right>[data-ew-cookie-settings]{display:inline-block;margin:4px 6px}body.ew-has-global-menu :focus-visible{box-shadow:0 0 0 6px #fff}

/* Clear controls belong to light calculator cards, rather than the dark hero. */
.tool-actions .button-ghost{color:#082936;background:#fff;border-color:#506772}
.tool-actions .button-ghost:hover,.tool-actions .button-ghost:focus-visible{color:#082936;background:#e3eeeb;border-color:#082936}
.tool-card [aria-invalid="true"],#contactForm [aria-invalid="true"]{border:2px solid #a32929}
.tool-card .tool-message[role="alert"]{border-left:4px solid #a32929}
#contactForm .help-block:not(:empty){margin-top:8px;font-size:14px;line-height:1.5}
