/* ============================================================
   Tabletop Theatre — Privacy Policy page
   Scoped under .pp-* so nothing here collides with the site's
   existing rules. Mirrors tos.css exactly — reuses root
   variables, .finale-wrap, .eyebrow, .contact-head, and
   .site-footer from style.css — no variables are redefined here.
   ============================================================ */

/* Page background sits on black (--ink) behind the finale card,
   since main content on this page IS the finale section. */
body.pp-page{
  background:var(--ink);
}

.pp-main{ background:var(--ink); }

/* .finale-wrap already gives the rounded top + var(--stage) fill;
   here it also needs to reach full page height instead of just
   trailing the homepage sections. */
.pp-wrap{
  min-height:calc(100vh - var(--header-h));
  padding-top:0.5rem;
}

.pp-scene{
  padding-top:clamp(2.5rem, 6vw, 5rem);
  padding-bottom:clamp(3rem, 7vw, 5.5rem);
  color:var(--text-on-dark);
}

.pp-layout{ width:min(60rem, 90%); margin-inline:auto; }

.pp-head h1{
  font-family:var(--font-display);
  font-size:var(--h2);
  margin-bottom:0.6rem;
}
.pp-updated{
  font-size:var(--p-sm);
  color:var(--text-muted-dark);
}
.pp-updated span{ font-style:italic; opacity:0.8; }

/* Card shell — same border/background language as .tos-card and
   .contact-card, adapted for long-form reading */
.pp-card{
  margin-top:clamp(2rem, 5vw, 3rem);
  background:hsla(0,0%,97%,0.05);
  border:1.5px solid var(--parchment-deep);
  border-left:3px solid var(--accent-second);
  border-radius:2px;
  padding:clamp(1.6rem, 4vw, 2.75rem);
}

.pp-card p{
  margin-bottom:1rem;
  color:var(--text-on-dark);
  opacity:0.92;
}
.pp-card p:last-child{ margin-bottom:0; }

.pp-intro{
  font-family:var(--font-script);
  font-size:clamp(1.5rem, 3vw, 1.9rem);
  color:var(--accent-second);
  opacity:1;
  margin-bottom:1rem;
}

.pp-note{ font-style:italic; opacity:0.75; }

.pp-section{
  margin-top:clamp(1.8rem, 4vw, 2.4rem);
  padding-top:clamp(1.8rem, 4vw, 2.4rem);
  border-top:1px dashed hsla(0,0%,100%,0.2);
}
.pp-card > .pp-section:first-of-type{ margin-top:1.6rem; }

.pp-section h2{
  display:flex; align-items:center; gap:0.7rem;
  font-family:var(--font-body); font-weight:600;
  font-size:var(--h3);
  margin-bottom:0.9rem;
  color:var(--text-on-dark);
}
.pp-num{
  display:inline-flex; align-items:center; justify-content:center;
  flex-shrink:0; width:1.9rem; height:1.9rem; border-radius:50%;
  border:1.5px solid var(--coral);
  color:var(--coral);
  font-family:var(--font-display);
  font-size:0.9rem;
}

/* Facts list — Section 1's business details */
.pp-facts{ display:flex; flex-direction:column; gap:0.8rem; }
.pp-fact{
  display:flex; flex-wrap:wrap; gap:0.3rem 0.8rem;
  padding-bottom:0.8rem;
  border-bottom:1px dashed hsla(0,0%,100%,0.12);
}
.pp-fact:last-child{ border-bottom:none; padding-bottom:0; }
.pp-fact dt{
  flex-shrink:0; width:12rem; max-width:100%;
  font-size:var(--label-sm); letter-spacing:0.05em; text-transform:uppercase;
  opacity:0.6;
}
.pp-fact dd{ flex:1; min-width:12rem; opacity:0.92; }
.pp-fact dd a{ color:var(--accent-second); text-decoration:underline; text-underline-offset:2px; }

/* General bulleted lists — collection points, purposes, sources */
.pp-list{
  list-style:none;
  display:flex; flex-direction:column; gap:0.6rem;
}
.pp-list li{
  display:flex; align-items:flex-start; gap:0.6rem;
  font-size:var(--p-sm); opacity:0.92;
}
.pp-list li::before{
  content:""; flex-shrink:0; margin-top:0.55rem;
  width:8px; height:8px; border-radius:50%;
  border:1.5px solid var(--coral); background:transparent;
}

.pp-back{
  display:inline-flex; align-items:center; gap:0.5rem;
  margin-top:clamp(2rem, 5vw, 2.75rem);
  color:var(--coral); font-weight:600; 
}
.pp-back:hover{ text-decoration:underline; text-underline-offset:3px; }
