/* ============================================================
   Публичный сайт AgroILM — каркас (шапка, меню, футер)
   Тёмно-зелёная гамма, единый стиль с порталом.
   ============================================================ */

:root{
  --green:        #0b4d8f;   /* основной синий (акцент) */
  --green-dark:   #083a6d;   /* тёмно-синий (hover) */
  --green-deep:   #062a4f;   /* глубокий синий (полосы, футер) */
  --ink:          #16222e;
  --muted:        #5b6b7a;
  --line:         #dde5ec;
  --bg:           #ffffff;
  --card:         #ffffff;
  --soft:         #eef4fa;
  --gold:         #1a6fc4;   /* яркий синий (кнопки) */
  --blue:         #1a6fc4;
  --sans: "Manrope", -apple-system, "Segoe UI", sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
  --wrap: 1200px;
  --fs: 1;            /* множитель размера шрифта (доступность) */
}

/* Тёмная тема */
[data-theme="dark"]{
  --green:        #5aa9f0;
  --green-dark:   #3f8fd8;
  --green-deep:   #08192b;
  --ink:          #e6eef7;
  --muted:        #9db0c4;
  --line:         #22344a;
  --bg:           #0d1721;
  --card:         #14212e;
  --soft:         #172636;
  --gold:         #4f9fe0;
  --blue:         #4f9fe0;
}

/* Версия для слабовидящих (высокий контраст, ч/б) */
[data-a11y="high"]{
  --green:        #000000;
  --green-dark:   #000000;
  --green-deep:   #000000;
  --ink:          #000000;
  --muted:        #222222;
  --line:         #000000;
  --bg:           #ffffff;
  --card:         #ffffff;
  --soft:         #f2f2f2;
  --gold:         #000000;
  --blue:         #000000;
}
[data-a11y="high"] * { text-shadow:none !important; box-shadow:none !important; }
[data-a11y="high"] a { text-decoration:underline; }
[data-a11y="high"] img { filter:grayscale(1); }

/* Версия для слабовидящих — тёмный фон */
[data-a11y="high-dark"]{
  --green:        #ffff00;
  --green-dark:   #ffff00;
  --green-deep:   #000000;
  --ink:          #ffffff;
  --muted:        #ffffff;
  --line:         #ffffff;
  --bg:           #000000;
  --card:         #000000;
  --soft:         #111111;
  --gold:         #ffff00;
  --blue:         #ffff00;
}
[data-a11y="high-dark"] * { text-shadow:none !important; box-shadow:none !important; }
[data-a11y="high-dark"] a { color:#ffff00 !important; text-decoration:underline; }
[data-a11y="high-dark"] img { filter:grayscale(1) contrast(1.1); }

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--bg);
  font-size:calc(16px * var(--fs));
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
ul{ margin:0; padding:0; list-style:none; }

.wrap{ max-width:var(--wrap); margin:0 auto; padding:0 20px; }

