/**
 * Cookie consent — site overrides.
 * Must load AFTER vendor/cookieconsent/cookieconsent.css.
 */

#cc-main {
  --cc-font-family: 'Roboto', sans-serif;
  --cc-z-index: 2147483000;
}

/* GDPR requires accept and reject to carry equal prominence.
   Deliberately no override here: the library gives data-role="all" and data-role="necessary"
   the same primary button class, and equalWeightButtons matches their widths. Styling the
   reject button as secondary would be exactly the imbalance the law prohibits. */

/* Compact first-run banner. The detail lives in the preferences modal and the policies, so this
   card carries only the purposes, the choice, and the way into both. Below ~640px the library's
   own media query takes over and the card goes full width. */
#cc-main .cm--box.cm--wide { max-width: 30em; }
#cc-main .cm__texts { padding-top: 0.85rem; }
#cc-main .cm__title { font-size: 1em; }
#cc-main .cm__desc { font-size: 0.85em; margin-top: 0.6em; padding-bottom: 0.85em; }
#cc-main .cm__btn { min-height: 38px; font-size: 0.8em; }
#cc-main .cm__link-group { font-size: 0.75em; }

/* The library ships [dir="rtl"] rules; the Arabic pages set dir="rtl" on <html>, so the banner
   mirrors along with the page. This has not been visually confirmed. */

/* Footer legal row. The withdrawal control is a <button> for accessibility, styled as a link so
   the row reads as one set. Withdrawal must be as easy as granting was. */
.legal-links { margin-top: 0.75rem; font-size: 0.85em; }
.legal-links a,
.legal-links .cookie-prefs-btn {
  color: inherit;
  text-decoration: none;
  opacity: 0.85;
}
.legal-links .cookie-prefs-btn {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
}
.legal-links a:hover,
.legal-links a:focus-visible,
.legal-links .cookie-prefs-btn:hover,
.legal-links .cookie-prefs-btn:focus-visible {
  opacity: 1;
  text-decoration: underline;
}
.legal-links .sep { opacity: 0.5; margin: 0 0.4em; }

/* Privacy notice by the contact form. Informative only — never a consent checkbox. */
.form-privacy-notice {
  margin: 0 0 1rem;
  font-size: 0.8125rem;
  line-height: 1.6;
  opacity: 0.8;
}

/* ============================================
   LEGAL PAGES
   ============================================ */

.legal { padding: 3rem 1.5rem; }
.legal__inner { max-width: 820px; margin: 0 auto; }
.legal__back { margin-bottom: 2rem; font-size: 0.9375rem; }
.legal h1 { margin-bottom: 0.5rem; }
.legal__updated { font-size: 0.875rem; opacity: 0.7; margin-bottom: 2.5rem; }
.legal h2 { margin-top: 3rem; margin-bottom: 1rem; font-size: 1.375rem; }
.legal p, .legal li { line-height: 1.7; }
.legal ul { padding-left: 1.5rem; margin-bottom: 1rem; }
.legal li { margin-bottom: 0.5rem; }
.legal code {
  font-family: 'PT Mono', monospace;
  font-size: 0.875em;
  padding: 0.1em 0.35em;
  border-radius: 4px;
  background: rgba(127, 127, 127, 0.15);
}
.legal__tag {
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.5rem;
  padding: 0.15em 0.6em;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border: 1px solid currentColor;
  opacity: 0.75;
}

/* Tables scroll inside their own container so the page never scrolls sideways on mobile. */
.legal__table-wrap { overflow-x: auto; margin-bottom: 1.5rem; }
.legal__table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 0.9375rem; }
.legal__table th, .legal__table td {
  padding: 0.75rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(127, 127, 127, 0.25);
}
.legal__table th { font-weight: 600; white-space: nowrap; }

@media (max-width: 768px) {
  .legal { padding: 2rem 1rem; }
}
