/* ============================================================
   AAB cookie consent bar  (aab-cookie-consent.php + aab-consent.js)
   A floating dock: cookie illustration | message | two equal buttons.
   Desktop: one row, centred, max 960px. Tablets: buttons drop below
   the text. Phones: bottom sheet, buttons side by side at full width.
   Uses the skin tokens, so dark / light mode follow html[data-theme].
   "html body" + a few !important: Additional CSS (post 84131) prints
   after the skin and styles p / a / button with !important.
   ============================================================ */
.aab-cc[hidden]{display:none!important}

html body .aab-cc{
  --cc-accent:#007A48;                          /* teal that passes AA on white */
  --cc-ghost-line:#CBD5E1;
  --cc-icon-bg:#F1F5F9;
  --cc-shadow:0 24px 60px -14px rgba(15,23,42,.35),0 2px 8px rgba(15,23,42,.10);
  position:fixed;z-index:9990;left:50%;bottom:max(20px,env(safe-area-inset-bottom));
  width:min(960px,calc(100vw - 32px));box-sizing:border-box;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px 22px;
  margin:0;padding:18px 20px 18px 18px;
  border:1px solid transparent;border-radius:22px;
  background:
    linear-gradient(var(--aab-surface),var(--aab-surface)) padding-box,
    linear-gradient(115deg,var(--aab-teal) 0%,rgba(148,163,184,.28) 30%,rgba(148,163,184,.28) 70%,var(--aab-orange) 100%) border-box;
  box-shadow:var(--cc-shadow);
  color:var(--aab-ink);text-align:left;
  font-family:Rubik,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  opacity:0;transform:translate(-50%,28px) scale(.98);
  transition:opacity .45s cubic-bezier(.2,.8,.2,1),transform .55s cubic-bezier(.2,.8,.2,1);
}
html[data-theme="dark"] body .aab-cc{
  --cc-accent:#2FD6A5;
  --cc-ghost-line:rgba(230,235,244,.24);
  --cc-icon-bg:var(--aab-surface-2,#1B2540);
  --cc-shadow:0 26px 70px -12px rgba(0,0,0,.7),0 2px 8px rgba(0,0,0,.35);
}
html body .aab-cc.is-in{opacity:1;transform:translate(-50%,0) scale(1)}
html body .aab-cc.is-out{opacity:0;transform:translate(-50%,24px) scale(.98);pointer-events:none}

/* cookie illustration on a soft teal / orange glow */
html body .aab-cc-icon{
  position:relative;display:grid;place-items:center;flex:none;
  width:64px;height:64px;border-radius:18px;
  background:
    radial-gradient(circle at 28% 22%,rgba(24,201,153,.26),transparent 58%),
    radial-gradient(circle at 78% 82%,rgba(250,138,3,.24),transparent 60%),
    var(--cc-icon-bg);
}
html body .aab-cc-icon svg{
  display:block;width:46px;height:46px;overflow:visible;
  transform:rotate(-70deg) scale(.6);opacity:0;
  transition:transform .8s cubic-bezier(.34,1.56,.64,1) .12s,opacity .3s ease .12s;
}
html body .aab-cc.is-in .aab-cc-icon svg{transform:none;opacity:1}
html body .aab-cc .aab-cc-bite2{transform:scale(0);transform-box:fill-box;transform-origin:center;transition:transform .22s cubic-bezier(.3,1.5,.6,1)}
html body .aab-cc .aab-cc-crumbs circle{opacity:0}
/* "Accept all": the cookie takes a second bite and drops a few crumbs */
html body .aab-cc.is-crunch .aab-cc-bite2{transform:scale(1)}
html body .aab-cc.is-crunch .aab-cc-crumbs circle{animation:aab-cc-crumb .6s ease-in forwards}
html body .aab-cc.is-crunch .aab-cc-crumbs circle:nth-child(2){animation-delay:.05s}
html body .aab-cc.is-crunch .aab-cc-crumbs circle:nth-child(3){animation-delay:.1s}
html body .aab-cc.is-crunch .aab-cc-crumbs circle:nth-child(4){animation-delay:.02s}
html body .aab-cc.is-crunch .aab-cc-crumbs circle:nth-child(5){animation-delay:.08s}
@keyframes aab-cc-crumb{
  0%{opacity:0;transform:translate(0,0)}
  20%{opacity:1}
  100%{opacity:0;transform:translate(3px,16px)}
}

/* text */
html body .aab-cc-body{min-width:0}
html body .aab-cc p{margin:0;padding:0;font-family:inherit;text-transform:none}
html body .aab-cc .aab-cc-kicker{
  margin:0 0 3px;font-size:11px;line-height:1.3;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--cc-accent)!important;
}
html body .aab-cc .aab-cc-title{margin:0 0 4px;font-size:17px;line-height:1.3;font-weight:700;letter-spacing:0;color:var(--aab-ink)!important}
html body .aab-cc .aab-cc-text{font-size:13.5px;line-height:1.55;font-weight:400;color:var(--aab-muted)!important}
html body .aab-cc .aab-cc-text a{
  color:var(--cc-accent)!important;font-weight:600;white-space:nowrap;
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;
}
html body .aab-cc .aab-cc-text a:hover{text-decoration-thickness:2px}

