/* ============================================================
   Miami Waterfront Estates — privacy.css
   The Privacy Policy page only (enqueued by functions.php
   section 17). Tokens, type and buttons come from chrome.css.

     1  Heading
     2  Layout: Contents beside the text
     3  Contents list
     4  Policy text (.pp-section, .pp-num, .pp-card, .pp-callout)

   The text itself is pasted into WordPress, so the classes in
   section 4 are the contract with privacy-policy-content.html.
   A reading page: no scroll reveals.
   ============================================================ */

/* ---------- 1. HEADING ---------- */
.pp-hero{
  padding-block:clamp(48px, 7vw, 96px) clamp(32px, 4vw, 48px);
  border-bottom:1px solid var(--hair-soft);
}
.pp-hero .h-page{ margin:0; }
.pp-updated{
  margin:16px 0 0;
  font-family:var(--f-mono);
  font-size:11.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:color-mix(in srgb, var(--ink) 70%, var(--paper));
}
.pp-hero .lede{ margin:20px 0 0; }

/* ---------- 2. LAYOUT ---------- */
.pp-body{ padding-block:clamp(40px, 5vw, 72px) clamp(64px, 8vw, 112px); }
.pp-grid{
  display:grid;
  grid-template-columns:260px minmax(0, 1fr);
  gap:40px clamp(40px, 6vw, 96px);
  align-items:start;
}
.pp-grid--single{ grid-template-columns:minmax(0, 1fr); }
.pp-content{ max-width:72ch; }

@media (max-width: 960px){
  .pp-grid{ grid-template-columns:minmax(0, 1fr); }
}

/* ---------- 3. CONTENTS ---------- */
.pp-toc{
  position:sticky;
  top:calc(var(--nav-h) + 24px);
}
.pp-toc-t{
  margin:0 0 12px;
  padding-bottom:10px;
  border-bottom:1px solid var(--hair);
  font-family:var(--f-mono);
  font-size:11px;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--dusk);
}
.pp-toc ol{ list-style:none; }
.pp-toc a{
  display:flex;
  gap:12px;
  padding:7px 0;
  font-size:14.5px;
  line-height:1.35;
  color:color-mix(in srgb, var(--ink) 78%, var(--paper));
}
.pp-toc a:hover{ color:var(--ink); }
.pp-toc a[aria-current="true"]{ color:var(--ink); }
.pp-toc a[aria-current="true"] .pp-toc-n{ color:var(--surf); }
.pp-toc-n{
  flex:none;
  width:22px;
  font-family:var(--f-mono);
  font-size:11px;
  line-height:1.9;
  color:var(--dusk);
}

/* Stacked: the list sits above the text in a sand panel, two columns where
   there is room. */
@media (max-width: 960px){
  .pp-toc{
    position:static;
    padding:18px 20px 10px;
    background:var(--sand);
    border:1px solid var(--hair-soft);
  }
  .pp-toc ol{ columns:2; column-gap:28px; }
  .pp-toc li{ break-inside:avoid; }
}
@media (max-width: 560px){
  .pp-toc ol{ columns:1; }
}

/* ---------- 4. POLICY TEXT ---------- */
.pp-content{ font-size:16.5px; line-height:1.7; }
/* No scroll-margin here: html's scroll-padding-top (chrome.css) already
   clears the pinned nav, and the two would add up. */
.pp-section + .pp-section{
  margin-top:clamp(36px, 4.5vw, 56px);
  padding-top:clamp(36px, 4.5vw, 56px);
  border-top:1px solid var(--hair-soft);
}
.pp-content h2{
  display:flex;
  align-items:baseline;
  gap:14px;
  margin:0 0 18px;
  font-family:var(--f-dsp);
  font-size:clamp(1.6rem, 2.4vw, 2.1rem);
  font-weight:400;
  line-height:1.15;
  letter-spacing:-.01em;
  color:var(--ink);
}
.pp-num{
  flex:none;
  font-family:var(--f-mono);
  font-size:12px;
  font-weight:500;
  letter-spacing:.14em;
  color:var(--dusk);
  transform:translateY(-.2em);
}
.pp-content p{ margin:0 0 1em; color:color-mix(in srgb, var(--ink) 88%, var(--paper)); }
.pp-content p:last-child{ margin-bottom:0; }
.pp-content strong{ color:var(--ink); font-weight:600; }
.pp-content a{ color:var(--surf); overflow-wrap:anywhere; } /* long addresses on 320px phones */
.pp-content a:hover{ color:var(--ink); }
.pp-content ul{ list-style:none; margin:0 0 1em; display:grid; gap:10px; }
.pp-content li{
  position:relative;
  padding-left:24px;
  color:color-mix(in srgb, var(--ink) 88%, var(--paper));
}
.pp-content li::before{
  content:'';
  position:absolute;
  left:0;
  top:.8em;
  width:12px;
  height:1px;
  background:var(--surf);
}

/* Contact card. */
.pp-card{
  margin:22px 0 0;
  padding:20px 22px;
  background:var(--sand);
  border:1px solid var(--hair-soft);
}
.pp-card p{ margin:0 0 4px; }
.pp-card p:last-child{ margin:0; }
.pp-card-name{ font-weight:600; color:var(--ink) !important; }

/* The consent quote: set apart, word for word. */
.pp-callout{
  margin:20px 0 22px;
  padding:20px 24px;
  background:var(--white);
  border:1px solid var(--hair-soft);
  border-left:3px solid var(--surf);
}
.pp-callout p{
  margin:0;
  font-family:var(--f-dsp);
  font-size:1.25rem;
  line-height:1.45;
  color:var(--ink) !important;
}

/* Administrators only. */
.pp-admin{
  margin:0 0 28px;
  padding:12px 14px;
  border:1px dashed var(--hair);
  background:var(--sand);
  font-family:var(--f-mono);
  font-size:11.5px;
  line-height:1.55;
}

/* Final overrides (keep last). */
.pp-toc a{ text-decoration:none !important; }
