/* ============================================================
   Privacy Policy — minimal custom CSS
   Layout, spacing, borders & typography use Bootstrap utilities.
   This file holds only what utilities cannot express:
     · CSS variables
     · Hero gradient + grid pattern (mirrors terms-condition.php)
     · Sticky pill-nav with backdrop blur and dynamic top offset
     · Pill number-badge + active/hover states
     · Color-coded section icons via [data-color]
     · Section dashed-ring effect
     · End-note gradient
   ============================================================ */
.pp-page {
  --pp-primary: #6f42c1;
  --pp-primary-deep: #5a2eb0;
  --pp-primary-soft: #f3eefb;
  --pp-bg-soft: #fafbfd;
  --pp-line: #e8ebf3;
  --pp-ink: #0f172a;
  --pp-ink-soft: #5b6478;
  --pp-nav-h: 88px;
  background: #fff;
}

/* ===== HERO — same look as terms-condition.php (identical .tc-* classes) ===== */
.tc-hero {
  position: relative;
  overflow: hidden;
  padding: 64px 0 48px;
  background:
    radial-gradient(1200px 500px at 100% -10%, rgba(99, 102, 241, .12), transparent 60%),
    radial-gradient(900px 400px at 0% 0%, rgba(236, 72, 153, .08), transparent 55%),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border-bottom: 1px solid #e2e8f0;
}

.tc-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(15, 23, 42, .04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(15, 23, 42, .04) 1px, transparent 1px);
  background-size: 36px 36px;
  mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
  pointer-events: none;
}

.tc-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 600;
  background: #fff;
  border: 1px solid #e2e8f0;
  color: #0f172a;
}

.tc-pill .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 0 4px rgba(16, 185, 129, .15);
}

.tc-hero-title {
  font-weight: 800;
  color: #0f172a;
  letter-spacing: -.02em;
  line-height: 1.05;
  font-size: clamp(2rem, 4.4vw, 3.5rem);
}

.tc-hero-title .grad {
  background: linear-gradient(90deg, #6366f1, #ec4899);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.tc-hero-sub {
  color: #475569;
  font-size: 1.05rem;
  max-width: 720px;
}

/* ===== STICKY PILL NAV ===== */
.pp-pill-nav {
  position: sticky;
  top: var(--pp-nav-h);
  background: rgba(255, 255, 255, .94);
  backdrop-filter: saturate(180%) blur(10px);
  -webkit-backdrop-filter: saturate(180%) blur(10px);
  z-index: 50;
  box-shadow: 0 6px 18px -14px rgba(15, 23, 42, .18);
}

/* Pill number-badge + interactive states */
.pp-pill {
  transition: all .18s ease;
  font-size: 12.5px;
  color: var(--pp-ink-soft);
}

.pp-pill .n {
  font-size: 10.5px;
  font-weight: 800;
  color: var(--pp-primary);
  background: var(--pp-primary-soft);
  border-radius: 5px;
  padding: 2px 6px;
  letter-spacing: .04em;
  transition: all .18s ease;
}

.pp-pill:hover {
  background: var(--pp-primary-soft);
  border-color: #d6c8ed;
  color: var(--pp-primary-deep);
}

.pp-pill:hover .n, .pp-pill.active .n {
  background: var(--pp-primary);
  color: #fff;
}

.pp-pill.active {
  background: linear-gradient(90deg, var(--pp-primary-soft), #fff);
  border-color: var(--pp-primary);
  color: var(--pp-primary-deep);
}

/* ===== SECTIONS ===== */
.pp-sections {
  background: var(--pp-bg-soft);
}

.pp-sec-wrap {
  max-width: 880px;
}

.pp-sec { scroll-margin-top: 170px; }
.pp-sec:last-child { border-bottom: 0 !important; }

/* Color-coded icon (with dashed ring) per section */
.pp-sec-icon {
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-size: 26px;
  background: var(--icon-bg, var(--pp-primary-soft));
  color: var(--icon-color, var(--pp-primary));
  border: 1px solid var(--icon-border, #d6c8ed);
}

.pp-sec-icon::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 18px;
  border: 1px dashed var(--icon-color, var(--pp-primary));
  opacity: .25;
}

.pp-sec[data-color="violet"] { --icon-bg: #f3eefb; --icon-color: #6f42c1; --icon-border: #e3d8f3; }
.pp-sec[data-color="cyan"] { --icon-bg: #ecfeff; --icon-color: #0891b2; --icon-border: #cffafe; }
.pp-sec[data-color="emerald"] { --icon-bg: #ecfdf5; --icon-color: #059669; --icon-border: #a7f3d0; }
.pp-sec[data-color="amber"] { --icon-bg: #fef3c7; --icon-color: #b45309; --icon-border: #fde68a; }
.pp-sec[data-color="rose"] { --icon-bg: #ffe4e6; --icon-color: #e11d48; --icon-border: #fecdd3; }
.pp-sec[data-color="blue"] { --icon-bg: #dbeafe; --icon-color: #2563eb; --icon-border: #bfdbfe; }

.pp-sec-eyebrow {
  font-size: 11.5px;
  letter-spacing: .16em;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  color: var(--icon-color, var(--pp-primary));
}

.pp-sec-title {
  font-size: clamp(1.25rem, 2.4vw, 1.55rem);
  letter-spacing: -.012em;
  line-height: 1.2;
}

.pp-sec-body p {
  color: var(--pp-ink-soft);
  line-height: 1.85;
}

.pp-sec-body p:first-of-type::first-letter {
  font-size: 1.05em;
  font-weight: 600;
  color: var(--pp-ink);
}

/* ===== END NOTE ===== */
.pp-end {
  background: linear-gradient(135deg, #f3eefb 0%, #ecfeff 100%);
  border: 1px solid #e3d8f3;
}

.pp-end strong { color: var(--pp-primary-deep); }

/* Mobile niceties — narrow viewports */
@media (max-width: 575.98px) {
  .pp-sec-icon { width: 46px; height: 46px; font-size: 22px; border-radius: 12px; }
  .pp-sec-icon::after { border-radius: 14px; }
}
