/* GDPR / ePrivacy cookie banner — theme-agnostic: colors follow the active
   theme via the semantic aliases from themes/_base.css (aurora fallback). */
:root{
  /* Semantic fallback chain: follows the active theme's aliases (_base.css),
     aurora values as the standalone fallback. Works on dark themes too. */
  --cookie-bg:        var(--surface, var(--panel, #ffffff));
  --cookie-fg:        var(--ink, var(--text, #0f172a));
  --cookie-mute:      var(--mut, var(--muted, #64748b));
  --cookie-line:      var(--line, rgba(15,23,42,.10));
  --cookie-soft:      var(--surface-2, var(--panel-2, #f1f5f9));
  --cookie-shadow:    0 24px 70px -24px rgba(15,23,42,.38),0 8px 24px -12px rgba(15,23,42,.18);
  --cookie-radius:    20px;
  --cookie-maxw:      760px;
  --cookie-z:         var(--z-toast, 9999);
  --cookie-primary:   var(--accent, #4f46e5);
  --cookie-primary-2: color-mix(in srgb, var(--accent, #4f46e5) 85%, black);
  --cookie-ok:        #10b981;
  --cookie-warn:      #f59e0b;
  --cookie-reject:    #475569;
}
.aa-cookies{
  position: fixed;
  left: 50%;
  bottom: max(18px,env(safe-area-inset-bottom));
  transform: translateX(-50%);
  z-index: var(--cookie-z);
  width: min(94vw, var(--cookie-maxw));
  font: inherit;
  isolation: isolate;
}
.aa-cookies[hidden]{display:none}
.aa-cookies__card{
  position: relative;
  background: var(--cookie-bg);
  color: var(--cookie-fg);
  border: 1px solid var(--cookie-line);
  border-radius: var(--cookie-radius);
  box-shadow: var(--cookie-shadow);
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.aa-cookies__close{
  position: absolute; top: 8px; right: 8px;
  width: 44px; height: 44px;
  border: 1px solid var(--cookie-line);
  background: transparent; color: var(--cookie-mute);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; transition: color .15s, border-color .15s, background .15s;
}
.aa-cookies__close:hover{ color: var(--cookie-fg); border-color: var(--cookie-fg); background: var(--cookie-soft); }
.aa-cookies__close svg{ width: 14px; height: 14px; }
.aa-cookies__head{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding-right:40px;align-items:start}
.aa-cookies__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--cookie-primary) 12%,var(--cookie-bg));color:var(--cookie-primary);border:1px solid color-mix(in srgb,var(--cookie-primary) 18%,transparent)}
.aa-cookies__icon svg{width:25px;height:25px}
.aa-cookies__copy{min-width:0}
.aa-cookies__eyebrow{display:block;margin:0 0 3px;color:var(--cookie-primary);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.aa-cookies__title{ margin: 0 0 7px; font-size: 1.08rem; line-height:1.25; font-weight: 750; letter-spacing: -.02em; }
.aa-cookies__body{ margin: 0; max-width:66ch; font-size: .86rem; line-height: 1.65; color: var(--cookie-mute); }
.aa-cookies__link{ color: var(--cookie-primary-2); text-decoration: underline; text-underline-offset: 2px; margin-left: 4px; }
.aa-cookies__actions{ display: flex; flex-wrap: wrap; gap: 9px; justify-content: flex-end; align-items:center; }
.aa-cookies__actions--details{ justify-content: space-between; border-top: 1px solid var(--cookie-line); padding-top: 12px; margin-top: 4px; }
.aa-cookies__btn{
  border: 1px solid transparent; background: var(--cookie-soft); color: var(--cookie-fg);
  min-height:40px;border-radius: 999px; padding: 9px 18px;
  font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer;
  transition: transform .12s, background .15s, border-color .15s, color .15s;
}
.aa-cookies__btn:hover{ transform: translateY(-1px); }
.aa-cookies__btn:focus-visible,.aa-cookies__close:focus-visible{outline:3px solid color-mix(in srgb,var(--cookie-primary) 35%,transparent);outline-offset:2px}
.aa-cookies__btn--secondary{ background: transparent; border-color: var(--cookie-line); color: var(--cookie-mute); }
.aa-cookies__btn--secondary:hover{ color: var(--cookie-fg); border-color: var(--cookie-fg); }
.aa-cookies__btn--accept{ background: var(--cookie-primary); color: #fff; }
.aa-cookies__btn--accept:hover{ background: var(--cookie-primary-2); }
.aa-cookies__btn--reject{ background: var(--cookie-reject); color: #fff; }
.aa-cookies__btn--reject:hover{ background: #334155; }
.aa-cookies__details{ margin-top: 4px; }
.aa-cookies__cats{ list-style: none; padding: 0; margin: 0 0 6px; }
.aa-cookies__cat{ border-bottom: 1px solid var(--cookie-line); padding: 8px 0; }
.aa-cookies__cat:last-child{ border-bottom: 0; }
.aa-cookies__cat-row{ display: flex; align-items: flex-start; gap: 14px; cursor: pointer; }
.aa-cookies__cat-text{ flex: 1; display: flex; flex-direction: column; gap: 2px; }
.aa-cookies__cat-name{ font-size: .86rem; font-weight: 600; }
.aa-cookies__cat-desc{ font-size: .76rem; color: var(--cookie-mute); line-height: 1.45; }
.aa-cookies__cat-toggle{ flex: none; }
.aa-cookies__cat-toggle input{ position: absolute; opacity: 0; width: 0; height: 0; }
.aa-cookies__cat-toggle span{
  display: inline-block; width: 38px; height: 22px; border-radius: 999px;
  background: var(--cookie-line); position: relative; transition: background .2s; flex: none; margin-top: 2px;
}
.aa-cookies__cat-toggle span::after{
  content: ""; position: absolute; top: 2px; left: 2px;
  width: 18px; height: 18px; background: #fff; border-radius: 50%;
  transition: transform .2s; box-shadow: 0 1px 2px rgba(0,0,0,.15);
}
.aa-cookies__cat-toggle input:checked + span{ background: var(--cookie-primary); }
.aa-cookies__cat-toggle input:checked + span::after{ transform: translateX(16px); }
.aa-cookies__cat-toggle input:disabled + span{ background: var(--cookie-ok); cursor: not-allowed; opacity: .65; }
.aa-cookies__cat-toggle input:focus-visible + span{ box-shadow: 0 0 0 3px color-mix(in srgb,var(--cookie-primary) 32%,transparent); }
@media (max-width: 640px){
  .aa-cookies{ bottom: 8px; }
  .aa-cookies__card{ padding: 17px 15px 14px;gap:15px;border-radius:16px }
  .aa-cookies__head{grid-template-columns:36px minmax(0,1fr);gap:11px;padding-right:36px}
  .aa-cookies__icon{width:36px;height:36px;border-radius:11px}
  .aa-cookies__icon svg{width:21px;height:21px}
  .aa-cookies__actions{ flex-direction: column-reverse; align-items: stretch; }
  .aa-cookies__actions--details{ flex-direction: column; }
  .aa-cookies__btn{ width: 100%; text-align: center; }
}
/* Reduced motion handled globally in themes/_base.css */
