/* =======================
   ПЕРЕМЕННЫЕ И ШРИФТЫ
   ======================= */
:root{
  --dz-red:#AB2510;      /* основной оранжево-красный */
  --dz-deep:#521106;     /* глубокий красно-коричневый */
  --dz-warm:#FFF4F1;     /* тёплый светлый фон */
  --border:#E5E5E5;

  --logo-h:64px;         /* меняй здесь размер логотипа */
  --header-pad-v:14px;
  --header-h:calc(var(--logo-h) + var(--header-pad-v)*2);
  --radius:24px;

  --font-head:"PF Stamps Pro", Impact, "Arial Black", system-ui, sans-serif;
  --font-body:"Inter","Segoe UI",Roboto,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --font-accent:"Martina ScriptC","Segoe Script",cursive;
}

/* Положи лицензированные файлы сюда:
   assets/fonts/PFStampsPro-Solid.otf
   assets/fonts/Martina-scriptC.ttf */
@font-face{
  font-family:"PF Stamps Pro";
  src: local("PF Stamps Pro Solid"),
       url("assets/fonts/PFStampsPro-Solid.otf") format("opentype");
  font-weight:700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Martina ScriptC";
  src: local("Martina ScriptC"),
       url("assets/fonts/Martina-scriptC.ttf") format("truetype");
  font-weight:400; font-style:normal; font-display:swap;
}

/* =======================
   БАЗА
   ======================= */
