/* ═══════════════════════════════════════════
   COOKIE CONSENT BANNER
   ═══════════════════════════════════════════ */
.cookie-banner{
  position:fixed;left:20px;right:20px;bottom:20px;z-index:500;
  max-width:920px;margin:0 auto;
  background:var(--white);border:1px solid var(--border2);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-xl);
  padding:22px 26px;
  transform:translateY(140%);opacity:0;
  transition:transform .5s var(--ease-spring),opacity .4s var(--ease);
  pointer-events:none;
}
.cookie-banner.v{transform:translateY(0);opacity:1;pointer-events:auto}

.cookie-banner-inner{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.cookie-banner-text{flex:1;min-width:240px;font-size:14px;color:var(--muted);line-height:1.7}
.cookie-banner-link{color:var(--indigo);font-weight:600;text-decoration:underline;text-underline-offset:2px;margin-left:6px;white-space:nowrap}

.cookie-banner-actions{display:flex;gap:12px;flex-shrink:0}
.cookie-banner-decline{background:var(--white);border:1px solid var(--border2);color:var(--text-heading);font-family:var(--font);font-size:12px;letter-spacing:0.08em;text-transform:uppercase;font-weight:600;padding:12px 22px;border-radius:var(--radius-pill);cursor:pointer;transition:all .3s var(--ease)}
.cookie-banner-decline:hover{border-color:var(--border);background:var(--surface)}
.cookie-banner-accept{background:var(--gradient);border:none;color:#fff;font-family:var(--font);font-size:12px;letter-spacing:0.08em;text-transform:uppercase;font-weight:700;padding:12px 26px;border-radius:var(--radius-pill);cursor:pointer;box-shadow:0 4px 16px rgba(14,116,144,0.22);transition:all .3s var(--ease)}
.cookie-banner-accept:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(14,116,144,0.3)}

@media(max-width:640px){
  .cookie-banner{left:12px;right:12px;bottom:12px;padding:20px}
  .cookie-banner-inner{flex-direction:column;align-items:stretch;gap:16px}
  .cookie-banner-text{font-size:13px}
  .cookie-banner-actions{width:100%}
  .cookie-banner-decline,.cookie-banner-accept{flex:1;padding:13px 16px}
}
