/* Baner zgód cookies + panel preferencji.
   Klasy prefiksowane `cc-`, żeby nie kolidowały z arkuszami 01-13. */

.cc-banner{
  position:fixed;inset:auto 0 0 0;z-index:9000;
  display:none;
  background:#321522;color:#f6f1ec;
  border-top:1px solid rgba(246,241,236,.18);
  box-shadow:0 -8px 30px rgba(0,0,0,.25);
  padding:1.1rem clamp(1rem,4vw,2.4rem);
  font-size:.92rem;line-height:1.5;
}
.cc-banner.is-open{display:block}
.cc-banner__in{
  max-width:1200px;margin:0 auto;
  display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;
  justify-content:space-between;
}
.cc-banner__text{flex:1 1 32ch;margin:0;max-width:78ch}
.cc-banner__text a{color:#f6f1ec;text-underline-offset:.2em}
.cc-actions{display:flex;flex-wrap:wrap;gap:.6rem}

.cc-btn{
  font:inherit;font-size:.88rem;letter-spacing:.02em;
  padding:.62rem 1.15rem;border-radius:2px;cursor:pointer;
  border:1px solid #f6f1ec;background:transparent;color:#f6f1ec;
  transition:background .18s ease,color .18s ease;
}
.cc-btn:hover{background:rgba(246,241,236,.14)}
.cc-btn--primary{background:#f6f1ec;color:#321522;border-color:#f6f1ec}
.cc-btn--primary:hover{background:#fff;color:#321522}
.cc-btn:focus-visible{outline:2px solid #f6f1ec;outline-offset:3px}

/* --------------------------------------------------------- modal ------- */
.cc-overlay{
  position:fixed;inset:0;z-index:9100;display:none;
  background:rgba(20,8,14,.62);
  padding:1rem;overflow-y:auto;
}
.cc-overlay.is-open{display:grid;place-items:center}
.cc-modal{
  width:min(620px,100%);background:#fdfbf9;color:#2a2226;
  border-radius:3px;box-shadow:0 24px 60px rgba(0,0,0,.35);
  padding:clamp(1.4rem,3vw,2.2rem);
}
.cc-modal__title{margin:0 0 .6rem;font-size:1.3rem;line-height:1.25}
.cc-modal__lead{margin:0 0 1.4rem;font-size:.92rem;line-height:1.6}

.cc-group{
  border:1px solid rgba(50,21,34,.16);border-radius:3px;
  padding:.9rem 1rem;margin-bottom:.8rem;
  display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;
}
.cc-group__name{margin:0 0 .25rem;font-weight:600;font-size:.98rem}
.cc-group__desc{margin:0;font-size:.85rem;line-height:1.55;opacity:.8}

.cc-toggle{display:inline-flex;align-items:center;flex:0 0 auto;cursor:pointer}
.cc-toggle input{position:absolute;opacity:0;width:1px;height:1px}
.cc-toggle__track{
  width:44px;height:24px;border-radius:999px;background:#c9bfc4;
  position:relative;transition:background .18s ease;
}
.cc-toggle__track::after{
  content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;
  border-radius:50%;background:#fff;transition:transform .18s ease;
}
.cc-toggle input:checked + .cc-toggle__track{background:#5c2438}
.cc-toggle input:checked + .cc-toggle__track::after{transform:translateX(20px)}
.cc-toggle input:focus-visible + .cc-toggle__track{outline:2px solid #5c2438;outline-offset:3px}
.cc-toggle input:disabled + .cc-toggle__track{background:#5c2438;opacity:.45;cursor:not-allowed}

.cc-modal .cc-actions{margin-top:1.3rem}
.cc-modal .cc-btn{border-color:#321522;color:#321522}
.cc-modal .cc-btn:hover{background:rgba(50,21,34,.08)}
.cc-modal .cc-btn--primary{background:#321522;color:#f6f1ec}
.cc-modal .cc-btn--primary:hover{background:#4a2032;color:#f6f1ec}

@media (max-width:719px){
  .cc-banner{
    font-size:.86rem;padding:.95rem 1rem;max-height:60vh;overflow-y:auto;
    /* pasek `.mobar` (Zadzwoń / Zapytaj) jest fixed na dole poniżej 768px -
       baner siada nad nim, żeby nie przykrywał głównego CTA. */
    bottom:calc(3.6rem + env(safe-area-inset-bottom));
  }
  .cc-banner__in{gap:.85rem}
  .cc-actions{width:100%}
  .cc-btn{flex:1 1 auto;text-align:center}
  .cc-group{flex-direction:row}
}
