/* ── Cookie Consent Banner ── EU/Irish GDPR compliant ── */
#cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:9999;
  padding:18px 24px;
  background:rgba(10,24,19,.97);
  border-top:1px solid rgba(201,162,75,.28);
  backdrop-filter:blur(18px);
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  font-family:'Archivo',sans-serif;
  transform:translateY(100%);
  transition:transform .42s cubic-bezier(0.23,1,0.32,1);
}
#cookie-banner.visible{transform:translateY(0);}
#cookie-banner.hiding{transform:translateY(100%);}
.ck-text{flex:1;min-width:260px;font-size:13px;line-height:1.65;color:#9DBAAC;}
.ck-text strong{color:#F7F3EA;font-weight:600;}
.ck-text a{color:#C9A24B;text-decoration:underline;text-underline-offset:3px;}
.ck-text a:hover{color:#F6D679;}
.ck-actions{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap;}
.ck-btn{font-family:'Archivo',sans-serif;font-weight:700;font-size:10.5px;
  letter-spacing:1.6px;text-transform:uppercase;border-radius:30px;
  padding:10px 20px;cursor:pointer;border:none;transition:.22s;white-space:nowrap;}
.ck-accept{background:linear-gradient(135deg,#F6D679 0%,#C9A24B 100%);color:#0E281F;}
.ck-accept:hover{background:linear-gradient(135deg,#FDEBB0 0%,#E7CF8E 100%);}
.ck-decline{background:transparent;color:#9DBAAC;border:1px solid rgba(201,162,75,.3);}
.ck-decline:hover{border-color:#C9A24B;color:#F7F3EA;}
.ck-manage{background:transparent;color:#C9A24B;border:1px solid rgba(201,162,75,.3);font-size:9.5px;}
.ck-manage:hover{border-color:#C9A24B;background:rgba(201,162,75,.08);}
.ck-btn:focus-visible{outline:2px solid #C9A24B;outline-offset:3px;}

/* Preferences modal */
#ck-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:flex-end;justify-content:center;
  background:rgba(0,0,0,.55);backdrop-filter:blur(6px);
  opacity:0;pointer-events:none;transition:opacity .3s;}
#ck-modal.open{opacity:1;pointer-events:all;}
.ck-modal-box{background:#0E281F;border:1px solid rgba(201,162,75,.3);border-radius:20px 20px 0 0;
  padding:32px 28px 36px;max-width:560px;width:100%;
  transform:translateY(40px);transition:transform .38s cubic-bezier(0.23,1,0.32,1);}
#ck-modal.open .ck-modal-box{transform:translateY(0);}
.ck-modal-title{font-family:'Cormorant',serif;font-size:26px;font-weight:600;color:#F7F3EA;margin-bottom:6px;}
.ck-modal-sub{font-size:13px;color:#9DBAAC;line-height:1.6;margin-bottom:22px;}
.ck-toggle-row{display:flex;align-items:center;justify-content:space-between;
  padding:14px 0;border-top:1px solid rgba(201,162,75,.15);}
.ck-toggle-label{font-size:13.5px;color:#F7F3EA;font-weight:600;}
.ck-toggle-desc{font-size:12px;color:#9DBAAC;margin-top:3px;line-height:1.5;}
.ck-toggle{position:relative;width:44px;height:24px;flex-shrink:0;}
.ck-toggle input{opacity:0;width:0;height:0;}
.ck-toggle-track{position:absolute;inset:0;background:#1D4438;border-radius:24px;
  transition:.25s;cursor:pointer;border:1px solid rgba(201,162,75,.2);}
.ck-toggle input:checked+.ck-toggle-track{background:linear-gradient(90deg,#C9A24B,#F6D679);}
.ck-toggle-track::after{content:'';position:absolute;top:3px;left:3px;
  width:16px;height:16px;border-radius:50%;background:#fff;transition:.25s;}
.ck-toggle input:checked+.ck-toggle-track::after{transform:translateX(20px);}
.ck-toggle input:disabled+.ck-toggle-track{opacity:.5;cursor:not-allowed;}
.ck-toggle input:focus-visible+.ck-toggle-track{outline:2px solid #C9A24B;outline-offset:2px;}
.ck-modal-actions{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap;}
.ck-modal-actions .ck-btn{flex:1;min-width:120px;text-align:center;}
@media(max-width:600px){
  #cookie-banner{flex-direction:column;align-items:flex-start;}
  .ck-actions{width:100%;}
  .ck-btn{flex:1;text-align:center;}
}
@media(prefers-reduced-motion:reduce){
  #cookie-banner,#ck-modal,.ck-modal-box{transition:none;}
}
