/* Общие стили информационного сайта. Файл собирается tools/build_sites.py */
/* Manrope — cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/manrope-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Manrope — latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(fonts/manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Prata — cyrillic */
@font-face {
  font-family: 'Prata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/prata-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Prata — latin */
@font-face {
  font-family: 'Prata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/prata-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --bg:#041322;
  --bg-2:#071B2C;
  --surface:#10212F;
  --line:rgba(164,193,219,.14);
  --line-2:rgba(194,204,218,.26);
  --accent:#BFAA84;
  --text:#EEF2F6;
  --text-dim:#C2CCDA;
  --muted:#8A97AB;
  --radius:14px;
  --font-head:'Prata',Georgia,'Times New Roman',serif;
  --font-body:'Manrope',-apple-system,'Segoe UI',Roboto,sans-serif;
  color-scheme:dark;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-padding-top:110px}
body{background:var(--bg);color:var(--text);font:400 17px/1.66 var(--font-body);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--font-head);font-weight:400;line-height:1.24}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.wrap.narrow{max-width:860px}

/* шапка: название сайта, телефон, разделы */
.site-head{position:sticky;top:0;z-index:50;background:var(--bg-2);border-bottom:1px solid var(--line)}
.head-in{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 24px;padding:12px 24px}
.site-name{font-family:var(--font-head);font-size:18px;line-height:1.3;text-decoration:none;max-width:560px}
.head-phone{font-weight:700;font-size:16px;white-space:nowrap;text-decoration:none;justify-self:end}
.nav{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 22px;font-size:15px;font-weight:500;color:var(--text-dim)}
.nav a{text-decoration:none;padding-bottom:2px;border-bottom:1px solid transparent}
.nav a:hover{color:var(--text)}
.nav a.active{color:var(--text);border-color:var(--accent)}
@media(max-width:620px){
  .head-in{grid-template-columns:1fr}
  .site-name{font-size:16px}
  .head-phone{justify-self:start;font-size:15px}
  .nav{gap:4px 16px;font-size:14px}
}

/* стилизованная полоса на главной */
.banner{height:120px;overflow:hidden;border-bottom:1px solid var(--line);background:var(--bg-2)}
.banner svg{width:100%;height:100%;fill:none;stroke-linecap:round}
.banner .ridge{stroke:var(--line-2);stroke-width:1.4}
.banner .r3{opacity:.55}
.banner .r2{opacity:.8}
.banner .r1{stroke:var(--accent);opacity:.45}
.banner .water{stroke:var(--line-2);stroke-width:1}
.banner .wave{stroke:var(--line-2);stroke-width:1;opacity:.7}
@media(max-width:620px){.banner{height:80px}}

/* текстовые страницы */
.doc{padding:40px 24px 64px}
.doc h1{font-size:clamp(28px,3.4vw,42px);margin-bottom:22px}
.intro{padding-bottom:8px}
.intro p{color:var(--text-dim);margin-bottom:16px}
.intro p:last-child{margin-bottom:0}
.lead{color:var(--text-dim);max-width:70ch;margin-bottom:30px}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:18px}
.crumbs a{color:var(--text-dim)}
.sec-title{font-size:clamp(22px,2.4vw,30px);margin:40px 0 20px}
.note{margin-top:18px;font-size:13.5px;color:var(--muted)}

/* источники — в тексте, после абзаца */
.srcs{white-space:normal}
.src{display:inline-block;font-size:12.5px;line-height:1.4;color:var(--muted);text-decoration:none;
  border:1px solid var(--line);border-radius:6px;padding:0 6px;margin:2px 2px 0 0;vertical-align:1px}
a.src:hover{color:var(--text-dim);border-color:var(--line-2)}

