/* ==========================================================================
   ProdMir — оформление публичной части
   Шрифты: Unbounded (заголовки), Golos Text (текст и интерфейс)
   ========================================================================== */

@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/golos-text-cyrillic-400-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116,U+20BD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/golos-text-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+2074,U+20AC,U+2122,U+2212}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/golos-text-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116,U+20BD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/golos-text-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+2074,U+20AC,U+2122,U+2212}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/golos-text-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116,U+20BD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/golos-text-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+2074,U+20AC,U+2122,U+2212}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/golos-text-cyrillic-700-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116,U+20BD}
@font-face{font-family:'Golos Text';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/golos-text-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+2074,U+20AC,U+2122,U+2212}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/unbounded-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116,U+20BD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/unbounded-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+2074,U+20AC,U+2122,U+2212}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/unbounded-cyrillic-700-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116,U+20BD}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/unbounded-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+2074,U+20AC,U+2122,U+2212}

/* --------------------------------------------------------------------------
   1. Переменные
   -------------------------------------------------------------------------- */
:root{
  --pm-ink:#12211b;
  --pm-pine:#1d4a39;
  --pm-pine-dark:#16382b;
  --pm-pine-soft:#e6ede9;
  --pm-brass:#b8862b;
  --pm-brass-soft:#f5ead2;
  --pm-tomato:#c4402f;
  --pm-bg:#f3f5f2;
  --pm-card:#fff;
  --pm-line:#e0e4de;
  --pm-muted:#5e6b64;

  --pm-radius:14px;
  --pm-radius-sm:9px;
  --pm-shadow:0 1px 2px rgba(18,33,27,.05),0 8px 24px -14px rgba(18,33,27,.22);
  --pm-shadow-lift:0 4px 10px rgba(18,33,27,.07),0 18px 40px -20px rgba(18,33,27,.3);

  --bs-primary:#1d4a39;
  --bs-primary-rgb:29,74,57;
  --bs-body-color:#1b2b24;
  --bs-body-bg:#f3f5f2;
  --bs-border-color:#e0e4de;
  --bs-link-color:#1d4a39;
  --bs-link-hover-color:#b8862b;
  --bs-border-radius:14px;
  --bs-font-sans-serif:'Golos Text',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}

/* --------------------------------------------------------------------------
   2. База
   -------------------------------------------------------------------------- */
body{
  font-family:'Golos Text',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  background:var(--pm-bg);
  color:#1b2b24;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;min-height:100vh;
}
main{flex:1 0 auto}
h1,h2,h3,.pm-display{font-family:'Unbounded','Golos Text',sans-serif;font-weight:600;letter-spacing:-.02em;color:var(--pm-ink);line-height:1.18}
h1{font-size:clamp(1.7rem,1.15rem + 1.9vw,2.65rem)}
h2{font-size:clamp(1.35rem,1.05rem + 1.1vw,1.95rem)}
h3{font-size:clamp(1.1rem,1rem + .45vw,1.3rem)}
h4,h5,h6{font-family:'Golos Text',sans-serif;font-weight:600;color:var(--pm-ink)}
a{text-decoration:none;transition:color .15s ease}
a:hover{color:var(--pm-brass)}
:focus-visible{outline:2px solid var(--pm-brass);outline-offset:2px;border-radius:4px}
img{max-width:100%}
.container{max-width:1240px}
::selection{background:var(--pm-brass-soft);color:var(--pm-ink)}

.pm-muted{color:var(--pm-muted)}
.pm-tabnum{font-variant-numeric:tabular-nums}
.pm-section{padding:clamp(2.2rem,1.4rem + 2.4vw,3.6rem) 0}
.pm-section--tight{padding:1.8rem 0}

/* Заголовок раздела с латунной чертой */
.pm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}
.pm-head__eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--pm-brass);display:flex;align-items:center;gap:.55rem;margin-bottom:.45rem}
.pm-head__eyebrow::before{content:'';width:26px;height:2px;background:var(--pm-brass);display:block}
.pm-head__link{font-size:.92rem;font-weight:600;color:var(--pm-pine);white-space:nowrap}
.pm-head__link i{transition:transform .15s ease}
.pm-head__link:hover i{transform:translateX(3px)}

