/* Gaffneys Bathroom Services: Privacy Policy page layer (privacy-policy.html, Phase 2 batch).
   Loads after site.css and service.css. Every rule is scoped to pv- classes or .page-privacy.
   Clarity first: a plain heading, a contents list and a single readable column. No decorative effects. */

.pv-hero { padding: calc(var(--nav-top) + var(--nav-h) + 48px) 0 40px; border-bottom: 1px solid var(--line); }
.pv-hero h1 { margin: 16px 0 12px; font-size: clamp(2.3rem, 1.4rem + 2.4vw, 3.6rem); line-height: 1.05; }
.pv-hero__meta { margin: 0; font-size: var(--t-small); color: var(--grey); }
.pv-flag { max-width: 760px; margin: 24px 0 0; }

.pv-body { padding: 56px 0 var(--sec); }
.pv-grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: 72px; align-items: start; }
.pv-toc { position: sticky; top: 120px; }
.pv-toc__h { margin: 0 0 12px; font: 600 .75rem/1.4 var(--ui); letter-spacing: .14em; text-transform: uppercase; color: var(--blue-ink); }
.pv-toc ol { margin: 0; padding: 0; list-style: none; border-left: 1px solid var(--line-2); }
.pv-toc a { display: flex; align-items: center; min-height: 36px; padding: 4px 0 4px 16px; font-size: var(--t-small); color: var(--text); }
.pv-toc a:hover { color: var(--blue-ink); }

.pv-doc { max-width: 720px; font-size: 1.0625rem; line-height: 1.7; }
.pv-doc section { scroll-margin-top: 110px; }
.pv-doc section + section { margin-top: 44px; padding-top: 36px; border-top: 1px solid var(--line); }
.pv-doc h2 { margin: 0 0 14px; font-size: var(--t-h4); line-height: 1.2; }
.pv-doc p { margin: 0 0 14px; }
.pv-doc ul { margin: 0 0 14px; padding-left: 1.2em; list-style: disc; }
.pv-doc li { margin-bottom: 6px; }
.pv-doc li::marker { color: var(--blue); }
.pv-doc a { color: var(--blue-ink); text-decoration: underline; text-underline-offset: 3px; }
.pv-summary { padding: 28px 32px 18px; background: var(--ice); border-radius: var(--r) var(--arc) var(--r) var(--r); }
.pv-doc .pv-summary + section { border-top: 0; padding-top: 0; }
.pv-confirm { padding: 12px 16px; background: #FFF4D1; border-left: 4px solid #C99A1A; border-radius: var(--r); font-size: var(--t-small); color: #5B4A17; }
.pv-updated { font-size: var(--t-small); color: var(--grey); }

@media (max-width: 1023px) {
  .pv-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .pv-toc { position: static; }
  .pv-toc ol { columns: 2; column-gap: 24px; }
}
@media (max-width: 760px) {
  .pv-hero { padding: calc(var(--nav-top) + var(--nav-h) + 28px) 0 28px; }
  .pv-body { padding-top: 32px; }
  .pv-toc ol { columns: 1; }
  .pv-toc a { min-height: 44px; }
  .pv-doc { font-size: 1rem; }
  .pv-summary { padding: 22px 20px 12px; }
}
@media print {
  .pv-toc, .pv-flag { display: none; }
  .pv-grid { grid-template-columns: minmax(0, 1fr); }
}
