:root{
  --cc-navy:#002a52; --cc-blue:#0054a0; --cc-green:#99ca52; --cc-green-d:#7fae3a;
  --cc-muted:#5b6f84; --cc-line:#e3ebf4; --cc-text:#12304f;
}

.bna-cc[hidden],.bna-cc-modal[hidden]{display:none!important}

.bna-cc{
  position:fixed;left:0;right:0;bottom:0;z-index:9000;
  padding:16px;
  background:transparent;pointer-events:none;
  font-family:"Outfit",ui-sans-serif,system-ui,sans-serif;
}
.bna-cc-in{
  pointer-events:auto;max-width:1120px;margin:0 auto;
  display:flex;align-items:center;gap:18px 24px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--cc-line);
  border-radius:16px;padding:18px 22px;
  box-shadow:0 18px 50px -20px rgba(0,42,82,.45);
}
.bna-cc-txt{flex:1 1 320px;min-width:260px}
.bna-cc-txt strong{display:block;font-size:16px;color:var(--cc-navy);margin-bottom:4px}
.bna-cc-txt p{margin:0;font-size:13.5px;line-height:1.55;color:var(--cc-muted)}
.bna-cc-txt a{color:var(--cc-blue);text-decoration:underline}
.bna-cc-btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

.bna-cc .btn,.bna-cc-dialog .btn{
  font-family:inherit;font-weight:700;font-size:14px;cursor:pointer;
  padding:11px 18px;border-radius:100px;border:1.5px solid transparent;transition:.18s;
  display:inline-flex;align-items:center;gap:8px;line-height:1;
}
.bna-cc .btn-primary,.bna-cc-dialog .btn-primary{background:var(--cc-green);color:#fff;border-color:var(--cc-green)}
.bna-cc .btn-primary:hover,.bna-cc-dialog .btn-primary:hover{background:var(--cc-green-d);border-color:var(--cc-green-d)}
.bna-cc .btn-ghost,.bna-cc-dialog .btn-ghost{background:#fff;color:var(--cc-navy);border-color:var(--cc-line)}
.bna-cc .btn-ghost:hover,.bna-cc-dialog .btn-ghost:hover{border-color:#b9cde2;background:#f4f8fc}

.bna-cc-modal{position:fixed;inset:0;z-index:9100;display:flex;align-items:center;justify-content:center;padding:18px}
.bna-cc-overlay{position:absolute;inset:0;background:rgba(0,20,42,.55);backdrop-filter:blur(2px)}
.bna-cc-dialog{
  position:relative;width:100%;max-width:520px;max-height:90vh;overflow:auto;
  background:#fff;border-radius:18px;padding:26px 26px 22px;
  box-shadow:0 30px 80px -24px rgba(0,42,82,.6);
  font-family:"Outfit",ui-sans-serif,system-ui,sans-serif;
}
.bna-cc-dialog h3{margin:0 0 6px;font-size:21px;color:var(--cc-navy)}
.bna-cc-lead{margin:0 0 18px;font-size:13.5px;line-height:1.55;color:var(--cc-muted)}
.bna-cc-x{
  position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:9px;border:0;
  background:#f4f8fc;color:var(--cc-navy);cursor:pointer;display:grid;place-items:center;font-size:18px;transition:.15s;
}
.bna-cc-x:hover{background:#e7eff8}

.bna-cc-cat{border:1px solid var(--cc-line);border-radius:13px;padding:14px 16px;margin-bottom:12px}
.bna-cc-cat-h{display:flex;align-items:center;gap:12px;margin-bottom:5px}
.bna-cc-cat-h strong{font-size:15px;color:var(--cc-navy)}
.bna-cc-cat p{margin:0;font-size:12.5px;line-height:1.5;color:var(--cc-muted)}
.bna-cc-always{margin-left:auto;font-size:12px;font-weight:600;color:var(--cc-green-d)}

.bna-cc-sw{position:relative;display:inline-block;width:42px;height:24px;flex:0 0 auto}
.bna-cc-sw input{position:absolute;opacity:0;width:0;height:0}
.bna-cc-slider{position:absolute;inset:0;background:#cdd9e6;border-radius:100px;transition:.2s;cursor:pointer}
.bna-cc-slider::before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.bna-cc-sw input:checked + .bna-cc-slider{background:var(--cc-green)}
.bna-cc-sw input:checked + .bna-cc-slider::before{transform:translateX(18px)}
.bna-cc-sw input:focus-visible + .bna-cc-slider{outline:2px solid var(--cc-blue);outline-offset:2px}

.bna-cc-dialog .bna-cc-btns{margin-top:4px}
.bna-cc-link{margin:14px 0 0;font-size:12.5px}
.bna-cc-link a{color:var(--cc-blue);text-decoration:underline}

.bna-map-ph{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  width:100%;height:100%;min-height:380px;padding:28px;text-align:center;
  background:#eef3f8;border:1px dashed #c9d6e3;border-radius:inherit;color:var(--cc-muted);
}
.bna-map-ph i{font-size:34px;color:var(--cc-blue)}
.bna-map-ph p{margin:0;font-size:14px;max-width:34ch;line-height:1.5}

@media(max-width:620px){
  .bna-cc{padding:10px}
  .bna-cc-in{padding:16px 16px;gap:14px}
  .bna-cc-btns{width:100%}
  .bna-cc-btns .btn{flex:1 1 auto;justify-content:center}
}
