/*
SERPIFAI PRIVACY CHOICES V1.0.5
Compact wide banner and visual granular preference panel.
*/
:root{
  --spc-bg:rgba(4,18,31,.97);
  --spc-bg-soft:rgba(8,29,46,.985);
  --spc-line:rgba(83,221,239,.34);
  --spc-line-strong:rgba(83,221,239,.7);
  --spc-text:#f3fbff;
  --spc-muted:#a8bac7;
  --spc-accent:#6ce7f2;
  --spc-focus:#a98cff;
  --spc-shadow:0 18px 58px rgba(0,0,0,.42);
  --spc-radius:15px;
  --spc-banner-max:1040px;
  --spc-banner-pad-y:10px;
  --spc-banner-pad-x:12px;
}
.serpifai-consent-banner,
.serpifai-consent-modal,
.serpifai-consent-settings,
.serpifai-consent-toast{
  box-sizing:border-box;
  font-family:inherit;
}
.serpifai-consent-banner *,
.serpifai-consent-modal *,
.serpifai-consent-settings *,
.serpifai-consent-toast *{box-sizing:border-box}
.serpifai-consent-banner{
  position:fixed;
  z-index:2147483000;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  width:min(var(--spc-banner-max),calc(100vw - 28px));
  padding:var(--spc-banner-pad-y) var(--spc-banner-pad-x);
  border:1px solid var(--spc-line-strong);
  border-radius:var(--spc-radius);
  background:
    linear-gradient(135deg,rgba(18,66,86,.34),transparent 42%),
    var(--spc-bg);
  color:var(--spc-text);
  box-shadow:var(--spc-shadow);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.serpifai-consent-banner[hidden],
.serpifai-consent-modal-wrap[hidden],
.serpifai-consent-toast[hidden]{display:none!important}
.serpifai-consent-banner__row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
  min-width:0;
}
.serpifai-consent-banner__copy{min-width:0}
.serpifai-consent-banner h2,
.serpifai-consent-modal h2{
  margin:0 0 3px;
  color:var(--spc-text);
  font-size:clamp(.98rem,1.45vw,1.1rem);
  line-height:1.2;
  letter-spacing:-.01em;
}
.serpifai-consent-banner p,
.serpifai-consent-modal p{
  margin:0;
  color:var(--spc-muted);
  font-size:.82rem;
  line-height:1.42;
}
.serpifai-consent-banner a,
.serpifai-consent-modal a{
  color:var(--spc-accent);
  text-underline-offset:3px;
}
.serpifai-consent-preview{
  display:inline-flex;
  margin:0 0 4px;
  padding:2px 6px;
  border:1px solid var(--spc-line);
  border-radius:999px;
  color:var(--spc-accent);
  font-size:.66rem;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.serpifai-consent-actions{
  display:flex;
  flex-wrap:nowrap;
  gap:7px;
  align-items:center;
  margin:0;
}
.serpifai-consent-button{
  min-height:36px;
  padding:7px 10px;
  border:1px solid var(--spc-line-strong);
  border-radius:9px;
  background:rgba(12,43,61,.9);
  color:var(--spc-text);
  font:inherit;
  font-size:.8rem;
  font-weight:730;
  line-height:1.05;
  white-space:nowrap;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.serpifai-consent-button:hover{
  border-color:var(--spc-accent);
  background:rgba(19,62,81,.98);
}
.serpifai-consent-button:active{transform:translateY(1px)}
.serpifai-consent-button:focus-visible,
.serpifai-consent-settings:focus-visible,
.serpifai-consent-switch input:focus-visible + span{
  outline:3px solid var(--spc-focus);
  outline-offset:3px;
}
.serpifai-consent-button[data-consent-action="accept"],
.serpifai-consent-button[data-consent-action="reject"],
.serpifai-consent-button[data-consent-action="modal-accept"],
.serpifai-consent-button[data-consent-action="modal-reject"]{
  min-width:94px;
  border-color:var(--spc-line-strong);
  background:rgba(12,43,61,.95);
  color:var(--spc-text);
}
.serpifai-consent-button[data-consent-action="customise"]{
  border-color:rgba(160,186,201,.42);
  background:transparent;
  color:#c2d2dc;
}
.serpifai-consent-close{
  width:30px;
  height:30px;
  padding:0;
  border:1px solid rgba(160,186,201,.28);
  border-radius:8px;
  background:rgba(4,18,31,.58);
  color:var(--spc-muted);
  font:inherit;
  font-size:1rem;
  cursor:pointer;
}
.serpifai-consent-modal-wrap{
  position:fixed;
  z-index:2147483001;
  inset:0;
  display:grid;
  place-items:center;
  padding:16px;
  background:rgba(0,7,13,.66);
}
.serpifai-consent-modal{
  width:min(780px,100%);
  max-height:min(760px,calc(100vh - 32px));
  overflow:auto;
  padding:14px;
  border:1px solid var(--spc-line-strong);
  border-radius:var(--spc-radius);
  background:var(--spc-bg-soft);
  color:var(--spc-text);
  box-shadow:var(--spc-shadow);
}
.serpifai-consent-modal__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
}
.serpifai-consent-provider-summary{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px;
  align-items:center;
  margin-top:11px;
  padding:8px 10px;
  border:1px solid var(--spc-line);
  border-radius:10px;
  background:rgba(4,18,31,.46);
  color:var(--spc-muted);
  font-size:.77rem;
  line-height:1.35;
}
.serpifai-consent-provider-summary strong{
  color:var(--spc-accent);
  font-size:.72rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.serpifai-consent-category-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:10px;
}
.serpifai-consent-category{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  min-height:104px;
  padding:10px;
  border:1px solid var(--spc-line);
  border-radius:12px;
  background:
    linear-gradient(145deg,rgba(24,70,88,.2),transparent 58%),
    rgba(4,18,31,.5);
}
.serpifai-consent-category__icon{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid rgba(83,221,239,.38);
  border-radius:10px;
  background:rgba(17,55,72,.72);
  color:var(--spc-accent);
  font-size:.92rem;
  font-weight:800;
}
.serpifai-consent-category__copy{min-width:0}
.serpifai-consent-category__heading{
  display:flex;
  flex-wrap:wrap;
  gap:5px 7px;
  align-items:center;
  margin-bottom:3px;
}
.serpifai-consent-category h3{
  margin:0;
  color:var(--spc-text);
  font-size:.88rem;
  line-height:1.2;
}
.serpifai-consent-category p{
  font-size:.75rem;
  line-height:1.38;
}
.serpifai-consent-category__status{
  display:inline-flex;
  padding:2px 6px;
  border:1px solid rgba(160,186,201,.28);
  border-radius:999px;
  color:#b7c7d0;
  font-size:.62rem;
  font-weight:720;
  line-height:1.2;
  white-space:nowrap;
}
.serpifai-consent-category__status[data-provider-state="active"]{
  border-color:rgba(83,221,239,.5);
  color:var(--spc-accent);
}
.serpifai-consent-category__status[data-provider-state="required"]{
  border-color:rgba(169,140,255,.46);
  color:#d5c8ff;
}
.serpifai-consent-required{
  color:#d5c8ff;
  font-size:.7rem;
  font-weight:760;
  white-space:nowrap;
}
.serpifai-consent-switch{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.serpifai-consent-switch input{
  position:absolute;
  inline-size:1px;
  block-size:1px;
  opacity:0;
}
.serpifai-consent-switch span{
  position:relative;
  display:block;
  width:44px;
  height:25px;
  border:1px solid rgba(160,186,201,.55);
  border-radius:999px;
  background:rgba(4,18,31,.9);
  cursor:pointer;
}
.serpifai-consent-switch span::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:17px;
  height:17px;
  border-radius:50%;
  background:#c0d0d9;
  transition:transform .16s ease,background .16s ease;
}
.serpifai-consent-switch input:checked + span{
  border-color:var(--spc-line-strong);
  background:rgba(34,117,132,.72);
}
.serpifai-consent-switch input:checked + span::after{
  transform:translateX(19px);
  background:#efffff;
}
.serpifai-consent-modal__detail{
  margin-top:10px!important;
  font-size:.74rem!important;
}
.serpifai-consent-modal__foot{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
  margin-top:12px;
}
.serpifai-consent-settings{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:6px 9px;
  border:1px solid rgba(83,221,239,.32);
  border-radius:999px;
  background:rgba(4,18,31,.78);
  color:#c5d8e3;
  font:inherit;
  font-size:.75rem;
  line-height:1;
  cursor:pointer;
}
footer .serpifai-consent-settings{
  position:static;
  margin:8px 0;
}
body > .serpifai-consent-settings{
  position:fixed;
  z-index:2147482998;
  left:12px;
  bottom:12px;
  opacity:.86;
}
.serpifai-consent-toast{
  position:fixed;
  z-index:2147483002;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  width:min(460px,calc(100vw - 24px));
  padding:9px 11px;
  border:1px solid var(--spc-line);
  border-radius:11px;
  background:var(--spc-bg);
  color:var(--spc-text);
  box-shadow:var(--spc-shadow);
  font-size:.8rem;
  text-align:center;
}
html.serpifai-consent-modal-open{overflow:hidden}

@media (max-width:880px){
  .serpifai-consent-banner{
    grid-template-columns:1fr;
    gap:9px;
    width:min(720px,calc(100vw - 20px));
  }
  .serpifai-consent-actions{
    justify-content:flex-end;
  }
}
@media (max-width:660px){
  .serpifai-consent-banner{
    bottom:8px;
    padding:10px;
  }
  .serpifai-consent-banner__copy{padding-right:34px}
  .serpifai-consent-banner__row > .serpifai-consent-close{
    position:absolute;
    top:9px;
    right:9px;
  }
  .serpifai-consent-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .serpifai-consent-button[data-consent-action="customise"]{
    grid-column:1/-1;
  }
  .serpifai-consent-category-grid{
    grid-template-columns:1fr;
  }
  .serpifai-consent-category{
    min-height:92px;
  }
  .serpifai-consent-provider-summary{
    grid-template-columns:1fr;
    gap:3px;
  }
}
@media (max-width:420px){
  .serpifai-consent-actions{
    grid-template-columns:1fr;
  }
  .serpifai-consent-button[data-consent-action="customise"]{
    grid-column:auto;
  }
  .serpifai-consent-modal__foot{
    display:grid;
    grid-template-columns:1fr;
  }
}
@media (prefers-reduced-motion:reduce){
  .serpifai-consent-button,
  .serpifai-consent-switch span::after{transition:none!important}
}
