/* ==========================================================
   AF27 / CookieYes UI
   0.9.2
   Visual layer only: no consent logic is changed.
   ========================================================== */

:root{
  --af27-cookie-navy:#071d31;
  --af27-cookie-navy-2:#0e2943;
  --af27-cookie-paper:#f4f2ed;
  --af27-cookie-ink:#0b1f31;
  --af27-cookie-muted:#66717b;
  --af27-cookie-line:rgba(255,255,255,.14);
  --af27-cookie-green:#9dc46a;
  --af27-cookie-cyan:#5bc2ee;
  --af27-cookie-lum:#ac103d;
}

/* ---------- Main consent card ---------- */

.cky-consent-container{
  left:clamp(16px,2vw,30px)!important;
  right:auto!important;
  bottom:clamp(16px,2vw,30px)!important;
  width:min(440px,calc(100vw - 32px))!important;
  max-width:440px!important;
  z-index:2147482000!important;
  font-family:"Archivo","Helvetica Neue",Arial,sans-serif!important;
}

.cky-consent-container .cky-consent-bar{
  position:relative!important;
  overflow:hidden!important;
  padding:26px 26px 24px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:0!important;
  background:
    radial-gradient(circle at 92% 0%,rgba(91,194,238,.10),transparent 33%),
    linear-gradient(145deg,var(--af27-cookie-navy),var(--af27-cookie-navy-2))!important;
  box-shadow:0 24px 70px rgba(1,16,28,.28)!important;
  color:var(--af27-cookie-paper)!important;
}

.cky-consent-container .cky-consent-bar::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  height:3px!important;
  background:linear-gradient(90deg,var(--af27-cookie-green),var(--af27-cookie-cyan))!important;
}

.cky-consent-container .cky-title{
  margin:0 0 14px!important;
  padding:0!important;
  color:#fff!important;
  font-family:"Archivo","Helvetica Neue",Arial,sans-serif!important;
  font-size:clamp(21px,2vw,26px)!important;
  line-height:1.04!important;
  font-weight:700!important;
  letter-spacing:-.035em!important;
}

.cky-consent-container .cky-title::before{
  content:"PRIVACY / COOKIE"!important;
  display:block!important;
  margin:0 0 11px!important;
  color:var(--af27-cookie-cyan)!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}

.cky-consent-container .cky-notice-des,
.cky-consent-container .cky-notice-des *,
.cky-consent-container .cky-notice-des p{
  color:rgba(244,242,237,.76)!important;
  font-family:"Archivo","Helvetica Neue",Arial,sans-serif!important;
  font-size:12.5px!important;
  line-height:1.55!important;
  font-weight:400!important;
}

.cky-consent-container .cky-notice-des{
  margin:0 0 20px!important;
}

.cky-consent-container .cky-notice-des a{
  color:#fff!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}

.cky-consent-container .cky-notice-des a:hover{
  color:var(--af27-cookie-cyan)!important;
}

/* Equal prominence for Accept / Reject, Customize stays secondary. */
.cky-consent-container .cky-notice-btn-wrapper{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:9px!important;
  margin:0!important;
  padding:0!important;
}

.cky-consent-container .cky-btn{
  min-height:48px!important;
  margin:0!important;
  padding:11px 14px!important;
  border-radius:0!important;
  font-family:"Archivo","Helvetica Neue",Arial,sans-serif!important;
  font-size:11px!important;
  line-height:1.15!important;
  font-weight:700!important;
  letter-spacing:.045em!important;
  text-transform:uppercase!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important;
}

.cky-consent-container .cky-btn-accept,
.cky-consent-container .cky-btn-reject{
  border:1px solid rgba(255,255,255,.74)!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
}

.cky-consent-container .cky-btn-accept:hover,
.cky-consent-container .cky-btn-reject:hover{
  border-color:#fff!important;
  background:#fff!important;
  color:var(--af27-cookie-navy)!important;
}

.cky-consent-container .cky-btn-customize{
  grid-column:1 / -1!important;
  min-height:40px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  color:rgba(255,255,255,.72)!important;
  text-decoration:underline!important;
  text-underline-offset:4px!important;
}

.cky-consent-container .cky-btn-customize:hover{
  color:#fff!important;
  background:rgba(255,255,255,.05)!important;
}

/* ---------- Preference center ---------- */

.cky-modal{
  z-index:2147482500!important;
}

.cky-preference-center{
  width:min(720px,calc(100vw - 32px))!important;
  max-height:min(760px,calc(100dvh - 36px))!important;
  border:1px solid rgba(7,29,49,.12)!important;
  border-radius:0!important;
  background:var(--af27-cookie-paper)!important;
  box-shadow:0 35px 90px rgba(1,16,28,.26)!important;
  color:var(--af27-cookie-ink)!important;
  font-family:"Archivo","Helvetica Neue",Arial,sans-serif!important;
}

.cky-preference-header{
  position:relative!important;
  padding:28px 30px 22px!important;
  border-bottom:1px solid rgba(7,29,49,.12)!important;
  background:var(--af27-cookie-navy)!important;
}

.cky-preference-header::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  height:3px!important;
  background:linear-gradient(90deg,var(--af27-cookie-green),var(--af27-cookie-cyan))!important;
}

