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

#cc-main {
  --cc-font-family: var(--font-family-sans);
  --cc-z-index: 2147483000;
}

/* Ley 21.719 and GDPR both require 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 two policies,
   so this card carries only the purposes, the choice, and the way into both. 30em rather than
   the library's 36em; below ~640px its 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;
}

/* Footer withdrawal control, styled as a link so the legal row reads as one set.
   It is a <button> for accessibility. Withdrawal must be as easy as granting was. */
.footer-legal .cookie-prefs-btn {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

.footer-legal .cookie-prefs-btn:hover,
.footer-legal .cookie-prefs-btn:focus-visible {
  text-decoration: underline;
}

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

/* ============================================
   LEGAL PAGES (privacy / cookie policy)
   ============================================ */

.legal {
  padding: 6rem 1.5rem 4rem;
}

.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: var(--font-family-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: 5rem 1rem 3rem;
  }
}
