/* Общие стили внутренних страниц сайта Plum: страница взрослого (/roditelyam/) и документы (/dokumenty/…).
   Та же ледяная студия, что на главной: лёд, матовое стекло, цвет несёт только Plum и кнопка. Шрифты — свои (fonts/fonts.css).
   Тон взрослый и спокойный: заголовок страницы — фирменный капс, всё остальное — Onest, крупно и с воздухом. */
:root{
  --page:#F4F8FF;--ice-0:#F5F9FF;--ice-1:#E7EEF9;--ice-2:#D6E1EF;
  --ink:#0F1438;--ink-2:#48507A;--ink-3:#5A6488;--line:rgba(34,48,120,.12);
  --plum:#3550E6;--plum-deep:#22279E;--plum-hi:#4E6AF4;--on-plum:#fff;
  --gold:#F2A21B;--ok:#1F8A58;--bad:#C2364F;
  --glass:rgba(255,255,255,.34);--glass-hi:rgba(255,255,255,.72);--glass-edge:rgba(255,255,255,.9);
  --shade:34,48,120;
  --spring:cubic-bezier(.3,1.45,.45,1);--ease:cubic-bezier(.2,.8,.2,1);
  --font-display:"Unbounded","Arial Black",system-ui,sans-serif;
  --font-body:"Onest",-apple-system,"SF Pro Text","Segoe UI",system-ui,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100svh;background:var(--page);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;
  padding-inline:16px;overflow-x:clip}
@media (min-width:720px){body{padding-inline:clamp(24px,4vw,56px)}}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(70% 55% at 62% 30%,rgba(255,255,255,.92),rgba(255,255,255,0) 70%),linear-gradient(180deg,var(--ice-0) 0%,var(--ice-1) 60%,var(--ice-2) 100%)}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--plum);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
p{margin:0}
:focus-visible{outline:2px solid var(--plum);outline-offset:3px}
::selection{background:rgba(53,80,230,.2)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.page{max-width:1120px;margin-inline:auto;min-height:100svh;display:flex;flex-direction:column}

/* матовое стекло */
.glass{position:relative;background:linear-gradient(150deg,var(--glass-hi) 0%,var(--glass) 62%,rgba(255,255,255,.46) 100%);
  -webkit-backdrop-filter:blur(26px) saturate(175%);backdrop-filter:blur(26px) saturate(175%);border:1px solid var(--glass-edge);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 22px 44px -26px rgba(var(--shade),.38),0 2px 6px rgba(var(--shade),.06)}

/* шапка */
.nav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 12px);z-index:20;margin-top:12px;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 18px;border-radius:999px}
.mark{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-display);font-weight:600;font-size:19px;letter-spacing:-.03em;text-decoration:none;color:var(--ink)}
.mark svg{width:1.6em;height:1.27em}
.nav-tag{font-size:14px;font-weight:500;color:var(--ink-2);padding-left:12px;border-left:1px solid var(--line)}
.nav-r{display:flex;align-items:center;gap:8px;margin-left:auto}

/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:52px;padding:0 26px;border:0;border-radius:999px;cursor:pointer;
  background:linear-gradient(180deg,var(--plum-hi),var(--plum));color:var(--on-plum);font-weight:600;font-size:16px;text-decoration:none;white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 16px 30px -16px rgba(53,80,230,.8),0 2px 4px rgba(34,39,158,.2);transition:transform .2s,box-shadow .25s,opacity .2s}
.btn svg{width:1.15em;height:1.15em}
.btn:hover{transform:translateY(-1px);text-decoration:none}
.btn:active{transform:translateY(1px) scale(.98);transition-duration:.08s}
.btn:disabled{opacity:.5;cursor:default;transform:none}
.btn.sm{min-height:40px;padding:0 18px;font-size:14px}
.btn.ghost{background:rgba(255,255,255,.7);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line),0 8px 18px -14px rgba(var(--shade),.5)}
.btn.ghost:hover{background:#fff}
.btn.quiet{background:none;color:var(--ink-2);box-shadow:none;padding:0 14px;min-height:44px}
.btn.quiet:hover{color:var(--ink);background:rgba(34,48,120,.06)}
.btn.danger{background:none;color:var(--bad);box-shadow:inset 0 0 0 1px rgba(194,54,79,.3)}
.btn.danger:hover{background:rgba(194,54,79,.06)}
.btn.busy{pointer-events:none;opacity:.7}

.chip{display:inline-flex;align-items:center;gap:.55em;padding:.45em .95em .45em .8em;border-radius:999px;font-size:14px;font-weight:500;color:var(--ink-2)}
.chip i{width:.5em;height:.5em;border-radius:50%;background:var(--plum)}

/* заголовки и текст */
h1{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:-.03em;line-height:1.04;margin:0;font-size:clamp(30px,5.6vw,54px);text-wrap:balance}
h2{font-weight:650;font-size:clamp(21px,2.4vw,26px);letter-spacing:-.025em;line-height:1.2;margin:0;text-wrap:balance}
h3{font-weight:600;font-size:18px;letter-spacing:-.015em;line-height:1.3;margin:0}
.lead{font-size:clamp(17px,1.7vw,19px);color:var(--ink-2);max-width:36em;text-wrap:pretty}
.muted{color:var(--ink-3);font-size:15px}

/* поля */
.field{display:grid;gap:8px}
.field>span{font-size:14px;font-weight:600;color:var(--ink-2)}
.input{width:100%;min-height:54px;padding:0 18px;border-radius:18px;border:0;background:#fff;color:var(--ink);font-size:17px;
  box-shadow:inset 0 0 0 1px rgba(34,48,120,.14),0 8px 18px -16px rgba(var(--shade),.6);transition:box-shadow .2s}
.input:focus{outline:none;box-shadow:inset 0 0 0 1.5px rgba(53,80,230,.7),0 0 0 4px rgba(53,80,230,.12)}
.input::placeholder{color:#8B94B3}
.input.code{letter-spacing:.5em;font-weight:650;font-size:24px;text-align:center;font-variant-numeric:tabular-nums;max-width:220px}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.row .field{flex:1 1 260px}
.check{display:flex;align-items:flex-start;gap:14px;font-size:16px;line-height:1.5;color:var(--ink);cursor:pointer}
.check input{flex:none;width:22px;height:22px;margin:2px 0 0;accent-color:var(--plum);cursor:pointer}
.msg{min-height:1.5em;font-size:15px;color:var(--ink-2)}
.msg.bad{color:var(--bad)}
.msg.ok{color:var(--ok)}

/* подвал */
.foot{margin-top:auto;padding:36px 0 calc(28px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;border-top:1px solid var(--line);font-size:14px;color:var(--ink-3)}
.foot .mark{font-size:17px}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.foot nav a{color:var(--ink-2);text-decoration:none}
.foot nav a:hover{color:var(--ink);text-decoration:underline}
.age{display:inline-grid;place-items:center;min-width:34px;height:24px;padding:0 6px;border-radius:7px;font-weight:650;font-size:12px;color:var(--ink-2);box-shadow:inset 0 0 0 1.5px currentColor}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
