/* =========================
   APPLE STYLE COOKIE SYSTEM
   ========================= */

:root{
  --cc-bg: rgba(20,24,32,.55);
  --cc-panel: rgba(20,24,32,.72);
  --cc-stroke: rgba(255,255,255,.10);
  --cc-text:#f1f5f9;
  --cc-muted:rgba(255,255,255,.65);
  --cc-accent:#e30613;
  --cc-accent2:#ff4d4d;
  --cc-shadow:0 25px 80px rgba(0,0,0,.45);
}

/* =========================
   BANNER (floating Apple)
   ========================= */

.cc-banner{
  position: fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:2147483647;
  background: transparent;
  pointer-events:none;
}

.cc-wrap{
  pointer-events:auto;
  max-width: 980px;
  margin: 0 auto 18px auto;

  background: var(--cc-bg);
  border:1px solid var(--cc-stroke);
  border-radius: 22px;

  backdrop-filter: blur(18px) saturate(160%);
  -webkit-backdrop-filter: blur(18px) saturate(160%);

  box-shadow:
    0 18px 60px rgba(0,0,0,.45),
    0 1px 0 rgba(255,255,255,.06) inset;

  padding: 14px;
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  width: calc(100% - 24px);
}

.cc-text{
  color: var(--cc-text);
  font-size:14px;
  line-height:1.35;
}

.cc-links{
  color: var(--cc-muted);
}

.cc-links a{
  color:#cfe7ff;
  text-decoration:none;
}

.cc-links a:hover{
  text-decoration:underline;
}

/* =========================
   BUTTONS
   ========================= */

.cc-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.cc-btn{
  border-radius:999px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color:white;
  font-weight:700;
  cursor:pointer;
  backdrop-filter: blur(8px);
  transition:.15s;
}

.cc-btn:hover{
  background: rgba(255,255,255,.12);
}

.cc-btn.primary{
  border:0;
  background: linear-gradient(180deg,#e30613,#b80012);
}

.cc-btn.ghost{
  background: rgba(255,255,255,.03);
}

/* =========================
   MODAL
   ========================= */

.cc-overlay{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(6px);
  z-index:2147483646;
  display:none;
}

.cc-overlay.open{ display:block; }

.cc-modal{
  position:fixed;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(820px,calc(100% - 24px));
  max-height:86vh;
  overflow:auto;

  background: var(--cc-panel);
  border:1px solid var(--cc-stroke);
  border-radius:22px;

  backdrop-filter: blur(22px) saturate(160%);
  box-shadow:0 40px 120px rgba(0,0,0,.55);

  z-index:2147483647;
  display:none;
}

.cc-modal.open{ display:block; }

.cc-modal-header{
  padding:16px;
  border-bottom:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
}

.cc-modal-title{
  font-weight:800;
}

.cc-x{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color:white;
  cursor:pointer;
}

.cc-modal-body{
  padding:16px;
}

.cc-cat{
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:12px;
  margin:10px 0;
  background: rgba(255,255,255,.03);
}

.cc-modal-footer{
  padding:16px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  gap:10px;
  justify-content:flex-end;
}

/* =========================
   FLOATING COOKIE ICON
   ========================= */

#cookieSettingsBtn{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index:2147483647;

  width:48px;
  height:48px;
  border-radius:50%;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:20px;
  cursor:pointer;

  background: rgba(20,24,32,.55);
  backdrop-filter: blur(14px) saturate(160%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow: 0 10px 30px rgba(0,0,0,.45);

  transition:.2s;
}

#cookieSettingsBtn:hover{
  transform:scale(1.08);
  background: rgba(20,24,32,.75);
}

/* =========================
   MOBILE
   ========================= */

@media (max-width:640px){

  .cc-wrap{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }

  .cc-actions{
    width:100%;
  }

  .cc-btn{
    width:100%;
    justify-content:center;
  }

}
