.cookie-consent {
  position: fixed;
  inset: auto 20px 20px;
  z-index: 1000;
  max-width: 1200px;
  margin-inline: auto;
  max-height: calc(100dvh - 40px);
  overflow-y: auto;
  padding: 24px;
  color: #334155;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  box-shadow: 0 12px 48px rgba(30, 41, 59, .16), 0 2px 8px rgba(30, 41, 59, .06);
}
.cookie-consent__main { display: flex; align-items: center; gap: 20px; }
.cookie-consent__icon {
  display: grid; place-items: center; flex: 0 0 52px; height: 52px;
  color: #7c3aed; background: #f3e8ff; border-radius: 16px;
}
.cookie-consent__icon svg { width: 30px; height: 30px; }
.cookie-consent__copy { flex: 1; min-width: 0; }
.cookie-consent__title { margin: 0 0 6px; font-size: 17px; font-weight: 700; line-height: 1.4; color: #0f172a; }
.cookie-consent__message { margin: 0; font-size: 14px; line-height: 1.65; }
.cookie-consent__link { color: #6d28d9; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.cookie-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; flex-shrink: 0; }
.cookie-consent__button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 11px 16px; border: 1px solid transparent;
  border-radius: 10px; font-size: 14px; font-weight: 600; line-height: 1.4;
  cursor: pointer; transition: background-color .15s, box-shadow .15s;
}
.cookie-consent__button--accept { color: #fff; background: #6d28d9; }
.cookie-consent__button--accept:hover { background: #5b21b6; }
.cookie-consent__button--reject { color: #334155; background: #fff; border-color: #cbd5e1; }
.cookie-consent__button--reject:hover { background: #f8fafc; }
.cookie-consent__button--settings { color: #6d28d9; background: #f5f3ff; border-color: #ddd6fe; }
.cookie-consent__button--settings:hover { background: #ede9fe; }
.cookie-consent__button svg { width: 16px; height: 16px; }
.cookie-consent :focus-visible { outline: 3px solid #8b5cf6; outline-offset: 3px; }
.cookie-consent__preferences { margin-top: 20px; padding: 20px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; }
.cookie-consent__essential { margin: 0 0 14px; color: #475569; font-size: 14px; }
.cookie-consent__option { display: flex; align-items: center; gap: 10px; color: #0f172a; font-size: 14px; font-weight: 600; cursor: pointer; }
.cookie-consent__option input { width: 18px; height: 18px; accent-color: #6d28d9; }
.cookie-consent__details { margin: 10px 0 16px; font-size: 13px; line-height: 1.7; }
@media (max-width: 1100px) {
  .cookie-consent__main { flex-wrap: wrap; align-items: flex-start; }
  .cookie-consent__actions { margin-left: 72px; }
}
@media (max-width: 600px) {
  .cookie-consent { inset: auto 12px 12px; padding: 18px; border-radius: 16px; max-height: calc(100dvh - 24px); }
  .cookie-consent__main { gap: 14px; }
  .cookie-consent__icon { flex-basis: 40px; height: 40px; border-radius: 12px; }
  .cookie-consent__icon svg { width: 25px; height: 25px; }
  .cookie-consent__title { font-size: 16px; }
  .cookie-consent__message { font-size: 13px; }
  .cookie-consent__actions { width: 100%; margin-left: 0; gap: 8px; }
  .cookie-consent__actions .cookie-consent__button { flex: 1 1 calc(50% - 8px); padding-inline: 12px; }
  .cookie-consent__actions .cookie-consent__button--settings { flex-basis: 100%; }
  .cookie-consent__preferences { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) { .cookie-consent__button { transition: none; } }
