/* ============================================================
   BOSFOR & BAŁTYK — Cookie consent banner (Claude-owned)
   GDPR + ePrivacy compliant. EDPB-aligned (Reject as easy as Accept).
   ============================================================ */
:root{
  --bb-royal:#0a4fba; --bb-royal-deep:#073a8a;
  --bb-amber:#ea910f; --bb-amber-deep:#985200; --bb-gold:#ffc30a;
  --bb-vanilla:#fef8e0; --bb-vanilla-warm:#fdf0c8; --bb-ink:#1a1b1c;
}

/* Banner — bottom-fixed card, mobile-first */
.bb-cc{ position:fixed; left:16px; right:16px; bottom:16px; z-index:2000;
  background:var(--bb-vanilla); border:1px solid rgba(10,79,186,.18); border-radius:16px;
  box-shadow:0 18px 50px rgba(7,58,138,.22);
  padding:20px 22px; max-width:780px; margin:0 auto;
  font-family:'Montserrat',sans-serif;
  transform:translateY(140%); transition:transform .4s ease; }
.bb-cc.is-visible{ transform:translateY(0); }
.bb-cc__title{ font-family:'DM Serif Display',serif; color:var(--bb-royal); font-size:19px;
  margin:0 0 6px; line-height:1.25; }
.bb-cc__text{ font-size:13.5px; line-height:1.6; color:rgba(26,27,28,.78); margin:0 0 16px; }
.bb-cc__text a{ color:var(--bb-royal); font-weight:600; text-decoration:underline; text-decoration-color:rgba(10,79,186,.3); text-underline-offset:3px; }
.bb-cc__btns{ display:flex; gap:10px; flex-wrap:wrap; }
.bb-cc__btn{ font-family:'Montserrat',sans-serif; font-weight:700; font-size:13px; letter-spacing:.02em;
  padding:12px 18px; border-radius:10px; border:0; cursor:pointer; flex:1; min-width:140px;
  transition:transform .15s, box-shadow .15s, background .2s; }
.bb-cc__btn--accept{ background:linear-gradient(135deg,var(--bb-gold),var(--bb-amber)); color:var(--bb-royal-deep); }
.bb-cc__btn--reject{ background:transparent; color:var(--bb-royal); border:1.5px solid var(--bb-royal); }
.bb-cc__btn--settings{ background:rgba(10,79,186,.07); color:var(--bb-royal); }
.bb-cc__btn:hover{ transform:translateY(-1px); }
.bb-cc__btn--accept:hover{ box-shadow:0 8px 22px rgba(234,145,15,.32); }
.bb-cc__btn--reject:hover{ background:var(--bb-royal); color:var(--bb-vanilla); }
@media(min-width:640px){ .bb-cc{ padding:24px 28px; } .bb-cc__btn{ flex:0 1 auto; } }

/* Preferences modal — overlay */
.bb-cc-mod{ position:fixed; inset:0; z-index:2100; background:rgba(7,14,26,.78);
  display:none; align-items:center; justify-content:center; padding:16px; }
.bb-cc-mod.is-open{ display:flex; }
.bb-cc-mod__panel{ background:var(--bb-vanilla); border-radius:18px; padding:28px;
  max-width:560px; width:100%; max-height:90vh; overflow-y:auto;
  box-shadow:0 24px 60px rgba(0,0,0,.4); font-family:'Montserrat',sans-serif; }
.bb-cc-mod__title{ font-family:'DM Serif Display',serif; color:var(--bb-royal); font-size:24px;
  margin:0 0 6px; }
.bb-cc-mod__intro{ font-size:13.5px; color:rgba(26,27,28,.74); line-height:1.6; margin:0 0 18px; }
.bb-cc-cat{ background:var(--bb-vanilla-warm); border:1px solid rgba(10,79,186,.14); border-radius:12px;
  padding:14px 16px; margin:0 0 10px; }
.bb-cc-cat__head{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.bb-cc-cat__name{ font-family:'DM Serif Display',serif; color:var(--bb-royal); font-size:16px; }
.bb-cc-cat__desc{ font-size:12.5px; color:rgba(26,27,28,.72); line-height:1.55; margin:6px 0 0; }
.bb-cc-tog{ position:relative; width:42px; height:24px; flex:none; }
.bb-cc-tog input{ position:absolute; opacity:0; width:100%; height:100%; cursor:pointer; }
.bb-cc-tog__slider{ position:absolute; inset:0; background:rgba(10,79,186,.22); border-radius:999px;
  transition:.2s; }
.bb-cc-tog__slider::before{ content:""; position:absolute; left:3px; top:3px; width:18px; height:18px;
  background:#fff; border-radius:50%; transition:.2s; box-shadow:0 2px 4px rgba(0,0,0,.2); }
.bb-cc-tog input:checked + .bb-cc-tog__slider{ background:linear-gradient(135deg,var(--bb-gold),var(--bb-amber)); }
.bb-cc-tog input:checked + .bb-cc-tog__slider::before{ transform:translateX(18px); }
.bb-cc-tog input:disabled + .bb-cc-tog__slider{ opacity:.6; cursor:not-allowed; }
.bb-cc-mod__btns{ display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.bb-cc-mod__btns .bb-cc__btn{ flex:1; }

/* Footer link to re-open settings */
.bb-cc-reopen{ background:none; border:0; padding:0; cursor:pointer;
  font-family:'Montserrat',sans-serif; font-size:14px; color:rgba(254,248,224,.78);
  text-decoration:none; transition:.2s; }
.bb-cc-reopen:hover{ color:var(--bb-gold); }