/* блоки страницы района */
.blocks{display:grid;gap:16px}
.blk{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px}
.blk h2{font-size:20px;margin-bottom:10px}
.blk p{color:var(--text-dim);font-size:16px}
.blk.accent{border-color:var(--line-2)}
.infra{display:grid;grid-template-columns:150px 1fr;gap:10px 18px;font-size:16px}
.infra dt{color:var(--muted);font-weight:600;font-size:14.5px;padding-top:2px}
.infra dd{color:var(--text-dim)}
.list{color:var(--text-dim);font-size:16px;padding-left:20px;display:grid;gap:10px;list-style:disc}
.list b{color:var(--text);font-weight:600}
@media(max-width:620px){
  .blk{padding:20px 18px}
  .infra{grid-template-columns:1fr;gap:4px 0}
  .infra dd{margin-bottom:8px}
}

/* карточки */
.cards{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px 24px 22px}
.card h2,.card h3{font-size:20px;margin-bottom:10px}
.card a{text-decoration:none;border-bottom:1px solid var(--line-2)}
.card a:hover{border-color:var(--accent)}
.card p{color:var(--text-dim);font-size:15.5px}
.card-meta{margin-top:10px;color:var(--muted);font-size:14px}
@media(max-width:940px){.cards{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.cards{grid-template-columns:1fr}}
.dist-links{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:10px 18px;font-size:16px}
.dist-links a{color:var(--text-dim);text-decoration:none;border-bottom:1px solid transparent}
.dist-links a:hover{color:var(--text);border-color:var(--line-2)}
@media(max-width:900px){.dist-links{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.dist-links{grid-template-columns:1fr}}

/* пагинация районов */
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:24px;font-size:15.5px}
.pager a{text-decoration:none;color:var(--text-dim);border:1px solid var(--line);border-radius:var(--radius);padding:12px 18px;max-width:48%}
.pager a:hover{color:var(--text);border-color:var(--line-2)}
.pager span{display:block;font-size:12.5px;color:var(--muted);margin-bottom:2px}
.pager-next{text-align:right;margin-left:auto}

/* форма */
.form{display:grid;gap:16px;max-width:520px}
.f-row{display:grid;gap:6px}
.f-row label{font-size:14px;color:var(--muted)}
.form input[type=text],.form input[type=tel],.form textarea{
  background:var(--bg-2);border:1px solid var(--line-2);border-radius:10px;color:var(--text);
  font:500 16px/1.4 var(--font-body);padding:12px 14px;width:100%}
.form input:focus,.form textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.f-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--text-dim)}
.f-check input{margin-top:4px;flex:none;width:17px;height:17px;accent-color:var(--accent)}
.f-error{color:#FF9B9B;font-size:14.5px}
.f-done{color:var(--text-dim);font-size:15px}
.btn{justify-self:start;background:var(--bg-2);color:var(--text);border:1px solid var(--line-2);
  border-radius:10px;padding:13px 26px;font:600 16px var(--font-body);cursor:pointer}
.btn:hover{border-color:var(--accent)}

/* скрытая страница с видео */
.video-wrap{display:grid;justify-items:center;gap:16px;margin:6px 0 4px}
.video-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:10px;width:100%;max-width:min(400px,44vh)}
.video-card video{width:100%;height:auto;display:block;border-radius:8px;background:#000}
.video-note{font-size:14px;color:var(--muted);text-align:center;max-width:56ch}
.video-back{margin-top:30px;font-size:16px}
.video-back a{color:var(--text-dim);text-decoration:none;border-bottom:1px solid var(--line-2)}
.video-back a:hover{color:var(--text);border-color:var(--accent)}
@media(max-width:620px){.video-card{max-width:min(100%,46vh);padding:8px}}

/* подвал */
.site-foot{border-top:1px solid var(--line);background:var(--bg-2);padding:36px 0 40px;margin-top:40px}
.foot-cols{display:flex;flex-wrap:wrap;gap:26px 60px;justify-content:space-between}
.req{font-size:14px;color:var(--text-dim);line-height:1.7}
.req a{color:var(--text-dim)}
.foot-nav{display:grid;gap:8px;font-size:14.5px}
.foot-nav a{color:var(--text-dim);text-decoration:none}
.foot-nav a:hover{color:var(--text)}
.foot-legal{margin-top:24px;font-size:12.5px;color:var(--muted);line-height:1.6;max-width:92ch}
