﻿/* Compact, isolated fixed UI. No document-flow re-layout or external assets. */
.cms-cookie-banner,.cms-cookie-dialog{box-sizing:border-box;font-family:inherit;font-size:14px;line-height:1.5;color:#222042;background:#fffefa;border:1px solid #d4dedf;border-radius:16px;box-shadow:0 6px 24px rgb(0 0 0 / .14);padding:24px;z-index:1000}
.cms-cookie-banner[hidden]{display:none}
.cms-cookie-banner{position:fixed;inset:auto 24px calc(24px + env(safe-area-inset-bottom,0px)) auto;width:460px;max-width:calc(100vw - 32px);max-height:calc(100svh - 48px - env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain}
.cms-cookie-banner #cookie-banner-title{font-family:inherit;font-size:30px;font-weight:600;line-height:1.15;letter-spacing:-.02em;margin:0 0 12px;color:inherit}
.cms-cookie-dialog #cookie-dialog-title{font-family:inherit;font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.02em;margin:0 40px 12px 0;color:inherit}
.cms-cookie-banner>p,.cms-cookie-dialog>p{font-size:14px;line-height:1.5;margin:0 0 12px}
.cms-cookie-banner>.cms-cookie-links{display:flex;flex-wrap:wrap;gap:0 12px;font-size:12px;line-height:1.4;margin-bottom:12px}
.cms-cookie-links a{color:#006d34;text-decoration:none;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center;max-width:100%;overflow-wrap:anywhere}
.cms-cookie-links a:is(:hover,:focus-visible){text-decoration:underline}
.cms-cookie-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cms-cookie-actions button,.cms-cookie-close{box-sizing:border-box;font-family:inherit;font-size:15px;font-weight:600;line-height:1.3;min-height:44px;padding:10px 12px;border:1px solid #78858e;border-radius:8px;color:#222042;background:transparent;cursor:pointer;white-space:normal;overflow-wrap:break-word;min-width:0}
.cms-cookie-actions button:hover{background:#edf3f2}
.cms-cookie-actions [data-cookie-action="accept"]{min-height:46px;color:#fff;background:#006d34;border-color:#006d34}
.cms-cookie-actions [data-cookie-action="accept"]:hover{background:#00572a;border-color:#00572a}
.cms-cookie-actions [data-cookie-action="reject"]{grid-column:1/-1;min-height:44px;padding:6px 8px;border:0;border-radius:0;box-shadow:none;background:transparent;color:#006d34;font-size:14px;font-weight:500;text-align:center;text-decoration:none;text-underline-offset:3px}
.cms-cookie-actions [data-cookie-action="reject"]:is(:hover,:focus-visible){background:transparent;text-decoration:underline}
.cms-cookie-dialog{width:460px;max-width:calc(100vw - 32px);max-height:calc(100svh - 32px);overflow:auto;overscroll-behavior:contain;margin:auto;position:fixed}
.cms-cookie-dialog::backdrop{background:rgb(20 28 61 / .45)}
.cms-cookie-dialog>label{display:flex;align-items:center;gap:12px;min-height:44px;margin:0 0 8px;font-weight:600}
.cms-cookie-dialog input{appearance:auto;box-sizing:border-box;flex:0 0 22px;width:22px;height:22px;margin:0;accent-color:#006d34}
.cms-cookie-close{position:absolute;right:12px;top:12px;width:44px;padding:4px;font-size:24px;line-height:1}
.cms-cookie-banner :is(button,a):focus-visible,.cms-cookie-dialog :is(button,a,input):focus-visible{outline:3px solid #222042;outline-offset:3px}
.cms-cookie-banner [data-cookie-error],.cms-cookie-dialog [data-cookie-error]{margin:12px 0 0;color:#8b2020;font-weight:600}
@media(max-width:767px){
 .cms-cookie-banner{--cms-cookie-bottom:var(--mobile-contact-bar-offset,0px);inset:auto 0 var(--cms-cookie-bottom);width:100%;max-width:100%;max-height:calc(100svh - var(--cms-cookie-bottom) - 16px);border-radius:16px 16px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px))}
 body:has([data-mobile-contact]:not([hidden])) .cms-cookie-banner{--cms-cookie-bottom:var(--mobile-contact-bar-offset,calc(var(--sav-mobile-contact-bar-height,calc(110px + env(safe-area-inset-bottom,0px))) + 8px));padding-bottom:16px}
 .cms-cookie-banner #cookie-banner-title{font-size:24px;margin-bottom:12px}
 .cms-cookie-dialog{padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px))}
 .cms-cookie-actions{grid-template-columns:minmax(0,1fr);gap:6px}
 .cms-cookie-actions button{min-height:46px}
 .cms-cookie-actions [data-cookie-action="reject"]{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.cms-cookie-dialog,.cms-cookie-banner{scroll-behavior:auto}}
