/* ================================================================
   NOVU INSURANCE — LEGAL PAGES REFRESH (Privacy + SMS Terms)
   Loaded last. Cohesive with the site's navy + gold minimalist look.
================================================================ */

/* ---------------- HERO ---------------- */
.page-hero { padding: clamp(4rem, 8vw, 6rem) 0 clamp(3rem, 6vw, 4.5rem); }
.page-hero__bg {
  background:
    radial-gradient(circle at 86% 18%, rgba(199,154,62,0.26), transparent 42%),
    radial-gradient(circle at 6% 88%, rgba(125,155,196,0.22), transparent 48%) !important;
}
.page-hero::after {
  background-image: radial-gradient(rgba(255,255,255,0.07) 1.2px, transparent 1.2px) !important;
  background-size: 26px 26px !important;
  -webkit-mask-image: radial-gradient(ellipse at 50% 40%, #000 30%, transparent 78%);
          mask-image: radial-gradient(ellipse at 50% 40%, #000 30%, transparent 78%);
}
.page-hero__icon {
  background: var(--gradient-gold) !important;
  border: none !important;
  box-shadow: 0 12px 30px rgba(199,154,62,0.35) !important;
}
.page-hero__icon i { color: #fff !important; }
.page-hero__title {
  font-family: var(--font-primary);
  font-size: clamp(var(--fs-3xl), 5vw, var(--fs-5xl));
  font-weight: var(--fw-extrabold);
  letter-spacing: -0.02em;
  color: var(--color-white);
}
.page-hero__subtitle { font-size: var(--fs-lg); color: rgba(255,255,255,0.82); max-width: 620px; }
.page-hero__meta span {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.16);
  padding: 0.4rem 0.9rem;
  border-radius: var(--radius-full);
  backdrop-filter: blur(6px);
}
.page-hero__meta i { color: var(--color-gold-light); }

/* ---------------- TABLE OF CONTENTS ---------------- */
.toc-card {
  position: sticky;
  top: 100px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
  background: var(--color-white);
}
.toc-card__header i { color: var(--color-gold-dark); }
.toc-link {
  border-radius: var(--radius-md);
  transition: color var(--transition-fast), background var(--transition-fast), padding var(--transition-fast);
}
.toc-link:hover { background: rgba(199,154,62,0.10); color: var(--color-navy-darkest); }
.toc-link.is-active {
  color: var(--color-navy-darkest) !important;
  font-weight: var(--fw-semibold);
  background: rgba(199,154,62,0.14);
}
.toc-link.is-active::before { background: var(--color-gold) !important; }
.toc-cta {
  background: var(--gradient-gold);
  color: #fff !important;
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-gold);
  transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}
.toc-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(199,154,62,0.45); }

/* ---------------- INTRO BANNER ---------------- */
.policy-intro {
  background: linear-gradient(135deg, rgba(20,41,77,0.04), rgba(199,154,62,0.06));
  border: 1px solid var(--color-border);
  border-left: 4px solid var(--color-gold);
  border-radius: var(--radius-lg);
}
.policy-intro__icon { background: var(--gradient-navy) !important; color: var(--color-gold-light) !important; }

/* ---------------- POLICY SECTIONS ---------------- */
.policy-section__number {
  font-family: var(--font-primary);
  font-weight: var(--fw-extrabold);
  background: var(--gradient-gold);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 1 !important;
}
.policy-section__icon {
  background: rgba(199,154,62,0.12) !important;
  color: var(--color-gold-dark) !important;
  border-radius: var(--radius-md);
}
.policy-section__title {
  font-family: var(--font-primary);
  font-weight: var(--fw-bold);
  color: var(--color-navy-darkest);
  letter-spacing: -0.01em;
}
.policy-section__body p,
.policy-section__body li {
  line-height: var(--lh-loose);
  color: var(--color-text-light);
}

/* ---------------- INFO CARDS ---------------- */
.info-card {
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--color-white) !important;
  box-shadow: var(--shadow-xs);
  transition: transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);
}
.info-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: rgba(199,154,62,0.40) !important;
}
.info-card__icon {
  background: rgba(199,154,62,0.12) !important;
  color: var(--color-gold-dark) !important;
  border-radius: var(--radius-md) !important;
}
.info-card__content h3 { color: var(--color-navy-darkest); font-weight: var(--fw-bold); }
