/* ============================================================
   LEGAL pages (Privacy / Terms of Service) — LIGHT theme
   ============================================================ */

.legal-page {
  background-color: #F2F6FA;
  font-family: Georgia, Cambria, "Times New Roman", serif;
}

.legal-page * { box-sizing: border-box; }

.legal-page a { color: #22689E; }

.legal-page h1, .legal-page h2, .legal-page h3, .legal-page h4 {
  color: #0F1B26;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 700;
  line-height: 1.25;
}

.legal-page p { color: #0F1B26; line-height: 1.8; }

/* legal header banner */
.legal-header {
  background-color: #0F1B26;
  border-bottom: 3px solid #22689E;
  padding: 40px 24px;
  text-align: center;
}

.legal-header .legal-brand {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #FBFDFF;
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 14px;
  text-decoration: none;
}

.legal-header h1 {
  color: #FBFDFF;
  font-size: 36px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.legal-header .legal-sub { color: #DCE7F2; font-size: 14px; margin-top: 8px; }

/* content container — margin auto + padding required */
.legal-content {
  max-width: 900px;
  margin: 0 auto;
  padding: 40px 24px 70px;
}

.legal-content .legal-intro {
  background-color: #DCE7F2;
  border-left: 4px solid #22689E;
  padding: 20px 22px;
  margin-bottom: 34px;
  font-size: 16px;
  color: #0F1B26;
}

.legal-menu {
  background-color: #FBFDFF;
  border: 1px solid #22689E;
  border-radius: 8px;
  padding: 20px 24px;
  margin-bottom: 40px;
}

.legal-menu h3 {
  color: #22689E;
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 0.08em;
  margin-bottom: 12px;
}

.legal-menu ul { list-style: none; }
.legal-menu ul li { margin-bottom: 7px; padding-left: 0; }
.legal-menu ul li a {
  color: #0F1B26;
  text-decoration: none;
  border-bottom: 1px dotted #5B6B7E;
}
.legal-menu ul li a:hover { color: #22689E; }

.legal-content section {
  margin-bottom: 46px;
  background-color: transparent;
}

.legal-page .legal-content section {
  background-color: transparent !important;
}

.legal-content section h2 {
  font-size: 25px;
  color: #22689E;
  border-bottom: 2px solid #22689E;
  padding-bottom: 10px;
  margin-bottom: 16px;
  margin-top: 0;
}

.legal-content section h2 .sec-no {
  color: #5B6B7E;
  font-family: "Courier New", Courier, monospace;
  font-size: 18px;
  margin-right: 8px;
}

.legal-content section h3 {
  color: #0F1B26;
  font-size: 19px;
  margin: 22px 0 8px;
}

.legal-content section p { margin-bottom: 14px; color: #0F1B26; }
.legal-content section ul, .legal-content section ol {
  margin: 12px 0 16px 26px;
  color: #0F1B26;
}
.legal-content section li { margin-bottom: 7px; color: #0F1B26; }

.legal-content .contact-box {
  background-color: #FBFDFF;
  border: 1px solid #22689E;
  border-radius: 8px;
  padding: 20px 24px;
}

.legal-content .contact-box p, .legal-content .legal-notice { margin-bottom: 6px; }

.legal-page .legal-footer {
  background-color: #0F1B26;
  padding: 30px 24px;
  text-align: center;
}

.legal-page .legal-footer a { color: #FBFDFF; margin: 0 12px; }
.legal-page .legal-footer .foot-line { color: #5B6B7E; font-size: 13px; margin-top: 14px; }

/* nav (legal uses plain legal header; backup class rule) */
.legal-header > .legal-nav { text-align: center; margin-top: 12px; }
.legal-nav a { color: #DCE7F2; margin: 0 10px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; text-transform: uppercase; letter-spacing: 0.08em; }
.legal-nav a:hover { color: #FBFDFF; }

@media (max-width: 700px) {
  .legal-header h1 { font-size: 28px; }
  .legal-content section h2 { font-size: 21px; }
}