/* buttons: same size, so saying no is as easy as saying yes */
html body .aab-cc-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
html body .aab-cc .aab-cc-btn{
  -webkit-appearance:none;appearance:none;box-sizing:border-box;margin:0;
  display:inline-flex;align-items:center;justify-content:center;
  min-width:152px;min-height:46px;padding:10px 20px;border-radius:14px;
  font:600 14px/1.2 Rubik,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  letter-spacing:.01em;text-transform:none;text-align:center;white-space:nowrap;text-shadow:none;
  cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
html body .aab-cc .aab-cc-btn-ghost{background:transparent!important;border:1.5px solid var(--cc-ghost-line)!important;color:var(--aab-ink)!important;box-shadow:none}
html body .aab-cc .aab-cc-btn-ghost:hover{border-color:var(--cc-accent)!important;color:var(--cc-accent)!important}
html body .aab-cc .aab-cc-btn-primary{background:var(--aab-orange)!important;border:1.5px solid var(--aab-orange)!important;color:#0F172A!important;box-shadow:0 8px 20px -8px rgba(250,138,3,.75)}
html body .aab-cc .aab-cc-btn-primary:hover{background:var(--aab-orange-dark)!important;border-color:var(--aab-orange-dark)!important;transform:translateY(-1px)}
html body .aab-cc .aab-cc-btn:active{transform:translateY(0) scale(.98)}
html body .aab-cc .aab-cc-btn:focus-visible{outline:3px solid var(--cc-accent);outline-offset:3px}

/* the theme's back-to-top button moves up while the bar is open and could cover it */
@media (max-width:1079px){
  html.aab-cc-open #edgtf-back-to-top{bottom:calc(var(--aab-cc-h,0px) + 32px)!important;transition:bottom .35s ease,opacity .2s ease}
}

/* tablets: buttons move under the text */
@media (max-width:860px){
  html body .aab-cc{grid-template-columns:auto minmax(0,1fr)}
  html body .aab-cc-actions{grid-column:2;justify-content:flex-start}
}

/* phones: bottom sheet */
@media (max-width:600px){
  html body .aab-cc{
    left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:auto;
    gap:12px 14px;padding:16px;border-radius:20px;
    transform:translateY(28px);
  }
  html body .aab-cc.is-in{transform:none}
  html body .aab-cc.is-out{transform:translateY(24px)}
  html body .aab-cc-icon{align-self:start;width:48px;height:48px;border-radius:14px}
  html body .aab-cc-icon svg{width:34px;height:34px}
  html body .aab-cc .aab-cc-title{font-size:16px}
  html body .aab-cc .aab-cc-text{font-size:13px}
  html body .aab-cc-actions{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  html body .aab-cc .aab-cc-btn{min-width:0;padding:10px 12px;white-space:normal}
}

/* hide behind the full-screen search, never print it */
.edgtf-fullscreen-search-opened .aab-cc{visibility:hidden}
@media print{.aab-cc{display:none!important}}

@media (prefers-reduced-motion:reduce){
  html body .aab-cc,
  html body .aab-cc *{transition:none!important;animation:none!important}
  html body .aab-cc-icon svg{transform:none;opacity:1}
}
