/* ---------- COOKIE CONSENT BANNER ---------- */
#chf-cookie-banner{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:9999;
  background:#ffffff;
  border-top:1px solid rgba(0,55,140,0.15);
  box-shadow:0 -6px 24px rgba(0,55,140,0.12);
  padding:20px 24px;
  font-family:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  transform:translateY(110%);
  transition:transform .4s ease;
}
#chf-cookie-banner.chf-visible{
  transform:translateY(0);
}
#chf-cookie-banner .chf-cookie-inner{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
#chf-cookie-banner .chf-cookie-text{
  flex:1 1 420px;
  font-size:14px;
  line-height:1.55;
  color:#444444;
  margin:0;
}
#chf-cookie-banner .chf-cookie-text strong{color:#00378C;}
#chf-cookie-banner .chf-cookie-text a{color:#2B6CF5;text-decoration:underline;}
#chf-cookie-banner .chf-cookie-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  flex:0 0 auto;
}
#chf-cookie-banner button{
  font-family:inherit;
  font-size:14px;
  font-weight:500;
  cursor:pointer;
  border-radius:30px;
  padding:10px 20px;
  border:1px solid transparent;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
  white-space:nowrap;
}
#chf-cookie-banner .chf-btn-reject{
  background:#ffffff;
  color:#626262;
  border-color:#DBDDDF;
}
#chf-cookie-banner .chf-btn-reject:hover{background:#F4F4F4;}
#chf-cookie-banner .chf-btn-configure{
  background:#E4ECFB;
  color:#00378C;
}
#chf-cookie-banner .chf-btn-configure:hover{background:#d6e2f8;}
#chf-cookie-banner .chf-btn-accept{
  background:#24C848;
  color:#ffffff;
}
#chf-cookie-banner .chf-btn-accept:hover{background:#34D959;}

/* ---------- PREFERENCES PANEL ---------- */
#chf-cookie-panel{
  position:fixed;
  inset:0;
  z-index:10000;
  background:rgba(0,20,60,0.45);
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  font-family:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
#chf-cookie-panel.chf-visible{display:flex;}
#chf-cookie-panel .chf-panel-box{
  background:#ffffff;
  border-radius:14px;
  max-width:520px;
  width:100%;
  padding:32px;
  max-height:86vh;
  overflow-y:auto;
}
#chf-cookie-panel h2{
  font-size:20px;
  font-weight:500;
  color:#00378C;
  margin:0 0 14px;
}
#chf-cookie-panel p{
  font-size:14px;
  color:#444444;
  line-height:1.6;
  margin:0 0 18px;
}
#chf-cookie-panel .chf-cat{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
  border-top:1px solid rgba(0,55,140,0.08);
}
#chf-cookie-panel .chf-cat:first-of-type{border-top:none;}
#chf-cookie-panel .chf-cat-name{
  font-size:14px;
  font-weight:600;
  color:#00378C;
  margin:0 0 4px;
}
#chf-cookie-panel .chf-cat-desc{
  font-size:13px;
  color:#626262;
  margin:0;
}
#chf-cookie-panel .chf-switch{
  position:relative;
  width:42px;
  height:24px;
  flex:0 0 auto;
  margin-top:2px;
}
#chf-cookie-panel .chf-switch input{
  opacity:0;
  width:0;
  height:0;
}
#chf-cookie-panel .chf-switch .chf-slider{
  position:absolute;
  inset:0;
  background:#DBDDDF;
  border-radius:24px;
  cursor:pointer;
  transition:background .2s ease;
}
#chf-cookie-panel .chf-switch .chf-slider::before{
  content:"";
  position:absolute;
  width:18px;
  height:18px;
  left:3px;
  top:3px;
  background:#fff;
  border-radius:50%;
  transition:transform .2s ease;
}
#chf-cookie-panel .chf-switch input:checked + .chf-slider{background:#24C848;}
#chf-cookie-panel .chf-switch input:checked + .chf-slider::before{transform:translateX(18px);}
#chf-cookie-panel .chf-switch input:disabled + .chf-slider{opacity:.6;cursor:not-allowed;}
#chf-cookie-panel .chf-panel-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:22px;
  flex-wrap:wrap;
}
#chf-cookie-panel .chf-panel-actions button{
  font-family:inherit;
  font-size:14px;
  font-weight:500;
  cursor:pointer;
  border-radius:30px;
  padding:10px 20px;
  border:1px solid transparent;
}
#chf-cookie-panel .chf-btn-save{background:#24C848;color:#fff;}
#chf-cookie-panel .chf-btn-save:hover{background:#34D959;}
#chf-cookie-panel .chf-btn-cancel{background:#ffffff;color:#626262;border-color:#DBDDDF;}
#chf-cookie-panel .chf-btn-cancel:hover{background:#F4F4F4;}

@media (max-width:640px){
  #chf-cookie-banner .chf-cookie-actions{width:100%;}
  #chf-cookie-banner button{flex:1 1 auto;}
}
