/* SmartLab — cookie consent banner.
   Kept in its own file because it has to render identically on every page,
   including ones that do not load the product stylesheet. Depends only on the
   design tokens and .btn classes in smartlab-v2.css. */

/* --- Cookie consent ------------------------------------------------------ */
.cookiebar {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 200;
  background: var(--surface); border: 1px solid var(--line-2); border-radius: var(--r-lg);
  box-shadow: var(--shadow-lg); padding: 24px 28px 26px;
  max-width: 900px; margin-inline: auto;
  display: none;
}
.cookiebar[data-state="open"] { display: block; }

/* Consent is compliance UI, not brand surface. It keeps the blue palette on
   every page so its controls clear AA regardless of the page theme — the
   orange theme's accent is a documented large-text-only exception and must
   never be the only thing carrying a consent label. */
.cookiebar {
  --accent: var(--blue);
  --accent-ink: var(--blue-ink);
  --accent-fill: var(--blue-ink);
  --accent-tint: var(--blue-tint);
  --accent-on: #fff;
}
.cookiebar__inner { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 28px; align-items: center; }
.cookiebar h2 { font-size: var(--fs-lg); font-weight: 700; margin-bottom: 8px; }
.cookiebar p { font-size: var(--fs-sm); line-height: 1.6; color: var(--ink-2); }
.cookiebar p a { color: var(--accent-ink); font-weight: 700; }
.cookiebar__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.cookiebar__actions .btn { padding: 11px 20px; font-size: var(--fs-base); }
.cookiebar__link {
  background: none; border: 0; padding: 11px 8px; font: inherit; font-size: var(--fs-sm);
  font-weight: 700; color: var(--ink-3); cursor: pointer; text-decoration: underline;
}
.cookiebar__link:hover { color: var(--accent-ink); }

.cookiebar__prefs { display: none; margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--line); }
.cookiebar[data-prefs="open"] .cookiebar__prefs { display: block; }
.cookieopt { display: flex; gap: 14px; align-items: flex-start; padding: 14px 0; }
.cookieopt + .cookieopt { border-top: 1px solid var(--line); }
.cookieopt input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--accent-fill); flex: none; }
.cookieopt input:disabled { opacity: .5; }
.cookieopt label { font-size: var(--fs-base); font-weight: 700; display: block; margin-bottom: 3px; }
.cookieopt p { font-size: .8125rem; line-height: 1.55; }
.cookiebar__prefsActions { margin-top: 18px; display: flex; gap: 10px; }

/* The persistent re-opener, so consent can be changed at any time. */
.cookie-reopen {
  background: none; border: 0; padding: 0; font: inherit; cursor: pointer;
  color: inherit; text-decoration: none;
}
.cookie-reopen:hover { text-decoration: underline; }

@media (max-width: 767px) {
  .cookiebar { padding: 20px 20px 22px; left: 10px; right: 10px; bottom: 10px; }
  .cookiebar__inner { grid-template-columns: 1fr; gap: 18px; }
  .cookiebar__actions .btn { flex: 1 1 auto; text-align: center; }
}

.site-footer__barInner {
  display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; justify-content: space-between;
}