/* ---------------- Верхняя полоса ---------------- */
.topline{ background:var(--green-deep); color:#cfe2d6; font-size:calc(13px * var(--fs)); position:relative; }
.topline__in{ display:flex; align-items:center; justify-content:space-between; height:40px; }
.topline__left{ display:flex; align-items:center; gap:16px; height:100%; }
.orgsbtn{
  display:flex; align-items:center; gap:8px; align-self:stretch;
  background:var(--green-dark); color:#fff; font-weight:600; font-size:calc(12.5px * var(--fs));
  padding:0 16px; margin-left:-20px; transition:.15s;
}
.orgsbtn:hover, .orgsbtn.on{ background:var(--gold); }
.orgsbtn svg{ width:14px; height:14px; transition:transform .15s; }
.orgsbtn.on svg{ transform:rotate(90deg); }
.topline__social{ display:flex; gap:6px; }
.topline__social a{
  width:26px; height:26px; display:grid; place-items:center;
  border-radius:6px; color:#a9cdb6; transition:.15s;
}
.topline__social a:hover{ background:rgba(255,255,255,.1); color:#fff; }
.topline__social svg{ width:16px; height:16px; fill:currentColor; }
.topline__right{ display:flex; align-items:center; gap:14px; }
.toplineclock{ font-family:var(--mono); font-size:calc(12px * var(--fs)); color:#cfe2d6; white-space:nowrap; letter-spacing:.01em; }

.langpick select{
  background:transparent; color:#cfe2d6; border:1px solid rgba(255,255,255,.2);
  border-radius:7px; padding:4px 8px; font-family:var(--sans); font-size:calc(12.5px * var(--fs));
  cursor:pointer; outline:none;
}
.langpick select option{ color:#1a2620; }

.loginbtn{
  display:inline-flex; align-items:center; gap:7px;
  background:var(--gold); color:#fff; font-weight:600; font-size:calc(13px * var(--fs));
  padding:6px 14px; border-radius:8px; transition:.15s;
}
.loginbtn:hover{ background:#9c7423; }
.loginbtn svg{ width:16px; height:16px; }

/* Кнопка «Карта сайта» — как на gov.uz: контурная пилюля со стрелкой */
.sitemapbtn{
  display:inline-flex; align-items:center; gap:6px;
  background:transparent; color:#cfe2d6; font-weight:600; font-size:calc(13px * var(--fs));
  padding:6px 13px; border-radius:8px; border:1px solid rgba(255,255,255,.28);
  transition:.15s;
}
.sitemapbtn:hover{ background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.5); }
.sitemapbtn svg{ width:14px; height:14px; }

/* ---------------- Шапка с логотипами ---------------- */
.masthead{ background:var(--card); border-bottom:1px solid var(--line); }
.masthead__in{ display:flex; align-items:center; justify-content:space-between; padding:16px 20px; gap:16px; }
.masthead__brand{ display:flex; align-items:center; gap:16px; min-width:0; }
.masthead__emblem{ height:56px; width:auto; flex-shrink:0; }
.masthead__emblem--ph{
  height:56px; width:48px; display:grid; place-items:center;
  color:var(--green); font-size:calc(38px * var(--fs)); line-height:1;
}
.masthead__logo{ height:52px; width:auto; }
.masthead__name{
  font-weight:800; font-size:calc(17px * var(--fs)); color:var(--green); line-height:1.25;
  max-width:640px;
}

.masthead__tools{ display:flex; align-items:center; gap:22px; margin-left:auto; }
.sitesearch{
  display:flex; align-items:center; gap:8px;
  background:var(--soft); border:1px solid var(--line); border-radius:10px;
  padding:8px 12px; width:220px; transition:.15s;
}
.sitesearch:focus-within{ border-color:var(--green); box-shadow:0 0 0 3px rgba(11,77,143,.1); }
.sitesearch__btn{ display:flex; color:var(--green); flex-shrink:0; cursor:pointer; }
.sitesearch__btn svg{ width:17px; height:17px; }
.sitesearch__input{
  border:none; background:transparent; outline:none; width:100%;
  font-family:var(--sans); font-size:calc(13.5px * var(--fs)); color:var(--ink);
}
.masthead__phone{
  display:flex; align-items:center; gap:9px; color:var(--green); font-weight:700; font-size:calc(14.5px * var(--fs)); white-space:nowrap;
}
.masthead__phone svg{ width:19px; height:19px; flex-shrink:0; }
.masthead__phone:hover{ color:var(--green-dark); }

/* ---------------- Главное меню ---------------- */
.mainnav{ background:var(--soft); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:100; }
.mainnav__wrap{ display:flex; align-items:stretch; justify-content:space-between; }
.mainnav__list{ display:flex; flex-wrap:wrap; }
.mainnav__item{ position:relative; }
.mainnav__item > a{
  display:flex; align-items:center; gap:5px;
  color:var(--green-deep); font-weight:700; font-size:calc(13.5px * var(--fs)); letter-spacing:.02em;
  text-transform:uppercase; padding:15px 16px; transition:.15s;
}
.mainnav__item > a:hover{ background:var(--green); color:#fff; }
.mainnav__item.has-sub:hover > a{ background:var(--green); color:#fff; }
.mainnav__item .caret{ width:14px; height:14px; opacity:.8; }

/* Выпадающее подменю — тёмно-синяя панель, как на gov.uz */
.submenu{
  position:absolute; top:100%; left:0; min-width:270px;
  background:var(--green); border-radius:0 0 10px 10px;
  box-shadow:0 14px 34px rgba(6,42,79,.28);
  padding:6px; opacity:0; visibility:hidden; transform:translateY(6px);
  transition:.16s; z-index:200;
}
/* у крайних правых пунктов подменю раскрывается влево: иначе оно
   торчит за край страницы и растягивает её по горизонтали */
.mainnav__item:nth-last-child(-n+2) .submenu{ left:auto; right:0; }
.mainnav__item.has-sub:hover .submenu{ opacity:1; visibility:visible; transform:translateY(0); }
.submenu li a{
  display:block; padding:9px 12px; border-radius:7px;
  font-size:calc(13.5px * var(--fs)); color:#fff; font-weight:500; line-height:1.35;
}
.submenu li a:hover{ background:rgba(255,255,255,.14); color:#fff; }

/* ---------------- Бургер карты сайта (в главном меню, как на gov.uz) ---------------- */
.navmap-toggle{
  position:relative; flex-shrink:0; width:52px;
  display:flex; align-items:center; justify-content:center;
  background:var(--green-dark); color:#fff; border:none; border-left:1px solid rgba(255,255,255,.12);
  cursor:pointer; transition:background .15s;
}
.navmap-toggle:hover{ background:var(--green-deep); }
.navmap-toggle svg{ width:20px; height:20px; }
.navmap-toggle__close{ display:none; }
.navmap-toggle.on{ background:var(--green-deep); }
.navmap-toggle.on .navmap-toggle__burger{ display:none; }
.navmap-toggle.on .navmap-toggle__close{ display:block; }
.navmap-toggle__tip{
  position:absolute; top:100%; right:0; margin-top:6px;
  background:var(--green-deep); color:#fff; font-size:calc(12px * var(--fs)); font-weight:600;
  padding:5px 10px; border-radius:6px; white-space:nowrap;
  opacity:0; visibility:hidden; transition:.15s; pointer-events:none;
}
.navmap-toggle:hover .navmap-toggle__tip{ opacity:1; visibility:visible; }
.navmap-toggle.on .navmap-toggle__tip{ opacity:0; visibility:hidden; }

/* Выпадающая панель — карта сайта по колонкам */
.navmap{ display:none; background:var(--green-deep); border-top:1px solid rgba(255,255,255,.1); }
.navmap.open{ display:block; }
.navmap .wrap{ padding:28px 20px 34px; }
.navmap__h{ color:#fff; font-size:calc(20px * var(--fs)); font-weight:800; margin-bottom:20px; }
.navmap__grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:24px; }
.navmap__col{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.navmap__top{
  color:#fff; font-weight:700; font-size:calc(13px * var(--fs)); text-transform:uppercase;
  letter-spacing:.03em; margin-bottom:10px; padding-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.navmap__top:hover{ text-decoration:underline; }
.navmap__sub{
  display:flex; align-items:flex-start; gap:6px;
  color:#cfe2d6; font-size:calc(13.5px * var(--fs)); line-height:1.4; padding:5px 0;
}
.navmap__sub svg{ width:13px; height:13px; flex-shrink:0; margin-top:2px; opacity:.7; }
.navmap__sub:hover{ color:#fff; }
@media (max-width:960px){ .navmap__grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:640px){ .navmap__grid{ grid-template-columns:repeat(2,1fr); gap:20px; } .navmap-toggle{ width:46px; } }
@media (max-width:420px){ .navmap__grid{ grid-template-columns:1fr; } }

/* ---------------- Бургер (только мобильный) ---------------- */
.navburger{
  display:none; width:44px; height:44px; flex-shrink:0;
  border:1px solid var(--line); border-radius:10px; background:var(--card);
  color:var(--ink); cursor:pointer; padding:0;
}
.navburger svg{ width:24px; height:24px; margin:auto; }

/* ---------------- Контент ---------------- */
.page{ min-height:40vh; }

/* ---------------- Футер ---------------- */
.foot{ background:var(--green-deep); color:#bcd6c4; margin-top:60px; }
.foot__in{
  display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:40px;
  padding:48px 20px 36px;
}
.foot__brand{ color:#fff; font-weight:700; font-size:calc(15px * var(--fs)); margin-bottom:12px; line-height:1.35; }
.foot__about p{ font-size:calc(14px * var(--fs)); line-height:1.65; margin:0 0 18px; max-width:42ch; }
.foot__social{ display:flex; gap:8px; }
.foot__social a{
  width:34px; height:34px; display:grid; place-items:center;
  border-radius:9px; background:rgba(255,255,255,.08); color:#a9cdb6; transition:.15s;
}
.foot__social a:hover{ background:rgba(255,255,255,.16); color:#fff; }
.foot__social svg{ width:18px; height:18px; fill:currentColor; }
.foot__h{ color:#fff; font-weight:700; font-size:calc(13px * var(--fs)); text-transform:uppercase; letter-spacing:.05em; margin-bottom:14px; }
.foot__links li, .foot__contacts li{ margin-bottom:9px; font-size:calc(14px * var(--fs)); }
.foot__links a:hover, .foot__contacts a:hover{ color:#fff; }
.foot__bottom{ border-top:1px solid rgba(255,255,255,.1); font-size:calc(12.5px * var(--fs)); color:#7fa58c; }
.foot__bottom .wrap{ padding-top:16px; padding-bottom:16px; }
.foot__bottom-in{ display:flex; flex-wrap:wrap; gap:8px 24px; justify-content:space-between; }
.foot__bottom-in a{ color:inherit; text-decoration:underline; }
.foot__bottom-in a:hover{ color:#fff; }
.foot__typo{
  border-top:1px solid rgba(255,255,255,.08); font-size:calc(12px * var(--fs)); color:#6f9b80;
  padding:14px 20px; text-align:center;
}

/* ---------------- Сообщение об опечатке ---------------- */
.typoreport{
  position:fixed; right:22px; bottom:22px; z-index:500; width:300px;
  background:var(--card); border:1px solid var(--line); border-radius:14px;
  box-shadow:0 18px 44px rgba(15,43,32,.22); padding:16px 18px;
  display:none; flex-direction:column; gap:10px;
}
.typoreport.show{ display:flex; }
.typoreport__label{ font-size:calc(12.5px * var(--fs)); font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.03em; }
.typoreport__text{
  font-size:calc(13.5px * var(--fs)); color:var(--ink); background:var(--soft); border-radius:9px;
  padding:9px 11px; max-height:110px; overflow:auto; line-height:1.45;
}
.typoreport__row{ display:flex; gap:8px; justify-content:flex-end; }
.typoreport__btn{
  font-family:var(--sans); font-size:calc(13px * var(--fs)); font-weight:600; border-radius:8px;
  padding:8px 14px; cursor:pointer; border:1px solid transparent;
}
.typoreport__btn--ghost{ background:transparent; border-color:var(--line); color:var(--muted); }
.typoreport__btn--ghost:hover{ border-color:var(--green); color:var(--green); }
.typoreport__btn--primary{ background:var(--green); color:#fff; }
.typoreport__btn--primary:hover{ background:var(--green-dark); }
.typoreport__ok{ display:none; font-size:calc(13px * var(--fs)); color:var(--green); font-weight:600; }
.typoreport.sent .typoreport__label,
.typoreport.sent .typoreport__text,
.typoreport.sent .typoreport__row{ display:none; }
.typoreport.sent .typoreport__ok{ display:block; }
@media (max-width:480px){ .typoreport{ left:14px; right:14px; width:auto; } }

/* ---------------- Заголовок раздела (для страниц-заглушек) ---------------- */
.pagehead{ background:var(--soft); border-bottom:1px solid var(--line); padding:34px 0; }
.pagehead h1{ margin:0; font-size:calc(27px * var(--fs)); color:var(--green); }
.pagehead .crumb{ font-family:var(--mono); font-size:calc(12px * var(--fs)); letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.pagehead__row{ display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:8px; }
.pagehead__row .breadcrumb{ margin-bottom:0; }
.printbtn{
  width:34px; height:34px; flex-shrink:0; display:grid; place-items:center;
  border:1px solid var(--line); border-radius:8px; color:var(--muted); background:var(--card); transition:.15s;
}
.printbtn:hover{ color:var(--green); border-color:var(--green); }
.printbtn svg{ width:17px; height:17px; }

/* Боковая колонка «остальные пункты раздела» (стиль gov.uz) */
.secgrid{ display:grid; grid-template-columns:1fr 300px; gap:36px; align-items:start; }
.secside{ background:var(--card); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.secside__head{
  display:flex; align-items:center; gap:10px; background:var(--green); color:#fff;
  font-weight:800; font-size:calc(14.5px * var(--fs)); padding:16px 18px; line-height:1.3;
}
.secside__head svg{ width:16px; height:16px; flex-shrink:0; }
.secside__head:hover{ background:var(--green-dark); }
.secside__list{ display:flex; flex-direction:column; }
.secside__item{
  display:flex; align-items:center; gap:10px; padding:14px 18px;
  font-size:calc(13.5px * var(--fs)); font-weight:600; color:var(--ink); border-bottom:1px solid var(--line); transition:.12s;
}
.secside__item:last-child{ border-bottom:none; }
.secside__item svg{ width:14px; height:14px; flex-shrink:0; color:var(--faint); }
.secside__item:hover{ background:var(--soft); }
.secside__item.active{ background:var(--green); color:#fff; }
.secside__item.active svg{ color:#fff; }
@media (max-width:900px){ .secgrid{ grid-template-columns:1fr; } }
.stub{ padding-block:50px; }
.stub__box{
  max-width:640px; margin:0 auto; text-align:center;
  background:var(--soft); border:1px dashed #c7d6cc; border-radius:16px; padding:42px 30px;
}
.stub__box h2{ font-size:calc(20px * var(--fs)); color:var(--green); margin:0 0 10px; }
.stub__box p{ color:var(--muted); font-size:calc(15px * var(--fs)); margin:0; line-height:1.6; }

/* ============================================================
   Адаптив
   ============================================================ */
@media (max-width:900px){
  html,body{ overflow-x:hidden; }

  .masthead__in{ padding:12px 16px; }
  .masthead__emblem, .masthead__emblem--ph{ height:44px; }
  .masthead__logo{ height:40px; }
  .masthead__name{ font-size:calc(14px * var(--fs)); }
  .masthead__tools{ display:none; }
  .navburger{ display:block; }
  /* второй бургер (карта сайта) на телефоне дублировал основной; карта сайта
     доступна кнопкой «Карта сайта» в верхней полосе */
  .navmap-toggle{ display:none; }

  /* меню сворачивается, открывается бургером */
  .mainnav{ position:static; }
  .mainnav__list{ display:none; flex-direction:column; padding:6px 0; }
  .mainnav.open .mainnav__list{ display:flex; }
  .mainnav__item > a{ padding:13px 20px; justify-content:space-between; }
  .mainnav__item .caret{ transition:transform .15s; }
  .mainnav__item.open > a .caret{ transform:rotate(180deg); }

  /* подменю на мобильном — раскрывается по тапу, встроено в поток */
  .submenu{
    position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:none; border-radius:0; background:var(--green-dark);
    display:none; padding:0;
  }
  .mainnav__item.open .submenu{ display:block; }
  .submenu li a{ color:#cfe2d6; padding:11px 34px; border-radius:0; }
  .submenu li a:hover{ background:rgba(255,255,255,.06); color:#fff; }

  .foot__in{ grid-template-columns:1fr; gap:30px; padding:36px 20px 28px; }
}

@media (max-width:480px){
  .topline__in{ height:auto; padding-block:8px; flex-wrap:wrap; gap:8px; }
  .topline__left{ flex-wrap:wrap; row-gap:6px; }
  .topline__right{ width:100%; flex-wrap:wrap; row-gap:8px; }
  .loginbtn span{ display:inline; }
}


/* ============================================================
   НОВОСТИ — карточки, лента, детальная
   ============================================================ */

/* Заголовок секции */
/* padding-block, а не «48px 0»: у section.wrap.sec сокращение обнуляло
   боковые 20px от .wrap, и на телефоне заголовки прилипали к краю */
.sec{ padding-block:48px; }
.sec__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; gap:16px; }
.sec__headright{ display:flex; align-items:center; gap:20px; flex-shrink:0; }
.sec__social{ display:flex; gap:8px; flex-shrink:0; }
.sec__social a{
  width:34px; height:34px; display:grid; place-items:center;
  border-radius:50%; background:var(--green); color:#fff; transition:.15s;
}
.sec__social a:hover{ background:var(--green-dark); }
.sec__social svg{ width:16px; height:16px; fill:currentColor; }
.sec__title{ font-size:calc(24px * var(--fs)); font-weight:800; color:var(--green); text-transform:uppercase; letter-spacing:.01em; margin:0; }
.sec__more{ font-size:calc(14px * var(--fs)); font-weight:600; color:var(--green); white-space:nowrap; }
.sec__more:hover{ color:var(--green-dark); text-decoration:underline; }
.sec__morewrap{ text-align:center; margin-top:22px; }
.sec__morewrap .sec__more{
  display:inline-flex; align-items:center; gap:6px;
  padding:11px 22px; border:1px solid var(--line); border-radius:999px;
}
.sec__morewrap .sec__more:hover{ background:var(--soft); text-decoration:none; }

/* Сетка карточек */
.news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }

/* Карточка новости */
.ncard{
  display:flex; flex-direction:column; background:var(--card);
  border:1px solid var(--line); border-radius:14px; overflow:hidden;
  transition:.18s; height:100%;
}
.ncard:hover{ box-shadow:0 14px 34px rgba(15,43,32,.12); transform:translateY(-3px); }
.ncard__img{ aspect-ratio:16/10; background:var(--soft); overflow:hidden; }
.ncard__img img{ width:100%; height:100%; object-fit:cover; }
.ncard__img--ph{ display:grid; place-items:center; color:#9db8a8; }
.ncard__img--ph svg{ width:42px; height:42px; }
.ncard__body{ padding:16px 18px 20px; display:flex; flex-direction:column; gap:9px; flex:1; }
/* рубрика — строго одна строка: длинные названия иначе ломают высоту карточки */
.ncard__cat{
  font-size:calc(11.5px * var(--fs)); font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  color:var(--gold); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  /* строку держим и когда рубрики нет: высота задана в обоих случаях одна */
  line-height:1.5; height:1.5em;
}
/* Заголовок в карточке — не длиннее трёх строк, лишнее прячем многоточием.
   Иначе карточки в ряду получаются разной высоты. Полный заголовок
   виден на самой странице новости. */
.ncard__title{
  font-size:calc(16px * var(--fs)); font-weight:700; line-height:1.35; color:var(--ink); margin:0;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  overflow:hidden;
  /* три строки заранее: дата стоит на одном уровне даже у коротких заголовков */
  min-height:calc(3 * 1.35em);
}
.ncard:hover .ncard__title{ color:var(--green); }
.ncard__date{ margin-top:auto; font-family:var(--mono); font-size:calc(12px * var(--fs)); color:var(--muted); }

/* Новости на главной: 2 крупные карточки + список заголовков — одной строкой (стиль gov.uz) */
/* stretch, а не start: обе крупные карточки должны быть одной высоты */
.newsrow{ display:grid; grid-template-columns:1fr 1fr 1.05fr; gap:24px; align-items:stretch; }
.feat3card{
  display:flex; flex-direction:column; background:var(--card);
  border:1px solid var(--line); border-radius:14px; overflow:hidden; transition:.18s;
}
.feat3card:hover{ box-shadow:0 14px 34px rgba(15,43,32,.12); transform:translateY(-3px); }
.feat3card__img{ position:relative; aspect-ratio:16/10; background:var(--soft); overflow:hidden; }
.feat3card__img img{ width:100%; height:100%; object-fit:cover; }
.feat3card__badge{
  position:absolute; left:12px; top:12px; z-index:2;
  background:var(--green); border-radius:8px; box-shadow:0 6px 16px rgba(15,43,32,.3);
  padding:6px 13px 7px; text-align:center; line-height:1.05;
}
.feat3card__day{ display:block; font-size:calc(19px * var(--fs)); font-weight:800; color:#fff; }
.feat3card__mon{ display:block; font-size:calc(9.5px * var(--fs)); font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:rgba(255,255,255,.85); margin-top:1px; }
.feat3card__body{ padding:18px 18px 16px; display:flex; flex-direction:column; gap:8px; flex:1; }
/* как и в обычных карточках: три строки заголовка, дальше многоточие */
.feat3card__title{
  font-size:calc(16px * var(--fs)); font-weight:800; line-height:1.32; color:var(--green); margin:0;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  overflow:hidden; min-height:calc(3 * 1.32em);
}
.feat3card__excerpt{
  color:var(--muted); font-size:calc(13px * var(--fs)); line-height:1.5;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}
.feat3card__foot{ margin-top:auto; padding-top:10px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.feat3card__date{ font-family:var(--mono); font-size:calc(11.5px * var(--fs)); color:var(--muted); }
.feat3card__cat{ font-size:calc(11px * var(--fs)); font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--gold); white-space:nowrap; }

/* Список заголовков — третья колонка рядом с карточками */
.nrows{ display:flex; flex-direction:column; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:6px 16px; }
.nrow{ display:flex; align-items:center; gap:16px; padding:13px 0; border-bottom:1px solid var(--line); }
.nrow:last-child{ border-bottom:none; }
.nrow__date{ flex-shrink:0; width:44px; text-align:center; }
.nrow__day{ display:block; font-size:calc(19px * var(--fs)); font-weight:800; color:var(--green); line-height:1; }
.nrow__mon{ display:block; font-size:calc(10px * var(--fs)); font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin-top:2px; }
.nrow__title{
  font-size:calc(13.5px * var(--fs)); font-weight:600; line-height:1.4; color:var(--ink);
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  overflow:hidden;
}
.nrow:hover .nrow__title{ color:var(--green); }

/* Список новостей — шапка + фильтр категорий */
.newshead{ background:var(--soft); border-bottom:1px solid var(--line); padding:32px 0; }
.newshead h1{ margin:0; font-size:calc(28px * var(--fs)); color:var(--green); }
.catfilter{ display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.catfilter a{
  font-size:calc(13px * var(--fs)); font-weight:600; padding:7px 14px; border-radius:20px;
  background:var(--card); border:1px solid var(--line); color:var(--ink); transition:.15s;
}
.catfilter a:hover{ border-color:var(--green); color:var(--green); }
.catfilter a.active{ background:var(--green); color:#fff; border-color:var(--green); }

/* Пагинация */
.pager{ display:flex; justify-content:center; gap:8px; margin-top:36px; }
.pager a, .pager span{
  min-width:40px; height:40px; display:grid; place-items:center; padding:0 12px;
  border-radius:9px; border:1px solid var(--line); font-weight:600; font-size:calc(14px * var(--fs)); color:var(--ink);
}
.pager a:hover{ border-color:var(--green); color:var(--green); }
.pager .cur{ background:var(--green); color:#fff; border-color:var(--green); }

/* Детальная новость */
.article{ max-width:820px; margin:0 auto; padding:40px 20px 20px; }
.article__cat{ font-size:calc(12px * var(--fs)); font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gold); margin-bottom:12px; }
.article h1{ font-size:calc(30px * var(--fs)); line-height:1.25; color:var(--ink); margin:0 0 14px; }
.article__meta{ font-family:var(--mono); font-size:calc(13px * var(--fs)); color:var(--muted); margin-bottom:24px; display:flex; gap:18px; flex-wrap:wrap; }
.article__cover{ border-radius:14px; overflow:hidden; margin-bottom:26px; background:var(--soft); }
.article__cover img{ width:100%; display:block; }
.article__body{ font-size:calc(16.5px * var(--fs)); line-height:1.75; color:#2a3830; }
.article__body p{ margin:0 0 18px; }
.article__body img{ border-radius:10px; margin:20px 0; height:auto; }
.article__body h2, .article__body h3{ color:var(--green); margin:28px 0 12px; }
.article__body a{ color:var(--green); text-decoration:underline; }
.article__body ul, .article__body ol{ margin:0 0 18px; padding-left:22px; }
.article__body li{ margin-bottom:8px; }

/* Похожие */
.related{ border-top:1px solid var(--line); margin-top:20px; }

@media (max-width:900px){
  .news-grid{ grid-template-columns:repeat(2,1fr); gap:18px; }
  .newsrow{ grid-template-columns:1fr 1fr; }
  .nrows{ grid-column:1 / -1; }
}
@media (max-width:560px){
  .news-grid{ grid-template-columns:1fr; }
  .article h1{ font-size:calc(24px * var(--fs)); }
  .nrow{ gap:12px; }
  .newsrow{ grid-template-columns:1fr; }
  .nrows{ grid-column:auto; }
}


/* ============================================================
   Главная — направления деятельности, статические страницы
   ============================================================ */
.dirs{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:18px; }
.dir{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:var(--card); border:1px solid var(--line); border-left:3px solid var(--green);
  border-radius:8px; padding:16px 18px; transition:.15s;
}
.dir:hover{ border-color:var(--green); box-shadow:0 8px 22px rgba(15,43,32,.1); }
.dir__t{ font-size:calc(14px * var(--fs)); font-weight:700; letter-spacing:.01em; text-transform:uppercase; color:var(--ink); line-height:1.35; }
.dir__arrow{
  width:28px; height:28px; flex-shrink:0; display:grid; place-items:center;
  border-radius:50%; border:1px solid var(--line); color:var(--green); transition:.15s;
}
.dir__arrow svg{ width:16px; height:16px; }
.dir:hover .dir__arrow{ background:var(--green); color:#fff; border-color:var(--green); }
.dirs--1col{ grid-template-columns:1fr; }

/* ---------------- Погода / курсы валют ---------------- */
/* Погода — баннер — курсы: три карточки одной высоты в одну линию.
   Баннер широкий (около 4.5:1), поэтому его ширину задаёт сама картинка:
   у неё фиксированная высота и авто-ширина, иначе object-fit обрезал бы
   половину надписи. Курсы забирают весь остаток строки. */
.widgetrow{
  display:flex; gap:16px; flex-wrap:wrap; align-items:stretch;
  margin:36px auto 8px;
  --wrow-h:104px;
}
.wcard, .ccard, .bannercard{ min-height:var(--wrow-h); }
.wcard, .ccard{
  background:var(--card); border:1px solid var(--line); border-radius:14px;
  padding:18px 22px; display:flex; align-items:center; gap:16px;
}
.wcard{ flex:0 0 auto; min-width:200px; }
.wcard__icon{ color:var(--gold); flex-shrink:0; }
.wcard__icon svg{ width:38px; height:38px; }
.wcard__temp{ font-size:calc(24px * var(--fs)); font-weight:800; color:var(--ink); line-height:1; }
.wcard__place{ font-size:calc(12.5px * var(--fs)); color:var(--muted); margin-top:4px; }
.ccard{ flex:1 1 260px; min-width:260px; flex-direction:column; justify-content:center; align-items:stretch; gap:10px; }
.ccard__h{ font-size:calc(12px * var(--fs)); font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.ccard__rows{ display:flex; gap:22px; flex-wrap:wrap; }
.ccard__row{ display:flex; flex-direction:column; gap:2px; }
.ccard__row b{ font-size:calc(12.5px * var(--fs)); color:var(--gold); }
.ccard__row span{ font-family:var(--mono); font-size:calc(16px * var(--fs)); font-weight:700; color:var(--ink); }
.bannercard{
  flex:0 1 auto; min-width:0;
  border-radius:14px; overflow:hidden; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; background:var(--soft);
}
.bannercard a{ display:flex; }
/* высота задана, ширина считается по пропорции — картинка видна целиком */
.bannercard img{ display:block; height:var(--wrow-h); width:auto; max-width:100%; }

/* когда трём карточкам тесно, баннер уходит на свою строку во всю ширину:
   иначе курсы валют сжимаются и переносятся в две строки */
@media (max-width:1180px){
  .widgetrow{ --wrow-h:96px; }
  .bannercard{ flex:1 1 100%; order:3; }
  .bannercard img{ height:auto; width:100%; }
}
@media (max-width:640px){
  .widgetrow{ --wrow-h:auto; gap:12px; margin-top:26px; }
  .wcard, .ccard{ flex:1 1 100%; min-width:0; }
  .ccard__rows{ gap:16px; }
}

/* ---------------- Ряд ссылок на госорганы (внизу главной) ---------------- */
.govrow{ background:var(--soft); margin-top:44px; padding:40px 0; }
.govrow__in{ display:flex; flex-wrap:wrap; column-gap:64px; row-gap:26px; }
.govlink{ display:flex; align-items:center; gap:14px; max-width:290px; }
.govlink__ic{ flex-shrink:0; color:var(--green); }
.govlink__ic svg{ width:40px; height:27px; }
.govlink span:last-child{ font-size:calc(12.5px * var(--fs)); font-weight:700; letter-spacing:.02em; text-transform:uppercase; color:var(--green); line-height:1.4; }
.govlink:hover span:last-child{ color:var(--green-dark); text-decoration:underline; }
@media (max-width:640px){ .govrow__in{ column-gap:28px; } }

/* ---------------- Интерактивная карта регионов (на главной) ---------------- */
.uzmap{ display:grid; grid-template-columns:1.5fr 1fr; gap:28px; align-items:start; }
.uzmap__mapwrap{ background:var(--card); border:1px solid var(--line); border-radius:16px; padding:10px; }
.uzmap__svg{ width:100%; height:auto; display:block; }
.uzmap__region{
  fill:#d5dbe0; stroke:#fff; stroke-width:2; cursor:pointer; transition:fill .15s;
}
.uzmap__region:hover{ fill:var(--gold); }
.uzmap__region.active{ fill:var(--green); }

.uzmap__side{
  background:var(--card); border:1px solid var(--line); border-radius:16px;
  padding:24px 26px; min-height:260px;
}
.uzmap__sidehead{ font-size:calc(13px * var(--fs)); font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); }
.uzmap__divider{ width:38px; height:3px; background:var(--gold); margin:10px 0 16px; }
.uzmap__panel{ display:none; }
.uzmap__panel.active{ display:block; }
.uzmap__region-name{ font-size:calc(19px * var(--fs)); font-weight:800; color:var(--green); margin-bottom:14px; line-height:1.3; }
.uzmap__orglist{ display:flex; flex-direction:column; gap:11px; }
.uzmap__orglist li{ font-size:calc(13.5px * var(--fs)); line-height:1.45; color:var(--ink); padding-left:14px; position:relative; }
.uzmap__orglist li::before{
  content:""; position:absolute; left:0; top:7px; width:6px; height:6px;
  border-radius:50%; background:var(--gold);
}
.uzmap__orglist a{ color:var(--ink); }
.uzmap__orglist a:hover{ color:var(--green); text-decoration:underline; }
.uzmap__empty{ font-size:calc(13.5px * var(--fs)); color:var(--muted); line-height:1.55; }

.uzmap__picker{
  display:inline-flex; align-items:center; gap:10px; margin-top:18px;
  background:var(--card); border:1px solid var(--line); border-radius:10px; padding:10px 16px;
}
.uzmap__picker svg{ width:16px; height:16px; color:var(--green); flex-shrink:0; }
.uzmap__picker select{
  border:none; background:transparent; outline:none; font-family:var(--sans);
  font-size:calc(13.5px * var(--fs)); font-weight:600; color:var(--ink); cursor:pointer; max-width:260px;
}

@media (max-width:820px){
  .uzmap{ grid-template-columns:1fr; }
}

/* ---------------- Организации по регионам ---------------- */
.regionmap{ padding:30px 0 6px; }
.regionmap__h{ font-size:calc(12px * var(--fs)); font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); margin-bottom:12px; }
.regionmap__grid{ display:flex; flex-wrap:wrap; gap:9px; }
.regionchip{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--card); border:1px solid var(--line); border-radius:20px;
  padding:8px 15px; font-size:calc(13px * var(--fs)); font-weight:600; color:var(--ink); transition:.15s;
}
.regionchip:hover{ border-color:var(--green); color:var(--green); }
.regionchip.active{ background:var(--green); border-color:var(--green); color:#fff; }
.regionchip__n{
  font-family:var(--mono); font-size:calc(11px * var(--fs)); font-weight:700; min-width:20px; text-align:center;
  background:rgba(0,0,0,.08); border-radius:10px; padding:1px 6px;
}
.regionchip.active .regionchip__n{ background:rgba(255,255,255,.22); }
.regionchip--empty{ opacity:.45; }

/* Тело статической страницы */
.pagebody{ max-width:900px; margin:0 auto; padding:36px 0 20px; font-size:calc(16px * var(--fs)); line-height:1.75; color:#2a3830; }
.pagebody h1,.pagebody h2,.pagebody h3{ color:var(--green); margin:26px 0 12px; line-height:1.3; }
.pagebody h2{ font-size:calc(24px * var(--fs)); border-bottom:2px solid var(--soft); padding-bottom:10px; }

/* Карта сайта */
.sitemap-block{ margin-bottom:8px; }
.sitemap-block:first-child h2{ margin-top:0; }
.sitemap-block h2 a{ text-decoration:none; }
.sitemap-block h2 a:hover{ text-decoration:underline; }
.sitemap-block .seclist{ margin-bottom:22px; }
.pagebody h5{ font-size:calc(18px * var(--fs)); color:var(--green); margin:6px 0 4px; }
.pagebody p{ margin:0 0 16px; }
/* картинки в контенте — разумный размер, по центру; портреты — круглые */
.pagebody img{
  max-width:100%; height:auto; border-radius:10px; margin:16px 0;
  display:block;
}
/* картинки внутри карточек сотрудников управляются своими правилами */
.pagebody .pcard img{ margin:0; border-radius:50%; }
.pagebody table{ width:100%; border-collapse:collapse; margin:18px 0; font-size:calc(14.5px * var(--fs)); }
.pagebody th,.pagebody td{ border:1px solid var(--line); padding:9px 12px; text-align:left; vertical-align:top; }
.pagebody th{ background:var(--soft); font-weight:700; color:var(--green); }
.pagebody a{ color:var(--green); text-decoration:underline; word-break:break-word; }
.pagebody ul,.pagebody ol{ margin:0 0 16px; padding-left:22px; }
.pagebody li{ margin-bottom:7px; }
.pagebody iframe{ max-width:100%; border-radius:10px; margin:16px 0; }
.pagebody strong{ color:var(--ink); }
/* центрируем блоки с портретами руководителей (img + подпись идут подряд) */

@media (max-width:560px){
  .dirs{ grid-template-columns:1fr; }
}


/* ============================================================
   КАРТОЧКИ РУКОВОДСТВА (стиль gov.uz)
   ============================================================ */
.leaders{ display:flex; flex-direction:column; gap:20px; }
.lcard{
  display:grid; grid-template-columns:auto 1fr auto; gap:28px; align-items:center;
  background:var(--card); border:1px solid var(--line); border-radius:16px; padding:24px 28px;
}
.lcard__photo img, .lcard__ph{
  width:150px; height:150px; border-radius:50%; object-fit:cover;
  border:4px solid var(--soft); box-shadow:0 6px 20px rgba(15,43,32,.14);
}
.lcard__ph{ display:grid; place-items:center; background:var(--soft); color:#9db8a8; }
.lcard__ph svg{ width:60px; height:60px; }
.lcard__name{ font-size:calc(20px * var(--fs)); font-weight:800; color:var(--ink); margin:0 0 8px; line-height:1.25; }
.lcard__pos{ color:var(--muted); font-size:calc(14.5px * var(--fs)); line-height:1.55; margin:0 0 14px; max-width:44ch; }
.lcard__bio{
  display:inline-block; background:var(--blue); color:#fff; font-weight:600; font-size:calc(13.5px * var(--fs));
  padding:9px 20px; border-radius:9px; transition:.15s;
}
.lcard__bio:hover{ filter:brightness(.92); }
.lcard__contacts{ display:flex; flex-direction:column; gap:11px; min-width:230px; }
.lc{ display:flex; align-items:center; gap:10px; font-size:calc(14px * var(--fs)); color:var(--ink); }
.lc svg{ width:18px; height:18px; color:var(--blue); flex-shrink:0; }
.lc a{ color:var(--ink); }
.lc a:hover{ color:var(--green); }

/* детальная биография */
.lbio{ display:grid; grid-template-columns:280px 1fr; gap:40px; align-items:start; }
.lbio__photo img, .lbio__photo .lcard__ph{ width:100%; height:auto; aspect-ratio:1; border-radius:16px; object-fit:cover; }
.lbio__contacts{ margin-top:18px; display:flex; flex-direction:column; gap:10px; }
.lbio__pos{ font-size:calc(17px * var(--fs)); color:var(--green); font-weight:700; margin:0 0 18px; }

@media (max-width:820px){
  .lcard{ grid-template-columns:1fr; text-align:center; gap:16px; justify-items:center; }
  .lcard__contacts{ min-width:0; align-items:center; }
  .lcard__pos{ text-align:center; }
  .lbio{ grid-template-columns:1fr; gap:24px; }
  .lbio__photo{ max-width:240px; margin:0 auto; }
}

/* ============================================================
   ПАНЕЛЬ ДОСТУПНОСТИ + переключатели тем
   ============================================================ */
.skiplink{
  position:absolute; left:-9999px; top:0; background:var(--green); color:#fff;
  padding:10px 18px; border-radius:0 0 8px 0; z-index:9999; font-weight:600;
}
.skiplink:focus{ left:0; }

.tools{ display:flex; align-items:center; gap:8px; }
.tool{
  width:30px; height:26px; display:grid; place-items:center; cursor:pointer;
  background:transparent; border:1px solid rgba(255,255,255,.2); border-radius:7px;
  color:#cfe2d6; padding:0; transition:.15s;
}
.tool:hover{ background:rgba(255,255,255,.12); color:#fff; }
.tool svg{ width:15px; height:15px; }
.tool.on{ background:var(--gold); color:#fff; border-color:var(--gold); }

/* Выезжающая слева панель «Tizimdagi tashkilotlar» (как на gov.uz) */
.orgsoverlay{
  display:none; position:fixed; inset:0; background:rgba(6,20,14,.45);
  z-index:400; opacity:0; transition:opacity .2s;
}
.orgsoverlay.open{ display:block; opacity:1; }
.orgspanel{
  position:fixed; top:0; left:0; bottom:0; width:320px; max-width:88vw;
  background:var(--card); z-index:401; overflow-y:auto;
  transform:translateX(-100%); transition:transform .22s;
  box-shadow:8px 0 30px rgba(0,0,0,.25);
}
.orgspanel.open{ transform:translateX(0); }
.orgspanel__head{ background:var(--green-deep); padding:14px 16px; display:flex; justify-content:flex-end; }
.orgspanel__close{ width:32px; height:32px; display:grid; place-items:center; color:#fff; border-radius:8px; }
.orgspanel__close:hover{ background:rgba(255,255,255,.14); }
.orgspanel__close svg{ width:18px; height:18px; }
.orgspanel__list{ padding:6px 0; }
.orgscat__head{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:14px 20px; text-align:left; font-size:calc(13px * var(--fs)); font-weight:700;
  text-transform:uppercase; letter-spacing:.03em; color:var(--green); border-bottom:1px solid var(--line);
}
.orgscat__head:hover{ background:var(--soft); }
.orgscat__head svg{ width:15px; height:15px; flex-shrink:0; color:var(--gold); transition:transform .15s; }
.orgscat.open .orgscat__head svg{ transform:rotate(90deg); }
.orgscat__body{ display:none; flex-direction:column; padding:4px 20px 12px 30px; background:var(--soft); }
.orgscat.open .orgscat__body{ display:flex; }
.orgscat__body a{ font-size:calc(13px * var(--fs)); color:var(--ink); padding:7px 0; line-height:1.4; border-bottom:1px dashed var(--line); }
.orgscat__body a:last-child{ border-bottom:none; }
.orgscat__body a:hover{ color:var(--green); }

/* панель для слабовидящих (выезжает) */
.a11ybar{
  display:none; background:var(--green-deep); border-bottom:1px solid rgba(255,255,255,.12);
  color:#cfe2d6; font-size:calc(13px * var(--fs));
}
.a11ybar.open{ display:block; }
.a11ybar__in{ display:flex; flex-wrap:wrap; align-items:center; gap:18px; padding-block:12px; }
.a11ygroup{ display:flex; align-items:center; gap:8px; }
.a11ygroup b{ color:#fff; font-weight:600; margin-right:4px; }
.a11ybtn{
  background:transparent; border:1px solid rgba(255,255,255,.25); color:#eaf3ec;
  border-radius:7px; padding:6px 12px; cursor:pointer; font-size:calc(13px * var(--fs)); font-weight:600; transition:.15s;
}
.a11ybtn:hover, .a11ybtn.on{ background:var(--gold); border-color:var(--gold); color:#fff; }
.a11ybtn--sw{ min-width:34px; }

@media (max-width:600px){
  .a11ybar__in{ gap:12px; }
}


/* ============================================================
   Аккордеоны на страницах (Markaziy apparat, структура) — стиль gov.uz
   ============================================================ */
.pagebody details{
  border:none; border-radius:8px; margin:0 0 10px;
  background:transparent; overflow:visible;
}
.pagebody summary{
  cursor:pointer; padding:16px 22px; font-weight:700; font-size:calc(14.5px * var(--fs));
  color:var(--ink); list-style:none; position:relative;
  text-transform:uppercase; letter-spacing:.02em;
  background:var(--soft); border-radius:8px;
  padding-right:52px; transition:.15s;
}
.pagebody summary:hover{ background:#e3edf6; }
.pagebody summary::-webkit-details-marker{ display:none; }
.pagebody summary::after{
  content:""; position:absolute; right:22px; top:50%;
  width:9px; height:9px; margin-top:-6px;
  border-right:2px solid var(--green); border-bottom:2px solid var(--green);
  transform:rotate(45deg); transition:transform .2s;
}
.pagebody details[open] summary::after{ transform:rotate(-135deg); }
.pagebody details[open] summary{ border-radius:8px 8px 0 0; }

/* карточка сотрудника внутри раскрытого аккордеона */
.pcard{
  display:grid; grid-template-columns:auto 1fr auto; gap:32px; align-items:center;
  border:1px solid var(--line); border-top:none; border-radius:0 0 8px 8px;
  padding:26px 30px; background:var(--card);
}
.pcard__photo img, .pcard__ph{
  width:150px; height:150px; border-radius:50%; object-fit:cover;
  border:4px solid var(--soft);
}
.pcard__ph{ background:var(--soft); }
.pcard__name{ font-size:calc(19px * var(--fs)); font-weight:800; color:var(--ink); margin:0 0 8px; line-height:1.25; }
.pcard__pos{ color:var(--muted); font-size:calc(14px * var(--fs)); margin:0; line-height:1.5; }
.pcard__contacts{ display:flex; flex-direction:column; gap:12px; min-width:210px; }
.pcard__contacts .lc{ display:flex; align-items:center; gap:10px; font-size:calc(14px * var(--fs)); color:var(--ink); }
.pcard__contacts .lc svg{ width:18px; height:18px; color:var(--blue); flex-shrink:0; }
.pcard__contacts .lc a{ color:var(--ink); }
.pcard__contacts .lc a:hover{ color:var(--green); }

@media (max-width:820px){
  .pcard{ grid-template-columns:1fr; text-align:center; justify-items:center; gap:16px; }
  .pcard__contacts{ min-width:0; align-items:center; }
  .pcard__pos{ text-align:center; }
}


/* Хлебные крошки (как на gov.uz) */
.breadcrumb{ font-size:calc(13px * var(--fs)); margin-bottom:12px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.breadcrumb a{ color:var(--green); font-weight:600; }
.breadcrumb a:hover{ text-decoration:underline; }
.breadcrumb__sep{ color:var(--muted); }
.breadcrumb__cur{ color:var(--muted); }
.pagehead h1{ text-transform:uppercase; letter-spacing:.01em; }


/* Сетка карточек людей вне аккордеонов (специалисты отдела) */
.pagebody .people-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:18px 0; }
.pagebody .people-grid .pcard{ border-radius:12px; border-top:1px solid var(--line); }
@media (max-width:820px){ .pagebody .people-grid{ grid-template-columns:1fr; } }


/* ============================================================
   Сетка карточек: организации, фотогалереи (<figure> подряд)
   ============================================================ */
.pagebody .figgrid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin:26px 0;
}
.pagebody .figgrid figure{
  margin:0; padding:22px 16px; background:var(--card);
  border:1px solid var(--line); border-radius:14px;
  display:flex; flex-direction:column; align-items:center; gap:14px;
  text-align:center; transition:.18s;
}
.pagebody .figgrid figure:hover{
  box-shadow:0 12px 30px rgba(11,77,143,.12); transform:translateY(-3px);
  border-color:#c9dcef;
}
.pagebody .figgrid figure a{ display:block; text-decoration:none; }
.pagebody .figgrid img{
  width:120px; height:120px; object-fit:contain; margin:0; border-radius:0;
  display:block;
}
.pagebody .figgrid figcaption{
  font-size:calc(13px * var(--fs)); line-height:1.45; font-weight:600; color:var(--ink);
  text-decoration:none;
}
.pagebody .figgrid figure:hover figcaption{ color:var(--green); }

/* фотогалерея: снимки прямоугольные, заполняют карточку */
.pagebody .figgrid figure.photo img,
.pagebody .figgrid img[src*="/uploads/"][alt=""]{ object-fit:contain; }

@media (max-width:1000px){ .pagebody .figgrid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:720px){ .pagebody .figgrid{ grid-template-columns:repeat(2,1fr); gap:14px; } }
@media (max-width:430px){ .pagebody .figgrid{ grid-template-columns:1fr; } }

/* figure может быть обёрнут в ссылку (фотогалереи) — ссылка тоже элемент сетки */
.pagebody .figgrid > a{
  display:flex; text-decoration:none; border:1px solid var(--line);
  border-radius:14px; overflow:hidden; background:var(--card); transition:.18s;
}
.pagebody .figgrid > a:hover{
  box-shadow:0 12px 30px rgba(11,77,143,.12); transform:translateY(-3px);
  border-color:#c9dcef;
}
.pagebody .figgrid > a figure{
  border:none; border-radius:0; padding:0; width:100%; gap:0;
}
.pagebody .figgrid > a figure img{
  width:100%; height:170px; object-fit:cover;
}

/* сетка логотипов: логотип показываем целиком, без обрезки */
.pagebody .figgrid--logos > a{ padding:22px 16px; }
.pagebody .figgrid--logos > a figure img,
.pagebody .figgrid--logos figure img{
  width:120px; height:120px; object-fit:contain; margin:0 auto;
}
.pagebody .figgrid--logos > a figure{
  display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center;
}

/* Видео и галерея в новости */
.article__video{
  position:relative; padding-top:56.25%; margin:26px 0;
  border-radius:12px; overflow:hidden; background:#000;
}
.article__video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* плеер вместо ссылки на ролик прямо в тексте материала */
.videoembed{
  position:relative; padding-top:56.25%; margin:26px 0;
  border-radius:12px; overflow:hidden; background:#000;
}
.videoembed iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.videoembed__cap{ margin:-16px 0 26px; font-size:calc(14px * var(--fs)); color:var(--muted); line-height:1.5; }

/* ---------------- Карусель дополнительных фотографий ---------------- */
/* Лента прокручивается по одному кадру: на телефоне это готовый свайп,
   на десктопе тем же занимаются кнопки по бокам. */
/* ширина как у обложки: кнопки лежат поверх краёв кадра, а не рядом с ним */
.gal{ position:relative; margin:28px 0; }
.gal__track{
  display:flex; gap:0; overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-behavior:smooth; border-radius:10px;
  scrollbar-width:none; -ms-overflow-style:none;
}
.gal__track::-webkit-scrollbar{ display:none; }
.gal__slide{
  flex:0 0 100%; margin:0; scroll-snap-align:center; text-align:center;
}
.gal__slide img{
  width:100%; max-height:520px; object-fit:contain; display:block;
  border-radius:10px; background:var(--soft); margin:0;
}
.gal__slide figcaption{
  padding:10px 4px 0; font-size:calc(13.5px * var(--fs)); color:var(--muted); line-height:1.5;
}
.gal__nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:50%; cursor:pointer;
  display:grid; place-items:center; z-index:2;
  background:var(--card); border:1px solid var(--line); color:var(--ink);
  box-shadow:0 2px 10px rgba(16,32,24,.10); transition:background .15s, color .15s;
}
.gal__nav:hover{ background:var(--green); border-color:var(--green); color:#fff; }
.gal__nav:disabled{ opacity:.35; cursor:default; }
.gal__nav:disabled:hover{ background:var(--card); border-color:var(--line); color:var(--ink); }
.gal__nav svg{ width:20px; height:20px; }
.gal__nav--prev{ left:14px; }
.gal__nav--next{ right:14px; }
.gal__dots{ display:flex; justify-content:center; gap:8px; margin-top:14px; }
.gal__dot{
  width:7px; height:7px; padding:0; border:0; border-radius:50%;
  background:var(--line); cursor:pointer; transition:background .15s, transform .15s;
}
.gal__dot:hover{ background:var(--muted); }
.gal__dot.on{ background:var(--green); transform:scale(1.5); }

/* одиночная фотография галереи — без стрелок и точек */
.article__single{ margin:28px 0; }
.article__single img{
  width:100%; max-height:520px; object-fit:contain; display:block;
  border-radius:10px; background:var(--soft); margin:0;
}
.article__single figcaption{
  padding:10px 4px 0; font-size:calc(13.5px * var(--fs)); color:var(--muted); line-height:1.5;
}

@media (max-width:640px){
  .gal__nav{ width:36px; height:36px; }
  .gal__nav--prev{ left:8px; }
  .gal__nav--next{ right:8px; }
  .gal__slide img{ max-height:64vw; }
}
.article__gallery{
  display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:26px 0;
}
.article__gallery figure{
  margin:0; border:1px solid var(--line); border-radius:12px; overflow:hidden;
  background:var(--card);
}
.article__gallery img{ width:100%; height:170px; object-fit:cover; display:block; margin:0; }
.article__gallery figcaption{ padding:10px 12px; font-size:calc(13px * var(--fs)); color:var(--muted); }
@media (max-width:720px){ .article__gallery{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:430px){ .article__gallery{ grid-template-columns:1fr; } }


/* ============================================================
   Оглавление раздела (верхние пункты меню)
   ============================================================ */
.seclist{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.seclist__item{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:20px 24px; background:var(--card); border:1px solid var(--line);
  border-radius:12px; transition:.16s;
}
.seclist__item:hover{
  border-color:var(--green); box-shadow:0 10px 26px rgba(11,77,143,.10);
  transform:translateY(-2px);
}
.seclist__t{ font-size:calc(15.5px * var(--fs)); font-weight:600; color:var(--ink); line-height:1.35; }
.seclist__item:hover .seclist__t{ color:var(--green); }
.seclist__a{ width:20px; height:20px; color:var(--green); flex-shrink:0; }
@media (max-width:720px){ .seclist{ grid-template-columns:1fr; } }

/* пустой раздел — аккуратное сообщение */
.emptybox{
  max-width:560px; margin:40px auto; text-align:center;
  background:var(--soft); border:1px dashed #c3d5e6; border-radius:16px; padding:38px 28px;
}
.emptybox h2{ font-size:calc(19px * var(--fs)); color:var(--green); margin:0 0 10px; }
.emptybox p{ color:var(--muted); font-size:calc(14.5px * var(--fs)); margin:0; line-height:1.6; }
