/* Public pages: pricing, terms, privacy, refunds, contact. Built on pwa.css. */
:root { --violet: #0E7C72; --violet-soft: #DDF1EE; --violet-ink: #075049; --violet-deep: #0A645C; --violet-light: #3AA99D; }
#shell.site { padding-bottom: 40px; }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); font-family: var(--display); font-size: 19px; }
.brand img { border-radius: 10px; }
details.card summary { font-weight: 700; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
details.card summary::after { content: '+'; color: var(--muted); font-weight: 800; }
details.card[open] summary::after { content: '–'; }
details.card p { margin: 10px 0 0; line-height: 1.55; font-size: 14px; }
.site-foot { display: flex; flex-wrap: wrap; gap: 10px 16px; justify-content: center; padding: 18px 0 6px; border-top: 1px solid var(--line); }
.site-foot a { font-size: 13px; font-weight: 700; text-decoration: none; }
.site-foot .muted { width: 100%; text-align: center; }
.legal h2 { font-family: var(--display); font-size: 18px; margin: 18px 0 6px; }
.legal p, .legal li { font-size: 14.5px; line-height: 1.6; color: #2D2F45; }
.legal ul { padding-left: 20px; margin: 6px 0; }
.legal .updated { color: var(--muted); font-size: 13px; }
.plan-card .price { font-family: var(--display); font-size: 26px; font-weight: 800; }
.ticks { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.ticks li { padding-left: 24px; position: relative; }
.ticks li::before { content: '✓'; position: absolute; left: 2px; color: #1F9D61; font-weight: 800; }

/* Laptops and desktops: a full-width page instead of a phone column */
@media (min-width: 1024px) {
  body:not(.app) { background: var(--bg); }
  body:not(.app) #shell.site { max-width: 1080px; margin: 0 auto; box-shadow: none; border-radius: 0; }
  #shell.site .scr { max-width: none; padding: 28px 40px 24px; gap: 22px; }
  .site-hero { padding: 56px 56px !important; gap: 18px !important; }
  .site-hero .big { font-size: 52px !important; max-width: 760px; }
  .site-hero > span:nth-of-type(2) { font-size: 18px; max-width: 640px; }
  .site-hero .btn.full { width: auto; align-self: flex-start; padding: 0 36px; }
  .feats { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px !important; padding: 28px; }
  #plans.plan-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); align-items: stretch; }
  #plans .plan-card .btn.full { margin-top: auto; }
  #plans .plan-card > .row { flex-direction: column; align-items: flex-start !important; gap: 2px; }
  .legal { max-width: 780px; margin: 0 auto; width: 100%; }
  #shell.site > .scr > a.btn.full { width: auto; align-self: center; padding: 0 44px; }
}
