/* Fluent Cookie Preferences - Premium UI */
:root{
  --fcp-navy:#002C47;
  --fcp-teal:#00C4CC;
  --fcp-sun:#FFD466;
  --fcp-white:#fff;
  --fcp-text:#0f172a;
}

.fcp-hidden{ display:none !important; }
.fcp-lock{ overflow:hidden; }

#fcp-banner{
  position:fixed;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:99999;
  display:flex;
  justify-content:center;
  pointer-events:auto;
}

#fcp-banner .fcp-card{
  width:min(520px, 100%);
  background:linear-gradient(135deg, rgba(0,196,204,.16), rgba(40,143,246,.10));
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(10px);
  background-color: var(--fcp-navy);
  color:var(--fcp-white);
  border-radius:18px;
  padding:18px 18px 16px;
  box-shadow:0 18px 55px rgba(0,0,0,.30);
}

#fcp-banner .fcp-title{
  font-weight:800;
  letter-spacing:.2px;
  font-size:16px;
  margin-bottom:8px;
}

#fcp-banner p{
  margin:0;
  opacity:.95;
  line-height:1.45;
  font-size:13.5px;
}

.fcp-actions{
  display:flex;
  gap:10px;
  margin-top:14px;
  flex-wrap:wrap;
}

.fcp-btn{
  border:none;
  border-radius:12px;
  padding:10px 14px;
  cursor:pointer;
  font-weight:700;
  font-size:13px;
}

.fcp-btn.primary{
  background:var(--fcp-teal);
  color:var(--fcp-navy);
}

.fcp-btn.secondary{
  background:transparent;
  color:var(--fcp-white);
  border:1px solid rgba(255,255,255,.30);
}

#fcp-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:100000;
  padding:18px;
}

.fcp-modal-card{
  width:min(560px, 100%);
  margin:10vh auto 0;
  background:#fff;
  border-radius:18px;
  box-shadow:0 24px 70px rgba(0,0,0,.35);
  overflow:hidden;
}

.fcp-modal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 18px;
  border-bottom:1px solid rgba(0,0,0,.08);
}

.fcp-modal-title{
  font-size:16px;
  font-weight:900;
  color:var(--fcp-text);
}

.fcp-x{
  width:38px;
  height:38px;
  border-radius:12px;
  border:1px solid rgba(0,44,71,.18);
  background:transparent;
  color:#002C47;
  cursor:pointer;
  font-size:22px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
}

.fcp-x:hover{
  background:rgba(0,44,71,.06);
}

.fcp-modal-body{
  padding:14px 18px 8px;
}

.fcp-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 12px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  margin-bottom:10px;
  cursor:pointer;
  user-select:none;
}

.fcp-row.locked{
  cursor:default;
  background:rgba(0,44,71,.04);
}

.fcp-row-title{
  font-weight:900;
  color:var(--fcp-text);
  font-size:14px;
}

.fcp-row-sub{
  font-size:12.5px;
  opacity:.75;
  margin-top:3px;
}

.fcp-pill{
  background:rgba(0,196,204,.18);
  color:var(--fcp-navy);
  border:1px solid rgba(0,196,204,.35);
  font-weight:900;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
}

.fcp-row input[type="checkbox"]{
  transform: scale(1.1);
  width:18px;
  height:18px;
}

.fcp-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:14px 18px 18px;
  border-top:1px solid rgba(0,0,0,.08);
}

/* Social icons – subtle trust signals */
.flf-social-wrap{
  display:flex;
  align-items:center;
  gap:14px;
}

.flf-social{
  display:flex;
  gap:10px;
  margin-left: 8px;
}

.flf-social a{
  display:inline-flex;
  width:18px;
  height:18px;
  color: rgba(255,255,255,.65);
  transition: opacity .2s ease, transform .2s ease;
}

.flf-social a svg{
  width:100%;
  height:100%;
  fill: currentColor;
}

.flf-social a:hover{
  opacity: .95;
  transform: translateY(-1px);
}

.flf-trust{
  font-size:12px;
  opacity:.85;
}

.footer-cookie-link{
  color:#ffffff;
  text-decoration:none;
  font-weight:600;
}

.footer-cookie-link:hover{
  text-decoration:underline;
}