.privacy-consent-hidden{display:none!important}
.privacy-consent-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:9999;margin:auto;max-width:1120px;border:1px solid rgba(149,183,225,.45);border-radius:26px;background:rgba(255,255,255,.97);box-shadow:0 22px 60px rgba(28,67,117,.2);backdrop-filter:blur(12px);font-family:"Nunito",system-ui,sans-serif;color:#18345f}
.privacy-consent-banner__inner{display:grid;gap:18px;padding:20px 22px}
.privacy-consent-banner h2{margin:0;font-size:1.15rem;line-height:1.25;font-weight:800;color:#173261}
.privacy-consent-banner p{margin:7px 0 0;font-size:.94rem;line-height:1.55;color:#4b617e}
.privacy-consent-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.privacy-btn{min-height:44px;border-radius:999px;padding:0 18px;border:1px solid #bed7f5;background:#fff;color:#245a99;font-weight:800;cursor:pointer}
.privacy-btn:hover{background:#f0f7ff}.privacy-btn--primary{border-color:#2e7fe6;background:#2e7fe6;color:#fff}.privacy-btn--primary:hover{background:#1768ce}.privacy-btn--plain{border-color:transparent;background:transparent;color:#49627e;padding-inline:8px}
.privacy-consent-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(20,43,75,.38)}
.privacy-consent-panel{width:min(620px,100%);max-height:min(760px,92vh);overflow:auto;border-radius:28px;background:#fff;box-shadow:0 24px 80px rgba(15,38,70,.28);font-family:"Nunito",system-ui,sans-serif;color:#18345f}
.privacy-consent-panel__head{display:flex;justify-content:space-between;gap:18px;padding:24px 24px 12px}.privacy-consent-panel__head h2{margin:0;font-size:1.45rem;font-weight:800}.privacy-close{height:40px;width:40px;border:0;border-radius:50%;background:#f0f6fd;color:#37587d;font-size:1.35rem;cursor:pointer}
.privacy-consent-panel__body{padding:8px 24px 24px}.privacy-consent-panel__body>p{margin:0 0 18px;line-height:1.6;color:#526983}
.privacy-option{display:grid;grid-template-columns:1fr auto;gap:16px;padding:17px 0;border-top:1px solid #edf1f6}.privacy-option h3{margin:0;font-size:1rem;font-weight:800}.privacy-option p{margin:5px 0 0;font-size:.9rem;line-height:1.5;color:#62758d}.privacy-state{font-size:.78rem;font-weight:800;color:#6f9e28;align-self:start;padding-top:3px}
.privacy-switch{position:relative;display:inline-flex;align-items:center}.privacy-switch input{position:absolute;opacity:0;pointer-events:none}.privacy-switch span{width:48px;height:28px;border-radius:999px;background:#cad5e2;position:relative;cursor:pointer;transition:.2s}.privacy-switch span:after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.15);transition:.2s}.privacy-switch input:checked+span{background:#2e7fe6}.privacy-switch input:checked+span:after{transform:translateX(20px)}
.privacy-consent-panel__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:18px;border-top:1px solid #edf1f6}.external-map-placeholder{min-height:320px;display:flex;align-items:center;justify-content:center;padding:28px;text-align:center;background:linear-gradient(145deg,#edf6ff,#f9fcff)}.external-map-placeholder__box{max-width:460px}.external-map-placeholder h3{margin:0;color:#173261;font-size:1.25rem;font-weight:800}.external-map-placeholder p{margin:10px 0 18px;color:#536b88;line-height:1.55}
@media(min-width:800px){.privacy-consent-banner__inner{grid-template-columns:1fr auto;align-items:center}.privacy-consent-actions{justify-content:flex-end}}
@media(max-width:520px){.privacy-consent-banner{left:10px;right:10px;bottom:10px;border-radius:22px}.privacy-consent-actions{display:grid;grid-template-columns:1fr}.privacy-btn{width:100%}.privacy-consent-panel__actions{display:grid}.privacy-consent-panel__actions .privacy-btn{width:100%}}
@media(max-width:359px){
  .privacy-consent-banner__inner{padding:16px}
  .privacy-consent-banner h2{font-size:1.05rem}
  .privacy-consent-banner p{font-size:.86rem}
  .privacy-consent-modal{padding:10px}
  .privacy-consent-panel__head{padding:18px 18px 10px}
  .privacy-consent-panel__body{padding:6px 18px 18px}
}
