/* ============================================================
   DENVIX — POLICY PAGES STYLESHEET
   ============================================================ */
.policy-page {
  padding: 130px 0 88px;
  min-height: 100vh;
}

.policy-wrap {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 28px;
}

/* Policy nav bar */
.policy-pages-nav {
  background: var(--bg-card);
  border: 1px solid var(--border-color);
  border-radius: var(--radius-lg);
  padding: 20px 26px;
  margin-bottom: 40px;
}
.policy-pages-nav-label {
  font-size: 0.74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.8px;
  color: var(--text-muted);
  margin-bottom: 12px;
}
.policy-pages-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.policy-pages-nav ul li a {
  display: inline-block;
  padding: 5px 15px;
  font-size: 0.83rem;
  color: var(--text-secondary);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  text-decoration: none;
  transition: var(--transition);
}
.policy-pages-nav ul li a:hover {
  background: rgba(59, 130, 246, 0.09);
  color: var(--color-primary);
  border-color: var(--border-hover);
}

/* Policy header block */
.policy-hd {
  padding-bottom: 36px;
  border-bottom: 1px solid var(--border-color);
  margin-bottom: 44px;
}
.policy-eyebrow {
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  color: var(--color-accent);
  margin-bottom: 12px;
}
.policy-hd h1 {
  font-size: clamp(1.8rem, 4vw, 2.45rem);
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 10px;
}
.policy-updated {
  font-size: 0.85rem;
  color: var(--text-muted);
  margin-top: 8px;
}

/* Policy body content */
.policy-body h2 {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--text-primary);
  margin: 38px 0 13px;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--border-color);
}
.policy-body h3 {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 22px 0 9px;
}
.policy-body p {
  font-size: 0.95rem;
  color: var(--text-secondary);
  line-height: 1.82;
  margin-bottom: 16px;
}
.policy-body ul,
.policy-body ol {
  margin: 0 0 16px 22px;
  color: var(--text-secondary);
}
.policy-body li {
  font-size: 0.95rem;
  line-height: 1.78;
  margin-bottom: 8px;
}
.policy-body a {
  color: var(--color-primary);
  text-decoration: underline;
  text-decoration-color: rgba(59, 130, 246, 0.35);
}
.policy-body a:hover { color: var(--color-accent); }
.policy-body strong { color: var(--text-primary); font-weight: 600; }

/* Contact box inside policy */
.policy-contact-box {
  background: rgba(59, 130, 246, 0.05);
  border: 1px solid rgba(59, 130, 246, 0.2);
  border-radius: var(--radius-md);
  padding: 22px 26px;
  margin-top: 40px;
}
.policy-contact-box p { font-size: 0.92rem; margin: 0; }

/* Definition list style */
.policy-dl {}
.policy-dl dt {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-top: 16px;
}
.policy-dl dd {
  font-size: 0.93rem;
  color: var(--text-secondary);
  line-height: 1.78;
  margin: 5px 0 0 18px;
}

/* Table */
.policy-table-wrap { overflow-x: auto; margin: 20px 0; }
.policy-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}
.policy-table th {
  padding: 11px 16px;
  background: rgba(59, 130, 246, 0.08);
  color: var(--text-primary);
  font-weight: 600;
  text-align: left;
  border-bottom: 1px solid var(--border-color);
}
.policy-table td {
  padding: 11px 16px;
  color: var(--text-secondary);
  border-bottom: 1px solid var(--border-color);
  vertical-align: top;
}
.policy-table tr:last-child td { border-bottom: none; }
.policy-table tr:hover td { background: rgba(59, 130, 246, 0.03); }

@media(max-width: 620px) {
  .policy-page { padding: 110px 0 64px; }
  .policy-hd h1 { font-size: 1.7rem; }
}
