/* womanpsy.com — дизайн-система в design/design-system.md.
   Правило: всё служит чтению. Ноль внешних запросов, ноль блокирующих ресурсов. */

:root{
  --bg:#fcfbf9; --surface:#fff; --surface-2:#f6f4ef;
  --ink:#121110; --ink-soft:#2a2724; --muted:#615b53;
  --accent:#2f6f62; --accent-soft:#e8f0ed;
  --warm:#b4624a; --warm-soft:#fbf1ec;
  --sos:#b4462f; --sos-soft:#fdf3f0;
  --line:#e6e4df; --line-strong:#d6d2c9;
  --radius:14px; --measure:36rem;
  --shadow:0 1px 2px rgba(35,32,29,.04), 0 8px 24px -16px rgba(35,32,29,.25);
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#15161a; --surface:#1d1f25; --surface-2:#22252c;
    --ink:#eceae5; --ink-soft:#d3d0ca; --muted:#9b958c;
    --accent:#6fbfa9; --accent-soft:#1c2a27;
    --warm:#d98a6c; --warm-soft:#2a211e;
    --sos:#ef8470; --sos-soft:#2b1d1a;
    --line:#2c2f36; --line-strong:#3a3e46;
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px -16px rgba(0,0,0,.8);
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:19px/1.72 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-synthesis-weight:none; text-rendering:optimizeLegibility;
  /* -webkit-font-smoothing:antialiased НЕ включаем: на маке он истончает
     глифы, и чёрный текст начинает читаться как серый */
}
@media (min-width:760px){ body{font-size:20px;line-height:1.75} }

/* --- доступность --- */
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:10;background:var(--surface);padding:10px 14px;border-radius:10px;box-shadow:var(--shadow)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
@media (prefers-reduced-motion:reduce){ *{animation:none!important;transition:none!important;scroll-behavior:auto!important} }

/* --- шапка --- */
.top{
  display:flex;gap:18px;align-items:center;justify-content:space-between;
  padding:14px 20px;background:color-mix(in srgb,var(--bg) 88%,transparent);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:5;backdrop-filter:saturate(1.4) blur(10px);
}
.logo{
  font-family:Georgia,"Iowan Old Style","Times New Roman",serif;
  font-size:21px;font-weight:600;letter-spacing:-.01em;
  color:var(--ink);text-decoration:none;white-space:nowrap;
}
.nav{
  display:flex;gap:16px;font-size:15px;line-height:1;
  overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;
  margin:-6px -20px -6px 0;padding:6px 20px 6px 0;
}
.nav::-webkit-scrollbar{display:none}
.nav a{color:var(--muted);text-decoration:none;white-space:nowrap;padding:6px 0}
.nav a:hover{color:var(--accent)}
.nav .sos{color:var(--sos);font-weight:600}

/* --- каркас --- */
main{max-width:var(--measure);margin:0 auto;padding:28px 20px 72px}
@media (min-width:760px){ main{padding-top:44px} }

/* --- заголовки --- */
h1,h2,h3{
  font-family:Georgia,"Iowan Old Style","Times New Roman",serif;
  color:var(--ink);letter-spacing:-.01em;line-height:1.22;
  text-wrap:balance;scroll-margin-top:84px;
}
h1{font-size:clamp(28px,6vw,40px);margin:.15em 0 .5em}
h2{font-size:clamp(23px,4vw,29px);line-height:1.28;margin:2.2em 0 .6em}
h3{font-size:clamp(20px,3vw,23px);margin:1.8em 0 .4em}
p{margin:0 0 1.15em}
/* переносы сознательно выключены: на 375px они рубили по 5 слов подряд
   («разби-раемся», «психо-лог») и текст читался рвано */
strong{font-weight:650}

.crumbs{font-size:15px;color:var(--muted);margin-bottom:6px}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--accent);text-decoration:underline}

.lead{
  font-size:1.1em;line-height:1.6;color:var(--ink-soft);
  margin:0 0 1.6em;padding-left:16px;border-left:3px solid var(--accent);
}

a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}

/* --- картинки --- */
picture,figure{display:block;margin:1.8em 0}
img{max-width:100%;height:auto;border-radius:var(--radius);display:block}

/* --- списки --- */
ul,ol{padding-left:1.3em;margin:0 0 1.3em}
li{margin:.45em 0}
li::marker{color:var(--accent)}

