/* Privacy Policy Generator landing page only (/tools/privacy-policy-generator).
   Hero holds step 1 of the questionnaire; the section preview reacts through :has(), no script. */

.tp-pp{--pp-ink:#071b35;--pp-muted:#52647b;--pp-line:#d7e1ee;--pp-blue:#1f5cf0;--pp-soft:#edf4ff;--pp-green:#087a4d}
.tp-pp.mt-public{padding-top:clamp(20px,3.2vw,44px)}
.tp-pp .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* hero */
.tp-pp-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.tp-pp-intro{min-width:0;padding-top:8px}
.tp-pp-intro h1{margin:10px 0 14px;font-size:clamp(2.1rem,3.6vw,3.3rem);line-height:1.04;letter-spacing:-.05em;overflow-wrap:anywhere}
.tp-pp-lede{margin:0 0 18px;color:var(--pp-muted);font-size:1.06rem;line-height:1.6}
.tp-pp-cost{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 18px;padding:10px 14px;border:1px solid var(--pp-line);border-radius:12px;background:#fff}
.tp-pp-cost b{font-size:1.05rem}
.tp-pp-cost span{color:var(--pp-muted);font-size:.92rem;font-weight:650}
.tp-pp-facts{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:9px}
.tp-pp-facts li{position:relative;padding-left:22px;line-height:1.5;font-size:.96rem}
.tp-pp-facts li::before{content:"";position:absolute;left:4px;top:.55em;width:8px;height:8px;border-radius:2px;background:var(--pp-blue)}
.tp-pp-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}
.tp-pp-links a:not(.mt-primary){display:inline-flex;align-items:center;min-height:40px;color:var(--pp-blue);font-weight:750;text-underline-offset:3px}

/* step 1 card */
.tp-pp-step{min-width:0;display:grid;gap:14px;padding:clamp(18px,2.4vw,26px);border:1px solid #bfd0e5;border-radius:20px;background:#fff;box-shadow:0 22px 55px rgba(9,34,70,.12)}
.tp-pp-kicker{margin:0;color:#3159b8;font-size:.76rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.tp-pp-step h2{margin:-6px 0 0;font-size:1.35rem;letter-spacing:-.02em}
.tp-pp-step fieldset{min-width:0;margin:0;padding:0;border:0}
.tp-pp-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tp-pp-choice,.tp-pp-check{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 12px;border:1px solid var(--pp-line);border-radius:12px;background:#fff;font-size:.93rem;font-weight:650;line-height:1.3;cursor:pointer}
.tp-pp-choice--wide{grid-column:1/-1}
.tp-pp-choice input,.tp-pp-check input{flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:var(--pp-blue)}
.tp-pp-choice:hover,.tp-pp-check:hover{border-color:#9db4d6}
.tp-pp-choice:has(input:checked){border-color:var(--pp-blue);background:var(--pp-soft)}
.tp-pp-choice:has(input:focus-visible),.tp-pp-check:has(input:focus-visible){outline:3px solid var(--pp-blue);outline-offset:2px}
.tp-pp-checks{display:grid;gap:8px}
.tp-pp-checks legend{margin:0 0 8px;padding:0;font-weight:800;font-size:.95rem}

/* live section preview */
.tp-pp-out{padding:14px;border-radius:14px;background:#f5f8fc;border:1px solid var(--pp-line)}
.tp-pp-out-title{margin:0 0 8px;font-weight:800;font-size:.92rem}
.tp-pp-out ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.tp-pp-sec{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.92rem;line-height:1.35}
.tp-pp-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.tp-yes,.tp-no{display:none;flex:0 0 auto;font-size:.8rem;font-weight:800}
.tp-yes{color:var(--pp-green)}
.tp-no{color:var(--pp-muted)}
.tp-pp-out-note{margin:10px 0 0;color:var(--pp-muted);font-size:.84rem;line-height:1.45}

@supports selector(:has(*)){
  .tp-yes{display:inline}
  .tp-pp-step:has(#pp-u-us:checked) .tp-pp-gdpr .tp-yes,
  .tp-pp-step:has(#pp-u-eu:checked) .tp-pp-ccpa .tp-yes,
  .tp-pp-step:has(#pp-u-uk:checked) .tp-pp-ccpa .tp-yes,
  .tp-pp-step:has(#pp-cookies:not(:checked)) .tp-pp-cookies .tp-yes,
  .tp-pp-step:has(#pp-analytics:not(:checked)) .tp-pp-analytics .tp-yes{display:none}
  .tp-pp-step:has(#pp-u-us:checked) .tp-pp-gdpr .tp-no,
  .tp-pp-step:has(#pp-u-eu:checked) .tp-pp-ccpa .tp-no,
  .tp-pp-step:has(#pp-u-uk:checked) .tp-pp-ccpa .tp-no,
  .tp-pp-step:has(#pp-cookies:not(:checked)) .tp-pp-cookies .tp-no,
  .tp-pp-step:has(#pp-analytics:not(:checked)) .tp-pp-analytics .tp-no{display:inline}
  .tp-pp-step:has(#pp-u-us:checked) .tp-pp-gdpr .tp-pp-name,
  .tp-pp-step:has(#pp-u-eu:checked) .tp-pp-ccpa .tp-pp-name,
  .tp-pp-step:has(#pp-u-uk:checked) .tp-pp-ccpa .tp-pp-name,
  .tp-pp-step:has(#pp-cookies:not(:checked)) .tp-pp-cookies .tp-pp-name,
  .tp-pp-step:has(#pp-analytics:not(:checked)) .tp-pp-analytics .tp-pp-name{color:var(--pp-muted);text-decoration:line-through}
}

.tp-pp-go{width:100%}
.tp-pp-next{margin:-4px 0 0;color:var(--pp-muted);font-size:.84rem;line-height:1.45}

/* sample */
.tp-pp-sample-head{max-width:720px;margin-bottom:20px}
.tp-pp-sample-head h2{margin:0 0 10px;font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.035em}
.tp-pp-sample-head p{margin:0;color:var(--pp-muted);line-height:1.6}
.tp-pp-sample-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.tp-pp-card{min-width:0;padding:20px;border:1px solid var(--pp-line);border-radius:16px;background:#fff}
.tp-pp-card h3{margin:0 0 12px;font-size:1.05rem}
.tp-pp-dl{margin:0;display:grid;gap:10px}
.tp-pp-dl div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:4px 12px}
.tp-pp-dl dt{color:var(--pp-muted);font-size:.86rem;font-weight:750}
.tp-pp-dl dd{margin:0;font-size:.93rem;line-height:1.45;overflow-wrap:anywhere}
.tp-pp-toc{margin:8px 0;padding-left:1.6em;display:grid;gap:3px;font-size:.93rem;line-height:1.4}
.tp-pp-muted{margin:0;color:var(--pp-muted);font-size:.86rem;line-height:1.45}
.tp-pp-excerpt{margin:18px 0 20px;border:1px solid var(--pp-line);border-radius:16px;background:#fff}
.tp-pp-excerpt summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 20px;font-weight:800;cursor:pointer;list-style:none}
.tp-pp-excerpt summary::-webkit-details-marker{display:none}
.tp-pp-excerpt summary::after{content:"+";flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--pp-line);border-radius:8px;color:var(--pp-blue);font-size:1.1rem;line-height:1}
.tp-pp-excerpt[open] summary::after{content:"\2212"}
.tp-pp-excerpt summary:focus-visible{outline:3px solid var(--pp-blue);outline-offset:2px;border-radius:16px}
.tp-pp-excerpt-body{padding:4px 20px 20px;border-top:1px solid var(--pp-line)}
.tp-pp-excerpt-body h3{margin:16px 0 6px;font-size:1rem}
.tp-pp-excerpt-body p{margin:0 0 8px;line-height:1.6}

.tp-pp a:focus-visible{outline:3px solid var(--pp-blue);outline-offset:2px}

@media (max-width:900px){
  .tp-pp-hero,.tp-pp-sample-grid{grid-template-columns:minmax(0,1fr)}
  .tp-pp-hero{gap:14px}
  .tp-pp-intro{display:contents}
  .tp-pp-intro>*{margin:0}
  .tp-pp-intro h1{margin:0}
  .tp-pp-intro>.mt-eyebrow{order:1}
  .tp-pp-intro>h1{order:2}
  .tp-pp-lede{order:3}
  .tp-pp-cost{order:4}
  .tp-pp-hero>.tp-pp-step{order:5;margin-top:4px}
  .tp-pp-facts{order:6;margin-top:6px}
  .tp-pp-intro>.tp-pp-links{order:7}
}
@media (max-width:480px){
  .tp-pp.mt-public{padding-left:16px;padding-right:16px}
  .tp-pp-choices{grid-template-columns:minmax(0,1fr)}
  .tp-pp-dl div{grid-template-columns:minmax(0,1fr)}
  .tp-pp-intro h1{font-size:clamp(1.9rem,9.5vw,2.4rem)}
  .tp-pp-card,.tp-pp-step{padding:16px}
}
@media (prefers-reduced-motion:reduce){
  .tp-pp *{transition:none}
}
