/* Cookie consent banner */
.st-consent {
  position: fixed; left: 0; right: 0; bottom: -200px;
  z-index: 9999;
  background: var(--dark-3, #1a1a1a);
  border-top: 3px solid var(--red, #c40927);
  padding: 20px 24px;
  display: flex; flex-wrap: wrap; align-items: center; gap: 16px;
  transition: bottom 0.3s ease;
  font-family: var(--font-ui, sans-serif);
}
.st-consent.is-visible { bottom: 0; }
.st-consent__text { flex: 1 1 320px; font-size: 13px; line-height: 1.6; color: #ddd; }
.st-consent__text a { color: var(--red, #c40927); text-decoration: underline; }
.st-consent__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.st-consent__btn {
  font-family: var(--font-ui, sans-serif); font-size: 13px; font-weight: 600;
  padding: 10px 20px; border-radius: 4px; cursor: pointer; border: 1px solid var(--red, #c40927);
  background: transparent; color: #fff;
}
.st-consent__btn--accept { background: var(--red, #c40927); }
.st-consent__btn--accept:hover { background: var(--red-hover, #a00720); }
.st-consent__btn--reject:hover { background: rgba(196,9,39,0.15); }

/* Form consent checkbox */
.form-consent { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; line-height: 1.5; color: var(--gray-light, #b3b3b3); cursor: pointer; margin: 4px 0 8px; }
.form-consent input[type="checkbox"] { margin-top: 3px; flex-shrink: 0; width: 16px; height: 16px; accent-color: var(--red, #c40927); cursor: pointer; }
.form-consent a { color: var(--red, #c40927); text-decoration: underline; }

/* Legal page (Privacy/Cookie policy) */
.legal { padding: 140px 24px 80px; max-width: 780px; margin: 0 auto; }
.legal__title { font-family: var(--font-heading, serif); font-size: clamp(28px, 4vw, 44px); margin-bottom: 8px; }
.legal__updated { color: var(--gray-mid, #999); font-size: 13px; margin-bottom: 32px; }
.legal h2 { font-family: var(--font-ui, sans-serif); font-size: 18px; margin: 32px 0 12px; color: #fff; }
.legal p, .legal li { font-size: 14px; line-height: 1.75; color: var(--gray-light, #b3b3b3); }
.legal ul { margin: 0 0 16px 20px; }
.legal li { margin-bottom: 6px; }
.legal a { color: var(--red, #c40927); text-decoration: underline; }
.legal__table { width: 100%; border-collapse: collapse; margin: 16px 0 24px; font-size: 13px; }
.legal__table th, .legal__table td { border: 1px solid #333; padding: 8px 10px; text-align: left; color: var(--gray-light, #b3b3b3); }
.legal__table th { color: #fff; background: var(--dark-3, #1a1a1a); }
.legal__divider { border: none; border-top: 1px solid #333; margin: 48px 0; }
.legal__back { display: inline-block; margin-top: 32px; color: var(--red, #c40927); font-weight: 600; }