/* --------------------------------------------------------------------------
   3. Шапка
   -------------------------------------------------------------------------- */
.pm-topbar{background:var(--pm-ink);color:rgba(255,255,255,.72);font-size:.83rem;padding:.4rem 0}
.pm-topbar a{color:rgba(255,255,255,.72)}
.pm-topbar a:hover{color:#fff}

.pm-header{background:var(--pm-pine);position:sticky;top:0;z-index:1030;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.pm-header .navbar{padding-top:.6rem;padding-bottom:.6rem}
.pm-logo{font-family:'Unbounded',sans-serif;font-weight:700;font-size:1.32rem;letter-spacing:-.03em;color:#fff;display:inline-flex;align-items:baseline;gap:.1em}
.pm-logo:hover{color:#fff}
.pm-logo span{color:var(--pm-brass)}
.pm-logo small{display:block;font-family:'Golos Text',sans-serif;font-weight:500;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:-2px}
.pm-nav .nav-link{color:rgba(255,255,255,.85);font-weight:500;font-size:.95rem;padding:.45rem .85rem;border-radius:99px}
.pm-nav .nav-link:hover{color:#fff;background:rgba(255,255,255,.09)}
.pm-nav .nav-link.active{color:var(--pm-ink);background:var(--pm-brass)}
.pm-header .navbar-toggler{border-color:rgba(255,255,255,.3);color:#fff;padding:.3rem .55rem}
.pm-header .navbar-toggler:focus{box-shadow:none}

/* --------------------------------------------------------------------------
   4. Кнопки
   -------------------------------------------------------------------------- */
.btn{font-weight:600;border-radius:99px;padding:.6rem 1.35rem;transition:transform .12s ease,box-shadow .15s ease,background-color .15s ease}
.btn-lg{padding:.8rem 1.8rem;font-size:1rem}
.btn-sm{padding:.36rem .9rem;font-size:.86rem}
.btn-primary{--bs-btn-bg:var(--pm-pine);--bs-btn-border-color:var(--pm-pine);--bs-btn-hover-bg:var(--pm-pine-dark);--bs-btn-hover-border-color:var(--pm-pine-dark);--bs-btn-active-bg:var(--pm-pine-dark);--bs-btn-disabled-bg:var(--pm-pine);--bs-btn-disabled-border-color:var(--pm-pine)}
.btn-brass{--bs-btn-color:#231a06;--bs-btn-bg:var(--pm-brass);--bs-btn-border-color:var(--pm-brass);--bs-btn-hover-color:#231a06;--bs-btn-hover-bg:#a5771f;--bs-btn-hover-border-color:#a5771f;--bs-btn-active-bg:#a5771f;--bs-btn-active-color:#231a06}
.btn-outline-pine{--bs-btn-color:var(--pm-pine);--bs-btn-border-color:var(--pm-line);--bs-btn-bg:#fff;--bs-btn-hover-color:var(--pm-pine);--bs-btn-hover-bg:var(--pm-pine-soft);--bs-btn-hover-border-color:var(--pm-pine);--bs-btn-active-bg:var(--pm-pine-soft);--bs-btn-active-color:var(--pm-pine);--bs-btn-active-border-color:var(--pm-pine)}
.btn-light-ghost{--bs-btn-color:#fff;--bs-btn-border-color:rgba(255,255,255,.4);--bs-btn-hover-color:var(--pm-ink);--bs-btn-hover-bg:#fff;--bs-btn-hover-border-color:#fff}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}

/* --------------------------------------------------------------------------
   5. Первый экран
   -------------------------------------------------------------------------- */
.pm-hero{background:var(--pm-pine);color:#fff;padding:clamp(2.4rem,1.4rem + 3.4vw,4.4rem) 0 clamp(3.4rem,2rem + 4vw,5.4rem);position:relative;overflow:hidden}
.pm-hero::after{content:'';position:absolute;inset:auto -10% -60% 40%;height:340px;background:radial-gradient(ellipse at center,rgba(184,134,43,.28),transparent 62%);pointer-events:none}
.pm-hero__eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--pm-brass);margin-bottom:.9rem}
.pm-hero h1{color:#fff;max-width:16ch}
.pm-hero__lead{color:rgba(255,255,255,.82);font-size:1.06rem;max-width:52ch;margin-top:.9rem}
.pm-hero__stats{display:flex;flex-wrap:wrap;gap:2rem;margin-top:2rem;position:relative;z-index:1}
.pm-hero__stat b{display:block;font-family:'Unbounded',sans-serif;font-size:1.55rem;font-weight:600;color:var(--pm-brass);line-height:1}
.pm-hero__stat span{font-size:.86rem;color:rgba(255,255,255,.7)}

/* Строка поиска */
.pm-search{background:#fff;border-radius:var(--pm-radius);padding:.5rem;box-shadow:var(--pm-shadow-lift);display:flex;gap:.5rem;flex-wrap:wrap;position:relative;z-index:2}
.pm-search .form-control,.pm-search .form-select{border:0;box-shadow:none;font-size:1rem;padding:.7rem .9rem;background:transparent}
.pm-search .form-select{padding-right:2.3rem;background-image:var(--bs-form-select-bg-img);background-repeat:no-repeat;background-position:right .8rem center;background-size:14px 10px}
.pm-search .form-control:focus,.pm-search .form-select:focus{box-shadow:none;background-color:var(--pm-bg);border-radius:var(--pm-radius-sm)}
.pm-search__field{flex:1 1 240px;min-width:0;display:flex;align-items:center;gap:.5rem;padding-left:.7rem}
.pm-search__field i{color:var(--pm-muted);font-size:1.05rem}
.pm-search__div{width:1px;background:var(--pm-line);margin:.5rem 0}
.pm-search .btn{flex:0 0 auto}
@media(max-width:575.98px){.pm-search__div{display:none}.pm-search .btn{width:100%}}

/* --------------------------------------------------------------------------
   6. Карточка заведения
   -------------------------------------------------------------------------- */
.pm-card{background:var(--pm-card);border-radius:var(--pm-radius);border:1px solid var(--pm-line);overflow:hidden;height:100%;display:flex;flex-direction:column;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}
.pm-card:hover{box-shadow:var(--pm-shadow-lift);transform:translateY(-3px);border-color:transparent}
.pm-card__media{position:relative;aspect-ratio:16/10;background:var(--pm-pine-soft);overflow:hidden;display:block}
.pm-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.pm-card:hover .pm-card__media img{transform:scale(1.045)}
.pm-card__body{padding:1rem 1.1rem 1.15rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.pm-card__type{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--pm-brass)}
.pm-card__title{font-family:'Golos Text',sans-serif;font-size:1.09rem;font-weight:600;line-height:1.3;margin:0}
.pm-card__title a{color:var(--pm-ink)}
.pm-card__title a:hover{color:var(--pm-pine)}
.pm-card__desc{font-size:.9rem;color:var(--pm-muted);line-height:1.5;margin:0}
.pm-card__meta{display:flex;flex-wrap:wrap;gap:.35rem .9rem;font-size:.85rem;color:var(--pm-muted);margin-top:auto;padding-top:.5rem}
.pm-card__meta i{color:var(--pm-pine);opacity:.7}
.pm-card__foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;border-top:1px solid var(--pm-line);padding:.65rem 1.1rem;background:#fbfcfb}

/* Оценка редакции */
.pm-rating{display:inline-flex;align-items:center;gap:.3rem;background:var(--pm-brass);color:#231a06;font-weight:700;font-size:.86rem;padding:.2rem .5rem;border-radius:7px;font-variant-numeric:tabular-nums}
.pm-rating i{font-size:.78rem}
.pm-card__media .pm-rating{position:absolute;left:.7rem;top:.7rem;box-shadow:0 3px 10px rgba(0,0,0,.25)}

/* Уровень цен ₽₽₽ */
.pm-price{font-weight:600;letter-spacing:.02em;color:#c6ccc7;font-size:.95rem}
.pm-price .on{color:var(--pm-pine)}

/* Метка «открыто сейчас» — фирменный элемент */
.pm-status{display:inline-flex;align-items:center;gap:.4rem;font-size:.84rem;font-weight:600;white-space:nowrap}
.pm-status::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}
.pm-status--open{color:#1a7a4c}
.pm-status--open::before{box-shadow:0 0 0 0 rgba(26,122,76,.5);animation:pmPulse 2.4s infinite}
.pm-status--closed{color:#9aa39d}
.pm-status small{font-weight:500;color:var(--pm-muted)}
@keyframes pmPulse{0%{box-shadow:0 0 0 0 rgba(26,122,76,.45)}70%{box-shadow:0 0 0 7px rgba(26,122,76,0)}100%{box-shadow:0 0 0 0 rgba(26,122,76,0)}}
@media(prefers-reduced-motion:reduce){.pm-status--open::before{animation:none}.pm-card,.pm-card__media img,.btn{transition:none}}

/* Метки поверх фото */
.pm-flags{position:absolute;right:.7rem;top:.7rem;display:flex;flex-direction:column;gap:.35rem;align-items:flex-end}
.pm-flag{font-size:.73rem;font-weight:600;padding:.22rem .55rem;border-radius:7px;background:rgba(18,33,27,.82);color:#fff;backdrop-filter:blur(4px)}
.pm-flag--promo{background:var(--pm-tomato)}
.pm-flag--pick{background:var(--pm-brass);color:#231a06}

/* Станции метро */
.pm-metro{display:inline-flex;align-items:center;gap:.3rem;font-size:.84rem;color:var(--pm-muted)}
.pm-metro::before{content:'';width:9px;height:9px;border-radius:50%;background:var(--metro-color,#8a8a8a);flex:0 0 auto}

/* --------------------------------------------------------------------------
   7. Фильтры
   -------------------------------------------------------------------------- */
.pm-filters{background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-radius);padding:1.15rem}
.pm-filters__group + .pm-filters__group{margin-top:1.15rem;padding-top:1.15rem;border-top:1px solid var(--pm-line)}
.pm-filters__label{font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--pm-muted);margin-bottom:.6rem}
.pm-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.pm-chip{display:inline-flex;align-items:center;gap:.35rem;background:#fff;border:1px solid var(--pm-line);color:#2c3a33;font-size:.88rem;font-weight:500;padding:.34rem .8rem;border-radius:99px;transition:.15s ease;line-height:1.45}
.pm-chip:hover{border-color:var(--pm-pine);color:var(--pm-pine)}
.pm-chip.is-on{background:var(--pm-pine);border-color:var(--pm-pine);color:#fff}
.pm-chip.is-on:hover{color:#fff;background:var(--pm-pine-dark)}
.pm-chip small{opacity:.6;font-variant-numeric:tabular-nums}
.pm-chip.is-on small{opacity:.75}
.pm-chip--clear{border-style:dashed;color:var(--pm-muted)}

.pm-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:1.2rem}
.pm-toolbar__count{font-size:.95rem;color:var(--pm-muted)}
.pm-toolbar__count b{color:var(--pm-ink)}

/* Компактная плитка справочника */
.pm-tile{display:flex;align-items:center;gap:.8rem;background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-radius-sm);padding:.85rem 1rem;color:var(--pm-ink);font-weight:600;transition:.16s ease;height:100%}
.pm-tile:hover{border-color:var(--pm-pine);color:var(--pm-pine);transform:translateY(-2px);box-shadow:var(--pm-shadow)}
.pm-tile i{font-size:1.35rem;color:var(--pm-brass);flex:0 0 auto}
.pm-tile small{display:block;font-weight:500;font-size:.8rem;color:var(--pm-muted);font-variant-numeric:tabular-nums}

/* --------------------------------------------------------------------------
   8. Страница заведения
   -------------------------------------------------------------------------- */
.pm-crumbs{font-size:.85rem;color:var(--pm-muted);padding:.9rem 0}
.pm-crumbs a{color:var(--pm-muted)}
.pm-crumbs a:hover{color:var(--pm-pine)}
.pm-crumbs li + li::before{content:'/';padding:0 .5rem;color:#b9c2bc}

.pm-gallery{border-radius:var(--pm-radius);overflow:hidden;background:var(--pm-pine-soft)}
.pm-gallery__main{aspect-ratio:16/9;width:100%;object-fit:cover;display:block}
.pm-gallery__thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.5rem;margin-top:.5rem}
.pm-gallery__thumbs img{aspect-ratio:1;object-fit:cover;border-radius:var(--pm-radius-sm);cursor:pointer;width:100%;border:2px solid transparent;transition:.15s ease}
.pm-gallery__thumbs img:hover,.pm-gallery__thumbs img.is-on{border-color:var(--pm-brass)}

.pm-panel{background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-radius);padding:1.35rem}
.pm-panel + .pm-panel{margin-top:1.1rem}
.pm-panel__title{font-family:'Golos Text',sans-serif;font-size:1.05rem;font-weight:600;margin-bottom:.9rem;display:flex;align-items:center;gap:.5rem}
.pm-panel__title i{color:var(--pm-brass)}

.pm-facts{display:grid;gap:.7rem}
.pm-fact{display:flex;gap:.75rem;font-size:.94rem}
.pm-fact i{color:var(--pm-pine);opacity:.65;flex:0 0 1.1rem;margin-top:.18rem}
.pm-fact b{display:block;font-weight:600}
.pm-fact span{color:var(--pm-muted);font-size:.87rem}

.pm-hours{width:100%;font-size:.92rem}
.pm-hours td{padding:.28rem 0;border:0}
.pm-hours td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.pm-hours tr.is-today{font-weight:600;color:var(--pm-pine)}
.pm-hours .is-off{color:#a6afa9}

.pm-menu__cat{font-family:'Golos Text',sans-serif;font-size:1.02rem;font-weight:600;margin:1.6rem 0 .7rem;padding-bottom:.4rem;border-bottom:2px solid var(--pm-brass-soft);display:flex;justify-content:space-between;align-items:baseline}
.pm-menu__cat:first-child{margin-top:0}
.pm-menu__cat span{font-size:.8rem;font-weight:500;color:var(--pm-muted)}
.pm-dish{display:flex;gap:.9rem;padding:.7rem 0;border-bottom:1px dashed var(--pm-line)}
.pm-dish:last-child{border-bottom:0}
.pm-dish__img{width:64px;height:64px;border-radius:var(--pm-radius-sm);object-fit:cover;flex:0 0 auto}
.pm-dish__name{font-weight:600;font-size:.97rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.pm-dish__desc{font-size:.86rem;color:var(--pm-muted);line-height:1.45}
.pm-dish__price{margin-left:auto;text-align:right;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;padding-left:.5rem}
.pm-dish__price s{display:block;font-weight:500;font-size:.82rem;color:#a6afa9}
.pm-tag{font-size:.68rem;font-weight:600;padding:.1rem .4rem;border-radius:5px;background:var(--pm-pine-soft);color:var(--pm-pine);letter-spacing:.02em}
.pm-tag--hit{background:var(--pm-brass-soft);color:#7c5a14}
.pm-tag--spicy{background:#fbe4e0;color:var(--pm-tomato)}

.pm-sticky{position:sticky;top:88px}

/* Акция */
.pm-promo{background:linear-gradient(150deg,#fff 55%,var(--pm-brass-soft));border:1px solid var(--pm-line);border-left:3px solid var(--pm-tomato);border-radius:var(--pm-radius-sm);padding:.9rem 1.1rem}
.pm-promo__label{font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--pm-tomato)}
.pm-promo__code{font-family:ui-monospace,'SF Mono',Consolas,monospace;font-weight:700;background:#fff;border:1px dashed var(--pm-tomato);color:var(--pm-tomato);padding:.15rem .5rem;border-radius:6px;letter-spacing:.06em}

/* Текст статьи */
.pm-prose{font-size:1.03rem;line-height:1.72;color:#23342c}
.pm-prose h2{font-size:1.45rem;margin:2rem 0 .8rem}
.pm-prose h3{font-size:1.18rem;margin:1.6rem 0 .6rem}
.pm-prose p{margin-bottom:1.1rem}
.pm-prose ul,.pm-prose ol{margin-bottom:1.1rem;padding-left:1.3rem}
.pm-prose li{margin-bottom:.4rem}
.pm-prose img{border-radius:var(--pm-radius);margin:1.2rem 0}
.pm-prose blockquote{border-left:3px solid var(--pm-brass);padding:.2rem 0 .2rem 1.1rem;margin:1.4rem 0;color:var(--pm-muted);font-size:1.05rem}
.pm-prose table{width:100%;margin-bottom:1.2rem;border-collapse:collapse}
.pm-prose th,.pm-prose td{border:1px solid var(--pm-line);padding:.5rem .7rem;text-align:left}
.pm-prose th{background:var(--pm-pine-soft);font-weight:600}
.pm-prose a{color:var(--pm-pine);text-decoration:underline;text-underline-offset:3px}
.pm-prose iframe{max-width:100%;border-radius:var(--pm-radius);border:0}

/* --------------------------------------------------------------------------
   9. Формы
   -------------------------------------------------------------------------- */
.form-control,.form-select{border-color:var(--pm-line);border-radius:var(--pm-radius-sm);padding:.6rem .85rem;font-size:.97rem}
/* у выпадающих списков справа нужно место под стрелку, иначе текст лезет под неё */
.form-select{padding-right:2.4rem;background-position:right .85rem center}
.form-select-sm{padding-right:2.1rem;background-position:right .7rem center}
.form-control:focus,.form-select:focus{border-color:var(--pm-pine);box-shadow:0 0 0 3px rgba(29,74,57,.12)}
.form-label{font-weight:600;font-size:.9rem;margin-bottom:.35rem}
.form-check-input:checked{background-color:var(--pm-pine);border-color:var(--pm-pine)}
.form-check-input:focus{border-color:var(--pm-pine);box-shadow:0 0 0 3px rgba(29,74,57,.12)}
.pm-consent{font-size:.82rem;color:var(--pm-muted);line-height:1.5}
.pm-consent a{color:var(--pm-pine);text-decoration:underline}
.pm-formcard{background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-radius);padding:1.5rem}

/* --------------------------------------------------------------------------
   10. Подвал
   -------------------------------------------------------------------------- */
.pm-footer{background:var(--pm-ink);color:rgba(255,255,255,.66);padding:3rem 0 1.6rem;margin-top:3rem;font-size:.92rem}
.pm-footer h5{color:#fff;font-size:.79rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;margin-bottom:1rem}
.pm-footer a{color:rgba(255,255,255,.66)}
.pm-footer a:hover{color:var(--pm-brass)}
.pm-footer ul{list-style:none;padding:0;margin:0}
.pm-footer li{margin-bottom:.5rem}
.pm-footer__legal{border-top:1px solid rgba(255,255,255,.11);margin-top:2.2rem;padding-top:1.4rem;font-size:.81rem;color:rgba(255,255,255,.45);line-height:1.65}
.pm-footer__legal b{color:rgba(255,255,255,.7);font-weight:600}

/* Плашка про куки */
.pm-cookie{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1080;background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-radius);box-shadow:var(--pm-shadow-lift);padding:1.1rem 1.3rem;max-width:640px;margin:0 auto;display:none}
.pm-cookie.is-visible{display:block;animation:pmUp .35s ease}
@keyframes pmUp{from{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}
.pm-cookie p{font-size:.88rem;color:var(--pm-muted);margin-bottom:.9rem;line-height:1.55}

/* --------------------------------------------------------------------------
   11. Прочее
   -------------------------------------------------------------------------- */
.pagination{--bs-pagination-color:var(--pm-pine);--bs-pagination-active-bg:var(--pm-pine);--bs-pagination-active-border-color:var(--pm-pine);--bs-pagination-border-color:var(--pm-line);--bs-pagination-hover-color:var(--pm-pine);--bs-pagination-hover-bg:var(--pm-pine-soft);--bs-pagination-border-radius:9px;gap:.3rem}
.page-link{font-weight:600;min-width:40px;text-align:center}

.pm-empty{background:#fff;border:1px dashed var(--pm-line);border-radius:var(--pm-radius);padding:2.8rem 1.5rem;text-align:center}
.pm-empty i{font-size:2.2rem;color:var(--pm-brass);opacity:.6}
.pm-empty h3{font-family:'Golos Text',sans-serif;font-size:1.1rem;margin:.9rem 0 .4rem}

.pm-note{background:var(--pm-pine-soft);border-radius:var(--pm-radius-sm);padding:.85rem 1rem;font-size:.86rem;color:#2c3a33;display:flex;gap:.6rem;line-height:1.5}
.pm-note i{color:var(--pm-pine);flex:0 0 auto;margin-top:.15rem}

.pm-cta{background:var(--pm-pine);color:#fff;border-radius:var(--pm-radius);padding:clamp(1.6rem,1rem + 2vw,2.6rem);position:relative;overflow:hidden}
.pm-cta::after{content:'';position:absolute;right:-40px;top:-60px;width:260px;height:260px;border-radius:50%;background:rgba(184,134,43,.2)}
.pm-cta h2{color:#fff;position:relative;z-index:1}
.pm-cta p{color:rgba(255,255,255,.78);position:relative;z-index:1;max-width:56ch}

.pm-vacancy{background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-radius);padding:1.35rem;height:100%;display:flex;flex-direction:column;transition:.16s ease}
.pm-vacancy:hover{box-shadow:var(--pm-shadow);border-color:var(--pm-pine)}
.pm-vacancy__salary{font-family:'Unbounded',sans-serif;font-size:1.05rem;font-weight:600;color:var(--pm-pine)}

.pm-skip{position:absolute;left:-9999px;top:0;background:var(--pm-brass);color:#231a06;padding:.6rem 1rem;z-index:2000;font-weight:600;border-radius:0 0 8px 0}
.pm-skip:focus{left:0}

@media(max-width:991.98px){
  .pm-sticky{position:static}
  .pm-header{position:static}
}

/* Крупный материал в ленте блога */
.pm-lead-post{display:grid;grid-template-columns:1.15fr 1fr;background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-radius);overflow:hidden;transition:box-shadow .18s ease}
.pm-lead-post:hover{box-shadow:var(--pm-shadow-lift)}
.pm-lead-post__media{display:block;overflow:hidden;background:var(--pm-pine-soft)}
.pm-lead-post__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;min-height:260px}
.pm-lead-post:hover .pm-lead-post__media img{transform:scale(1.035)}
.pm-lead-post__body{padding:clamp(1.2rem,.8rem + 1.4vw,2rem);display:flex;flex-direction:column;justify-content:center}
.pm-lead-post__body h2{font-size:clamp(1.25rem,1.05rem + .8vw,1.7rem);line-height:1.22}
.pm-lead-post__body h2 a{color:var(--pm-ink)}
.pm-lead-post__body h2 a:hover{color:var(--pm-pine)}
@media(max-width:767.98px){
  .pm-lead-post{grid-template-columns:1fr}
  .pm-lead-post__media img{min-height:0;aspect-ratio:16/10}
}

/* Логотип: знак, разделительная черта, подпись */
.pm-logo{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none}
.pm-logo__mark{display:block;height:48px;width:auto;flex:0 0 auto}
.pm-logo__text{display:flex;flex-direction:column;justify-content:center;padding-left:.7rem;border-left:1px solid rgba(255,255,255,.28);line-height:1}
.pm-logo__name{font-family:'Unbounded',sans-serif;font-weight:700;font-size:1.32rem;letter-spacing:-.03em;color:var(--pm-brass)}
.pm-logo__name span{color:var(--pm-brass)}
.pm-logo small{display:flex;align-items:center;gap:.4rem;font-family:'Golos Text',sans-serif;font-weight:500;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-top:.32rem}
.pm-logo small i{width:4px;height:4px;border-radius:50%;background:var(--pm-brass);display:block;flex:0 0 auto}
.pm-footer .pm-logo__mark{height:44px}
.pm-footer .pm-logo__text{border-left-color:rgba(255,255,255,.2)}
@media(max-width:575.98px){
  .pm-logo__mark{height:38px}
  .pm-logo__name{font-size:1.1rem}
  .pm-logo small{font-size:.56rem;letter-spacing:.1em}
}

/* Подсказки в поиске */
.pm-search__field{position:relative}
.pm-suggest{
  position:absolute;left:0;right:0;top:calc(100% + .55rem);z-index:1050;
  background:#fff;border:1px solid var(--pm-line);border-radius:var(--pm-radius);
  box-shadow:var(--pm-shadow-lift);overflow:hidden;max-height:66vh;overflow-y:auto;
  min-width:320px;
}
.pm-suggest[hidden]{display:none}
.pm-suggest__group{padding:.5rem 0}
.pm-suggest__group + .pm-suggest__group{border-top:1px solid var(--pm-line)}
.pm-suggest__title{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pm-muted);padding:.35rem 1rem}
.pm-suggest__item{
  display:flex;align-items:center;gap:.65rem;padding:.5rem 1rem;color:var(--pm-ink);
  font-size:.95rem;cursor:pointer;text-decoration:none;
}
.pm-suggest__item:hover,.pm-suggest__item.is-on{background:var(--pm-pine-soft);color:var(--pm-pine)}
.pm-suggest__item i{color:var(--pm-brass);flex:0 0 auto;font-size:1rem}
.pm-suggest__item b{font-weight:600}
.pm-suggest__item small{color:var(--pm-muted);margin-left:auto;font-size:.8rem;white-space:nowrap;padding-left:.5rem}
.pm-suggest__all{display:block;padding:.65rem 1rem;background:#fbfcfb;border-top:1px solid var(--pm-line);font-weight:600;font-size:.9rem;color:var(--pm-pine);text-align:center}
.pm-suggest__all:hover{background:var(--pm-pine-soft)}
.pm-suggest__empty{padding:1rem;color:var(--pm-muted);font-size:.9rem;text-align:center}
.pm-suggest mark{background:var(--pm-brass-soft);color:inherit;padding:0 .1em;border-radius:3px}
@media(max-width:575.98px){.pm-suggest{min-width:0;left:-.5rem;right:-.5rem}}

/* Если график ещё не подтверждён — предлагаем позвонить */
.pm-status--call{color:var(--pm-pine);text-decoration:none}
.pm-status--call::before{display:none}
.pm-status--call i{font-size:.8rem}
.pm-status--call:hover{color:var(--pm-brass)}

/* Пометка «данные ориентировочные» */
.pm-approx{color:#a6afa9;font-weight:600;font-size:.9rem;cursor:help;margin-left:.15rem}

/* Подборка: карточка и комментарий редакции — одним блоком равной высоты */
.pm-collection-item{display:flex;flex-direction:column;height:100%}
.pm-collection-item .pm-card{flex:1}
.pm-collection-item__note{margin-top:.6rem;border-radius:var(--pm-radius-sm)}

/* Удобства по разделам справочника */
.pm-featgroup + .pm-featgroup{margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--pm-line)}
.pm-featgroup__title{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pm-muted);margin-bottom:.55rem}
.pm-feat{display:flex;align-items:center;gap:.5rem;font-size:.94rem}
.pm-feat i{color:var(--pm-brass);font-size:1rem;flex:0 0 auto}

/* ==========================================================================
   Страница материала: собственная сетка.
   Раньше колонки держались на классах Bootstrap. Если файл со стилями
   доезжает на сервер не полностью, сетка рассыпается и боковая колонка
   наезжает на текст. Своя разметка от этого не зависит.
   ========================================================================== */
/* align-items оставляем по умолчанию (stretch): иначе боковая колонка
   сожмётся по содержимому и position:sticky внутри неё не сработает */
.pm-post{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:2rem}
.pm-post__main{min-width:0}          /* без этого длинное слово растягивает колонку */
.pm-post__side{min-width:0;position:relative}
.pm-post__main img,
.pm-post__main iframe,
.pm-post__main video,
.pm-post__main table{max-width:100%}
.pm-prose{min-width:0;overflow-wrap:break-word;word-break:break-word}
/* редакторы вставляют картинки с жёсткой шириной вида style="width:2400px"
   — она обязана уступать ширине колонки, иначе страница едет вбок */
.pm-prose img,
.pm-prose video,
.pm-prose iframe,
.pm-prose embed,
.pm-prose object{max-width:100%!important;height:auto}
.pm-prose pre{white-space:pre-wrap;word-break:break-word}
/* широкая таблица прокручивается внутри себя, а не растягивает страницу */
.pm-prose table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.pm-prose figure{max-width:100%;margin:1.2rem 0}
.pm-prose figure img{width:100%}
@media(max-width:1199.98px){
  .pm-post{grid-template-columns:minmax(0,1fr) 330px;gap:1.5rem}
}
@media(max-width:991.98px){
  .pm-post{grid-template-columns:minmax(0,1fr);gap:1.75rem}
}

/* Ничто не должно вылезать за экран по горизонтали.
   overflow-x здесь ставить нельзя: он ломает position:sticky
   у боковой колонки. Ограничиваем сами элементы. */
img,svg,video,iframe{max-width:100%}
