.hc-cookie-banner,
.hc-cookie-modal-overlay{
  font-family:Arial,Helvetica,sans-serif;
  box-sizing:border-box;
}

.hc-cookie-banner *,
.hc-cookie-modal-overlay *{
  box-sizing:border-box;
}

.hc-cookie-banner{
  position:fixed;
  left:20px;
  right:20px;
  bottom:20px;
  z-index:2147483000;
  max-width:1180px;
  margin:auto;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:18px;
  box-shadow:0 12px 45px rgba(0,0,0,.22);
  color:#1a1a1a;
}

.hc-cookie-banner-inner{
  padding:20px 22px;
  display:flex;
  align-items:center;
  gap:25px;
}

.hc-cookie-banner-copy{
  display:flex;
  gap:15px;
  flex:1;
  min-width:0;
}

.hc-cookie-icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  border-radius:50%;
  background:#f5f7fb;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
}

.hc-cookie-banner-copy strong{
  display:block;
  color:#003F87;
  font-size:17px;
  margin-bottom:6px;
}

.hc-cookie-banner-copy p{
  margin:0;
  color:#525866;
  line-height:1.5;
  font-size:13px;
}

.hc-cookie-policy-links,
.hc-cookie-links{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:8px;
  font-size:12px;
}

.hc-cookie-policy-links a,
.hc-cookie-links a{
  color:#003F87;
  text-decoration:none;
  font-weight:600;
}

.hc-cookie-banner-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.hc-cookie-btn{
  border:0;
  border-radius:9px;
  padding:11px 15px;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}

.hc-cookie-accept{
  background:#003F87;
  color:#fff;
}

.hc-cookie-reject{
  background:#eef0f4;
  color:#222;
}

.hc-cookie-manage,
.hc-cookie-save{
  background:#fff;
  border:1px solid #003F87;
  color:#003F87;
}

.hc-cookie-modal-overlay{
  position:fixed;
  inset:0;
  z-index:2147483001;
  background:rgba(0,0,0,.58);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.hc-cookie-modal{
  width:min(600px,100%);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border-radius:20px;
  box-shadow:0 20px 70px rgba(0,0,0,.35);
  padding:26px;
  position:relative;
}

.hc-cookie-close{
  position:absolute;
  top:14px;
  right:16px;
  border:0;
  background:none;
  font-size:28px;
  cursor:pointer;
  color:#666;
}

.hc-cookie-brand{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding-right:35px;
  margin-bottom:22px;
}

.hc-cookie-shield{
  width:45px;
  height:45px;
  border-radius:50%;
  background:#003F87;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  flex:0 0 45px;
}

.hc-cookie-brand h2{
  color:#003F87;
  font-size:22px;
  margin:0 0 5px;
}

.hc-cookie-brand p{
  margin:0;
  color:#65676b;
  font-size:14px;
  line-height:1.45;
}

.hc-cookie-options{
  border-top:1px solid #eee;
}

.hc-cookie-category{
  display:flex;
  align-items:center;
  gap:15px;
  padding:17px 2px;
  border-bottom:1px solid #eee;
  cursor:pointer;
}

.hc-cookie-category input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.hc-cookie-switch{
  width:44px;
  height:24px;
  background:#c7cbd1;
  border-radius:30px;
  position:relative;
  flex:0 0 44px;
  transition:.2s;
}

.hc-cookie-switch:after{
  content:'';
  position:absolute;
  width:18px;
  height:18px;
  top:3px;
  left:3px;
  background:#fff;
  border-radius:50%;
  transition:.2s;
  box-shadow:0 1px 3px rgba(0,0,0,.25);
}

.hc-cookie-category input:checked + .hc-cookie-switch{
  background:#003F87;
}

.hc-cookie-category input:checked + .hc-cookie-switch:after{
  transform:translateX(20px);
}

.hc-cookie-category input:disabled + .hc-cookie-switch{
  opacity:.7;
}

.hc-cookie-category-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.hc-cookie-category-copy strong{
  color:#1a1a1a;
  font-size:14px;
}

.hc-cookie-category-copy span{
  color:#65676b;
  font-size:12px;
  line-height:1.4;
}

.hc-cookie-gpc{
  margin-top:16px;
  padding:12px 14px;
  background:#eef5ff;
  border-left:4px solid #003F87;
  border-radius:7px;
  font-size:12px;
  line-height:1.45;
  color:#334155;
}

.hc-cookie-modal-actions{
  display:flex;
  gap:8px;
  margin-top:22px;
  flex-wrap:wrap;
}

.hc-cookie-modal-actions .hc-cookie-btn{
  flex:1;
}

.hc-cookie-links{
  justify-content:center;
  margin-top:16px;
}

@media(max-width:760px){
  .hc-cookie-banner{
    left:10px;
    right:10px;
    bottom:10px;
  }

  .hc-cookie-banner-inner{
    display:block;
    padding:18px;
  }

  .hc-cookie-banner-actions{
    margin-top:16px;
    display:grid;
    grid-template-columns:1fr;
  }

  .hc-cookie-btn{
    width:100%;
  }

  .hc-cookie-modal{
    padding:22px 18px;
  }

  .hc-cookie-modal-actions{
    display:grid;
    grid-template-columns:1fr;
  }
}


/* Persistent privacy settings control */

.hc-cookie-settings-control{
  position:fixed;
  left:14px;
  bottom:14px;
  z-index:2147482000;

  border:1px solid #d9dde5;
  border-radius:999px;

  padding:8px 12px;

  background:rgba(255,255,255,.96);
  color:#003F87;

  box-shadow:0 3px 12px rgba(0,0,0,.12);

  font-size:11px;
  font-weight:700;

  cursor:pointer;
}

.hc-cookie-settings-control:hover{
  background:#003F87;
  color:#fff;
}

@media(max-width:600px){
  .hc-cookie-settings-control{
    left:8px;
    bottom:8px;
    padding:7px 10px;
    font-size:10px;
  }
}