.cky-preference-title{
  color:#fff!important;
  font-family:"Archivo","Helvetica Neue",Arial,sans-serif!important;
  font-size:clamp(22px,3vw,30px)!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:-.04em!important;
}

.cky-btn-close{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
}

.cky-btn-close:hover{
  background:#fff!important;
  color:var(--af27-cookie-navy)!important;
}

.cky-btn-close img,
.cky-btn-close svg{
  filter:brightness(0) invert(1)!important;
}

.cky-btn-close:hover img,
.cky-btn-close:hover svg{
  filter:none!important;
}

.cky-preference-content-wrapper{
  background:var(--af27-cookie-paper)!important;
  color:var(--af27-cookie-ink)!important;
}

.cky-preference-content-wrapper .cky-preference-body-wrapper{
  padding:26px 30px 10px!important;
}

.cky-preference-content-wrapper p,
.cky-preference-content-wrapper span,
.cky-preference-content-wrapper div{
  font-family:"Archivo","Helvetica Neue",Arial,sans-serif!important;
}

.cky-preference-content-wrapper .cky-preference-content,
.cky-preference-content-wrapper .cky-accordion-header-des,
.cky-preference-content-wrapper .cky-accordion-body{
  color:#56616b!important;
  font-size:13px!important;
  line-height:1.55!important;
}

.cky-accordion-wrapper{
  margin-top:22px!important;
}

.cky-accordion-item{
  margin:0!important;
  border:0!important;
  border-top:1px solid rgba(7,29,49,.14)!important;
  background:transparent!important;
}

.cky-accordion-item:last-child{
  border-bottom:1px solid rgba(7,29,49,.14)!important;
}

.cky-accordion-header{
  padding:17px 0!important;
}

.cky-accordion-header .cky-accordion-btn,
.cky-accordion-header-des{
  color:var(--af27-cookie-ink)!important;
}

.cky-accordion-header .cky-accordion-btn{
  font-size:14px!important;
  font-weight:700!important;
}

.cky-accordion-body{
  padding:0 0 18px!important;
}

.cky-footer-wrapper,
.cky-prefrence-btn-wrapper,
.cky-preference-btn-wrapper{
  padding:18px 30px 24px!important;
  border-top:1px solid rgba(7,29,49,.12)!important;
  background:#ebe8e2!important;
}

.cky-preference-center .cky-btn{
  min-height:48px!important;
  margin:0!important;
  border-radius:0!important;
  font-family:"Archivo","Helvetica Neue",Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}

.cky-preference-center .cky-btn-accept,
.cky-preference-center .cky-btn-save{
  border:1px solid var(--af27-cookie-navy)!important;
  background:var(--af27-cookie-navy)!important;
  color:#fff!important;
}

.cky-preference-center .cky-btn-reject{
  border:1px solid var(--af27-cookie-navy)!important;
  background:transparent!important;
  color:var(--af27-cookie-navy)!important;
}

.cky-preference-center .cky-btn:hover{
  transform:translateY(-1px)!important;
}

/* CookieYes switches: keep semantics/function, only tune appearance. */
.cky-switch input[type="checkbox"]:checked{
  background:var(--af27-cookie-navy)!important;
  border-color:var(--af27-cookie-navy)!important;
}

.cky-always-active{
  color:#44661f!important;
  font-weight:700!important;
}

/* ---------- Accessibility ---------- */

.cky-consent-container button:focus-visible,
.cky-consent-container a:focus-visible,
.cky-preference-center button:focus-visible,
.cky-preference-center a:focus-visible,
.cky-preference-center input:focus-visible{
  outline:3px solid var(--af27-cookie-cyan)!important;
  outline-offset:3px!important;
  box-shadow:none!important;
}

@media (hover:none){
  .cky-consent-container .cky-btn:hover,
  .cky-preference-center .cky-btn:hover{
    transform:none!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .cky-consent-container .cky-btn,
  .cky-preference-center .cky-btn{
    transition:none!important;
  }
}

/* ---------- Mobile ---------- */

@media (max-width:620px){
  .cky-consent-container{
    left:12px!important;
    right:12px!important;
    bottom:12px!important;
    width:auto!important;
    max-width:none!important;
  }

  .cky-consent-container .cky-consent-bar{
    padding:23px 20px 20px!important;
  }

  .cky-consent-container .cky-title{
    font-size:22px!important;
  }

  .cky-consent-container .cky-notice-des,
  .cky-consent-container .cky-notice-des *{
    font-size:12px!important;
    line-height:1.5!important;
  }

  .cky-consent-container .cky-notice-btn-wrapper{
    grid-template-columns:1fr!important;
  }

  .cky-consent-container .cky-btn-customize{
    grid-column:1!important;
  }

  .cky-preference-center{
    width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
  }

  .cky-preference-header{
    padding:24px 20px 18px!important;
  }

  .cky-preference-content-wrapper .cky-preference-body-wrapper{
    padding:22px 20px 8px!important;
  }

  .cky-footer-wrapper,
  .cky-prefrence-btn-wrapper,
  .cky-preference-btn-wrapper{
    padding:16px 20px 20px!important;
  }
}
