/* cookie consent — same component as our other sites, themed for ToothLab */
.ab-cb, .ab-cm, .ab-ct{
  --ab-accent:#58ba0d;
  --ab-accent-ink:#ffffff;
  --ab-link:#468f0a;
  --ab-bg:#ffffff;
  --ab-text:#333333;
  --ab-muted:#f2f2f2;
  font-family:inherit;font-size:14px;color:var(--ab-text);
}
.ab-cb[hidden], .ab-cm[hidden]{display:none !important;}
.ab-cb{
  position:fixed;left:0;right:0;bottom:0;z-index:99999;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;
  padding:18px 24px;background:var(--ab-bg);
  border-top:3px solid var(--ab-accent);box-shadow:0 -4px 24px rgba(0,0,0,.12);
}
.ab-cb p{margin:0;flex:1 1 260px;}
.ab-cb a{color:var(--ab-link);}
.ab-cb__btns, .ab-cm__btns{display:flex;flex-wrap:wrap;gap:10px;}
.ab-cbtn{
  padding:10px 18px;border:2px solid transparent;border-radius:6px;
  font:inherit;font-size:13px;font-weight:600;cursor:pointer;line-height:1.2;
}
.ab-cbtn--primary{background:var(--ab-accent);color:var(--ab-accent-ink);}
.ab-cbtn--outline{background:var(--ab-bg);color:var(--ab-link);border-color:var(--ab-accent);}
.ab-cbtn--ghost{background:var(--ab-muted);color:var(--ab-text);}
.ab-cbtn:focus-visible, .ab-ct:focus-visible, .ab-cm__x:focus-visible{outline:3px solid var(--ab-link);outline-offset:2px;}
.ab-cm{
  position:fixed;inset:0;z-index:100000;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.5);padding:16px;
}
.ab-cm__box{
  position:relative;width:100%;max-width:520px;max-height:85vh;overflow-y:auto;
  background:var(--ab-bg);border-radius:10px;padding:28px;
}
.ab-cm__box h2{margin:0 0 16px;font-size:20px;}
.ab-cm__x{position:absolute;top:10px;right:12px;background:none;border:0;font-size:26px;line-height:1;cursor:pointer;color:var(--ab-text);}
.ab-cm__row{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;
  border:1px solid #e6e6e6;border-radius:8px;padding:14px 16px;margin-bottom:12px;cursor:pointer;
}
.ab-cm__row small{display:block;margin-top:4px;font-size:13px;opacity:.75;}
.ab-cm__row input{position:absolute;opacity:0;width:1px;height:1px;}
.ab-sw{flex:0 0 44px;height:24px;border-radius:24px;background:#ccc;position:relative;transition:background .2s;}
.ab-sw::before{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;}
.ab-cm__row input:checked + .ab-sw{background:var(--ab-accent);}
.ab-cm__row input:checked + .ab-sw::before{transform:translateX(20px);}
.ab-cm__row input:disabled + .ab-sw{opacity:.6;}
.ab-cm__row input:focus-visible + .ab-sw{outline:3px solid var(--ab-link);outline-offset:2px;}
.ab-cm__btns{margin-top:20px;}
.ab-cm__btns .ab-cbtn{flex:1;}
.ab-ct{
  position:fixed;left:16px;bottom:16px;z-index:99998;
  background:var(--ab-accent);color:var(--ab-accent-ink);
  border:0;border-radius:50px;padding:9px 14px;font-size:12px;font-weight:600;cursor:pointer;
}
@media (max-width:600px){
  .ab-cb{padding:16px;}
  .ab-cb__btns{width:100%;}
  .ab-cb__btns .ab-cbtn{flex:1;}
}
@media (prefers-reduced-motion: reduce){ .ab-sw, .ab-sw::before{transition:none;} }
