/* Kismetál Sátor – R24 consent UI. Host independent. */
#sator-consent-root [hidden], .sator-external-placeholder[hidden] { display:none!important; }
#sator-consent-root { color:#232341; font-family:Roboto,Arial,sans-serif; }
#sator-consent-root *,#sator-consent-root *::before,#sator-consent-root *::after { box-sizing:border-box; }
.sator-consent-opener { position:fixed; bottom:18px; left:18px; z-index:99990; width:52px; height:52px; display:flex; align-items:center; justify-content:center; color:white; background:#232341; border:2px solid white; border-radius:50%; box-shadow:0 5px 20px #0003; cursor:pointer; }
.sator-consent-opener:hover,.sator-consent-opener:focus-visible { background:#3b3b61; outline:3px solid #e0ce36; outline-offset:2px; }
.sator-consent-banner { position:fixed; left:0; bottom:0; z-index:99991; width:100%; box-sizing:border-box; display:flex; flex-wrap:wrap; align-items:center; gap:22px; justify-content:space-between; background:#fff; border-top:4px solid #e0ce36; box-shadow:0 -6px 32px #1c193b24; padding:20px max(22px, calc((100vw - 1260px)/2)); }
.sator-consent-banner__copy { flex:1 1 450px; max-width:760px; }
.sator-consent-banner__copy strong { font-size:20px; line-height:1.3; display:block; color:#232341; }
.sator-consent-banner__copy p { margin:7px 0 0; font-size:14px; line-height:1.6; color:#41415b; }
.sator-consent-banner__copy a,.sator-consent-dialog__foot a { color:#232341; text-decoration:underline; text-underline-offset:3px; }
.sator-consent-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.sator-consent-actions button,.sator-consent-dialog__buttons button { border:1.5px solid #232341; background:#fff; border-radius:6px; padding:11px 16px; font-size:14px; line-height:1.25; font-weight:700; color:#232341; cursor:pointer; min-height:45px; }
.sator-consent-actions .sator-consent-primary,.sator-consent-dialog__buttons .sator-consent-primary { background:#e0ce36; border-color:#d2bf19; color:#232341; }
.sator-consent-actions button:hover,.sator-consent-dialog__buttons button:hover { box-shadow:0 0 0 2px #e0ce3688; }
.sator-consent-backdrop { position:fixed; inset:0; z-index:99995; display:flex; align-items:center; justify-content:center; padding:22px; background:#0e122ac9; overflow:auto; }
.sator-consent-dialog { width:min(620px,100%); max-height:min(92vh,900px); overflow-y:auto; background:#fff; color:#232341; padding:28px 30px; border-radius:10px; box-shadow:0 20px 70px #0005; }
.sator-consent-dialog__head { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.sator-consent-dialog__head h2 { margin:0; font-size:25px; }
.sator-consent-dialog__head .sator-consent-close { font-size:30px; width:36px; height:36px; border:0; cursor:pointer; background:transparent; color:#232341; }
.sator-consent-dialog>p { font-size:14px; line-height:1.6; margin:10px 0 22px; }
.sator-consent-categories { border-top:1px solid #e6e6ea; }
.sator-consent-category { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 0; border-bottom:1px solid #e6e6ea; cursor:pointer; }
.sator-consent-category span:first-child { display:flex; flex-direction:column; gap:5px; }
.sator-consent-category strong { font-size:15px; }
.sator-consent-category small { font-size:13px; line-height:1.5; color:#56566d; }
.sator-consent-locked { flex-shrink:0; background:#f2f2f5; color:#45455d; border-radius:4px; padding:7px 9px; font-size:11px; }
.sator-consent-category input[type=checkbox] { flex:none; width:22px; height:22px; accent-color:#232341; cursor:pointer; }
.sator-consent-dialog__foot { display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; padding-top:24px; font-size:13px; }
.sator-consent-dialog__buttons { display:flex; flex-wrap:wrap; gap:8px; margin-left:auto; }
.sator-external-placeholder { display:flex; flex-direction:column; gap:12px; align-items:center; justify-content:center; min-height:130px; text-align:center; padding:25px 15px; color:#232341; background:#f4f4f5; font-family:Roboto,Arial,sans-serif; }
.contact-map .sator-external-placeholder { min-height:280px; }
.sator-external-placeholder button { border:1px solid #232341; background:transparent; color:#232341; font-weight:700; padding:8px 15px; border-radius:5px; cursor:pointer; }
.sator-footer-cookie-settings { padding:0; border:none; color:inherit; background:transparent; font:inherit; text-align:left; cursor:pointer; }
.sator-footer-cookie-settings:hover { color:#e0ce36; text-decoration:underline; }
@media(max-width:767px) {
 .sator-consent-banner { padding:18px 20px 80px; gap:15px; }
 .sator-consent-banner__copy { flex-basis:100%; }
 .sator-consent-actions { width:100%; }
 .sator-consent-actions button { flex:1 1 115px; }
 .sator-consent-dialog { padding:20px; }
 .sator-consent-dialog__buttons { margin-left:0; width:100%; }
 .sator-consent-dialog__buttons button { flex:1; }
 .sator-consent-opener { left:12px; bottom:12px; width:44px; height:44px; }
}
@media(prefers-reduced-motion:reduce) { #sator-consent-root * { scroll-behavior:auto!important; transition:none!important; } }
