/* Privacy, terms, refunds and FAQ. Long-form reading, so the column is
   narrow and the type is large enough to read on a phone. */

.policy-hero {
  background: var(--navy); color: #fff;
  padding: clamp(2rem, 5vw, 3rem) 0 clamp(1.5rem, 4vw, 2.5rem);
}
.policy-hero h1 { font-size: clamp(1.9rem, 4.5vw, 2.8rem); }
.policy-hero .updated { color: rgba(255, 255, 255, .7); font-weight: 600; margin-top: .4rem; }

.policy-body {
  padding: clamp(2rem, 5vw, 3rem) 0 4rem;
  max-width: 68ch;
}
.policy-body .lead { font-size: 1.1rem; color: #3B4763; font-weight: 600; margin-bottom: 1.5rem; }
.policy-body h2 { font-size: 1.35rem; color: var(--navy); margin: 2rem 0 .7rem; }
.policy-body p { margin-bottom: .9rem; color: #3B4763; }
.policy-body ul { margin: 0 0 1rem 1.2rem; }
.policy-body li { margin-bottom: .5rem; color: #3B4763; }

/* A decision the owner has not made yet. Deliberately loud: it must be
   impossible to mistake for a real term. */
.pending {
  background: #FFF3DA; color: #7A4F00; border: 1px dashed #D9A441;
  padding: .05rem .4rem; border-radius: 5px; font-weight: 700; font-style: normal;
  font-size: .94em;
}

/* .draft-banner lives in site.css: course pages are drafts too, and they do
   not load this file. One rule, so the two kinds of draft cannot drift apart. */

.legal-note {
  background: #EEF2FA; border-left: 4px solid var(--muted); border-radius: 0 8px 8px 0;
  padding: .9rem 1rem; margin-top: 2rem; font-size: .92rem;
}

.policy-table { width: 100%; border-collapse: collapse; margin: .5rem 0 1.2rem; font-size: .95rem; }
.policy-table th, .policy-table td {
  text-align: left; padding: .6rem .5rem; border-bottom: 1px solid #E3E9F5; vertical-align: top;
}
.policy-table th {
  font-family: var(--font-display); font-weight: 600; color: var(--muted);
  font-size: .78rem; text-transform: uppercase; letter-spacing: .05em;
}
.policy-table td { color: #3B4763; }

.faq-list { display: grid; gap: .6rem; margin-bottom: 2rem; }
.faq-item {
  border: 1.5px solid #E3E9F5; border-radius: 12px; background: #fff; padding: .2rem .9rem;
}
.faq-item summary {
  cursor: pointer; font-family: var(--font-display); font-weight: 600;
  color: var(--navy); padding: .8rem 0; font-size: 1.02rem; list-style-position: outside;
}
.faq-item[open] summary { border-bottom: 1px solid #EEF2FA; }
.faq-item p { padding: .8rem 0; margin: 0; }
.faq-pending { color: #6D4A00; }
.faq-pending li { color: #6D4A00; font-weight: 600; }

@media (max-width: 560px) {
  .policy-table, .policy-table thead, .policy-table tbody,
  .policy-table tr, .policy-table td { display: block; width: 100%; }
  .policy-table thead { display: none; }
  .policy-table tr { border-bottom: 1px solid #E3E9F5; padding: .5rem 0; }
  .policy-table td { border: none; padding: .2rem 0; }
  .policy-table td:first-child { font-weight: 800; color: var(--navy); }
}
