/* =============================================================
   POLICY.CSS — Citizens Lending Group legal / policy pages.
   Shared by all 7 policy templates (Privacy, Cookie, CA Privacy,
   Terms, Accessibility, Disclaimer, Opt-Out). Enqueued in
   functions.php for the policy page slugs.
   ============================================================= */

/* ── HERO ────────────────────────────────────────────────── */
.policy-hero {
  position: relative;
  background: var(--grad-hero);
  color: #fff;
  padding-block: clamp(48px, 6vw, 84px);
  overflow: hidden;
  text-align: center;
}
.policy-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(620px circle at 50% -10%, rgba(184, 148, 58, 0.24), transparent 58%),
    radial-gradient(440px circle at 92% 100%, rgba(61, 122, 138, 0.22), transparent 60%);
  pointer-events: none;
}
.policy-hero__inner { position: relative; z-index: 1; max-width: 860px; margin-inline: auto; }
.policy-hero__eyebrow { color: var(--gold-soft); }
.policy-hero h1 { color: #fff; margin-bottom: var(--space-sm); }
.policy-hero__dates {
  font-family: var(--font-mono);
  font-size: 14px;
  letter-spacing: 0.03em;
  color: #9fb0d0;
  margin-bottom: 0;
}

/* ── BODY / PROSE ────────────────────────────────────────── */
.policy-content {
  max-width: 820px;
  margin-inline: auto;
}
.policy-content > p,
.policy-content ul { color: var(--text-body); line-height: 1.75; }
.policy-content > p { margin: 0 0 var(--space-md); font-size: 19px; }
.policy-content h2 {
  font-size: clamp(21px, 1.8vw, 26px);
  color: var(--navy);
  margin: var(--space-xl) 0 var(--space-sm);
  padding-top: var(--space-md);
  border-top: 1px solid var(--line);
}
.policy-content h3 {
  font-size: 18px;
  color: var(--navy);
  margin: var(--space-lg) 0 6px;
}
.policy-content ul {
  margin: 0 0 var(--space-md);
  padding-left: 1.25rem;
}
.policy-content li { margin-bottom: 8px; font-size: 19px; }
.policy-content a {
  color: var(--teal);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.policy-content a:hover { color: var(--navy); }

/* Required-disclosure / important callout */
.policy-callout {
  background: var(--warm-mist);
  border: 1px solid var(--cool-gray);
  border-left: 4px solid var(--gold);
  border-radius: var(--radius);
  padding: var(--space-md) var(--space-lg);
  margin: 0 0 var(--space-lg);
  font-size: 18px;
  line-height: 1.7;
  color: var(--text-body);
}
.policy-callout strong { color: var(--navy); }

/* Cross-policy quick links (top of page) */
.policy-related {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 0 0 var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--line);
  font-size: 14px;
}
.policy-related span { color: var(--text-mid); font-weight: 700; }

/* Table (cookie tools) */
.policy-table-wrap { overflow-x: auto; margin: 0 0 var(--space-md); }
.policy-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 17.5px;
  min-width: 480px;
}
.policy-table th,
.policy-table td {
  text-align: left;
  padding: 10px 14px;
  border: 1px solid var(--line);
}
.policy-table th { background: var(--off-white); color: var(--navy); font-weight: 700; }
.policy-table td { color: var(--text-body); }

/* Contact block */
.policy-contact {
  background: var(--off-white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: var(--space-lg);
  margin-top: var(--space-lg);
}
.policy-contact h2 { margin-top: 0; padding-top: 0; border-top: 0; }
.policy-contact__name { font-weight: 700; color: var(--navy); margin-bottom: 4px; }
.policy-contact address { font-style: normal; line-height: 1.9; color: var(--text-body); }
.policy-contact__lic { font-family: var(--font-mono); font-size: 13.5px; color: var(--text-mid); margin: var(--space-sm) 0 0; }
