.tfc-consent{
  position:fixed;
  inset:auto 0 12px 0;
  z-index:140;
  pointer-events:none;
}
.tfc-consent[hidden],
.tfc-consent__banner[hidden],
.tfc-consent__panel[hidden],
.tfc-consent__fab[hidden],
.tfc-consent.is-banner-hidden .tfc-consent__banner,
.tfc-consent__banner.is-hidden{
  display:none !important;
}
.tfc-consent__banner,
.tfc-consent__panel,
.tfc-consent__fab{pointer-events:auto}
.tfc-consent__banner,
.tfc-consent__panel{
  border:1px solid rgba(17,17,24,.08);
  background:#fff;
  box-shadow:0 12px 32px rgba(17,17,24,.10);
}
.tfc-consent__banner{
  width:min(calc(100% - 24px),1260px);
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px 18px;
  align-items:center;
  padding:10px 14px;
  border-radius:14px;
}
.tfc-consent__copy{
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 12px;
}
.tfc-consent__panel{
  position:fixed;
  right:16px;
  bottom:64px;
  width:min(calc(100% - 24px),520px);
  max-height:min(78vh,760px);
  overflow:auto;
  padding:18px;
  border-radius:22px;
}
.tfc-consent__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-family:var(--font-h);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--brand-d);
  white-space:nowrap;
}
.tfc-consent__eyebrow::before{
  content:'';
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--brand);
}
.tfc-consent__title{
  margin:0;
  font-size:.98rem;
  line-height:1.18;
}
.tfc-consent__text{
  margin:0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.38;
  max-width:none;
}
.tfc-consent__text a{font-weight:700;white-space:nowrap}
.tfc-consent__actions{
  display:flex;
  flex-wrap:nowrap;
  gap:.5rem;
  align-items:center;
  justify-content:flex-end;
}
.tfc-consent__btn{
  justify-content:center;
  min-height:36px;
  padding:.58rem .9rem;
  font-size:.88rem;
}
.tfc-consent__panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.4rem}
.tfc-consent__close{
  width:40px;
  height:40px;
  border:1px solid rgba(17,17,24,.1);
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
}
.tfc-consent__groups{display:grid;gap:.72rem;margin-top:1rem}
.tfc-consent__group{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1rem 1rem 1.05rem;
  border:1px solid rgba(17,17,24,.08);
  border-radius:18px;
  background:#fff;
}
.tfc-consent__group-copy .tfc-consent__group-title{display:block;margin:0 0 .2rem;font-size:1rem}
.tfc-consent__group-copy p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.5}
.tfc-consent__state{
  padding:.42rem .78rem;
  border-radius:999px;
  background:var(--off);
  color:var(--ink);
  font-family:var(--font-h);
  font-size:.8rem;
  font-weight:700;
  white-space:nowrap;
}
.tfc-consent__switch{display:inline-flex;align-items:center;position:relative;flex:0 0 auto}
.tfc-consent__switch input{
  position:absolute;
  inset:0;
  opacity:0;
  width:100%;
  height:100%;
  margin:0;
  cursor:pointer;
}
.tfc-consent__switch span{
  display:block;
  width:56px;
  height:32px;
  border-radius:999px;
  background:#d7d7de;
  box-shadow:inset 0 0 0 1px rgba(17,17,24,.06);
  transition:background .18s ease;
  position:relative;
}
.tfc-consent__switch span::after{
  content:'';
  position:absolute;
  top:4px;
  left:4px;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 3px 12px rgba(17,17,24,.16);
  transition:transform .18s ease;
}
.tfc-consent__switch input:checked + span{background:var(--brand)}
.tfc-consent__switch input:checked + span::after{transform:translateX(24px)}
.tfc-consent__actions--panel{justify-content:space-between;margin-top:1rem}
.tfc-consent__actions-right{display:flex;flex-wrap:wrap;gap:.65rem}
.tfc-consent__policy{font-weight:700}
.tfc-consent__fab{
  position:fixed;
  left:16px;
  bottom:16px;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  min-height:38px;
  padding:.62rem .88rem;
  border:1px solid rgba(17,17,24,.08);
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 10px 24px rgba(17,17,24,.10);
  font-family:var(--font-h);
  font-size:.82rem;
  font-weight:700;
  cursor:pointer;
}
.tfc-consent__fab:hover{transform:translateY(-1px)}
.tfc-consent__fab span[aria-hidden="true"]{font-size:1rem;line-height:1}
html[data-consent-status="unknown"] .tfc-consent__fab{display:none}
@media (max-width:980px){
  .tfc-consent__banner{grid-template-columns:1fr;align-items:start}
  .tfc-consent__actions{justify-content:flex-start;flex-wrap:wrap}
}
@media (max-width:760px){
  .tfc-consent{inset:auto 0 10px 0}
  .tfc-consent__banner{width:min(calc(100% - 16px),1260px);padding:11px 12px;border-radius:14px;gap:10px}
  .tfc-consent__copy{display:block}
  .tfc-consent__eyebrow{margin-bottom:4px}
  .tfc-consent__title{font-size:.96rem;margin-bottom:4px}
  .tfc-consent__text{font-size:.82rem;line-height:1.38}
  .tfc-consent__panel{left:12px;right:12px;bottom:60px;width:auto;padding:16px;border-radius:18px}
  .tfc-consent__group{align-items:flex-start}
  .tfc-consent__actions,
  .tfc-consent__actions-right{display:grid;grid-template-columns:1fr;gap:.55rem;width:100%}
  .tfc-consent__btn{width:100%;min-height:40px}
  .tfc-consent__actions--panel{gap:.85rem}
  .tfc-consent__policy{order:2}
  .tfc-consent__fab{left:12px;bottom:12px}
}
@media (prefers-reduced-motion:reduce){
  .tfc-consent__switch span,
  .tfc-consent__switch span::after,
  .tfc-consent__fab{transition:none}
}
