/* Раскрывающаяся навигация и города */
.header,.header.is-stuck{overflow:visible; contain:none}
.brand__logo-link{display:flex; flex:none}
.brand__text{display:flex; flex-direction:column; gap:3px}
.city-select{position:relative; color:#44363e; font-size:13px}
@media(min-width:1800px){
 .brand__text{flex-direction:row; align-items:center; gap:24px}
 .city-select--header{flex:none}
}
.city-select summary,.header-drop summary,.nav-nested summary,.mobile-drop summary{list-style:none; cursor:pointer}
.city-select summary::-webkit-details-marker,.header-drop summary::-webkit-details-marker,.nav-nested summary::-webkit-details-marker,.mobile-drop summary::-webkit-details-marker{display:none}
.city-select>summary{display:flex; align-items:center; gap:5px; width:max-content; min-height:22px}
.city-select svg,.header-drop svg,.mobile-drop svg{width:14px; height:14px; flex:none}
.city-select__panel{position:absolute; top:100%; left:0; z-index:10; min-width:190px; padding:10px; border:1px solid #e5d9de; border-radius:10px; background:#fff; box-shadow:0 10px 30px #2d14231a}
.city-select__panel a{display:block; padding:8px; white-space:nowrap}
.city-select__panel a:hover{color:#a15e74}
.header-drop{position:relative}
.header-drop[open]>summary{background:#f7e5ec!important}
.header-drop>.drop-panel{position:absolute; top:calc(100% + 8px); left:0; width:290px; z-index:10; padding:10px; border:1px solid #e5d9de; border-radius:12px; background:#fff; color:#34282f; box-shadow:0 16px 45px #2d14232b}
.drop-list{list-style:none; padding:0; margin:0}
.drop-list a,.drop-all,.nav-nested>summary{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border-radius:7px; font:inherit; font-size:14px; line-height:1.45; text-decoration:none}
.drop-list a:hover,.drop-all:hover,.nav-nested>summary:hover{background:#faf0f4; color:#a15e74}
.drop-all{border-bottom:1px solid #eadde3; border-radius:0; margin-bottom:4px; font-weight:600}
.nav-nested>.drop-list{margin:4px 0 8px 12px; padding-left:6px; border-left:1px solid #e5cbd5}
.header-drop .nav-nested{position:relative}
.header-drop .nav-nested>.drop-list{position:absolute; top:-10px; left:100%; width:270px; max-height:calc(100vh - 170px); overflow-y:auto; margin:0; padding:10px; border:1px solid #e5d9de; border-radius:12px; background:#fff; box-shadow:0 16px 45px #2d14232b}
.nav-nested[open]>summary svg,.header-drop[open]>summary svg,.city-select[open]>summary svg{transform:rotate(180deg)}
.header-drop summary:focus-visible,.city-select summary:focus-visible,.mobile-drop summary:focus-visible,.drop-list a:focus-visible{outline:2px solid #ad667d; outline-offset:2px}
.mobile-drop__summary{display:flex; align-items:center; gap:14px; padding:9px 0; font-family:var(--f-head); font-size:clamp(22px,6.2vw,30px); border-bottom:1px solid #e5d9de; color:#34282f}
.mobile-drop__summary>svg{margin-left:auto; width:18px; height:18px}
.mmenu .drop-panel{padding:8px 0 12px 20px}
.mmenu{background:#FAF6F4}
.mmenu .drop-panel a,.mmenu .nav-nested>summary{opacity:1; transform:none; font-family:var(--f-body); font-size:15px; padding:10px; border:0; color:#51424a; transition:none}
.mmenu .nav-nested>summary svg{width:14px; height:14px}
.city-select--mobile{align-self:flex-start; flex:none; margin-bottom:20px; font-size:17px}
.city-select--mobile .city-select__panel{position:static; margin-top:6px; box-shadow:none}
.mmenu__panel>nav{flex:none}
@media(max-width:720px){
 .brand{flex-direction:column; align-items:flex-start; gap:0; padding:5px 0}
 .brand__logo{height:24px}
 .brand__text{gap:0}
 .city-select--header{font-size:11px}
 .city-select--header>summary{min-height:18px}
 .header__inner{gap:8px}
 .header__actions{gap:6px}
 .phone{padding-inline:10px}
 .mmenu__panel{padding-top:76px; justify-content:flex-start}
}
/* Статьи: единый горизонтальный слайдер на всех экранах. */
.blog__inner{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px}
.blog__head{display:contents}
.blog__title{grid-column:1; grid-row:1; order:initial; max-width:26ch; margin:0}
.blog__controls{display:flex; grid-column:2; grid-row:1; order:initial; align-self:end; align-items:center; gap:10px; margin:0}
.blog__count{font-size:14px; color:#62575d; font-variant-numeric:tabular-nums; white-space:nowrap}
.blog__controls button{font-size:22px}
.blog__grid{display:flex; grid-column:1/-1; grid-row:2; order:initial; width:100%; min-width:0; overflow-x:auto; overflow-y:hidden; gap:22px; margin:0; padding:0 0 6px; scroll-padding:0; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none}
.blog__grid::-webkit-scrollbar{display:none}
.blog__grid>.post{flex:0 0 calc((100% - 44px) / 3); min-width:0; scroll-snap-align:start; opacity:1; transform:none; transition:none}
.blog__grid>.post:last-child{scroll-snap-align:end}
.blog .blog__grid .post__media{aspect-ratio:16/11}
.blog__all{grid-column:1/-1; grid-row:3; order:initial; justify-self:center; width:auto; margin:0}
@media(max-width:1000px){
 .blog__grid>.post{flex-basis:calc((100% - 22px) / 2)}
}
@media(max-width:720px){
 .blog__inner{grid-template-columns:minmax(0,1fr); gap:20px}
 .blog__title{grid-column:1; grid-row:1}
 .blog__controls{grid-column:1; grid-row:2}
 .blog__grid{grid-row:3; gap:14px}
 .blog__grid>.post{flex-basis:88%}
 .blog__all{grid-row:4; width:100%; margin-bottom:28px}
 .blog__grid .post__tag{letter-spacing:0; font-size:11px}
}