*{box-sizing:border-box}
html,body{margin:0;background:#FFF4F1;color:#000;font-family:var(--font-body);line-height:1.5}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button{font:inherit;cursor:pointer}
.container{max-width:1280px;margin:0 auto;padding:0 24px}
::selection{background:#000;color:#fff}
:focus-visible{outline:2px solid var(--dz-red);outline-offset:2px}

/* =======================
   ХЕДЕР
   ======================= */
.header{
  position:fixed;inset:0 0 auto 0;z-index:1000;
  background:rgba(171,37,16,.9);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(82,17,6,.3);color:#fff;
}
.header__row{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:var(--header-pad-v) 0}
.header__left{display:flex;align-items:center;gap:16px;min-width:0;flex:1}
.header__logo{height:var(--logo-h);background:transparent}
.header__title{display:none}
@media(min-width:640px){.header__title{display:inline;font-size:10px;letter-spacing:.25em;opacity:.9;text-transform:uppercase}}
.founder-link{display:none;align-items:center;gap:8px;color:#fff;opacity:.9}
@media(min-width:768px){.founder-link{display:flex}}

.nav{display:none;gap:24px;white-space:nowrap}
.header__controls{display:none;gap:12px;align-items:center}
.header__burger{display:inline-flex;font-size:24px;background:none;border:0;color:#fff}
@media(min-width:1024px){.nav{display:flex}.header__controls{display:flex}.header__burger{display:none}}

/* нав-ссылки */
.nav__link{position:relative;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#fff;opacity:.95}
.nav__link:hover{color:#fff}
.nav__link::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:#000;transition:width .25s}
.nav__link:hover::after{width:100%}

/* выпадающее меню «Музеи» */
.dropdown{position:relative;padding-top:8px}
.dropdown__panel{
  position:absolute;left:0;top:100%;z-index:60;width:320px;
  background:#fff;color:#000;border:1px solid #0000001a;border-radius:16px;
  box-shadow:0 20px 40px #0000001a;opacity:0;visibility:hidden;transition:opacity .18s;
}
.dropdown.is-open .dropdown__panel{opacity:1;visibility:visible}
.dropdown__panel a{display:block;padding:8px 16px;border-radius:10px}
.dropdown__panel a:hover{background:#0000000d}

/* кнопки */
.btn{padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.85);background:transparent;color:#fff;font-size:11px;letter-spacing:.18em;text-transform:uppercase;transition:.2s}
.btn:hover{background:#fff;color:var(--dz-deep);border-color:#fff}
.btn--primary{background:#fff;color:var(--dz-deep);border-color:#fff}
.btn--primary:hover{background:#000;color:#fff;border-color:#000}

/* мобильное меню */
.mobile{display:none;padding:16px 24px;border-top:1px solid #52110633;background:var(--dz-warm)}
.mobile.is-open{display:block}
.mobile a{display:block;padding:10px 0;color:var(--dz-deep)}
.mobile__actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btn--warm{border-color:var(--dz-deep);color:var(--dz-deep);  padding-top: 14px;
  /* Чуть крупнее кнопки */
  padding-top: 12px;
  padding-right: 20px;
  padding-bottom: 12px;
  padding-left: 20px;

  /* Чуть крупнее текст */
  font-size: 16px;
  line-height: 1.2;

  /* Центровка надписей по вертикали и горизонтали */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;}
.btn--warm:hover{background:var(--dz-deep);color:#fff}

.btn--brand-981702{
    background:#981702;
    border-color:#111827;
    color:#fff;
    display: inline-block;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px solid #111827;

    text-decoration: none;
}


/* =======================
   ОСНОВНОЙ КОНТЕНТ
   ======================= */
main{padding-top:calc(var(--header-h) + 8px)}

/* hero */
.hero {
  padding-top: 40px;
  padding-bottom: 32px;
}

.hero__title {
  font-family: var(--font-head);
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(23px, 8vw, 23px);
  line-height: .95;
  letter-spacing: -.02em;
  color: #981702;
  padding-top: 25px;
}

/* Фото в шапке */
.hero__visual {
  position: relative;
  width: 100%;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid #eeeeee;

  /* соотношение сторон — можно подправить под фото */
  height: 0;
  padding-top: 32%;
}

.hero__img {
  position: absolute;
  inset: 0;

  background:
    #dddddd
    url("assets/images/archive-hero.jpg")
    center
    / cover
    no-repeat;

  filter: grayscale(1)
          contrast(1.25)
          brightness(0.85);
}

/* Подпись + кнопка */
.hero__meta {
  margin-top: 16px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 16px;
}

.hero__caption {
  margin: 0;
  max-width: 780px;

  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
  color: #000000;
}

.hero__map-link {
  white-space: nowrap;
}

/* Адаптив */
@media (max-width: 960px) {
  .hero {
    padding-top: 32px;
    padding-bottom: 28px;
  }

  .hero__visual {
    padding-top: 40%;
  }
}

@media (max-width: 720px) {
  .hero {
    padding-top: 24px;
    padding-bottom: 28px;
  }

  .hero__visual {
    padding-top: 52%;
  }

  .hero__caption {
    font-size: 14px;
  }

  .hero__map-link {
    width: 100%;
    text-align: center;
  }
}


/* brand stripe */
.brand {
  background: var(--dz-red);
}

.brand__row {
  padding-top: 16px;
  padding-bottom: 16px;
}

.brand__divider {
  width: 100%;
  height: 2px;

  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.6);
}

/* на маленьких экранах чуть уменьшим отступы */
@media (max-width: 768px) {
  .brand__row {
    padding-top: 12px;
    padding-bottom: 12px;
  }
}

/* карта + список музеев */
.mapsec{background:#fff;border-top:1px solid #0000000d;border-bottom:1px solid #0000000d}
.mapgrid{display:grid;grid-template-columns:1fr;gap:24px;align-items:start;padding:48px 0}
@media(min-width:960px){.mapgrid{grid-template-columns:1.2fr 1fr}}
.mapph{position:relative;height:52vh;border:2px dashed var(--dz-red);border-radius:16px;background:#FDF5F3;display:grid;place-items:center;color:var(--dz-red);text-align:center;padding:16px}
.maplist h2{color:var(--dz-deep);font-size:clamp(24px,3vw,32px);margin:0}
.maplist ul{list-style:none;margin:16px 0 0;padding:0}
.maplist li{margin:8px 0}
.maplist a{display:inline-flex;align-items:center;gap:8px;font-size:14px;padding:8px 12px;border-radius:999px;border:1px solid #5211064d}
.maplist a:hover{border-color:#521106}

/* плитки «почему прийти» */
.tiles{background:#fff;border-top:1px solid #AB251026;border-bottom:1px solid #AB251026}
.tilesgrid{display:grid;grid-template-columns:1fr;gap:16px;padding:48px 0}
@media(min-width:960px){.tilesgrid{grid-template-columns:repeat(3,1fr)}}
.tile{background:var(--dz-warm);border:1px solid #0000001a;border-radius:16px;padding:24px;transition:.2s}
.tile:hover{border-color:var(--dz-red)}
.tile__icon{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:#fff;color:var(--dz-red);box-shadow:0 1px 3px #0000000d}
.tile__title{margin:12px 0 4px;font-weight:600;color:var(--dz-deep)}
.tile__txt{font-size:14px;color:#555}

/* редакционная раскладка */
.editorial{padding:64px 0}
.editorial__grid{display:grid;gap:24px}
@media(min-width:1024px){.editorial__grid{grid-template-columns:1fr 1fr}}
.card-big, .card-photo{position:relative;border-radius:24px;overflow:hidden;border:1px solid #0000001a;background:#000}
.card-big .bg, .card-photo .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.8;transition:opacity .2s}
.card-big:hover .bg, .card-photo:hover .bg{opacity:.95}
.card-big .grad, .card-photo .grad{position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,.3), transparent)}
.card-big .txt, .card-photo .txt{position:relative;color:#fff;padding:24px}
.card-big .title{font-size:clamp(22px,2.8vw,32px);font-weight:700}
.card-line{display:grid;grid-template-columns:1fr 1.2fr;border:1px solid #0000001a;border-radius:24px;overflow:hidden;background:#fff}
.card-line .img{min-height:180px;background-size:cover;background-position:center}
.card-line .txt{padding:24px}
.kicker{font-size:11px;letter-spacing:.25em;text-transform:uppercase;opacity:.75}

/* =======================
   NEWS GRID - Исправленная версия
   ======================= */
.newsgrid {
    padding: 32px 0;
}

.newsgrid__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 24px;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 16px;
    box-sizing: border-box;
}

.newscard {
    background: #f3f3f3;
    border-radius: 14px;
    overflow: hidden;
    height: 100%;
}

.newscard__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

.newscard__media {
    margin: 0;
}

.newscard__img {
    width: 100%;
    height: clamp(160px, 20vw, 220px);
    object-fit: cover;
    display: block;
}

.newscard__txt {
    padding: 14px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 auto;
}

.newscard__meta {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 12px;
    opacity: 0.85;
    margin-bottom: 2px;
}

.newscard__kicker {
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
    color: #981702;
}

.newscard__date {
    opacity: 0.7;
}

.newscard__title {
    margin: 0;
    font-weight: 800;
    font-size: clamp(18px, 2vw, 20px);
    line-height: 1.15;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.newscard__lead {
    margin: 0;
    color: #444;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.newscard--noimg .newscard__link {
    padding-top: 8px;
}

.newscard--noimg .newscard__txt {
    padding-top: 18px;
}

.newscard__link:hover .newscard__title {
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 1024px) {
    .newsgrid__list {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .newsgrid__list {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 0 12px;
    }
    
    .newsgrid {
        padding: 24px 0;
    }
}

.pager--news {
    max-width: 1280px;
    margin: 24px auto 0;
    padding: 0 16px;
    box-sizing: border-box;
}

/* афиша секция */
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.chip{padding:8px 12px;border-radius:999px;border:1px solid var(--dz-deep);color:var(--dz-deep);font-size:11px;text-transform:uppercase;letter-spacing:.25em;background:#fff}
.chip.is-active{background:var(--dz-red);border-color:var(--dz-red);color:#fff}
.events-grid{display:grid;gap:24px}
@media(min-width:960px){.events-grid{grid-template-columns:repeat(3,1fr)}}
.event-card{position:relative;border-radius:20px;overflow:hidden;border:1px solid #0000001a;background:#000}
.event-card .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.8;transition:opacity .2s}
.event-card:hover .bg{opacity:.95}
.event-card .grad{position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,.3), transparent)}
.event-card .txt{position:absolute;left:16px;right:16px;bottom:16px;color:#fff}

/* CTA */
.cta{position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--dz-red),var(--dz-deep))}
.cta__row{position:relative;color:#fff;padding:56px 0;display:grid;gap:24px}
@media(min-width:960px){.cta__row{grid-template-columns:1.6fr 1fr;align-items:center}}
.cta .btn--white{background:#fff;color:var(--dz-deep);border:2px solid #fff}
.cta .btn--outline{background:transparent;border:2px solid #fff}



/* футер */
.footer{background:var(--dz-deep);color:#fff;border-top:1px solid #AB251066}
.footer__grid{display:grid;gap:24px;padding:32px 0}
@media(min-width:1024px){.footer__grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.footer h4{font-family:var(--font-head);font-weight:700;margin:0 0 12px}
.footer a{color:#fff;opacity:.8}
.footer a:hover{opacity:1}
.footer__bottom{border-top:1px solid #ffffff1a;text-align:center;padding:12px 0;color:#eee;font-size:12px}

/* =======================
   ЛЕНТА ВРЕМЕНИ (FULL-BLEED)
   ======================= */
.timeline{position:relative;background:var(--dz-warm);border-top:1px solid #AB251033;border-bottom:1px solid #AB251033}
.timeline__inner{padding:56px 0 12px}
.timeline__hdr{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.timeline__title{color:var(--dz-deep);font-size:clamp(26px,3vw,40px);margin:0}
.timeline__ctrls{display:flex;gap:8px}
.timeline__btn{width:40px;height:40px;border-radius:999px;border:1px solid #0000001a;background:#fff;display:grid;place-items:center}
.timeline__btn:hover{border-color:var(--dz-deep)}
.timeline__rail{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.timeline__rail::-webkit-scrollbar{height:8px}
.timeline__rail::-webkit-scrollbar-thumb{background:#AB251033;border-radius:999px}
.timeline__wrap{position:relative;padding:16px 0 28px}
.timeline__line{position:absolute;left:0;right:0;top:56px;height:2px;background:#AB251066}
.timeline__track{display:flex;gap:16px;padding-top:28px;scroll-snap-type:x mandatory}
.timeline__item{
  position:relative;scroll-snap-align:start;
  flex:0 0 320px; /* ширина карточки */
  background:#fff;border:1px solid #0000001a;border-radius:20px;padding:16px 16px 18px;
  box-shadow:0 6px 16px rgba(0,0,0,.04);
}
@media(min-width:1440px){.timeline__item{flex-basis:360px}}
.timeline__year{
  position:absolute;left:16px;top:-28px;
  min-width:44px;height:44px;border-radius:999px;
  background:#fff;border:2px solid var(--dz-red);display:grid;place-items:center;
  color:var(--dz-red);font-weight:800
}
.timeline__dot{position:absolute;left:38px;top:-3px;width:10px;height:10px;border-radius:50%;background:var(--dz-red)}
.timeline__t{font-weight:700;color:var(--dz-deep);font-size:18px;margin:0}
.timeline__d{font-size:14px;color:#5a3f3a;margin:6px 0 0}

/* =======================
   ЛЕНТА ВРЕМЕНИ — СХЕМА (без листания)
   ======================= */
.ts{position:relative;background:var(--dz-warm);border-top:1px solid #AB251033;border-bottom:1px solid #AB251033}
.ts__inner{padding:56px 0}
.ts__title{color:var(--dz-deep);font-size:clamp(26px,3vw,40px);margin:0 0 20px}

/* БАЗОВАЯ ЛИНИЯ (горизонталь на десктопе / вертикаль на мобилках) */
.ts__base{position:relative}
.ts__base::before{
  content:"";position:absolute;left:0;right:0;top:76px;height:2px;background:#AB251066;
}
.ts__list{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;flex-wrap:nowrap}
.ts__item{
  position:relative;flex:1 1 120px;max-width:140px;
  padding-top:96px;text-align:center;background:#fff;border:1px solid #0000001a;border-radius:16px;
  padding-bottom:14px;box-shadow:0 6px 16px rgba(0,0,0,.04);
}
.ts__dot{
  position:absolute;left:50%;top:76px;transform:translate(-50%,-50%);
  width:12px;height:12px;border-radius:50%;background:var(--dz-red);box-shadow:0 0 0 4px #AB25101f;
}
.ts__year{
  position:absolute;left:50%;top:20px;transform:translateX(-50%);
  width:44px;height:44px;border-radius:999px;background:#fff;border:2px solid var(--dz-red);
  display:grid;place-items:center;color:var(--dz-red);font-weight:800
}
.ts__t{font-weight:700;color:var(--dz-deep);font-size:16px;margin:4px 12px 0}
.ts__d{font-size:14px;color:#5a3f3a;margin:6px 12px 0}

/* Мобильная вертикальная схема */
@media (max-width: 900px){
  .ts__base::before{top:0;bottom:0;left:24px;width:2px;height:auto}
  .ts__list{display:block}
  .ts__item{
    max-width:none;flex:none;margin:18px 0;padding:12px 12px 12px 84px;text-align:left;border-radius:14px;
  }
  .ts__dot{left:24px;top:26px}
  .ts__year{position:absolute;left:44px;top:12px;transform:none}
}

/* =======================
   ДРЕВО ЖИЗНИ (ветвящаяся схема)
   ======================= */
.tree {
  position: relative;
  border-top: 1px solid #AB251033;
  border-bottom: 1px solid #AB251033;

  background-color: #000000;
  background-image: url("assets/images/ladoga-archive.jpg"); /* ПУТЬ К ФОТО */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  color: #ffffff;
}

/* затемнение поверх фото */
.tree::before {
  content: "";
  position: absolute;
  inset: 0;

  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.65),
    rgba(0, 0, 0, 0.8)
  );
}

.tree__inner {
  position: relative;
  z-index: 1;

  padding: 56px 0;
}

.tree__title {
  color: #ffffff;
  font-size: clamp(26px, 3vw, 40px);
  margin: 0 0 20px;

  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.7);
}

.tree__wrap {
  position: relative;
}

/* линия-ствол */
.tree__trunk {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 2px;

  background: rgba(255, 255, 255, 0.85);
  transform: translateY(-50%);
}

/* две ветви-строки */
.tree__row {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(220px, 1fr);
  gap: 16px;
  align-items: flex-start;
}

.tree__row--top {
  padding-bottom: 36px;
}

.tree__row--bottom {
  padding-top: 36px;
}

.tree__item {
  position: relative;
}

/* карточка становится «прозрачной» */
.tree__card {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0 8px;
  min-height: auto;

  box-shadow: none;
  text-align: center;
}

.tree__t {
  font-weight: 700;
  color: #ffffff;
  font-size: 18px;
  margin: 0 8px 4px;

  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.7);
}

.tree__d {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.9);
  margin: 0 8px 6px;

  text-shadow: 0 2px 3px rgba(0, 0, 0, 0.7);
}

/* год – «пилюля» поверх линии */
.tree__badge {
  display: inline-block;
  margin-top: 6px;
  padding: 4px 12px 3px;

  border-radius: 999px;
  font-size: 16px;

  background: rgba(0, 0, 0, 0.45);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.55);

  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7);
}

/* соединение со «стволом» */
.tree__row--top .tree__item::after,
.tree__row--bottom .tree__item::after,
.tree__row--top .tree__item::before,
.tree__row--bottom .tree__item::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.tree__row--top .tree__item::after {
  bottom: -18px;
  width: 2px;
  height: 18px;
  background: var(--dz-red);
}

.tree__row--top .tree__item::before {
  bottom: -24px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--dz-red);
}

.tree__row--bottom .tree__item::after {
  top: -18px;
  width: 2px;
  height: 18px;
  background: var(--dz-red);
}

.tree__row--bottom .tree__item::before {
  top: -24px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--dz-red);
}

/* Мобильная адаптация — вертикальное древо */
@media (max-width: 900px) {
  .tree__inner {
    padding: 40px 0;
  }

  .tree__wrap {
    padding-left: 64px;
  }

  .tree__trunk {
    left: 28px;
    right: auto;
    top: 0;
    bottom: 0;
    height: auto;
    width: 2px;
    transform: none;
  }

  .tree__row {
    display: block;
    padding: 0;
  }

  .tree__item {
    margin: 14px 0 24px;
  }

  .tree__card {
    text-align: left;
  }

  /* горизонтальные «веточки» от ствола к карточке */
  .tree__row--top .tree__item::after,
  .tree__row--bottom .tree__item::after {
    left: -28px;
    top: 26px;
    width: 28px;
    height: 2px;
    background: var(--dz-red);
    transform: none;
  }

  .tree__row--top .tree__item::before,
  .tree__row--bottom .tree__item::before {
    left: -34px;
    top: 22px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--dz-red);
    transform: none;
  }
}


/* ===== NEWS A: Masonry ===== */
.newsA{padding:56px 0}
.newsA__hdr{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.newsA__grid{columns:1;column-gap:16px;margin-top:24px}
@media(min-width:700px){.newsA__grid{columns:2}}
@media(min-width:1024px){.newsA__grid{columns:3}}
.newsA__card{display:inline-block;width:100%;margin:0 0 16px;break-inside:avoid;border:1px solid #0000001a;border-radius:20px;overflow:hidden;background:#fff}
.newsA__img{height:200px;background-size:cover;background-position:center}
.newsA__txt{padding:14px}
.newsA__kicker{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:#521106b3}
.newsA__title{margin:6px 0 0;color:var(--dz-deep);font-weight:700;font-size:18px}
.newsA__ex{margin:6px 0 0;color:#555;font-size:14px}

/* ===== NEWS C: Editorial list ===== */
.newsC{padding:56px 0}
.newsC__hdr{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.newsC__list{display:grid;gap:18px;margin-top:18px}
.newsC__item{display:grid;gap:16px;border:1px solid #0000001a;border-radius:18px;overflow:hidden;background:#fff}
.newsC__img{min-height:200px;background-size:cover;background-position:center}
.newsC__txt{padding:16px}
.newsC__k{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:#521106b3}
.newsC__t{margin:6px 0 0;color:var(--dz-deep);font-weight:700;font-size:20px}
@media(min-width:900px){
  .newsC__item{grid-template-columns:1.1fr 1.4fr}
  .newsC__item--rev{grid-template-columns:1.4fr 1.1fr}
  .newsC__item--rev .newsC__img{order:2}
  .newsC__item--rev .newsC__txt{order:1}
}

/* ===== AFISHA C: Zigzag timeline ===== */
.evC{padding:56px 0}
.evC__hdr{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.evC__list{position:relative;display:grid;gap:20px;margin-top:20px}
.evC__list::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:#AB251066;transform:translateX(-50%)}
.evC__item{display:grid;gap:14px;align-items:center}
@media(min-width:900px){
  .evC__item{grid-template-columns:1fr 1fr}
  .evC__item:nth-child(odd) .evC__img{order:2}
  .evC__item:nth-child(odd) .evC__txt{order:1;text-align:right}
}
.evC__img{min-height:220px;background-size:cover;background-position:center;border-radius:16px;border:1px solid #0000001a}
.evC__txt{background:#fff;border:1px solid #0000001a;border-radius:16px;padding:16px}
.evC__date{display:inline-block;margin-bottom:6px;padding:6px 10px;border-radius:999px;background:#F8F1EF;color:#7a3b31;font-size:12px}
.evC__t{margin:2px 0 0;color:var(--dz-deep);font-weight:800;font-size:20px}
.evC__k{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:#521106b3}

/* ===== AFISHA B — Compact calendar with month nav ===== */
.evB{padding:56px 0;border-top:1px solid #0000000d;border-bottom:1px solid #0000000d}
.evB__hdr{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* две колонки */
.evB__grid{display:grid;grid-template-columns:380px 1fr;gap:24px;align-items:start;margin-top:16px}
@media (max-width: 900px){.evB__grid{grid-template-columns:1fr}}

/* календарь */
.cal{background:#fff;border:1px solid #0000001a;border-radius:16px;overflow:hidden}
.cal__head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#FFF4F1;border-bottom:1px solid #00000012}
.cal__left{display:flex;align-items:center;gap:8px}
.cal__btn{width:32px;height:32px;border-radius:999px;border:1px solid #0000001a;background:#fff;display:grid;place-items:center;cursor:pointer}
.cal__btn:hover{border-color:var(--dz-deep)}
.cal__month{font-weight:700;color:var(--dz-deep)}
.cal__legend{font-size:12px;color:#7a3b31}

.cal--compact .cal__dow{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid #00000010;background:#faf7f6}
.cal--compact .cal__dow span{padding:6px 0;text-align:center;font-size:11px;color:#7a7a7a;letter-spacing:.08em;text-transform:uppercase}

.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#00000010}
.cal__cell{background:#fff;min-height:48px;padding:8px 8px 6px;position:relative;cursor:pointer}
.cal__cell:hover{background:#fff8f6}
.cal__day{font-size:12px;color:#666}
.cal__dot{position:absolute;left:8px;bottom:6px;width:8px;height:8px;border-radius:50%;background:var(--dz-red)}
.cal__cell.is-today{outline:2px solid var(--dz-red);outline-offset:-2px;background:#FFF4F1}
.cal__cell.is-active{box-shadow:inset 0 0 0 2px var(--dz-deep)}
.cal__cell.has-events .cal__day{color:var(--dz-deep);font-weight:700}

/* список событий справа */
.evB__list{display:grid;gap:12px}
.evB__item{display:flex;gap:12px;padding:12px;border:1px solid #0000001a;border-radius:12px;background:#fff}
.evB__img{width:128px;height:84px;background-size:cover;background-position:center;border-radius:8px;flex:0 0 auto}
.evB__k{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:#521106b3}
.evB__t{margin:4px 0 0;color:var(--dz-deep);font-weight:700}
.evB__empty{display:none;padding:24px;border:1px dashed #AB251066;border-radius:12px;background:#FFF4F1;color:#7a3b31}

/* empty-state для афиши */
.evB__empty{
  display:none; align-items:center; gap:12px;
  padding:16px 18px; border:1px dashed var(--dz-red);
  border-radius:12px; background:#FFF4F1; color:#7a3b31;
}
.evB__empty svg{flex:0 0 auto; opacity:.9}
.evB__empty a{text-decoration:underline; text-underline-offset:3px}

/* БАЗОВОЕ */
:root {
  --header-bg: #ffffff;
  --text: #0c1b2a;
  --muted: #5c6b7a;
  --accent: #1f4b99;
  --border: #e6ebf0;
  --shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
}

.container {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}

/* =======================
   HEADER — Дорога жизни (бренд)
   ======================= */

.header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 1000;
  background: rgba(171, 37, 16, 0.94); /* var(--dz-red) с прозрачностью */
  backdrop-filter: blur(10px);
  color: #fff;
  border-bottom: 1px solid rgba(82, 17, 6, 0.3); /* var(--dz-deep) */
  box-shadow: none;
}

.header__row {
  display: grid;
  grid-template-columns: auto 1fr auto auto auto;
  align-items: center;
  gap: 16px;
  min-height: calc(var(--logo-h) + var(--header-pad-v) * 2);
  padding-top: var(--header-pad-v);
  padding-bottom: var(--header-pad-v);
}

.header__logo {
  height: var(--logo-h);
  width: auto;
  display: block;
}

.header__logo-link {
  display: block;
  line-height: 0;
}

/* Бургер / Закрыть */
.header__burger,
.header__close {
  display: none;
  border: 0;
  background: transparent;
  color: #fff;
  padding: 8px;
  border-radius: 10px;
  font-size: 0;
}
.header__burger svg,
.header__close svg {
  width: 24px;
  height: 24px;
}
.header__burger:focus-visible,
.header__close:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* Навигация (desktop) */
.nav {
  justify-self: start;
}
.nav__list {
  display: inline-flex;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav__item {
  position: relative;
}
.nav__link,
.nav__toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 2px; /* визуально плотнее */
  border-radius: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.95;
}
.nav__link:hover,
.nav__toggle:hover {
  color: #fff;
}
.nav__link::after,
.nav__toggle::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  height: 2px;
  width: 0;
  background: #000;
  transition: width 0.25s;
}
.nav__link:hover::after,
.nav__toggle:hover::after {
  width: 100%;
}
/* треугольник у пунктов с подменю */
.nav__item--has-sub .nav__toggle::after {
  content: "▾";
  position: static;
  height: auto;
  width: auto;
  margin-left: 6px;
  background: none;
  color: #ffffffcc;
  transition: none;
}

/* Подменю (desktop) */
.nav__sub {
  position: absolute;
  left: 0;
  top: 100%;
  min-width: 320px;
  margin-top: 10px;
  background: #fff;
  color: var(--dz-deep);
  border: 1px solid #0000001a;
  border-radius: 16px;
  box-shadow: 0 20px 40px #0000001a;
  padding: 8px;
  list-style: none;
  display: none;
  z-index: 60;
}
.nav__sub li {
  margin: 0;
}
.nav__sublink {
  display: block;
  padding: 10px 12px;
  border-radius: 10px;
  color: var(--dz-deep);
  text-decoration: none;
  line-height: 1.35;
  font-weight: 600;
}
.nav__sublink:hover {
  background: #0000000d;
}

/* Иконки-кнопки справа */
.header__controls {
  display: inline-flex;
  gap: 10px;
}
.iconbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.85);
  color: #fff;
  background: transparent;
  transition: 0.2s;
}
.iconbtn:hover {
  background: #fff;
  color: var(--dz-deep);
}
.iconbtn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* Адаптив / мобильное меню */
@media (max-width: 1120px) {
  .search__input {
    width: 220px;
  }
}

@media (max-width: 980px) {
  .header__row {
    grid-template-columns: auto auto 1fr auto auto;
  }
  .header__burger {
    display: inline-flex;
  }
  .header__close {
    display: inline-flex;
  }
  .nav {
    position: fixed;
    inset: 0 20% 0 0;         /* левый «офф-канвас» */
    background: var(--dz-warm);
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    padding: calc(var(--header-h) + 16px) 16px 24px;
    border-right: 1px solid #52110633;
    color: var(--dz-deep);
  }
  .nav.is-open {
    transform: translateX(0);
  }
  .nav__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .nav__link,
  .nav__toggle {
    color: var(--dz-deep);
    padding: 10px 0;
  }
  .nav__link::after,
  .nav__toggle::after {
    display: none;
  }
  .nav__sub {
    position: static;
    display: none;
    margin: 6px 0 10px 10px;
    border: none;
    box-shadow: none;
    padding: 0;
    background: transparent;
  }
  .nav__item.open > .nav__sub {
    display: block;
  }
}

@media (max-width: 720px) {
  .header__row {
    grid-template-columns: auto 1fr auto;
    gap: 12px;
  }
  .header__logo {
    height: 38px;
  }
  .header__controls .iconbtn {
    width: 40px;
    height: 40px;
  }
}

/* Сдвиг контента вниз (фиксированная шапка) */
main {
  padding-top: calc(var(--header-h) + 8px);
}

/* ===========================
   HEADER — Glass / Modern
   =========================== */

:root {
  --hdr-bg: rgba(255, 255, 255, 0.66);
  --hdr-border: rgba(10, 22, 40, 0.08);
  --hdr-shadow: 0 10px 30px rgba(8, 15, 30, 0.08);
  --txt: #0b1220;
  --muted: #586174;
  --accent: #b62314; /* можно заменить на брендовый */
  --accent-ink: #fff;

  --logo-h: 44px;
  --header-pad-v: 12px;
}

.header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--hdr-bg);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--hdr-border);
  box-shadow: var(--hdr-shadow);
}

.header__row {
  display: grid;
  grid-template-columns: auto 1fr auto auto auto;
  align-items: center;
  gap: 16px;
  min-height: calc(var(--logo-h) + var(--header-pad-v) * 2);
  padding-top: var(--header-pad-v);
  padding-bottom: var(--header-pad-v);
}

.header__logo {
  height: var(--logo-h);
  width: auto;
  display: block;
}

.header__logo-link {
  display: block;
  line-height: 0;
}

/* Бургер / Закрыть */
.header__burger,
.header__close {
  display: none;
  border: 0;
  background: transparent;
  color: var(--txt);
  padding: 8px;
  border-radius: 12px;
}
.header__burger:focus-visible,
.header__close:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* Навигация (desktop) */
.nav {
  justify-self: start;
}

.nav__list {
  display: inline-flex;
  gap: 18px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav__item {
  position: relative;
  padding-bottom: 10px; /* без разрывов при движении курсора */
}

.nav__link,
.nav__toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;

  text-decoration: none;
  font-weight: 650;
  font-size: 14px;
  letter-spacing: 0.02em;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.nav__link:hover,
.nav__toggle:hover {
  background: rgba(10, 22, 40, 0.04);
  border-color: rgba(10, 22, 40, 0.06);
}

.nav__link::after,
.nav__toggle::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 6px;
  height: 2px;
  background: linear-gradient(90deg, var(--accent), #ff6a3d);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
}

.nav__link:hover::after,
.nav__toggle:hover::after {
  transform: scaleX(1);
}

/* Выпадающее меню — не пропадает при спуске мыши */
.nav__sub {
  position: absolute;
  left: 0;
  top: calc(100% - 4px); /* перекрываем зазор */
  min-width: 320px;
  margin-top: 6px;
  background: #ffffff;
  color: var(--txt);
  border: 1px solid var(--hdr-border);
  border-radius: 14px;
  box-shadow: 0 20px 50px rgba(8, 15, 30, 0.12);
  padding: 8px;
  list-style: none;
  display: none;
  z-index: 60;
}

.nav__item:hover > .nav__sub {
  display: block; /* CSS-ховер без «мигания» */
}

.nav__sublink {
  display: block;
  padding: 10px 12px;
  border-radius: 10px;
  color: var(--txt);
  text-decoration: none;
  line-height: 1.35;
  font-weight: 560;
  transition: background 0.15s ease;
}

.nav__sublink:hover {
  background: rgba(10, 22, 40, 0.06);
}

/* Поиск */
.header__search {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  justify-self: end;
}

.search__input {
  width: 280px;
  max-width: 34vw;
  padding: 10px 40px 10px 14px;
  border: 1px solid var(--hdr-border);
  border-radius: 999px;
  outline: none;
  color: var(--txt);
  background: rgba(255, 255, 255, 0.9);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.search__input::placeholder {
  color: var(--muted);
}

.search__input:focus {
  border-color: rgba(10, 22, 40, 0.24);
  box-shadow: 0 0 0 4px rgba(182, 35, 20, 0.15);
}

.search__btn {
  position: absolute;
  right: 6px;
  border: none;
  background: transparent;
  padding: 6px;
  color: var(--muted);
  border-radius: 10px;
}

.search__btn:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* Иконки справа */
.header__controls {
  display: inline-flex;
  gap: 10px;
}

.iconbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  border: 1px solid var(--hdr-border);
  color: var(--txt);
  background: rgba(255, 255, 255, 0.85);
  transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.iconbtn:hover {
  transform: translateY(-1px);
  background: #fff;
  border-color: rgba(10, 22, 40, 0.18);
}

.iconbtn:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* Адаптив */
@media (max-width: 1120px) {
  .search__input {
    width: 220px;
  }
}

@media (max-width: 980px) {
  .header__row {
    grid-template-columns: auto auto 1fr auto auto;
  }

  .header__burger {
    display: inline-flex;
  }

  .header__close {
    display: inline-flex;
  }

  .nav {
    position: fixed;
    inset: 0 20% 0 0;
    background: #ffffff;
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    padding: calc(var(--logo-h) + var(--header-pad-v) * 2) 16px 24px;
    border-right: 1px solid var(--hdr-border);
  }

  .nav.is-open {
    transform: translateX(0);
  }

  .nav__list {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  .nav__item {
    padding-bottom: 0;
  }

  .nav__link,
  .nav__toggle {
    border-radius: 10px;
    padding: 12px 10px;
  }

  .nav__link::after,
  .nav__toggle::after {
    display: none;
  }

  .nav__sub {
    position: static;
    display: none;
    margin: 6px 0 10px 10px;
    border: none;
    box-shadow: none;
    padding: 0;
    background: transparent;
  }

  .nav__item.open > .nav__sub {
    display: block; /* на мобилке раскрываем по клику */
  }

  .header__search {
    display: none; /* экономим место на телефонах */
  }
}

@media (max-width: 720px) {
  .header__row {
    grid-template-columns: auto 1fr auto;
    gap: 12px;
  }

  .header__logo {
    height: 38px;
  }

  .header__controls .iconbtn {
    width: 40px;
    height: 40px;
  }
}

/* Сдвиг контента вниз, если нужно для sticky */
main {
  padding-top: calc(var(--logo-h) + var(--header-pad-v) * 2 + 6px);
}

/* Бегущая строка */
@keyframes dz-marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.marquee {
  white-space: nowrap;
  overflow: hidden;
  position: relative;
  background: var(--dz-warm);
  border-top: 1px solid rgba(171, 37, 16, .2);
  border-bottom: 1px solid rgba(171, 37, 16, .2);
}
.marquee__track {
  display: inline-block;
  padding-left: 2rem;
  animation: dz-marquee 18s linear infinite;
  color: rgba(82, 17, 6, .85);
  font-size: 10px;
  letter-spacing: .4em;
  text-transform: uppercase;
  padding-top: 12px;
  padding-bottom: 12px;
}
@media (min-width: 640px) {
  .marquee__track { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .marquee__track { animation: none; }
}

/* === Фикс кривого подчёркивания меню === */
.nav__link::after,
.nav__toggle::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--accent), #ff6a3d);
  border-radius: 2px;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  transition: transform 0.25s ease;
}

.nav__link:hover::after,
.nav__toggle:hover::after,
.nav__item:hover > .nav__link::after,
.nav__item:hover > .nav__toggle::after {
  transform: translateX(-50%) scaleX(1);
}

/* === Снимаем фиксированное позиционирование у шапки === */
.header {
  position: static !important;
  top: auto !important;
  box-shadow: none !important;
}

/* Убираем все «компенсации» под fixed-header */
main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* На всякий случай убираем лишний верхний отступ у первого блока */
main > *:first-child {
  margin-top: 0 !important;
}

/* === Подменю всегда поверх геро-баннера === */
.header {
  position: relative !important;   /* нужно, чтобы z-index работал */
  z-index: 500 !important;
  overflow: visible !important;
}

.nav {
  position: relative;
  z-index: 600;
}

.nav__sub {
  position: absolute;
  z-index: 9999;                   /* поверх всего под хедером */
}


/* Если у картинки/контейнера вдруг стоит высокий z-index — обнуляем */
.hero__visual {
  overflow: visible;               /* на всякий случай, вдруг было hidden */
}

/* Локальный случай: если где-то есть transform/filter, они создают новый стек.
   Сбросим на хедере (обычно не нужно, но полезно, если экспериментировали): */
.header {
  transform: none !important;
  filter: none !important;
}

.hero__img {
  min-height: 60vh;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(8, 15, 30, 0.35) 0%,
    rgba(8, 15, 30, 0.15) 40%,
    rgba(8, 15, 30, 0.45) 100%
  );
  pointer-events: none;
}

/* === HERO: оформляем фон, свечение и мягкость === */
.hero {
  /* display: grid;*/
  /*grid-template-columns: 1fr 1fr;*/
  /*align-items: center;*/
 /* gap: 40px;*/
  /*min-height: 70vh;*/
  /*position: relative; */
  
    padding-top: 24px;
  padding-bottom: 40px;
}

.hero__figure {
  margin: 0;
}

.hero__visual {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  isolation: isolate; /* чтобы эффекты не влияли на текст */
}

/* основная картинка */
.hero__img {
  width: 100%;
  height: 0;

  background-image: url("assets/images/ladoga-archive.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
 /* min-height: 60vh; */
 /* filter: saturate(0.9) contrast(1.05) brightness(0.95); */
  /*transition: transform 0.6s ease, filter 0.6s ease;*/
}

.hero__meta {
  margin-top: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.hero__caption {
  margin: 0;
  max-width: 1200px;
  font-size: clamp(18px, 2.5vw, 22px);
  line-height: 1.5;
  color: #444444;
}
.hero__map-link {
  white-space: nowrap;
}

.hero__visual:hover .hero__img {
  transform: scale(1.03);
  filter: saturate(1) contrast(1.1);
}

/* мягкий затемняющий оверлей */
.hero__overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle at 60% 40%,
    rgba(0, 0, 0, 0.2) 0%,
    rgba(0, 0, 0, 0.55) 100%
  );
  mix-blend-mode: multiply;
  z-index: 2;
}

/* свечение за картинкой */
.hero__glow {
  position: absolute;
  inset: 0;
  border-radius: 24px;
  background: radial-gradient(
    circle at 70% 30%,
    rgba(255, 215, 180, 0.3) 0%,
    rgba(171, 37, 16, 0.15) 30%,
    transparent 70%
  );
  filter: blur(80px);
  transform: scale(1.2);
  z-index: 1;
}

/* подпись */
.hero__tag {
  position: absolute;
  bottom: 12px;
  right: 16px;
  z-index: 3;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(6px);
  padding: 4px 10px;
  border-radius: 8px;
  font-size: 12px;
  color: #222;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* адаптив */
@media (max-width: 960px) {
  .hero {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .hero__visual {
    order: -1;
    margin-bottom: 24px;
  }
}

/* === TREE: фикс «палок» и выравнивание строк (десктоп) === */
@media (min-width: 901px) {
  /* 1) Строки сами рисуют свои оси — к ним и крепятся «палочки» */
  .tree__row { position: relative; }

  /* верхняя строка: ось внизу строки */
  .tree__row--top::after {
    content: "";
    position: absolute;
    left: 0; right: 0;
    bottom: -18px;              /* столько же, сколько высота палочки */
    height: 2px;
    background: #AB251066;      /* как у ствола */
    pointer-events: none;
  }

  /* нижняя строка: ось вверху строки */
  .tree__row--bottom::before {
    content: "";
    position: absolute;
    left: 0; right: 0;
    top: -18px;                 /* столько же, сколько высота палочки */
    height: 2px;
    background: #AB251066;
    pointer-events: none;
  }

  /* 2) «Ствол» по центру больше не нужен на десктопе — прячем его */
  .tree__trunk { display: none; }

  /* 3) Выравниваем строки: верхнюю по НИЗУ, нижнюю по ВЕРХУ */
  .tree__row--top    { align-items: end; }
  .tree__row--bottom { align-items: start; }

  /* 4) Унифицируем карточки, чтобы низ не «гулял» */
  .tree__card {
    min-height: 140px;   /* можно 160–180, если заголовки длиннее */
    display: grid;
    grid-template-rows: auto 1fr auto; /* заголовок / текст / бэйдж */
  }

  /* 5) «Палки» оставляем как были — они теперь приходят ровно в локальные оси */
  /* (у тебя уже есть): 
     .tree__row--top   .tree__item::after{bottom:-18px;height:18px}
     .tree__row--bottom .tree__item::after{top:-18px;height:18px}
     точки ::before остаются без изменений */
}

/* === TREE: ровные оси и палочки, один в один === */
@media (min-width: 901px) {
  :root {
    --tree-stem: 22px;  /* длина вертикальной «палочки» */
    --tree-axis: 2px;   /* толщина оси */
    --tree-line: #AB251066;
  }

  /* прячем центральный ствол — вместо него используем оси строк */
  .tree__trunk { display: none; }

  /* строки сами рисуют свою ось */
  .tree__row { position: relative; }
  .tree__row--top::after {
    content: "";
    position: absolute;
    left: 0; right: 0;
    bottom: calc(-1 * var(--tree-stem));
    height: var(--tree-axis);
    background: var(--tree-line);
    pointer-events: none;
  }
  .tree__row--bottom::before {
    content: "";
    position: absolute;
    left: 0; right: 0;
    top: calc(-1 * var(--tree-stem));
    height: var(--tree-axis);
    background: var(--tree-line);
    pointer-events: none;
  }

  /* верхнюю строку прижимаем вниз, нижнюю — вверх,
     чтобы «палочки» всегда попадали в ось */
  .tree__row--top    { align-items: end;    padding-bottom: calc(var(--tree-stem) + 14px); }
  .tree__row--bottom { align-items: start;  padding-top:    calc(var(--tree-stem) + 14px); }

  /* палочки у карточек — длина ровно до оси (+толщина оси, чтобы не было зазора в 1px) */
  .tree__row--top .tree__item::after,
  .tree__row--bottom .tree__item::after,
  .tree__row--top .tree__item::before,
  .tree__row--bottom .tree__item::before {
    content: ""; position: absolute; left: 50%; transform: translateX(-50%);
  }
  .tree__row--top .tree__item::after    { bottom: calc(-1 * var(--tree-stem)); height: calc(var(--tree-stem) + var(--tree-axis)); width: 2px; background: var(--dz-red); }
  .tree__row--bottom .tree__item::after { top:    calc(-1 * var(--tree-stem)); height: calc(var(--tree-stem) + var(--tree-axis)); width: 2px; background: var(--dz-red); }

  /* точка (12px) — центр точно на оси */
  .tree__row--top .tree__item::before    { bottom: calc(-1 * var(--tree-stem) - 6px); width: 12px; height: 12px; border-radius: 50%; background: var(--dz-red); box-shadow: 0 0 0 4px rgba(171,37,16,.12); }
  .tree__row--bottom .tree__item::before { top:    calc(-1 * var(--tree-stem) - 6px); width: 12px; height: 12px; border-radius: 50%; background: var(--dz-red); box-shadow: 0 0 0 4px rgba(171,37,16,.12); }

  /* единая оптика карточек — низ перестаёт «гулять» */
  .tree__card {
    min-height: 150px;               /* при необходимости увеличь до 160–180 */
    display: grid;
    grid-template-rows: auto 1fr auto;
  }
}

/* === TREE: выравниваем нижний ряд по низу, фиксируем высоту и отступы === */
@media (min-width: 901px) {
  /* Карточка растягивается на всю высоту ячейки */
  .tree__item {
    display: flex;
    align-items: stretch;
  }

  .tree__card {
    /* Единая «внутренняя» сетка: верх — середина — низ */
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 8px;
    height: 100%;
    min-height: 160px;          /* при необходимости увеличь до 180–200 */
  }

  /* Убираем разнобой из-за внешних марджинов внутри карточки */
  .tree__card > * {
    margin: 0 !important;
  }

  /* Заголовок/текст — типовые размеры, без «гула» */
  .tree__title {
    font-weight: 700;
    line-height: 1.25;
  }
  .tree__text {
    color: #586174;
  }

  /* «Год» всегда прижат к нижней кромке карточки */
  .tree__year {
    align-self: end;
  }

  /* Нижний ряд прижимаем ровно к «оси» (см. предыдущий патч) */
  .tree__row--bottom {
    align-items: start; /* верх карточек на одной линии */
  }
}

/* На всякий случай: если где-то у первого/последнего элемента были лишние отступы */
.tree__card :first-child { margin-top: 0 !important; }
.tree__card :last-child  { margin-bottom: 0 !important; }

/* ===== Header logo sizing overrides (added by assistant) ===== */
:root {
  --header-pad-v: 12px;
  --logo-h: 64px; /* desktop default */
}

.header__logo-link {
  display: flex;
  align-items: center;
  line-height: 0;
}

.header__logo {
  height: var(--logo-h);
  width: auto;
  max-height: 44px;
}

.header__left {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.header__row {
  min-height: calc(var(--logo-h) + var(--header-pad-v) * 2);
}

/* keep nav from being squashed by large logo */
.nav {
  min-width: 0;
}

.nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 20px;
}

/* Responsive tuning */
@media (max-width: 1200px) {
  :root {
    --logo-h: 56px;
  }
}

@media (max-width: 992px) {
  :root {
    --logo-h: 48px;
  }
}

@media (max-width: 768px) {
  :root {
    --logo-h: 40px;
  }
}

/* ===== Footer social icons ===== */
:root {
  /* если уже объявлена --brand, можно не дублировать */
  --brand: #981702;
}

.footer__social {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 16px;
  padding-bottom: 16px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.footer__social-label {
  font-size: 14px;
  opacity: 0.9;
  white-space: nowrap;
}

.social__list {
  display: flex;
  align-items: center;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.social__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid currentColor;
  color: var(--brand);
  text-decoration: none;
  line-height: 0;
  transition: transform 0.2s ease, opacity 0.2s ease, background-color 0.2s ease;
}

.social__link:hover,
.social__link:focus-visible {
  transform: translateY(-1px);
  opacity: 0.9;
  background-color: rgba(152, 23, 2, 0.08);
}

.icon {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.social__link--yt .icon rect {
  fill: currentColor;
}

/* Доступность: визуально скрытый текст */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 1px, 1px);
  border: 0;
}

/* Мобильная адаптация */
@media (max-width: 600px) {
  .footer__social {
    flex-wrap: wrap;
    gap: 10px 14px;
  }

  .footer__social-label {
    width: 100%;
  }
}

/* Базовый размер иконки */
.social__link--max .icon-max {
  width: 20px;
  height: 20px;
  display: block;
  background-color: currentColor; /* цвет берётся от .social__link */
  -webkit-mask: url("assets/max.svg") center / contain no-repeat;
  mask: url("assets/max.svg") center / contain no-repeat;
}

/* Если нужно именно белым — задаём цвет ссылке */
.social__link--max {
  color: #ffffff;
}

/* Если хочешь, чтобы MAX был как у остальных (в цвет бренда), то:
.social__link--max { color: var(--brand); }
*/

/* ===== Inner pages base ===== */
.page-hero {
  padding-top: calc(var(--logo-h) + var(--header-pad-v) * 2 + 16px);
  padding-bottom: 24px;
}

.breadcrumbs {
  font-size: 14px;
  margin-bottom: 8px;
}

.breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
  opacity: 0.85;
}

.breadcrumbs__link {
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.breadcrumbs__link:hover {
  border-bottom-color: currentColor;
}

.page-title {
  font-family: var(--font-head);
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(28px, 4vw, 51px);
  line-height: 1;
  letter-spacing: -0.02em;
  margin: 8px 0 8px 0;
  color: var(--brand);
}

.page-lead {
  font-size: clamp(16px, 1.8vw, 18px);
  opacity: 0.9;
  margin: 0;
}

.meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  opacity: 0.9;
  margin-top: 8px;
}

.meta__dot {
  opacity: 0.5;
}

.meta__badge {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.06);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.content-grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 32px;
  padding-top: 24px;
  padding-bottom: 48px;
}

.sidebar {
  position: relative;
}

.sidemenu__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}

.sidemenu__link {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  text-decoration: none;
  background: rgba(0, 0, 0, 0.04);
}

.sidemenu__link:hover {
  background: rgba(0, 0, 0, 0.08);
}

.sidemenu__link.is-active {
  background: rgba(152, 23, 2, 0.12);
  color: var(--brand);
}

.content {
  display: grid;
  gap: 16px;
}

.figure {
  margin: 16px 0;
}

.figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.figure figcaption {
  font-size: 14px;
  opacity: 0.8;
  margin-top: 6px;
}

.quote {
  margin: 16px 0;
  padding: 16px 20px;
  border-left: 4px solid var(--brand);
  background: rgba(152, 23, 2, 0.06);
  border-radius: 8px;
}

.article .cover {
  margin: 8px 0 16px 0;
}

.article .cover img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.pager {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 24px;
}

.pager__link {
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.pager__link:hover {
  border-bottom-color: currentColor;
}

/* ===== Event detail ===== */
.event {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  padding: 24px 0 48px 0;
}

.event__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.event__body {
  display: grid;
  gap: 16px;
}

.event__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
  margin: 8px 0;
}

.event__facts dt {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  opacity: 0.7;
}

.event__facts dd {
  margin: 0;
  font-weight: 600;
}

.event__cta {
  display: flex;
  gap: 12px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
}

.btn--prim {
  background: var(--brand);
  color: #fff;
}

.btn--prim:hover {
  opacity: 0.9;
}

.btn--sec {
  background: rgba(0, 0, 0, 0.06);
}

.btn--sec:hover {
  background: rgba(0, 0, 0, 0.1);
}

/* ===== Cards (related) ===== */
.cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding-bottom: 48px;
}

.card {
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.04);
  padding: 16px;
}

.card__link {
  text-decoration: none;
}

.card__title {
  margin: 0;
}

/* ===== Responsive ===== */
@media (max-width: 1100px) {
  .content-grid {
    grid-template-columns: 240px 1fr;
  }
}

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

  .sidebar {
    order: 2;
  }

  .event {
    grid-template-columns: 1fr;
  }

  .cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

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

:root {
  --header-pad-v: 12px;
  --logo-h: 64px;
  --brand: #981702;
}

.header__logo {
  height: var(--logo-h);
  width: auto;
  max-height: 72px;
}

.header__row {
  min-height: calc(var(--logo-h) + var(--header-pad-v) * 2);
}

/* меню из компонента */
.nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav__link {
  text-decoration: none;
}

.nav__link.is-active {
  text-decoration: underline;
  
}

/* хлебные крошки */
.breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* соцсети в футере (если ещё не добавлял) */
.footer__social {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 16px;
  padding-bottom: 16px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.social__list {
  display: flex;
  align-items: center;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.social__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid currentColor;
  color: var(--brand);
  line-height: 0;
  transition: transform 0.2s ease, opacity 0.2s ease, background-color 0.2s ease;
}

.social__link:hover,
.social__link:focus-visible {
  transform: translateY(-1px);
  opacity: 0.9;
  background-color: rgba(152, 23, 2, 0.08);
}

.icon {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.social__link--yt .icon rect {
  fill: currentColor;
}

/* MAX (если картинка чёрная) */
.social__link--max .icon-img {
  filter: brightness(0) invert(1);
}

/* утилита для скрытого текста */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 1px, 1px);
  border: 0;
}

/* ===== Search page ===== */
.searchpage {
  display: grid;
  gap: 20px;
  padding-bottom: 48px;
}

.searchbox {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(0,0,0,0.04);
  border-radius: 12px;
  padding: 8px 12px;
}

.searchbox__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px; height: 32px;
  border: 0; background: transparent; padding: 0; cursor: pointer;
}

.searchbox__input {
  flex: 1 1 300px;
  min-width: 200px;
  border: 0; outline: none; background: transparent;
  font: inherit;
}

.searchhint {
  opacity: .8;
  font-size: 14px;
}

.searchstats {
  display: flex;
  align-items: baseline;
  gap: 16px;
  opacity: .9;
  font-size: 14px;
}

.searchlist {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.searchcard {
  border-radius: 12px;
  background: rgba(0,0,0,0.04);
  padding: 16px;
  display: grid;
  gap: 8px;
}

.searchcard__title {
  margin: 0;
  font-size: clamp(18px, 2.2vw, 22px);
}

.searchcard__link {
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.searchcard__link:hover {
  border-bottom-color: currentColor;
}

.searchcard__path {
  font-size: 12px;
  opacity: .7;
}

.searchcard__snippet {
  margin: 0;
  color: #444;
}

.searchcard__meta {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 12px;
  opacity: .75;
}

/* Подсветка фразы из битрикса (TITLE_FORMATED/BODY_FORMATED часто с <b>..) */
.searchcard b {
  background: rgba(152, 23, 2, 0.12);
  color: inherit;
  padding: 0 2px;
  border-radius: 4px;
  font-weight: 700;
}

/* Пустая выдача */
.searchempty {
  display: flex;
  gap: 12px;
  align-items: center;
  background: rgba(0,0,0,0.04);
  border-radius: 12px;
  padding: 14px 16px;
}

/* Пагинация от компонента */
.pager--search {
  margin-top: 8px;
}

/* Адаптация */
@media (max-width: 720px) {
  .searchcard__meta { flex-wrap: wrap; }
  .searchbox__input { min-width: 140px; }
}

/* убираем лишний зазор сразу под шапкой */
.header { margin-bottom: 0; background: #8C1D0A; }
.header + .main { margin-top: 0; }

/* первый блок после шапки — без лишней «ступеньки» */
.main > section:first-child,
.main > .container:first-child { margin-top: 0; }

/* заголовки сверху без внешнего отступа (частая причина «пустоты») */
.hero .hero__title,
.page-hero .page-title { margin-top: 0; }

/* чуть уменьшить внутренний верхний паддинг у герой-блоков, если нужно */
.hero,
.page-hero { padding-top: 16px; } /* при необходимости верни 24px/32px */

/* крошки: ровный ряд и разделитель */
.breadcrumbs { margin: 8px 0; }
.breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;               /* расстояние между сегментами */
  list-style: none;
  margin: 0;
  padding: 0;
}
.breadcrumbs__item { display: flex; align-items: center; }
.breadcrumbs__item + .breadcrumbs__item::before {
  content: "›";
  opacity: .55;
  margin: 0 6px;          /* зазор вокруг стрелки */
}

/* на мобилке обычно не нужны: убираем визуальный шум */
@media (max-width: 768px){
  .breadcrumbs { display: none; }
}

/* ===== header one-line fit (меню + поиск) ===== */
.header__row { display:flex; align-items:center; gap:12px; }

/* меню может занимать максимум, но не тянуть строку */
.nav { flex: 1 1 auto; min-width: 0; }
.nav__list { gap: 10px 1px; }            /* было больше — уменьшаем чуть-чуть */

/* поиск: разрешаем сжиматься и делаем короче */
.header__search { flex: 0 1 auto; min-width: 0; }
.search__form { padding: 6px 8px; }       /* компактнее */
.search__input {
  flex: 0 1 auto;
  width: clamp(120px, 14vw, 170px);       /* КОРОЧЕ по умолчанию */
  transition: width .2s ease;
}

/* при фокусе — аккуратно расширяемся, чтобы печатать удобнее */
.header__search:focus-within .search__input {
  width: clamp(170px, 20vw, 220px);
}

/* чуть уплотнить на широких экранах, если нужно */
@media (max-width: 1280px) {
  .nav__list { gap: 8px 14px; }
}

/* ===== News grid (refined) ===== */
.newsgrid { padding: 8px 0 48px; }
.newsgrid__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

/* Карточка — вся кликабельная, без «рваных» высот */
.newscard { border-radius: 12px; background: rgba(0,0,0,0.04); overflow: hidden; }
.newscard__link { display: grid; grid-template-rows: auto 1fr; text-decoration: none; color: inherit; height: 100%; }

/* Медиа: строгое соотношение 16:9, корректный кроп */
.newscard__media { margin: 0; }
.newscard__img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }

/* Текстовый блок */
.newscard__txt { display: grid; gap: 8px; padding: 14px; }

/* Метаданные (рубрика + дата) */
.newscard__meta { display: flex; align-items: center; gap: 10px; font-size: 12px; opacity: .9; }
.newscard__kicker { text-transform: uppercase; letter-spacing: .06em; font-weight: 700; color: var(--brand); }
.newscard__date { opacity: .75; }

/* Заголовок и анонс — ограничиваем строки, чтобы сетка не «скакала» */
.newscard__title {
  margin: 0;
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 800;
  line-height: 1.15;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.newscard__lead {
  margin: 0; color: #444;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

/* Hover/focus: лёгкое приподнятие */
.newscard__link:hover .newscard__title,
.newscard__link:focus-visible .newscard__title { text-decoration: underline; text-underline-offset: 3px; }
.newscard__link:hover,
.newscard__link:focus-visible { outline: none; }

/* Pager */
.pager--news { margin-top: 16px; }

/* Адаптив */
@media (max-width: 1024px){
  .newsgrid__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
  .newsgrid__list { grid-template-columns: 1fr; }
}
/* Карточка без изображения */
.newscard--noimg .newscard__link {
  grid-template-rows: auto; /* только текстовый блок */
}
.newscard--noimg .newscard__txt {
  padding-top: 16px;
}

/* (остальные стили твоего лейаута новостей — без изменений) */

/* ===== News grid — ровная сетка */
.newsgrid{padding:8px 0 48px}
.newsgrid__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}

/* Карточка */
.newsgrid .newscard{background:#f5f5f5;border-radius:14px;overflow:hidden}
.newsgrid .newscard__link{display:grid;grid-template-rows:auto 1fr;height:100%;text-decoration:none;color:inherit}

/* Картинка — компактная и одинаковая: 3:2 */
.newsgrid .newscard__media{margin:0}
.newsgrid .newscard__img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}

/* Текст */
.newsgrid .newscard__txt{display:grid;gap:8px;padding:14px}
.newsgrid .newscard__meta{display:flex;align-items:center;gap:10px;font-size:12px;opacity:.9}
.newsgrid .newscard__kicker{text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--brand)}
.newsgrid .newscard__date{opacity:.75}

/* Клэмпы, чтобы карточки не «разъезжались» */
.newsgrid .newscard__title{margin:0;font-weight:800;font-size:clamp(18px,2.2vw,20px);line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.newsgrid .newscard__lead{margin:0;color:#444;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Карточка без изображения */
.newsgrid .newscard--noimg .newscard__link{grid-template-rows:auto}
.newsgrid .newscard--noimg .newscard__txt{padding-top:16px}

/* Hover */
.newsgrid .newscard__link:hover .newscard__title{text-decoration:underline;text-underline-offset:3px}

/* Адаптив */
@media (max-width:1024px){.newsgrid__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.newsgrid__list{grid-template-columns:1fr}}

/* ===== Лента с названием на самой линии ===== */
.titlebar{padding:12px 0 16px;background:none}
.titlebar::before{content:none !important}          /* убираем старую «линию» */
.titlebar__stripe{
  display:flex; align-items:center;
  min-height: 44px; padding: 6px 18px;
  border-radius: 9999px;
  background: linear-gradient(90deg, var(--brand) 0%, #a31d0a 45%, #6f1107 100%);
  color:#fff;
}
.titlebar--full .titlebar__stripe{ width:100%; }    /* полная ширина контейнера */

.titlebar__title{
  margin:0;
  font-family: var(--font-head, inherit);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size: clamp(18px, 2.4vw, 28px);              /* НЕ огромный */
  line-height:1.1;
}
.titlebar__subtitle{ margin:8px 2px 0; opacity:.85; font-size:14px }

/* крошки под ленточкой не липнут */
.titlebar + .breadcrumbs{ margin-top:10px; }

/* мобильная плотность */
@media (max-width:768px){
  .titlebar{padding:10px 0 14px}
  .titlebar__stripe{min-height:38px; padding:6px 14px}
}

/* Центрирование текста на ленте */
.titlebar--center .titlebar__stripe { justify-content: center; }
.titlebar--center .titlebar__title { text-align: center; }
.titlebar--center .titlebar__subtitle { text-align: center; }

/* крошки прямо под лентой */
.titlebar__crumbs { margin-top: 8px; }

.breadcrumbs { margin: 0; }
.breadcrumbs__list{
  display:flex; flex-wrap:wrap; align-items:center;
  gap:6px; list-style:none; padding:0; margin:0;
  font-size:13px; opacity:.85;
}
.breadcrumbs__item{display:flex; align-items:center; white-space:nowrap}
.breadcrumbs__item + .breadcrumbs__item::before{
  content:"›"; opacity:.55; margin:0 6px;
}
.breadcrumbs__link{color:inherit; text-decoration:none; border-bottom:1px solid transparent}
.breadcrumbs__link:hover{border-bottom-color:currentColor}

/* центрирование вместе с лентой */
.titlebar--center .breadcrumbs__list{ justify-content:center; }

/* на мобилке можно скрыть, если мешают */
@media (max-width: 640px){
  .breadcrumbs__list{ font-size:12px; gap:4px; }
}

/* Лента */
.titlebar{padding:12px 0 12px;background:none}
.titlebar__stripe{
  display:flex;align-items:center;justify-content:center;
  min-height:44px;padding:6px 18px;border-radius:9999px;
  background:linear-gradient(90deg,var(--brand) 0%,#a31d0a 45%,#6f1107 100%);color:#fff
}
.titlebar__title{margin:0;font-family:var(--font-head);font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(18px,2.4vw,28px);line-height:1.1}
.titlebar__crumbs{margin-top:6px}

/* Наш шаблон крошек (inline) */
.breadcrumbs{margin:0}
.breadcrumbs__list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;font-size:13px;opacity:.9}
.breadcrumbs__item{display:flex;align-items:center;white-space:nowrap}
.breadcrumbs__item + .breadcrumbs__item::before{content:"›";opacity:.55;margin:0 6px}
.breadcrumbs__link{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.breadcrumbs__link:hover{border-bottom-color:currentColor}

/* Поддержка стандартного шаблона Bitrix, если inline нет */
.bx-breadcrumb{margin:0}
.bx-breadcrumb .bx-breadcrumb-item{font-size:13px;opacity:.9}
.bx-breadcrumb .bx-breadcrumb-item + .bx-breadcrumb-item::before{content:"›";opacity:.55;margin:0 6px}
.bx-breadcrumb a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.bx-breadcrumb a:hover{border-bottom-color:currentColor}

/* Центровка вместе с лентой */
.titlebar--center .breadcrumbs__list{justify-content:center}
.titlebar--center .bx-breadcrumb{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}

/* Заголовок по центру, крошки слева */
.titlebar--center .titlebar__stripe { justify-content: center; } /* уже есть, но на всякий случай */
.titlebar--center .titlebar__title  { text-align: center; }

/* крошки: влево, даже при модификаторе --center */
.titlebar--center .breadcrumbs__list { justify-content: flex-start !important; }
.titlebar--center .bx-breadcrumb     { display: flex; justify-content: flex-start !important; gap: 6px; flex-wrap: wrap; }
.titlebar--center .titlebar__crumbs  { text-align: left; }

/* === Лента: компактнее шрифты и ровнее высоты === */
.newsgrid__list{gap:20px}
.newsgrid .newscard{background:#f3f3f3}
.newsgrid .newscard__title{font-size:clamp(18px,2vw,20px)}
.newsgrid .newscard__lead{-webkit-line-clamp:3}

/* === Детальная новости === */
.article{padding:12px 0 56px; max-width: 1240px;}
.article__head{display:grid; gap:8px; margin-bottom:12px}
.article__meta{display:flex; gap:12px; align-items:center; font-size:13px; opacity:.85}
.article__kicker{text-transform:uppercase; letter-spacing:.06em; font-weight:700; color:var(--brand)}
.article__date{opacity:.75}
.article__title{margin:0; font-family:var(--font-head); font-weight:800; text-transform:uppercase; letter-spacing:.02em; font-size:clamp(26px,4.2vw,40px); line-height:1.05}
.article__cover{margin:12px 0 18px}
.article__img{width:100%; aspect-ratio:16/9; object-fit:cover; display:block; border-radius:14px}
.article__cap{margin-top:6px; font-size:12px; opacity:.7}
.article__body{display:grid; gap:14px; font-size:18px; line-height:1.6}
.article__body h2,.article__body h3{margin:18px 0 10px; font-weight:800}
.article__body img{max-width:100%; height:auto; border-radius:12px}
@media (max-width:720px){
  .article{padding-bottom:40px}
  .article__title{font-size:clamp(22px,5vw,34px)}
}

/* ===== News cards fix ===== */
.newsgrid__list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;           /* все карточки одной высоты в строке */
}

/* Карточка и контейнер */
.newscard{background:#f3f3f3;border-radius:14px;overflow:hidden}
.newscard__link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}

/* Медиа: фиксированная высота (не «портрет»), обрез по краям */
.newscard__media{margin:0}
.newscard__img{
  width:100%;
  height:clamp(160px, 20vw, 220px); /* компактнее на десктопе */
  object-fit:cover;
  display:block;
}

/* Текстовый блок */
.newscard__txt{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1 1 auto}
.newscard__meta{display:flex;gap:10px;align-items:center;font-size:12px;opacity:.85;margin-bottom:2px}
.newscard__kicker{text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--brand)}
.newscard__date{opacity:.7}

/* Заголовок и анонс — одинаковые высоты за счёт клемпов */
.newscard__title{
  margin:0;
  font-weight:800;
  font-size:clamp(18px,2vw,20px); /* чуть меньше, не «кричит» */
  line-height:1.15;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}
.newscard__lead{
  margin:0;color:#444;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;
}

/* Без изображения — не оставляем «пустую шапку» */
.newscard--noimg .newscard__link{padding-top:8px}
.newscard--noimg .newscard__txt{padding-top:18px}

/* Hover: только подчёркивание заголовка */
.newscard__link:hover .newscard__title{ text-decoration:underline; text-underline-offset:3px }

/* Адаптив */
@media (max-width:1024px){ .newsgrid__list{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){  .newsgrid__list{grid-template-columns:1fr} }

/* Показываем крошки только в нашем месте под лентой */
.bx-breadcrumb, .breadcrumbs { display: none; }
.titlebar__crumbs .bx-breadcrumb,
.titlebar__crumbs .breadcrumbs { display: flex; }  /* или display:block – как нравится */

/* Обтекание изображения в новости */
.article--wrapimg .article__float{
  float: left;
  width: clamp(220px, 32vw, 360px);
  margin: 0 20px 12px 0;
}
.article--wrapimg .article__float-img{
  display:block;
  width:100%; height:auto;
  border-radius:12px;
}
.article--wrapimg .article__cap{ margin-top:6px; font-size:12px; opacity:.7 }

/* База для статьи (если нет) */
.article{max-width:1240px; padding:12px 0 56px;}
.article__head{margin-bottom:8px}
.article__meta{display:flex; gap:12px; align-items:center; font-size:13px; opacity:.85}
.article__kicker{text-transform:uppercase; letter-spacing:.06em; font-weight:700; color:var(--brand)}
.article__date{opacity:.75}
.article__body{font-size:18px; line-height:1.6}
.article__body p{margin:0 0 14px}

/* На мобильных — без обтекания */
@media (max-width: 720px){
  .article--wrapimg .article__float{ float:none; width:100%; margin:0 0 12px 0; }
}

/* === FIX: обтекание в детальной новости === */
.article--wrapimg .article__body{ 
  display: block !important;    /* отменяем grid/flex */
  font-size: 18px; 
  line-height: 1.6;
}
.article--wrapimg .article__body::after{
  content:""; display:block; clear: both;   /* чтобы контейнер «обнял» float */
}

.article--wrapimg .article__float{
  float: left;
  width: clamp(220px, 32vw, 360px);
  margin: 0 20px 12px 0;
}

.article--wrapimg .article__cap{ margin-top:6px; font-size:12px; opacity:.7 }

/* базовые отступы внутри текста */
.article--wrapimg .article__body p{ margin: 0 0 14px; }

/* на мобилке — без обтекания */
@media (max-width: 720px){
  .article--wrapimg .article__float{ float:none; width:100%; margin:0 0 12px 0; }
}



body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

#workarea,
main,
.page {
  flex: 1 0 auto;
}


footer,
.site-footer {
  margin-top: auto;
}

/* Новости: выровнять по общему контейнеру и центрировать */
.news-list {
  padding: 32px 0;
}

/* Пагинация под новостями — по тому же контейнеру */
.pager--news {
  max-width: 1280px;
  margin: 24px auto 0;
  padding-inline: 16px;
  box-sizing: border-box;
}


/* Контейнер изображения: пропорции задаём классами */
.newsC__media {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  margin: 0;
  background: #fff;
}

/* Пропорции по классам (контент не "прыгает") */
.newsC__media.ar-16-9 {
  aspect-ratio: 16 / 9;
  min-height: 240px;
}

.newsC__media.ar-4-3 {
  aspect-ratio: 4 / 3;
  min-height: 240px;
}

.newsC__media.ar-1-1 {
  aspect-ratio: 1 / 1;
  min-height: 240px;
}

.newsC__media.ar-3-4 {
  aspect-ratio: 3 / 4;
  min-height: 300px;
}

/* Картинка по умолчанию — cover (красиво заполняет) */
.newsC__media-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

/* Режим "без обрезки": аккуратные поля-«letterbox», тонкая рамка */
.newsC__media.is-contain {
  background: #fff;
  outline: 1px solid rgba(0, 0, 0, 0.06);
}

.newsC__media.is-contain .newsC__media-img {
  object-fit: contain;
  object-position: center;
}

/* Плейсхолдер если нет изображения */
.newsC__media-ph {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #f3f3f3, #e9e9e9);
}

/* Сетка и текст — без изменений */
.newsC__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
}

.newsC__item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: stretch;
  text-decoration: none;
  color: inherit;
}

.newsC__item--rev .newsC__media {
  order: 2;
}

.newsC__item--rev .newsC__txt {
  order: 1;
}

.newsC__txt {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 0;
}

.newsC__k {
  font-size: 12px;
  letter-spacing: 0.08em;
  color: #666;
}

.newsC__t {
  margin: 0;
  font-size: clamp(18px, 2.2vw, 24px);
  line-height: 1.2;
}

.newsC__p {
  margin: 0;
  color: #555;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.newsC__item:hover .newsC__t {
  text-decoration: underline;
  text-underline-offset: 3px;
}

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



/* Плотная карточка: убираем вертикальные пустоты вокруг изображения */
.newsC.newsC--flush .newsC__item {
  padding: 0 !important;               /* перебиваем глобальные card/a стили */
  border-radius: 16px;                  /* скругление на всю карточку */
  overflow: hidden;                     /* обрезаем всё лишнее */
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
}

/* Медиа без своих скруглений и без внешних отступов */
.newsC.newsC--flush .newsC__media {
  border-radius: 0 !important;
  margin: 0 !important;
}

/* Картинка вплотную к краям контейнера */
.newsC.newsC--flush .newsC__media-img {
  display: block;
}

/* Текстовая колонка без лишних вертикальных отступов */
.newsC.newsC--flush .newsC__txt {
  padding-top: 12px;
  padding-bottom: 12px;
  margin: 0;
}

/* На всякий случай убираем margin у заголовков/абзацев внутри */
.newsC.newsC--flush .newsC__k,
.newsC.newsC--flush .newsC__t,
.newsC.newsC--flush .newsC__p {
  margin-top: 0;
  margin-bottom: 0;
}

/* Если включён режим "высота карточки = высоте картинки" — оставляем из предыдущего патча */
.newsC.newsC--flush .newsC__item {
  align-items: stretch;
}




/* ===== Компактные карточки новостей (низкие) ===== */

/* 1) Настраиваем желаемую высоту медиа/карточки */
.container.newsC {
  --news-media-h: 180px;      /* ключевая высота карточки на десктопе */
  --news-gap-v: 12px;         /* вертикальные отступы текста */
}

/* 2) Убираем вертикальные пустоты у карточки */
.container.newsC .newsC__item {
  padding: 0 !important;
  align-items: center;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
}

/* 3) Медиа строго нужной высоты (без aspect-ratio) */
.container.newsC .newsC__media {
  position: relative;
  margin: 0 !important;
  border-radius: 0 !important;
  height: var(--news-media-h) !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;   /* отключаем старые пропорции */
  overflow: hidden;
}

/* Картинка не искажается: cover по умолчанию, contain для is-contain */
.container.newsC .newsC__media-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.container.newsC .newsC__media.is-contain .newsC__media-img {
  object-fit: contain;
  background: #fff;
}

/* 4) Текст ровно высотой с медиа, без лишних отступов */
.container.newsC .newsC__txt {
  max-height: var(--news-media-h);
  overflow: hidden;
  padding-top: var(--news-gap-v) !important;
  padding-bottom: var(--news-gap-v) !important;
  margin: 0 !important;
}

/* 5) Клампы, чтобы текст не раздувал высоту */
.container.newsC .newsC__k {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0 !important;
}
.container.newsC .newsC__t {
  margin: 0 0 6px 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;          /* заголовок в 2 строки */
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.container.newsC .newsC__p {
  margin: 0 !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;          /* превью в 2 строки */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 6) Адаптив: на планшете чуть ниже, на мобиле свободнее (одна колонка) */
@media (max-width: 1140px) {
  .container.newsC {
    --news-media-h: 160px;
  }
}
@media (max-width: 640px) {
  .container.newsC .newsC__item {
    grid-template-columns: 1fr;    /* твоя сетка так и делает, просто фиксируем */
  }
  .container.newsC {
    --news-media-h: 200px;         /* на мобиле можно дать чутка выше для читаемости */
  }
  .container.newsC .newsC__txt {
    max-height: none;              /* текст под картинкой, высоту не режем */
  }
}


/* Карточка без обводки, с мягкой тенью и общим скруглением */
.container.newsC .newsC__item {
  border: none !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}

/* Скругляем фото (наружные углы) */
.container.newsC .newsC__media {
  border-radius: 16px 0 0 16px !important;
}

/* Для реверсной карточки — зеркалим скругление */
.container.newsC .newsC__item--rev .newsC__media {
  border-radius: 0 16px 16px 0 !important;
}

/* На одной колонке (мобайл) фото сверху с верхними скруглениями */
@media (max-width: 1024px) {
  .container.newsC .newsC__media {
    border-radius: 16px 16px 0 0 !important;
  }
}


/* Скругляем фото, а не рамку карточки */
.container.newsC .newsC__item {
  border: none !important;                 /* без обводки */
  box-shadow: 0 2px 12px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  border-radius: 16px;
  overflow: hidden;                         /* на всякий случай */
}

/* ВОЗВРАЩАЕМ радиус медиаблоку (перебиваем прежнее 0 !important) */
.container.newsC .newsC__media {
  margin: 0 !important;
  border-radius: 16px 0 0 16px !important;  /* обычная карточка: скругляем внешние углы фото */
  overflow: hidden;                          /* чтобы img обрезался по радиусу */
}

/* Реверсная карточка — зеркалим углы */
.container.newsC .newsC__item--rev .newsC__media {
  border-radius: 0 16px 16px 0 !important;
}

/* Само изображение заполняет контейнер и наследует скругление */
.container.newsC .newsC__media-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;                    /* критично для Safari */
}

/* Мобильная одна колонка — скругляем верхние углы фото */
@media (max-width: 1024px) {
  .container.newsC .newsC__media {
    border-radius: 16px 16px 0 0 !important;
  }
}



/* Скругляем именно фото и обрезаем по радиусу */
.container.newsC .newsC__media {
  overflow: hidden !important;
}

.container.newsC .newsC__media-img {
  border-radius: inherit !important;   /* перебиваем глобальные сбросы img */
  display: block;
}

/* Фолбэк на случай, если какой-то стиль всё ещё мешает: режем формой */
.container.newsC .newsC__media-img {
  clip-path: inset(0 round 16px 0 0 16px);
}

.container.newsC .newsC__item--rev .newsC__media-img {
  clip-path: inset(0 round 0 16px 16px 0);
}

@media (max-width: 1024px) {
  .container.newsC .newsC__media-img {
    clip-path: inset(0 round 16px 16px 0 0);
  }
}




/* === NEWS: жёсткое скругление фото + без обводок === */

/* 0) карточка без рамок */
.container.newsC .newsC__item {
  border: none !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}

/* 1) Вариант с <img> внутри .newsC__media */
.container.newsC .newsC__item .newsC__media {
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 16px 0 0 16px !important;  /* обычная карточка */
}

.container.newsC .newsC__item.newsC__item--rev .newsC__media {
  border-radius: 0 16px 16px 0 !important;  /* реверсная карточка */
}

.container.newsC .newsC__item .newsC__media .newsC__media-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: inherit !important;         /* критично для Safari/iOS */
}

/* 2) Если где-то ещё остался старый вариант с background-image (.newsC__img) */
.container.newsC .newsC__item .newsC__img {
  overflow: hidden !important;
  border-radius: 16px 0 0 16px !important;
  background-clip: padding-box;
}

.container.newsC .newsC__item.newsC__item--rev .newsC__img {
  border-radius: 0 16px 16px 0 !important;
}

/* 3) На одной колонке (мобайл) фото сверху — скругляем верхние углы */
@media (max-width: 1024px) {
  .container.newsC .newsC__item .newsC__media,
  .container.newsC .newsC__item .newsC__img {
    border-radius: 16px 16px 0 0 !important;
  }
}

/* 4) Убрать ВСЕ возможные обводки/разделители, включая псевдо-элементы */
.container.newsC .newsC__item,
.container.newsC .newsC__txt,
.container.newsC .newsC__media,
.container.newsC .newsC__img {
  border: 0 !important;
}

.container.newsC .newsC__item::before,
.container.newsC .newsC__item::after,
.container.newsC .newsC__txt::before,
.container.newsC .newsC__txt::after {
  content: none !important;
}

/* Если отдельной тонкой рамки вообще не нужно — без тени: */
/* .container.newsC .newsC__item { box-shadow: none !important; } */






/* ===== Главная: шаблон home.newsList (как на странице новостей) ===== */

.newslist--home .newslist__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
}

/* Карточка: компактная, без внешней рамки, со скруглением */
.newslist--home .newscard {
  border: none;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}

.newslist--home .newscard__wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;  /* слева картинка, справа текст */
  gap: 24px;
  align-items: center;
  text-decoration: none;
  color: inherit;
  padding: 0;                      /* без «воздуха» */
}

/* Медиа: фиксированной невысокой высоты */
.newslist--home .newscard__media {
  position: relative;
  margin: 0;
  height: 180px;                   /* ключевая высота: можно сделать 160/200 */
  overflow: hidden;
  border-radius: 16px;
}

.newslist--home .newscard__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;               /* красиво кадрируем */
  object-position: center;
  display: block;
  border-radius: inherit;          /* Safari */
}

/* Плейсхолдер, если нет изображения */
.newslist--home .newscard__ph {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #f3f3f3, #e9e9e9);
}

/* Текстовая часть — компоновка и клампы */
.newslist--home .newscard__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 0;
  max-height: 180px;               /* не выше картинки */
  overflow: hidden;
}

.newslist--home .newscard__date {
  font-size: 12px;
  letter-spacing: 0.08em;
  color: #666;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.newslist--home .newscard__title {
  margin: 0;
  font-size: clamp(18px, 2.2vw, 24px);
  line-height: 1.2;
  display: -webkit-box;
  -webkit-line-clamp: 2;           /* заголовок в 2 строки */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.newslist--home .newscard__excerpt {
  margin: 0;
  color: #555;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;           /* анонс в 2 строки */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.newslist--home .newscard__wrap:hover .newscard__title {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Адаптив: на планшете и ниже — в одну колонку, фото сверху */
@media (max-width: 1024px) {
  .newslist--home .newscard__wrap {
    grid-template-columns: 1fr;
  }

  .newslist--home .newscard__media {
    height: 200px;
    border-radius: 16px 16px 0 0;
  }

  .newslist--home .newscard__body {
    max-height: none;
  }
}




/* Вид из макета: мягкая шапка, активная ячейка с рамкой, воскресенья красным, хвост серый */
.cal { background: #fff; }
.cal__head { background: #f8eeea; }
.cal__legend { color: #9a6b5c; }

.cal__cell { border: 1px solid #eee; background: #fff; }
.cal__cell:hover { background: #f6f6f6; }
.cal__cell.has .cal__dot { background: #7c2f22; }
.cal__cell.today { outline: 2px solid #7c2f22; }
.cal__cell.is-active { background: #f7efeb; box-shadow: inset 0 0 0 2px #7c2f22; }


.cal__cell--tail { background: #f2f0ef; border-color: #e8e5e3; }
.cal__cell--empty { background: #fff; border: 1px solid transparent; }

/* Карточка события справа — компактная */
.evBrow {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 14px;
  text-decoration: none;
  color: inherit;
  padding: 10px;
  border: 1px solid #e6e1de;
  border-radius: 16px;
  background: #fff;
}

.evBrow__media { position: relative; margin: 0; height: 72px; overflow: hidden; border-radius: 12px; }
.evBrow__img   { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.evBrow__ph    { position: absolute; inset: 0; background: linear-gradient(180deg,#f3f3f3,#e9e9e9); }

.evBrow__body  { display: flex; flex-direction: column; gap: 6px; align-self: center; }
.evBrow__sup   { font-size: 10px; letter-spacing: .25em; text-transform: uppercase; color: #9a6b5c; }
.evBrow__title { margin: 0; font-weight: 700; font-size: 18px; line-height: 1.2; }
.evBrow__date  { color: #6a6a6a; font-size: 14px; }


/* FIX: равномерное выделение текущего дня */
.cal__cell.today {
  outline: none !important;                     /* не используем outline */
  box-shadow: inset 0 0 0 2px #7c2f22 !important; /* одинаковая толщина со всех сторон */
  background: #fff;                              /* фон обычный */
  border-color: transparent !important;          /* чтобы не было двойной линии */
}

/* Для выбранного дня оставляем тот же приём (на всякий случай унифицируем) */
.cal__cell.is-active {
  box-shadow: inset 0 0 0 2px #7c2f22 !important;
  background: #f7efeb;
  border-color: transparent !important;
}


/* Пустое состояние: «событий нет» + ближайшее */
.evB__empty {
  display: none;                    /* по умолчанию скрыто, JS показывает */
  margin-top: 8px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 2px dashed #7c2f22;
  background: #fdf5f2;
  color: #7c2f22;
  display: none;
}

.evB__empty-title {
  font-weight: 700;
  margin-bottom: 6px;
}

.evB__empty-next {
  font-weight: 600;
}

.evB__empty.has-next a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}



.events-page__hdr{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:16px 0}
.events-tabs{display:inline-flex;gap:8px}
.events-tabs__i{font-size:14px;padding:6px 10px;border-radius:999px;background:#f2f2f2;text-decoration:none;color:inherit}
.events-tabs__i.is-active{background:#222;color:#fff}
.events-page__filters{margin:8px 0 16px}
.month-sw{display:flex;align-items:center;gap:10px}
.month-sw__btn{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#f2f2f2;text-decoration:none;color:inherit}
.month-sw__ttl{font-weight:600}
.month-sw__clear{font-size:12px;text-decoration:underline;text-underline-offset:3px;color:#666;margin-left:8px}

.evList{display:grid;gap:20px}
.evList__day{display:grid;gap:10px}
.evList__date{font-weight:700}
.evItem{display:grid;grid-template-columns:260px 1fr;gap:16px;text-decoration:none;color:inherit;border-radius:16px;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);overflow:hidden}
.evItem__media{position:relative;height:180px;margin:0;overflow:hidden;background:#fff}
.evItem__img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.evItem__ph{position:absolute;inset:0;background:linear-gradient(180deg,#f3f3f3,#e9e9e9)}
.evItem__badge{position:absolute;left:8px;top:8px;font-size:12px;padding:2px 6px;border-radius:6px;background:rgba(0,0,0,.06)}
.evItem__body{display:flex;flex-direction:column;gap:6px;justify-content:center;padding:8px}
.evItem__time{color:#666;font-size:14px}
.evItem__title{margin:0;font-size:clamp(18px,2.2vw,22px);line-height:1.25}
@media (max-width:1024px){.evItem{grid-template-columns:1fr}.evItem__media{height:200px}}


.evDetail__hdr{margin:16px 0}
.evDetail__title{margin:0 0 8px 0;font-size:clamp(22px,3vw,32px);line-height:1.2}
.evDetail__meta{display:flex;flex-wrap:wrap;gap:10px;color:#666;font-size:14px}
.event__tickets{display:inline-block;margin-top:12px;padding:10px 14px;border-radius:10px;background:#222;color:#fff;text-decoration:none}
.event__media{margin:16px 0;border-radius:16px;overflow:hidden}
.event__media img{display:block;width:100%;height:auto}
.event__content{line-height:1.6}


/* Шапка страницы */
.events-page__hdr{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:16px 0 8px}
.events-tabs{display:inline-flex;gap:8px}
.events-tabs__i{font-size:14px;padding:6px 10px;border-radius:999px;background:#f2f2f2;text-decoration:none;color:inherit}
.events-tabs__i.is-active{background:#222;color:#fff}

/* Переключатель месяца */
.events-page__filters{margin:8px 0 18px}
.month-sw{display:flex;align-items:center;gap:10px}
.month-sw__btn{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#f2f2f2;text-decoration:none;color:inherit}
.month-sw__ttl{font-weight:600}
.month-sw__clear{font-size:12px;color:#666;text-decoration:underline;text-underline-offset:3px}

/* Группа по дню */
.evList{display:grid;gap:18px}
.evList__day{display:grid;gap:10px}
.evList__date{font-weight:700;font-size:18px}

/* Карточка события */
.evItem{
  display:grid;
  grid-template-columns: 260px 1fr;
  gap:16px;
  padding:14px;
  border-radius:16px;
  background:#fff;
  border:1px solid #eee;
  box-shadow:0 2px 12px rgba(0,0,0,.05);
  text-decoration:none;
  color:inherit;
  overflow:hidden;
}
.evItem__media{position:relative;height:160px;margin:0;overflow:hidden;border-radius:12px;background:#fff}
.evItem__img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.evItem__ph{position:absolute;inset:0;background:linear-gradient(180deg,#f3f3f3,#e9e9e9)}
.evItem__badge{position:absolute;left:8px;top:8px;font-size:12px;padding:2px 6px;border-radius:6px;background:rgba(0,0,0,.06)}
.evItem__body{display:flex;flex-direction:column;justify-content:center;gap:6px}
.evItem__time{color:#666;font-size:14px}
.evItem__title{margin:0;font-size:clamp(18px,2.2vw,22px);line-height:1.25}

@media (max-width:1024px){
  .evItem{grid-template-columns:1fr}
  .evItem__media{height:200px}
}


.museum__hero{padding:0 0 16px;background:#f7f4f0}
.museum__cover{margin:0;border-radius:20px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.museum__cover img{width:100%;height:auto;display:block}
.museum__title{margin:18px 0 4px;font-size:40px;line-height:1.1}
.museum__kicker{color:#8a7965}
.museum__content{padding:28px 0 64px}
.museum__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.museum-card{grid-column:span 6;background:#fff;border:1px solid #eee;border-radius:16px;padding:16px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
@media(max-width:900px){.museum__grid{grid-template-columns:1fr}.museum-card{grid-column:1}}
.museum-card__title{margin:0 0 12px;font-size:20px}
.museum-hours__list{margin:0;padding:0;list-style:none}
.museum-hours__row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed #eee}
.museum-card__hint{margin-top:8px;color:#8a7965;font-size:14px}
.museum-access__list{margin:0;padding-left:20px}
.tag{padding:2px 6px;border-radius:999px;font-size:12px;border:1px solid #e0d8cc;color:#8a7965}
.tag--todo{background:#f7f4f0}
.museum-map__addr{margin-bottom:10px}
.museum-map__frame iframe{border-radius:12px;border:1px solid #eee}
.museum-map__link{margin-top:8px}
.museum-gallery{margin-top:28px}
.museum-gallery__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
@media(max-width:900px){.museum-gallery__grid{grid-template-columns:repeat(2,1fr)}}
.museum-gallery__item{display:block;border-radius:12px;overflow:hidden;border:1px solid #eee}
.museum-gallery__item img{display:block;width:100%;height:auto}


.museums__title{margin:0 0 16px;font-size:40px;line-height:1.1}
.museums__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px; padding-bottom: 48px}
.museum-card{grid-column:span 6;background:#fff;border:1px solid #eee;border-radius:16px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.04)}
@media(max-width:900px){.museum-card{grid-column:1 / -1}}
.museum-card__media img{display:block;width:100%;height:260px;object-fit:cover}
.museum-card__body{padding:14px}
.museum-card__excerpt{margin:0 0 10px;color:#374151}
.museum-card__meta{display:flex;flex-direction:column;gap:4px;color:#6b7280;font-size:14px;margin-bottom:10px}
.museum-card__actions{display:flex;justify-content:flex-end}
.museum-card__btn{display:inline-block;padding:10px 14px;border-radius:10px;border:1px solid #111827;color:#111827;text-decoration:none}
.museum-card__btn:hover{background:#111827;color:#fff}

.contacts__title{margin:0 0 16px;font-size:40px;line-height:1.1}
.contacts__grid{display:grid;grid-template-columns:7fr 5fr;gap:16px}
@media(max-width:900px){.contacts__grid{grid-template-columns:1fr}}
.c-card{background:#fff;border:1px solid #eee;border-radius:16px;padding:16px;box-shadow:0 2px 10px rgba(0,0,0,.04);margin-bottom:16px}
.c-card--accent{background:#f7f4f0;border-color:#e8e0d5}
.c-card__title{margin:0 0 10px;font-size:20px}
.c-card__text{margin:0}
.c-list{margin:0;padding-left:18px}
.c-hours{margin:0;padding:0;list-style:none}
.c-hours__row{display:flex;justify-content:space-between;border-bottom:1px dashed #eee;padding:6px 0}
.c-card__hint{margin-top:8px;color:#8a7965;font-size:14px}
.c-map iframe{border-radius:12px;border:1px solid #eee}
.c-map__link{margin-top:6px}

/* Hero */
.museum2__hero{padding:0 0 20px}
.museum2__cover{margin:0;border-radius:22px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.museum2__cover img{display:block;width:100%;height:auto}
.museum2__head{margin-top:14px}
.museum2__kicker{color:#8a7965;margin-bottom:4px}
.museum2__title{margin:0;font-size:42px;line-height:1.1}

/* Layout */
.museum2__wrap{display:grid;grid-template-columns:7fr 5fr;gap:18px;margin-top:22px}
@media(max-width:900px){.museum2__wrap{grid-template-columns:1fr}}

.block{background:#fff;border:1px solid #eee;border-radius:16px;padding:18px;margin-bottom:16px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.bullet{margin:0;padding-left:18px}
.muted{color:#6b7280;font-size:14px}

/* Sidebar */
.museum2__aside .card{background:#fff;border:1px solid #eee;border-radius:16px;padding:16px;box-shadow:0 2px 10px rgba(0,0,0,.04);margin-bottom:16px}

.card__title{margin:0 0 10px;font-size:20px}
.addr{margin-bottom:8px}
.map iframe{border-radius:12px;border:1px solid #eee}
.map__link{margin-top:6px}

/* Hours */
.hours{list-style:none;margin:0;padding:0}
.hours__row{display:flex;justify-content:space-between;border-bottom:1px dashed #eee;padding:6px 0}
.hours__day{color:#374151}
.hours__time{color:#111827}

/* CTA */
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.btn{display:inline-block;padding:10px 14px;border-radius:10px;border:1px solid #111827;color:#111827;text-decoration:none}
.btn:hover{background:#111827;color:#fff}
.btn--ghost{background:#f7f4f0;border-color:#e8e0d5}

/* Gallery */
.mgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}
.mgrid__item{grid-column:span 4;border:1px solid #eee;border-radius:12px;overflow:hidden}
@media(max-width:900px){.mgrid__item{grid-column:span 6}}
.mgrid__item img{display:block;width:100%;height:180px;object-fit:cover}
.tag{padding:2px 6px;border-radius:999px;border:1px solid #e0d8cc;color:#8a7965;font-size:12px;background:#f7f4f0}

/* --- Новое: логотип на обложке --- */
.museum2__cover{position:relative}
.museum2__badge{
  position:absolute; top:16px; right:16px;
  backdrop-filter: blur(6px);
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 14px;
  padding: 10px 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
}
.museum2__logo{display:block; max-height:46px; max-width:180px; height:auto; width:auto}

/* --- Новое: логотип в сайдбаре --- */
.brandbox{display:flex; justify-content:center; align-items:center; margin-bottom:10px}
.brandbox__logo{max-width:220px; max-height:70px; object-fit:contain}


/* HERO slider */
.museum2__cover{position:relative;margin:0;border-radius:22px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.heroSlider{position:relative}
.heroSlider__track{display:flex;transition:transform .5s ease}
.heroSlider__slide{min-width:100%}
.heroSlider__slide img{display:block;width:100%;height:auto}
.heroSlider__btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:none;border-radius:10px;padding:8px 12px;background:rgba(255,255,255,.8);box-shadow:0 2px 8px rgba(0,0,0,.15);cursor:pointer}
.heroSlider__btn--prev{left:10px}
.heroSlider__btn--next{right:10px}
.heroSlider__dots{position:absolute;left:50%;transform:translateX(-50%);bottom:10px;display:flex;gap:6px;z-index:2}
.heroSlider__dots button{width:8px;height:8px;border-radius:50%;border:none;background:rgba(255,255,255,.7);box-shadow:0 1px 3px rgba(0,0,0,.2);cursor:pointer}
.heroSlider__dots button.is-active{background:#111827}

/* Галерея на всю ширину (последний блок) */
.museum2__galleryWide{margin-top:18px}
.block--wide{padding:18px;border-radius:16px;border:1px solid #eee;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.mgrid-wide{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.mgrid-wide__item{display:block;border:1px solid #eee;border-radius:12px;overflow:hidden;background:#fff}
.mgrid-wide__item img{width:100%;height:180px;object-fit:cover;display:block}
@media (max-width:900px){.mgrid-wide__item img{height:160px}}


.btn--brand{
  background:#111827; /* замените на фирменный */
  border-color:#111827;
  color:#fff;
}
.btn--brand:hover{filter:brightness(0.9)}

/* Часы — каждая пара с новой строки, выравнивание по краям */
.hours{list-style:none;margin:0;padding:0}
.hours__row{
  display:flex; justify-content:space-between; gap:12px;
  padding:4px 0; border-bottom:1px dashed rgba(0,0,0,.06);
}
.hours__row:last-child{border-bottom:0}
.hours__day{white-space:nowrap}
.hours__time{text-align:right}

/* Типографика для FEATURES (если приходит HTML) */
.typography p{margin:0 0 .75em}
.typography ul{padding-left:1.2em; margin:.5em 0}
.typography li{margin:.25em 0}

/* Карта */
.map iframe{display:block; border-radius:12px; overflow:hidden}

/* Единый размер слайдов (16:9) + обрезка по краям */
.heroSlider__slide{
  position: relative;
  aspect-ratio: 16 / 9;      /* фикс. пропорция */
  overflow: hidden;
}
.heroSlider__slide img{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;          /* заполняем кадр */
}

/* Lightbox базовый слой */
.lb{
  position:fixed; inset:0; z-index:9999;
  background:rgba(0,0,0,.85);
  display:flex; align-items:center; justify-content:center;
  padding:24px;
}
.lb[hidden]{display:none}

/* Ряд: [←]  [IMG]  [→] */
.lb__row{
  display:flex; align-items:center; justify-content:center;
  gap:12px;
  max-width:90vw; max-height:90vh;
}

/* Картинка ограничена в окне; стрелки прижаты к её краям за счёт flex */
.lb__img{
  max-width:90vw; max-height:90vh;
  border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.5);
}

/* Кнопки */
.lb__close,.lb__nav{
  border:0; cursor:pointer; color:#fff;
  background:rgba(255,255,255,.15);
  width:44px; height:44px; border-radius:10px;
  font-size:28px; line-height:1;
}
.lb__close{
  position:absolute; top:16px; right:20px;
}
.lb__close:hover,.lb__nav:hover{ background:rgba(255,255,255,.25); }

/* На узких экранах немного уменьшим кнопки и зазор */
@media (max-width: 640px){
  .lb__row{ gap:8px; }
  .lb__close,.lb__nav{ width:38px; height:38px; font-size:24px; border-radius:8px; }
}


/* По умолчанию мобильный логотип скрыт, показываем только на узких экранах */
.brandbox--mobile{ display:none; margin:12px 0 0; text-align:center; }
.brandbox--mobile .brandbox__logo{ display:inline-block; max-width:220px; height:auto; }

@media (max-width: 768px){
  .brandbox--mobile{ display:block; }
  .museum2__aside .brandbox{ display:none; }
}




/* Строка заголовка с логотипом — центрируем по высоте */
.block--about .block__titleRow{
  display:flex;
  align-items:center;              /* центр по высоте относительно лого */
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

/* Заголовок слева: растягивается, без лишних отступов */
.block--about .block__titleRow h2{
  margin:0;
  flex:1 1 auto;
  min-width:0;
  line-height:1.25;
}

/* Логотип справа: фиксируем высоту, чтобы центровка была стабильной */
.brandbox--inline{ flex:0 0 auto; }
.brandbox--inline .brandbox__logo{
  display:block;
  height:auto; width:auto;
  max-height:76px;                 /* при необходимости подкорректируй */
  object-fit:contain;
}

/* Оптическая правка: чуть «прижимаем» заголовок вниз,
   чтобы визуально совпадали центры заголовка и лого */
@media (min-width: 769px){
  .block--about .block__titleRow h2{ margin-top:4px; }   /* подбери 2–6px по вкусу */
}

/* На мобильных: логотип поменьше, тоньше отступ */
@media (max-width: 768px){
  .brandbox--inline .brandbox__logo{ max-height:56px; }
  .block--about .block__titleRow h2{ margin-top:2px; }
}
















/* Мобильное меню */
.nav-mobile {
  display: none;
}

@media (max-width: 980px) {
  .nav-mobile {
    position: fixed;
    top: 70px;
    left: 0;
    bottom: 50;
    width: 140px;
    background: var(--dz-warm);
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    padding: 30px 12px 20px;
    border-right: 1px solid #52110633;
    color: var(--dz-deep);
    z-index: 10002;
    overflow-y: auto;
    box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);
    display: block;
    border-radius: 0px 40px 40px 0px;
  }
  
  .nav-mobile.is-open {
    transform: translateX(0);

  }
  
  .nav-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 10001;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  
  .nav-overlay.is-open {
    opacity: 1;
    visibility: visible;
  }
  
  .header__burger {
    display: inline-flex;
  }
  
  .header__close {
    display: none;
    position: absolute;
    top: 20px;
    right: 10px;
    background: none;
    border: none;
    padding: 8px;
    color: var(--dz-deep);
    cursor: pointer;
    z-index: 10003;
    border-radius: 8px;
    transition: background-color 0.2s ease;
  }
  
  /* Скрываем десктопное меню на мобильных */
  .nav {
    display: none;
  }
}

/* Десктопное меню */
@media (min-width: 981px) {
  .nav-mobile,
  .nav-overlay,
  .header__burger,
  .header__close {
    display: none;
  }
  
  .nav {
    display: flex;
  }
}



/* Contacts layout */
.contacts {
  padding-top: 40px;
  padding-bottom: 60px;
}

.contacts__title {
  margin-bottom: 24px;
}

.contacts__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.contacts__left,
.contacts__right {
  display: grid;
  gap: 16px;
}

.c-card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 16px;
  padding: 20px;
}

.c-card--accent {
  background: #ffffff;
}

.c-card__title {
  margin: 0 0 12px 0;
  font-size: 18px;
  line-height: 1.3;
}

.c-card__text {
  margin: 0;
}

.c-list {
  margin: 0;
  padding-left: 18px;
}

.c-hours {
  list-style: none;
  margin: 0;
  padding: 0;
}

.c-hours__row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px dashed rgba(0,0,0,0.12);
}

.c-hours__row:last-child {
  border-bottom: none;
}

/* Map */
.c-map {
  display: grid;
  gap: 8px;
}

.c-map__canvas {
  width: 100%;
  height: 340px;
  border-radius: 12px;
  overflow: hidden;
}

.c-map__link a {
  text-decoration: underline;
}

/* Adaptive */
@media (max-width: 980px) {
  .contacts__grid {
    grid-template-columns: 1fr;
  }
}



/* Карточка с картой — сделать компактной */
.c-card--map {
  padding-bottom: 12px;        /* меньше подложки снизу */
  height: auto;                /* на случай глобального height:100% */
  min-height: 0;
}

/* Внутри карты не оставляем зазоров */
.c-card--map .c-map {
  gap: 0;
  line-height: 0;
  position: relative;          /* чтобы ссылку положить поверх */
}

/* Ссылку уносим поверх карты (не занимает место снизу) */
.c-card--map .c-map__link {
  position: absolute;
  right: 8px;
  bottom: 8px;
}
.c-card--map .c-map__link a {
  display: inline-block;
  padding-top: 6px;
  padding-right: 8px;
  padding-bottom: 6px;
  padding-left: 8px;
  font-size: 12px;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.08);
}

/* Карта как блочный элемент без «хвоста» */
.c-card--map .c-map__canvas {
  display: block;
}

/* Если где-то растягиваются элементы сетки — не растягивать карточки на всю высоту строки */
.contacts__grid {
  align-items: start;
}
.contacts .c-card {
  height: auto;                /* перекрываем возможный height:100% из общих стилей */
}






.partners__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 16px;
  align-items: center;
}

.partner {
  display: grid;
  place-items: center;
  padding-top: 14px;
  padding-right: 14px;
  padding-bottom: 14px;
  padding-left: 14px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  transition: transform 0.08s ease, box-shadow 0.2s ease;
}

.partner:hover,
.partner:focus-visible {
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}

.partner img {
  max-width: 100%;
  max-height: 64px;
  height: auto;
  display: block;
}

@media (max-width: 980px) {
  .partners__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}




  /* ===== ИНТЕРАКТИВНАЯ КАРТА ===== */

  .mapsec {
    position: relative;
    padding: 40px 0;
  }

  .mapgrid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 24px;
    align-items: stretch;
  }

  .mapph {
    position: relative;
    min-height: 420px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    background:
      radial-gradient(1200px 400px at 30% 0%, rgba(82, 17, 6, 0.06), transparent 70%),
      #f6f6f6;
  }

  .mapcanvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .maplist h2 {
    margin: 0 0 10px 0;
    font-size: 22px;
    line-height: 1.3;
  }

  .maplist ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .maplist li + li {
    margin-top: 10px;
  }

  .maplist a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
  }

  .maplist a:hover {
    text-decoration: underline;
  }

  .maplist a.is-active {
    color: var(--dz-red);
    text-decoration: underline;
    text-underline-offset: 2px;
  }

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

    .mapph {
      min-height: 360px;
    }
  }


.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #AB2510;
  color: #FFFFFF;
  padding: 16px 24px;
  z-index: 9999;
  font-size: 14px;
  line-height: 1.4;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2);
}

.cookie-banner__content {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.cookie-banner__content a {
  color: #FFE1DA;
  text-decoration: underline;
}

.cookie-banner__btn {
  background-color: #FFFFFF;
  color: #AB2510;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  cursor: pointer;
  font-weight: 600;
  transition: background-color 0.2s ease;
}

.cookie-banner__btn:hover {
  background-color: #F5EFEA;
}


/* ===== Документы (страница /documents/) ===== */

.docs {

  padding-bottom: 40px;
}

/* Заголовок страницы */
.docs .page-title,
.docs h1 {
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 34px;
  line-height: 1.2;
  letter-spacing: 0.2px;
}

/* Панель фильтров (если используется) */
.docs__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-bottom: 20px;
}

.docs__filters .filter-control {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding-top: 8px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  border: 1px solid #52110633;
  border-radius: 12px;
  background: #ffffff;
  font-size: 14px;
  line-height: 1.2;
}

/* Фильтр по разделам */
.docs-sections {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
  margin-bottom: 16px;
}

.docs-sections a {
  display: inline-flex;
  align-items: center;
  padding-top: 6px;
  padding-right: 12px;
  padding-bottom: 6px;
  padding-left: 12px;
  border: 1px solid #52110626;
  border-radius: 999px;
  background: #ffffff;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.2;
  color: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.docs-sections a:hover {
  border-color: #52110640;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}

.docs-sections a.is-active {
  border-color: #52110666;
  background: #5211060f;
  color: #521106;
  font-weight: 600;
}

.docs-sections a:focus-visible {
  outline: 2px solid var(--dz-warm, #AB2510);
  outline-offset: 2px;
  border-radius: 12px;
}

/* Список документов — всегда один столбец */
.docs-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

/* Карточка документа */
.docs-item {
  position: relative;
  border: 1px solid #5211061a;
  border-radius: 16px;
  padding-top: 14px;
  padding-right: 16px;
  padding-bottom: 14px;
  padding-left: 16px;
  background: #ffffff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
  transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.06s ease;
}

.docs-item:hover {
  border-color: #52110633;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px);
}

/* Метаданные */
.docs-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
  font-size: 13px;
  line-height: 1.2;
  color: #5b5b5b;
}

.docs-item__type {
  display: inline-flex;
  align-items: center;
  padding-top: 4px;
  padding-right: 8px;
  padding-bottom: 4px;
  padding-left: 8px;
  border-radius: 999px;
  border: 1px solid #52110626;
  background: #5211060d;
  font-weight: 600;
  color: #521106;
}

.docs-item__year {
  padding-top: 2px;
  padding-right: 6px;
  padding-bottom: 2px;
  padding-left: 6px;
  border-radius: 6px;
  background: #f5f5f5;
}

.docs-item__date,
.docs-item__reg {
  opacity: 0.9;
}

/* Заголовок с нумерацией */
.docs-item__title {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 18px;
  line-height: 1.3;
}

.docs-item__title > span:first-child {
  display: inline-block;
  min-width: 24px;
  padding-top: 2px;
  padding-right: 6px;
  padding-bottom: 2px;
  padding-left: 6px;
  border-radius: 8px;
  background: #f6f2f1;
  color: #521106;
  font-size: 14px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.2px;
  text-align: center;
}

.docs-item__title a {
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease, color 0.2s ease;
  color: inherit;
}

.docs-item__title a:hover {
  border-color: #52110640;
  color: #521106;
}

/* Бейдж формата/размера файла (если выводите) */
.docs-filebadge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding-top: 3px;
  padding-right: 8px;
  padding-bottom: 3px;
  padding-left: 8px;
  border-radius: 999px;
  background: #521106;
  color: #ffffff;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.3px;
}

/* Подвал карточки */
.docs-item__foot {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  color: #6b6b6b;
}

/* Пагинация */
.docs-pager {
  margin-top: 20px;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
}

.docs-pager a,
.docs-pager span {
  display: inline-flex;
  min-width: 36px;
  height: 36px;
  padding-left: 10px;
  padding-right: 10px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: 1px solid #52110626;
  background: #ffffff;
  text-decoration: none;
  font-size: 14px;
}

.docs-pager .current {
  border-color: #52110666;
  background: #5211060f;
  color: #521106;
  font-weight: 600;
}

/* Адаптив: только типографика */
@media (min-width: 720px) {
  .docs .page-title,
  .docs h1 {
    font-size: 38px;
  }
  .docs-item__title {
    font-size: 20px;
  }
}

/* Доступность */
@media (prefers-reduced-motion: reduce) {
  .docs-sections a,
  .docs-item__title a {
    transition: none;
  }
}



/* ===== Вакансии ===== */

.vac {

  padding-bottom: 40px;
}

.vac .page-title,
.vac h1 {
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 34px;
  line-height: 1.2;
  letter-spacing: 0.2px;
}

/* Фильтры */
.vac-filters {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-bottom: 16px;
}

.vac-filters__group {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: center;
}

.vac-filters__label {
  font-size: 14px;
  color: #666;
}

.vac-sections {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.vac-sections a {
  display: inline-flex;
  align-items: center;
  padding-top: 6px;
  padding-right: 12px;
  padding-bottom: 6px;
  padding-left: 12px;
  border: 1px solid #52110626;
  border-radius: 999px;
  background: #ffffff;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.2;
  color: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.vac-sections a:hover {
  border-color: #52110640;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}

.vac-sections a.is-active {
  border-color: #52110666;
  background: #5211060f;
  color: #521106;
  font-weight: 600;
}

.vac-sections a:focus-visible {
  outline: 2px solid var(--dz-warm, #AB2510);
  outline-offset: 2px;
  border-radius: 12px;
}

/* Список — один столбец */
.vac-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

/* Карточка */
.vac-item {
  position: relative;
  border: 1px solid #5211061a;
  border-radius: 16px;
  padding-top: 14px;
  padding-right: 16px;
  padding-bottom: 14px;
  padding-left: 16px;
  background: #ffffff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
  transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.06s ease;
}

.vac-item:hover {
  border-color: #52110633;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px);
}

/* Шапка карточки */
.vac-item__head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: baseline;
}

.vac-item__title {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 0;
  margin-bottom: 6px;
  font-size: 18px;
  line-height: 1.3;
}

.vac-item__title > span:first-child {
  display: inline-block;
  min-width: 24px;
  padding-top: 2px;
  padding-right: 6px;
  padding-bottom: 2px;
  padding-left: 6px;
  border-radius: 8px;
  background: #f6f2f1;
  color: #521106;
  font-size: 14px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.2px;
  text-align: center;
}

.vac-item__salary {
  font-weight: 700;
  color: #1d4f2b;
}

/* Метаданные и контакты */
.vac-item__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
  font-size: 13px;
  line-height: 1.2;
  color: #5b5b5b;
}

.vac-badge {
  display: inline-flex;
  align-items: center;
  padding-top: 3px;
  padding-right: 8px;
  padding-bottom: 3px;
  padding-left: 8px;
  border-radius: 999px;
  border: 1px solid #52110626;
  background: #5211060d;
  color: #521106;
  font-weight: 600;
  font-size: 12px;
}

.vac-badge--muted {
  background: #f1f1f1;
  color: #444;
  border-color: #0000001a;
}

.vac-deadline {
  opacity: 0.9;
}

.vac-item__contacts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 8px;
}

.vac-link {
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease, color 0.2s ease;
  color: inherit;
}

.vac-link:hover {
  border-color: #52110640;
  color: #521106;
}

/* Пагинация */
.vac-pager {
  margin-top: 20px;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
}

.vac-pager a,
.vac-pager span {
  display: inline-flex;
  min-width: 36px;
  height: 36px;
  padding-left: 10px;
  padding-right: 10px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: 1px solid #52110626;
  background: #ffffff;
  text-decoration: none;
  font-size: 14px;
}

/* Адаптив: только типографика */
@media (min-width: 720px) {
  .vac .page-title,
  .vac h1 {
    font-size: 38px;
  }
  .vac-item__title {
    font-size: 20px;
  }
}


/* Кнопка-«шапка» карточки (чтобы вся верхняя строка была кликабельной) */
.vac-item__toggle {
  display: grid;
  grid-template-columns: 1fr auto 20px; /* заголовок | зарплата | стрелка */
  gap: 8px;
  width: 100%;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  align-items: baseline;
}

/* Стрелка-подсказка */
.vac-item__chev {
  width: 16px;
  height: 16px;
  display: inline-block;
  transform: rotate(0deg);
  transition: transform 0.2s ease;
  position: relative;
}
.vac-item__chev::before {
  content: "";
  position: absolute;
  inset: 3px 4px 3px 4px;
  border-style: solid;
  border-width: 0 2px 2px 0;
  border-color: currentColor;
  transform: rotate(45deg);
}

/* Тело карточки (по умолчанию скрыто атрибутом hidden) */
.vac-item__body {
  margin-top: 10px;
  border-top: 1px dashed #52110633;
  padding-top: 10px;
}

.vac-item.is-open .vac-item__chev {
  transform: rotate(180deg);
}

/* Текст внутри раскрытия */
.vac-item__text {
  font-size: 16px;
  line-height: 1.6;
}
.vac-item__text--muted {
  color: #6b6b6b;
}



.visit-phones {
  margin-top: 16px;
  padding-top: 8px;
  border-top: 1px dashed rgba(82, 17, 6, 0.2);
}

.visit-phones__title {
  margin: 0 0 8px 0;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.4;
  color: var(--dz-text-strong, #2b2422);
}

.visit-phones__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.visit-phones__item {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  padding: 6px 0;
}

.visit-phones__label {
  font-weight: 500;
  color: var(--dz-text-muted, #5a4b47);
}

.visit-phones__link {
  text-decoration: none;
  color: var(--dz-accent, #AB2510);
}

.visit-phones__link:hover,
.visit-phones__link:focus {
  text-decoration: underline;
  outline: none;
}

@media (min-width: 720px) {
  .visit-phones__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 24px;
  }
}

.visit-phones__list {
  grid-template-columns: 1fr !important;
}


.mgrid-wide__item--hidden {
  display: none;
}

.mgrid-wide__morewrap {
  margin-top: 16px;
  display: flex;
  justify-content: center;
}

.mgrid-wide__morebtn {
  cursor: pointer;
}

.mgrid-wide__item--hidden {
  display: none;
}

.mgrid-wide[data-expanded="true"] .mgrid-wide__item--hidden {
  display: block;
}








/* ===== Мемориалы: каркас ===== */

.memorials {
  padding: 24px 0 48px;
}

.memorials__title {
  margin: 0 0 16px 0;
  font-size: 32px;
  line-height: 1.2;
  font-weight: 700;
}

.memorials__toolbar {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 16px;
}

.memorials__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mfilter {
  padding: 8px 12px;
  border: 1px solid #52110633;
  background: #ffffff;
  border-radius: 10px;
  cursor: pointer;
  transition: box-shadow 0.2s ease, background 0.2s ease;
}

.mfilter.is-active {
  background: #f3eae7;
  box-shadow: 0 1px 0 rgba(82, 17, 6, 0.2) inset;
}

.memorials__search input[type="search"] {
  width: 260px;
  max-width: 100%;
  padding: 10px 12px;
  border: 1px solid #52110633;
  border-radius: 10px;
  outline: none;
}

.memorials__stats {
  font-size: 14px;
  color: #00000099;
}

.memorials__layout {
  display: grid;
  grid-template-columns: 1fr minmax(360px, 1fr);
  gap: 16px;
}

/* ===== Список как документы ===== */

.memorials__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  align-content: start;
}

.memorial-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 6px 12px;
  padding: 12px 14px;
  border: 1px solid #52110633;
  border-radius: 12px;
  background: #ffffff;
  transition: box-shadow 0.2s ease, transform 0.1s ease;
}

.memorial-row:hover {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px);
}

.memorial-row.is-active {
  outline: 2px solid #ab2510;
  outline-offset: 2px;
}

.memorial-row__title {
  min-width: 0;
}

.memorial-row__link {
  display: inline-block;
  max-width: 100%;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  font-weight: 600;
}

.memorial-row__link:hover {
  border-bottom-color: #52110633;
}

.memorial-row__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
}

.memorial-row__loc {
  font-size: 14px;
  color: #00000099;
}

.memorial-row__tag {
  display: inline-block;
  font-size: 12px;
  color: #521106;
  background: #f3eae7;
  border: 1px solid #52110633;
  border-radius: 999px;
  padding: 2px 8px;
  line-height: 20px;
}

/* Кнопка "Показать на карте" */
.memorial-row__showonmap {
  margin-left: auto;
  padding: 8px 10px;
  border: 1px solid #52110633;
  background: #ffffff;
  border-radius: 10px;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}

.memorial-row__showonmap::before {
  content: "📍";
  margin-right: 6px;
}

.memorial-row__showonmap:hover {
  background: #f9f4f2;
  box-shadow: 0 1px 0 rgba(82, 17, 6, 0.15) inset;
}

/* ===== Карта справа ===== */

.memorials__mapwrap {
  position: sticky;
  top: 20px;
  height: calc(100vh - 160px);
  min-height: 420px;
}

.memorials__map {
  width: 100%;
  height: 100%;
  border-radius: 16px;
  border: 1px solid #52110633;
  overflow: hidden;
}

/* ===== Адаптив ===== */

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

  .memorials__mapwrap {
    position: relative;
    height: 380px;
  }
}

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

  .memorial-row {
    grid-template-columns: 1fr;
  }

  .memorial-row__showonmap {
    width: 100%;
    text-align: center;
    margin-left: 0;
  }
}






.shop {
    padding-top: 40px;
    padding-bottom: 60px;
}

.shop__inner {
    position: relative;
}

.shop-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    margin-bottom: 24px;
}

.shop-header__titles {
    max-width: 640px;
}

.shop__title {
    margin: 0 0 12px 0;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 700;
}

.shop__subtitle {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    color: #555555;
}

.shop-header__cart {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    text-decoration: none;
    background-color: #981702;
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    transition: background-color 0.15s ease, transform 0.1s ease;
}

.shop-header__cart:hover {
    background-color: #7b1202;
}

.shop-header__cart:active {
    transform: translateY(1px);
}

.shop-header__cart-icon {
    display: flex;
    width: 18px;
    height: 18px;
}

.shop-header__cart-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.shop-header__cart-text {
    line-height: 1;
}

@media (max-width: 768px) {
    .shop-header {
        flex-direction: column;
        align-items: stretch;
    }

    .shop-header__cart {
        align-self: flex-start;
    }

    .shop__title {
        font-size: 26px;
    }
}
