#dwtpv-cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:9999;
  background:var(--ink);color:var(--paper);
  border-top:2px solid var(--green);
  font-family:'Inter',sans-serif;
}
#dwtpv-cookie-banner.ccb-hidden{display:none;}
.ccb-inner{
  max-width:1180px;margin:0 auto;padding:18px 24px;
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
}
.ccb-text{font-size:13.5px;line-height:1.55;color:#C9D3D2;margin:0;flex:1;min-width:240px;}
.ccb-text a{color:var(--paper);text-decoration:underline;}
.ccb-actions{display:flex;gap:10px;flex-wrap:wrap;}
.ccb-btn{
  padding:11px 18px;border-radius:2px;font-weight:700;font-size:13px;
  border:1.5px solid var(--paper);cursor:pointer;font-family:'Inter';
}
.ccb-primary{background:var(--paper);color:var(--ink);}
.ccb-ghost{background:transparent;color:var(--paper);}
.ccb-panel{
  display:none;max-width:1180px;margin:0 auto;padding:0 24px 20px;
}
.ccb-panel.open{display:block;}
.ccb-panel-inner{background:var(--ink-soft);border:1px solid rgba(246,244,239,0.2);padding:18px 20px;}
.ccb-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(246,244,239,0.12);}
.ccb-row:last-of-type{border-bottom:none;}
.ccb-row b{display:block;font-size:13.5px;color:var(--paper);}
.ccb-row span{display:block;font-size:12px;color:#B8C4C2;margin-top:2px;}
.ccb-switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0;}
.ccb-switch input{opacity:0;width:0;height:0;}
.ccb-switch span{position:absolute;inset:0;background:#4A5C61;border-radius:20px;transition:.2s;cursor:pointer;}
.ccb-switch span::before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;}
.ccb-switch input:checked + span{background:var(--green);}
.ccb-switch input:checked + span::before{transform:translateX(18px);}
.ccb-switch.ccb-disabled span{opacity:0.6;cursor:not-allowed;}
.ccb-panel-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;}

.map-placeholder{
  height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  background:var(--paper-dim);color:var(--grey);text-align:center;padding:20px;
}
.map-placeholder p{font-size:12.5px;margin:0;max-width:36ch;}
.map-placeholder button{
  padding:8px 16px;border-radius:2px;border:1.5px solid var(--ink);background:transparent;
  color:var(--ink);font-weight:700;font-size:12px;cursor:pointer;font-family:'Inter';
}

@media(max-width:600px){
  .ccb-inner{flex-direction:column;align-items:stretch;}
  .ccb-actions{justify-content:stretch;}
  .ccb-btn{flex:1;}
}
