.zc-consent{
  position:fixed; left:50%; bottom:24px; transform:translateX(-50%) translateY(24px);
  width:min(1240px, calc(100% - 32px));
  z-index:99999;
  opacity:0; pointer-events:none;
  transition:opacity .6s ease, transform .6s ease;
  font-family:'Futura',sans-serif;
}
.zc-consent.zc-show{ opacity:1; transform:translateX(-50%) translateY(0); pointer-events:auto; }
.zc-consent.zc-hide{ opacity:0; transform:translateX(-50%) translateY(24px); pointer-events:none; }

.zc-consent-card{
  background:#fff;
  border:1px solid #e6e6e6;
  box-shadow:0 16px 50px rgba(0,0,0,.18);
  padding:30px 38px;
}

.zc-consent-inner{ display:flex; align-items:center; gap:44px; }
.zc-consent-text{ flex:1 1 auto; min-width:0; }

.zc-consent-title{
  color:#000; font-size:18px; font-weight:700; margin:0 0 10px;
}
.zc-consent-p{
  color:#555; font-size:15px; line-height:1.7; max-width:640px; margin:0;
}
.zc-consent-p a{ color:#6BC4EB; text-decoration:underline; text-underline-offset:3px; }
.zc-consent-p a:hover{ color:#73A0D4; }

.zc-consent-actions{ display:flex; align-items:center; gap:18px; flex-shrink:0; }

.zc-btn{
  font-family:'Futura',sans-serif;
  font-size:14px; cursor:pointer; white-space:nowrap;
  transition:all .3s ease; background:none; border:none;
}
.zc-btn-ghost{ color:#959595; padding:10px 2px; }
.zc-btn-ghost:hover{ color:#000; }
.zc-btn-line{
  color:#000; border:1px solid #ccc; padding:13px 26px;
}
.zc-btn-line:hover{ border-color:#6BC4EB; color:#6BC4EB; }
.zc-btn-solid{
  background:#6BC4EB; color:#fff; padding:14px 30px; font-weight:600;
}
.zc-btn-solid:hover{ background:#73A0D4; }

.zc-consent-prefs{
  display:none;
  border-top:1px solid #eee;
  margin-top:24px; padding-top:22px;
}
.zc-consent.zc-prefs-open .zc-consent-prefs{ display:flex; gap:26px; flex-wrap:wrap; }
.zc-pref{ flex:1 1 240px; display:flex; align-items:flex-start; gap:12px; }
.zc-pref-info b{
  display:block; font-size:14px; color:#000; margin-bottom:4px; font-weight:600;
}
.zc-pref-info span{ font-size:13.5px; color:#959595; line-height:1.5; }
.zc-switch{
  position:relative; width:44px; height:23px; flex-shrink:0; margin-top:2px;
  border:1px solid #ccc; background:#fff; cursor:pointer; transition:all .3s ease;
}
.zc-switch::after{
  content:""; position:absolute; top:3px; left:3px; width:15px; height:15px;
  background:#bbb; transition:all .3s ease;
}
.zc-switch[aria-checked="true"]{ background:#eaf7fd; border-color:#6BC4EB; }
.zc-switch[aria-checked="true"]::after{ left:24px; background:#6BC4EB; }
.zc-switch[disabled]{ opacity:.55; cursor:not-allowed; }
.zc-pref-save{ width:100%; display:flex; justify-content:flex-end; }

@media (max-width: 991px){
  .zc-consent{ bottom:12px; }
  .zc-consent-card{ padding:24px 22px; }
  .zc-consent-inner{ flex-direction:column; align-items:flex-start; gap:20px; }
  .zc-consent-actions{ width:100%; flex-wrap:wrap; gap:12px; }
  .zc-btn-solid,.zc-btn-line{ padding:12px 22px; }
}
