/* Shared reading theme for the four public Quick Links pages. */
body.internal-page.legal-page {
  --heading-font: "Manrope", sans-serif;
  --body-font: "Manrope", sans-serif;
  --coffee: #24190f;
  --dark: #24190f;
  --accent: #a76b38;
  min-height: 100vh;
  padding-top: 84px;
  background: #f4eddf;
  color: #24190f;
  font-family: var(--body-font);
}
.legal-page *, .legal-page *::before, .legal-page *::after { box-sizing: border-box; }
.legal-page :focus-visible { outline: 3px solid #a76b38; outline-offset: 3px; }
.legal-page .fade-in-up { opacity: 1; transform: none; animation: none; }

/* Match the established public navigation and footer. */
.legal-page .site-nav {
  background: #191511 !important;
  border-bottom: 1px solid #ffffff18 !important;
  box-shadow: none !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  opacity: 1;
  transform: none;
  animation: none;
}
.legal-page .site-nav::before, .legal-page .site-nav::after { display: none; }
.legal-page .nav-container { width: 100% !important; max-width: none !important; }
.legal-page .nav-brand-wordmark { filter: brightness(1.2); }
.legal-page .nav-brand-text small { color: #e6bd8e; }
.legal-page .site-nav .nav-links a { font-family: var(--body-font); font-weight: 700; }
.legal-page .site-nav .nav-events-link { background: #dbc09b !important; color: #211811 !important; border-color: transparent !important; }
.legal-page .site-footer { background: #15120f; font-family: var(--body-font); }
.legal-page .site-footer::before, .legal-page .site-footer::after { display: none; }
.legal-page .footer-column :is(h3, h4) { color: #e6bd8e; font-family: var(--heading-font); }
.legal-page .footer-column :is(a, p) { color: #d6cabc; font-family: var(--body-font); }
.legal-page :is(.footer-trust, .footer-bottom) { font-family: var(--body-font); }
.legal-page #akopi-cookie-consent { border-radius: 6px; background: #211b16; font-family: var(--body-font); }
.legal-page .akopi-cookie-button { background: #e6bd8e; color: #24190f; border-color: #e6bd8e; border-radius: 5px; }

/* A restrained editorial introduction, with the long-form content below it. */
body.internal-page.legal-page > header {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 270px;
  margin: 0;
  padding: 48px 24px 52px !important;
  background: #191511;
  border: 0;
  text-align: center;
  opacity: 1;
  transform: none;
  animation: none;
}
.legal-page > header::before, .legal-page > header::after,
.legal-page > header h1::after,
.legal-page :is(.privacy-kicker, .terms-kicker, .conduct-kicker, .faq-kicker) { display: none !important; }
.legal-page > header :is(.privacy-header-content, .terms-header-content, .conduct-header-content, .faq-header-content) {
  width: min(1100px, 100%);
}
body.internal-page.legal-page > header h1 {
  max-width: 1100px;
  margin: 0 0 18px;
  padding: 0;
  color: #f4eddf;
  background: none;
  -webkit-text-fill-color: currentColor;
  font: 800 clamp(38px, 4.4vw, 66px)/1.08 var(--heading-font);
  letter-spacing: -.035em;
  text-align: center;
  text-wrap: balance;
  text-shadow: none;
}
body.internal-page.legal-page > header p {
  width: min(66ch, 100%);
  margin: 0 auto;
  color: #d2c4b5;
  font: 500 16px/1.7 var(--body-font);
  text-align: center;
}

.legal-page :is(.privacy-page-main, .terms-page-main, .conduct-page-main, .faq-page-main) {
  width: 100%;
  overflow: visible;
}
.legal-page :is(.privacy-content, .terms-content, .conduct-content, .faq-content) {
  width: min(1100px, calc(100% - 64px));
  margin: 0 auto;
  padding: 48px 0 80px;
}
.legal-page :is(.privacy-card, .terms-card, .conduct-card, .faq-card, .faq-help-card) {
  overflow: visible;
  background: #fffaf2;
  border: 1px solid #ddcfbd;
  border-radius: 12px;
  box-shadow: none;
}
.legal-page :is(.privacy-card, .terms-card, .conduct-card, .faq-card)::before { display: none; }
.legal-page :is(.privacy-card, .terms-card, .conduct-card) { padding: clamp(28px, 4.2vw, 56px); }
.legal-page :is(.privacy-updated, .terms-updated, .conduct-updated, .faq-updated) {
  margin: 0 0 20px;
  padding: 14px 18px;
  background: #f1e5d5;
  border: 0;
  border-radius: 6px;
  color: #584634;
  font: 600 13px/1.6 var(--body-font);
}
.legal-page :is(.privacy-section, .terms-section, .conduct-section) {
  padding: 30px 0;
  border-bottom: 1px solid #e7dacb;
}
.legal-page :is(.privacy-section, .terms-section, .conduct-section):last-of-type { border-bottom: 0; }
.legal-page :is(.privacy-section, .terms-section, .conduct-section) h2,
.legal-page .faq-category-title {
  margin: 0 0 14px;
  color: #24190f;
  font: 800 clamp(22px, 2.5vw, 30px)/1.2 var(--heading-font);
  letter-spacing: -.025em;
  text-wrap: balance;
}
.legal-page :is(.privacy-section, .terms-section, .conduct-section) p,
.legal-page :is(.privacy-list, .terms-list, .conduct-list) li {
  color: #4d4033;
  font: 500 16px/1.75 var(--body-font);
}
.legal-page :is(.privacy-list, .terms-list, .conduct-list) li::before,
.legal-page .faq-answer li::before {
  background: #5c402b;
  color: #fffaf2;
}
.legal-page :is(.terms-warning-box, .conduct-intro-box) {
  margin: 0 0 20px;
  padding: 24px 28px;
  background: #ead6b9;
  border: 0;
  border-radius: 8px;
  box-shadow: none;
}
.legal-page :is(.terms-warning-box, .conduct-intro-box) h2 { color: #24190f; font-family: var(--heading-font); }
.legal-page :is(.terms-warning-box, .conduct-intro-box) p { color: #4d3929; font-family: var(--body-font); }
.legal-page :is(.privacy-contact-box, .terms-contact-box, .conduct-contact-box) {
  padding: 22px 24px;
  background: #241c15;
  border: 0;
  border-radius: 8px;
  box-shadow: none;
}
.legal-page :is(.privacy-contact-box, .terms-contact-box, .conduct-contact-box) p { color: #f4eddf; }
.legal-page :is(.privacy-contact-box, .terms-contact-box, .conduct-contact-box) a { color: #e6bd8e; text-decoration: underline; text-underline-offset: 3px; }
.legal-page :is(.privacy-btn, .terms-btn, .conduct-btn, .faq-btn) {
  min-height: 48px;
  border-radius: 5px;
  box-shadow: none;
  font: 800 14px/1.3 var(--body-font);
  text-align: center;
}
.legal-page :is(.privacy-btn-primary, .terms-btn-primary, .conduct-btn-primary, .faq-btn-primary) {
  background: #e6bd8e;
  color: #24190f;
  border: 1px solid #e6bd8e;
  box-shadow: none;
}
.legal-page :is(.privacy-btn-secondary, .terms-btn-secondary, .conduct-btn-secondary, .faq-btn-secondary) {
  background: transparent;
  color: #3c291b;
  border: 1px solid #a99379;
}
.legal-page :is(.privacy-btn, .terms-btn, .conduct-btn, .faq-btn):hover {
  transform: none;
  filter: none;
  box-shadow: none;
  background: #f0d0a8;
}
.legal-page :is(.privacy-btn-secondary, .terms-btn-secondary, .conduct-btn-secondary, .faq-btn-secondary):hover { background: #f1e5d5; }

/* Keep the native, keyboard-friendly FAQ disclosure behavior. */
.legal-page .faq-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; }
.legal-page .faq-card { padding: clamp(26px, 3.5vw, 42px); }
.legal-page .faq-help-card { top: 108px; padding: 28px; }
.legal-page .faq-category { margin-bottom: 38px; }
.legal-page .faq-category-title { margin-bottom: 18px; }
.legal-page .faq-item {
  background: #fffdf8;
  border: 1px solid #ddcfbd;
  border-radius: 6px;
  box-shadow: none;
}
.legal-page .faq-item:hover, .legal-page .faq-item[open] {
  transform: none;
  border-color: #ae8a61;
  box-shadow: none;
}
.legal-page .faq-item summary { color: #24190f; font: 800 15px/1.5 var(--body-font); }
.legal-page .faq-item summary::after { background: #ead6b9; color: #24190f; }
.legal-page .faq-answer { color: #4d4033; font: 500 15px/1.7 var(--body-font); }
.legal-page .faq-help-card h2 { color: #24190f; font: 800 25px/1.2 var(--heading-font); letter-spacing: -.025em; }
.legal-page .faq-help-card p { color: #4d4033; font: 500 15px/1.65 var(--body-font); }
.legal-page .faq-contact-list li { color: #4d4033; font-family: var(--body-font); }
.legal-page .faq-contact-list strong { color: #755332; }

@media (max-width: 980px) {
  body.internal-page.legal-page { padding-top: 76px; }
  .legal-page.nav-open { overflow: hidden; }
  .legal-page .site-nav .nav-menu#navLinks { background: #191511; border-color: #e6bd8e30; border-radius: 0 !important; box-shadow: 18px 0 40px #17131033; }
  .legal-page .site-nav :is(.nav-brand, .nav-toggle) { z-index: 9999; }
  .legal-page .site-nav .nav-toggle { position: relative; border-radius: 5px; border-color: #e6bd8e66; background: #26211b; color: #f4eddf; box-shadow: none; }
  .legal-page .site-nav .nav-toggle span { background: #f4eddf; }
  .legal-page .site-nav .nav-menu#navLinks .nav-links a { border: 1px solid transparent; border-radius: 5px !important; background: transparent; color: #f4eddf; font-family: var(--body-font); }
  .legal-page .site-nav .nav-menu#navLinks .nav-links a:is(:hover, :focus-visible, .active) { background: #2c251e; border-color: #e6bd8e40; }
  .legal-page .site-nav .nav-menu#navLinks .nav-links .nav-events-link { background: #e6bd8e !important; color: #191511 !important; }
  .legal-page .nav-mobile-backdrop { background: #171310a8; }
  .legal-page .faq-layout { grid-template-columns: minmax(0, 1fr); }
  .legal-page .faq-help-card { position: static; }
}
@media (max-width: 640px) {
  body.internal-page.legal-page { padding-top: 70px; }
  body.internal-page.legal-page > header { min-height: 0; padding: 38px 20px 44px !important; }
  body.internal-page.legal-page > header h1 { font-size: clamp(32px, 8vw, 42px); }
  body.internal-page.legal-page > header p { font-size: 14px; }
  .legal-page :is(.privacy-content, .terms-content, .conduct-content, .faq-content) { width: calc(100% - 32px); padding: 28px 0 48px; }
  .legal-page :is(.privacy-card, .terms-card, .conduct-card, .faq-card, .faq-help-card) { border-radius: 8px; }
  .legal-page :is(.privacy-card, .terms-card, .conduct-card, .faq-card) { padding: 22px 18px; }
  .legal-page :is(.privacy-section, .terms-section, .conduct-section) { padding: 25px 0; }
  .legal-page :is(.privacy-section, .terms-section, .conduct-section) p,
  .legal-page :is(.privacy-list, .terms-list, .conduct-list) li { font-size: 15px; }
  .legal-page :is(.privacy-actions, .terms-actions, .conduct-actions) { flex-direction: column; }
  .legal-page :is(.privacy-btn, .terms-btn, .conduct-btn) { width: 100%; }
  .legal-page .faq-item summary { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .legal-page *, .legal-page *::before, .legal-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
