/* Calm public pages: simpler, fewer stacked blocks, comfortable tap targets. Mostly phone-width rules. */
.dash-more{margin:12px 0}
.dash-more>summary{cursor:pointer;list-style:none;color:var(--color-text-muted);font-size:15px;padding:10px 0;min-height:44px;display:flex;align-items:center;font-weight:600}
.dash-more>summary::-webkit-details-marker{display:none}
.dash-more>summary::after{content:"+";margin-left:8px;font-weight:700;color:var(--color-primary)}
.dash-more[open]>summary::after{content:"\2212"}
.lp-calm .lp-chips{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.lp-calm .lp-chips .btn{padding:10px 16px;min-height:44px}
.lp-calm .dash-more{max-width:760px;margin-inline:auto}
.lp-concerns .card h3{font-size:16px;margin:0 0 4px}
.lp-concerns .card{text-decoration:none;color:inherit}
.lp-calm .section-sub{text-align:center}
.cm-fine{font-size:13px}
/* one banner at a time: hide the sticky CTA while the cookie bar shows */
body:has(#cookie-banner:not([style*="none"])) .sticky-cta{display:none}
.calm-wrap{max-width:720px;margin:0 auto}
.calm-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:640px){
  .btn{min-height:44px}
  .lp-section{padding:36px 0}
  .lp-hero{padding:28px 0 32px}
  .lp-hero__visual{display:none}
  .lp-hero__grid{grid-template-columns:1fr;gap:0}
  .lp-hero h1{font-size:30px;margin:14px 0 10px}
  .lp-lead{font-size:16px;margin-bottom:18px}
  .lp-cta{gap:8px 16px}
  .lp-cta .lp-btn{width:100%;justify-content:center}
  .lp-ghost{min-height:44px;display:inline-flex;align-items:center}
  .lp-trust{margin-top:14px;font-size:13px}
  .lp-title{font-size:24px}
  .lp-sub{font-size:15px;margin-bottom:18px}
  .lp-steps,.lp-cards{grid-template-columns:1fr;gap:10px;margin-top:16px}
  .lp-step,.lp-card{padding:16px 18px}
  .lp-step__ic,.lp-card__ic{width:40px;height:40px;margin-bottom:8px}
  .lp-step h3{font-size:17px}
  .lp-center{margin-top:18px}
  .lp-center .lp-btn{width:100%;justify-content:center}
  .lp-guide{flex-direction:column;align-items:stretch;padding:18px;text-align:left}
  .lp-guide .lp-btn{width:100%;justify-content:center}
  .lp-concerns .grid{gap:10px}
  .lp-concerns a.card{padding:14px 16px}
  .plans__grid{gap:14px}
  .cookie-banner__text{font-size:12.5px}
  .sticky-cta-spacer{height:64px}
}

/* community */
@media (max-width:640px){
  .cm-hero__visual{display:none}
  .cm-hero{padding:24px 0 28px}
  .cm-hero h1{font-size:28px}
  .cm-cta-row .btn{width:100%;justify-content:center}
  .cm-link-btn{min-height:44px;display:inline-flex;align-items:center}
  .cm-section{padding:32px 0}
  .cm-title{font-size:24px}
  .cm-features{gap:10px}
  .cm-feature{padding:14px 16px}
  .cm-row__visual{display:none}
  .cm-row{margin-bottom:22px}
  .cm-badges{font-size:13px}
  .cm-sticky{padding:8px 12px}
  .cm-sticky .btn{min-height:44px}
}
body:has(#cookie-banner:not([style*="none"])) .cm-sticky{display:none!important}

/* new parents */
.np-link{font-weight:700;text-decoration:underline;display:inline-flex;align-items:center;min-height:44px}
@media (max-width:640px){
  .np-hero{padding-top:24px;padding-bottom:20px}
  .np-hero h1{font-size:28px}
  .np-cta .btn{width:100%;justify-content:center}
  .np-sec{margin:26px 0}
  .np-sec h2{font-size:22px}
  .np-grid{gap:10px}
  .np-card{padding:14px 16px}
}
@media (max-width:640px){
  #np-guides .np-card{padding:12px 14px}
  #np-guides .np-card>p{display:none}
  #np-guides .np-card .np-ico{display:none}
  #np-guides .np-card h3{font-size:16px;margin:0 0 2px}
}

/* learn index */
@media (max-width:640px){
  #kb-grid{gap:10px}
  #kb-grid .kb-card{padding:14px 16px}
  #kb-grid .kb-card>p{display:none}
  .kb-filter-pills{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}
  .kb-filter-pill{flex:none;min-height:44px;white-space:nowrap}
  .kb-featured__excerpt{display:none}
}

/* np guide gutter */
@media (max-width:640px){
  .container.np-guide{padding-left:16px;padding-right:16px;box-sizing:border-box}
  .np-guide .np-side{margin-top:20px}
}
/* free printables: two per row, thumbnail + title + download */
@media (max-width:640px){
  .fp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .fp-card{padding:10px;gap:6px}
  .fp-card .gp-pill,.fp-card>p{display:none}
  .fp-card h2{font-size:.9rem;line-height:1.25}
  .fp-dl{padding:10px 8px;font-size:14px}
  .gp-hero .lead{font-size:15px}
  .gp-hero .btn--secondary{background:none;border:0;text-decoration:underline;box-shadow:none}
}
@media (max-width:640px){
  .kb-card{padding:14px 16px}
  .kb-card>p{display:none}
  .final-cta .btn{width:100%}
}
@media (max-width:640px){
  .gp-hero{padding-top:20px;padding-bottom:20px}
  .gp-hero h1{font-size:26px}
  .gp-hero .btn,.gp-btnrow .btn{width:100%;justify-content:center;text-align:center}
  .gp-hero .btn--secondary{background:none;border:0;text-decoration:underline;box-shadow:none}
  .tr-mini{display:none}
  .gp-tile{padding:14px 16px}
}
@media (max-width:640px){
  .sp-hero{padding:22px 0 18px}
  .sp-hero h1{font-size:26px}
  .sp-cta .btn{width:100%;justify-content:center}
  .sp-cta .btn--secondary{background:none;border:0;text-decoration:underline;box-shadow:none}
  .sp-group>p{display:none}
  .sp-card{padding:14px 16px}
  .sp-grid{gap:10px}
  .hp-hero .hp-more .btn{width:100%;justify-content:center}
  .hp-hero .btn--secondary{background:none;border:0;text-decoration:underline;box-shadow:none}
  .hp-card p{font-size:14.5px}
}

/* gentle save prompt (tool pages) */
.save-prompt{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0;padding:14px 16px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface)}
.save-prompt p{margin:0;flex:1 1 220px;font-size:15px}
@media (max-width:640px){.save-prompt .btn{width:100%;justify-content:center}}

/* legal / long reading pages */
.legal-toc{border:1px solid var(--color-border);border-radius:12px;padding:0 14px;margin:0 0 18px;background:var(--color-surface)}
.legal-toc ol{margin:0 0 10px;padding-left:20px;line-height:1.9}
.legal-toc a{display:inline-block;padding:6px 0}
@media (max-width:640px){
  .prose{font-size:16px;line-height:1.65}
  .prose h2{font-size:21px;margin:26px 0 8px}
  .prose ul,.prose ol{padding-left:20px}
  .prose li{margin:6px 0}
  .prose table{display:block;overflow-x:auto}
  .md-table,.cb-table{display:block;overflow-x:auto;max-width:100%}
  .cg-grid{grid-template-columns:1fr!important;gap:10px}
}
