/* Компактная вёрстка на узких экранах (390 px и уже).
   Подключается после style.css и css/design.css — общие файлы не изменяются. */
@media (max-width:640px){
  :root{--radius:12px}
  .wrap{width:calc(100% - 24px);padding-bottom:44px}
  .hero{padding:22px 0 4px}
  h1{font-size:1.42rem;line-height:1.2;margin-bottom:8px}
  .lead,.lede{font-size:.94rem;line-height:1.5}
  .kicker{font-size:.62rem}
  .stamp{margin-bottom:8px}

  section{margin-top:26px}
  section>h2{font-size:1.12rem}
  .sec-head{margin-bottom:10px;gap:8px}
  .sec-head .stamp{font-size:10px}

  .card{padding:13px 12px;margin-bottom:10px;border-radius:12px}
  .card.seo p,.seo p{line-height:1.5}

  .grid{gap:10px}
  .grid2 .field label,.grid>div>label{margin-bottom:4px}
  .hint{font-size:11.5px!important;line-height:1.4}

  input,select{padding:9px 10px;font-size:16px;min-height:42px}
  button{padding:9px 13px;font-size:.88rem;min-height:40px;border-radius:10px}
  .btn{padding:9px 13px}
  .row{gap:8px}

  table{font-size:.82rem}
  th,td{padding:6px 7px}
  thead th{font-size:10px;letter-spacing:.05em}
  .tw{margin:0 -2px;padding:0 2px}
  .tw tbody tr{padding:7px 9px;margin-bottom:7px;border-radius:10px}
  .tw tbody td{padding:3px 0;font-size:.82rem;gap:10px}
  .tw tbody td::before{font-size:9.5px;letter-spacing:.05em;flex-basis:36%;max-width:36%}

  details.acc,.acc>summary{padding-left:11px;padding-right:11px}
  .acc>summary{padding-top:9px;padding-bottom:9px;font-size:.94rem}
  .acc__body{padding:0 11px 12px}
  .acc__body p,.acc__body li{font-size:.9rem;line-height:1.5}

  .readout>div{padding:10px 12px}
  .readout .big,.big{font-size:1.16rem}
  .stat-grid{gap:10px}
  .sc{padding:12px 12px}
  .kv dt{padding:8px 0 3px}
  .kv dd{padding:8px 0 3px;font-size:.9rem}
  #classCard .kv dd{font-size:.9rem}
  #classCard .statbox{padding:10px 11px;margin:10px 0}
  .tag{font-size:11px;padding:2px 7px}

  /* страница эвакуации */
  .ev__grid{gap:8px}
  .ev__label{font-size:10px}
  .ev__hint{font-size:11.5px;line-height:1.45}
  .chain{gap:6px}
  .sch{overflow-x:auto}

  /* библиотека */
  .lit__searchbar{top:56px;padding:8px 0}
  .lit__grid{grid-template-columns:1fr;gap:9px}
  .lit__card{padding:11px 11px;gap:5px;border-radius:12px}
  .lit__thumbwrap{margin:-11px -11px 3px}
  .lit__thumb{height:104px}
  .lit__title{font-size:.95rem;line-height:1.28}
  .lit__card--img .lit__title{font-size:.95rem}
  .lit__sub,.lit__author{font-size:12px;line-height:1.35}
  .lit__desc{font-size:12.5px;line-height:1.42;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .lit__tags{max-height:23px;overflow:hidden;gap:4px}
  .lit__foot{padding-top:7px;gap:6px}
  .lit__type{font-size:10px}
  .lit__year{font-size:11px}
  .lit__relcalc{padding-top:6px;gap:5px}
  .lit__relcalc__l{font-size:11px}
  .lit__relcalc .lit__calc{font-size:11px;padding:2px 8px}
  .lv__head{padding:18px 0 8px}
  .lv h1{font-size:1.3rem}
  .lv__text{padding:13px 13px;font-size:14px}
  .lv__read{font-size:14px;line-height:1.6}
  .lv__read .lit__p{margin:0 0 11px}
}
@media (max-width:420px){
  .wrap{width:calc(100% - 20px)}
  .card{padding:11px 10px}
  h1{font-size:1.3rem}
  .tw tbody td{font-size:.78rem}
  .tw tbody td::before{flex-basis:38%;max-width:38%}
  button{padding:9px 11px;font-size:.85rem}
  .lit__relcalc .lit__calc{font-size:10.5px}
}