/* --- таблицы: на мобильном скроллятся, а не ломают вёрстку --- */
.t-wrap{
  overflow-x:auto;margin:1.6em 0;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--surface);
  /* тень-подсказка справа: видно, что таблицу можно прокрутить */
  background-image:linear-gradient(to right,transparent 88%,rgba(35,32,29,.07));
  background-attachment:local,scroll;
}
table{width:100%;border-collapse:collapse;font-size:.86em;line-height:1.45}
th,td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);min-width:112px}
th{background:var(--surface-2);font-weight:650}
tbody tr:last-child td{border-bottom:0}

/* --- смысловые блоки: различаются периферийным зрением --- */
.b-steps,.b-no,.b-doc,.b-sos{
  margin:1.9em 0;padding:18px 20px;border-radius:var(--radius);
  background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);
}
.b-title{margin:0 0 .6em;font-weight:650;font-size:1em;letter-spacing:.01em}
.b-steps{border-left:4px solid var(--accent)}
.b-steps ol{counter-reset:s;list-style:none;padding:0;margin:0}
.b-steps ol li{counter-increment:s;position:relative;padding-left:40px;margin:.8em 0}
.b-steps ol li::before{
  content:counter(s);position:absolute;left:0;top:.05em;
  width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);
  font-size:15px;font-weight:650;display:grid;place-items:center;
}
.b-no{border-left:4px solid var(--warm);background:var(--warm-soft)}
.b-no li::marker{content:"— ";color:var(--warm)}
.b-doc{border-left:4px solid #3f6ea8;background:var(--accent-soft)}
.b-rule{
  margin:1.9em 0;padding:4px 0 4px 20px;border-left:3px solid var(--warm);
  font-style:italic;color:var(--ink-soft);
}
.b-sos{border:2px solid var(--sos);background:var(--sos-soft);padding:20px}
.b-sos .b-title{color:var(--sos);font-size:1.05em}
.b-sos a{color:var(--sos);font-weight:600}

/* --- FAQ --- */
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{
  cursor:pointer;font-weight:650;padding:14px 32px 14px 0;position:relative;list-style:none;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:6px;top:50%;width:9px;height:9px;
  border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);
  transform:translateY(-70%) rotate(45deg);transition:transform .15s ease;
}
.faq details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.faq details p{margin:0 0 16px;color:var(--ink-soft)}

/* --- что дальше --- */
.next ul{list-style:none;padding:0}
.next li{margin:0;border-bottom:1px solid var(--line)}
.next li a{display:inline-block;font-weight:600;text-decoration:none;padding:14px 0 4px}
.next li a:hover{text-decoration:underline}

/* --- списки и плитки разделов --- */
.list{list-style:none;padding:0}
.list li{border-bottom:1px solid var(--line);padding:16px 0}
.list a{font-weight:650;color:var(--ink);text-decoration:none;font-size:1.05em}
.list a:hover{color:var(--accent)}
.list span{display:block;color:var(--muted);font-size:.85em;margin-top:5px;line-height:1.5}
.tiles{list-style:none;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.tiles a{
  display:block;padding:18px;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--surface);text-decoration:none;color:var(--ink);font-weight:600;
  box-shadow:var(--shadow);transition:border-color .15s ease,transform .15s ease;
}
.tiles a:hover{border-color:var(--accent);transform:translateY(-2px)}
.tiles span{display:block;color:var(--muted);font-size:.8em;font-weight:400;margin-top:6px;line-height:1.5}

/* --- подпись и подвал --- */
.sign{margin-top:2.6em;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.8em}
.sos-line{margin-top:24px}
.sos-line a{color:var(--sos);font-weight:600}
.foot{
  border-top:1px solid var(--line);background:var(--surface-2);
  padding:28px 20px 40px;font-size:.8em;color:var(--muted);
}
.foot>*{max-width:var(--measure);margin-left:auto;margin-right:auto}
.foot a{color:var(--muted)}
.disclaimer{font-size:.95em;line-height:1.6;opacity:.85}

/* --- печать: статьи про границы и выгорание реально распечатывают --- */
@media print{
  .top,.foot,.next,.skip{display:none}
  body{background:#fff;color:#000;font-size:12pt;line-height:1.5}
  main{max-width:none;padding:0}
  .faq details{display:block}
  .faq details p{display:block!important}
  a{text-decoration:none;color:#000}
  .b-steps,.b-no,.b-doc,.b-sos{box-shadow:none;break-inside:avoid}
}
