/* Стили блочной главной (core-блоки со своими классами). Дизайн-токены — tokens.css. */

/* Контейнер и секции */
.ncontainer { max-width: var(--container); margin-inline: auto; padding-inline: var(--gap); }
.nsec { padding-block: var(--section-pad); }
.nsec--soft { background: var(--color-bg-soft); }
.nsec--dark { background: var(--color-bg-dark); color: var(--color-text-invert); }
.nsec--dark :where(h2,p) { color: var(--color-text-invert); }
.nsec--accent { background: var(--color-primary); color:#fff; text-align:center; }
.nsec--accent :where(h2,p){ color:#fff; }

/* Надзаголовок и заголовки секций */
.neyebrow { font-size: var(--fs-small); letter-spacing:.14em; text-transform:uppercase; color: var(--color-accent); font-weight:600; margin-bottom:.6rem; }
.nsec h2, .nhero h1 { font-family: var(--font-head); }
.nsec h2 { font-size: var(--fs-h2); margin-bottom: .8rem; color: var(--color-text); }
.nsec__intro { color: var(--color-text-muted); max-width: 680px; }

/* HERO (core/group .nhero, фон через CSS) */
.nhero {
  min-height: clamp(420px, 70vh, 640px); display:flex; align-items:center; color:#fff;
  background: linear-gradient(180deg, rgba(15,42,63,.55) 0%, rgba(15,42,63,.4) 40%, rgba(15,42,63,.78) 100%), url("../img/hero-building.jpg") center/cover no-repeat;
}
.nhero h1 { font-size: var(--fs-hero); color:#fff; margin-bottom:1.2rem; max-width: 760px; text-shadow:0 2px 24px rgba(0,0,0,.3); }
.nhero .nhero__lead { font-size:1.2rem; color:rgba(255,255,255,.92); max-width:560px; margin-bottom:2rem; }
.nhero .neyebrow { color: var(--color-accent); }
.nsec--dark .neyebrow, .ninfra .neyebrow { color: var(--color-accent); }

/* Кнопки внутри блочных секций (core/buttons) */
.nsec .wp-block-button__link, .nhero .wp-block-button__link {
  border-radius: var(--radius-pill); padding:.8rem 1.6rem; font-weight:600; border:1px solid transparent;
}
.wp-block-button.is-style-primary .wp-block-button__link, .nbtn-primary .wp-block-button__link {
  background: var(--color-accent); color:#1d2b36; box-shadow: var(--shadow);
}
.nbtn-ghost .wp-block-button__link { background:transparent; color:#fff; border-color: currentColor; }

/* ПРЕИМУЩЕСТВА (core/columns .nperks) */
.nperks { gap: var(--gap) !important; }
.nperks .wp-block-column {
  background: var(--color-surface); border:1px solid var(--color-line); border-radius: var(--radius);
  padding: 1.6rem 1rem; text-align:center; box-shadow: var(--shadow-sm);
}
.nperks .wp-block-column p { margin:0; color: var(--color-text-muted); font-size: var(--fs-small); }
.nperks .wp-block-column p strong { display:block; font-size:1.05rem; color: var(--color-text); margin:.4rem 0 .2rem; }
.nperks .nperk-ico { font-size: 2rem; line-height:1; }

/* О ПАНСИОНАТЕ / РАСПОЛОЖЕНИЕ (2 колонки) */
.ncols2 { gap: clamp(1.5rem,4vw,3rem) !important; align-items:center; }
.ncols2 img { border-radius: var(--radius-lg); box-shadow: var(--shadow); width:100%; height:auto; }
.nstats { gap: var(--gap) !important; margin-top:1.5rem; }
.nstats .wp-block-column p { margin:0; }
.nstats .nstat-num { font-family: var(--font-head); font-size:1.6rem; color: var(--color-primary); font-weight:700; display:block; }
.nplace ul { margin:1rem 0 0; padding-left:1.1rem; }
.nplace li { color: var(--color-text-muted); margin-bottom:.5rem; }

/* ИНФРАСТРУКТУРА (core/group .ninfra, фон через CSS) */
.ninfra {
  color:#fff;
  background: linear-gradient(120deg, rgba(15,42,63,.88), rgba(15,42,63,.6)), url("../img/infra.jpg") center/cover no-repeat;
}
.ninfra h2 { color:#fff; max-width:560px; }
.ninfra ul { columns: 2; list-style:none; padding:0; margin:0; color:#fff; }
.ninfra li { padding:.45rem 0; font-size:1.02rem; }

/* КОНТАКТЫ/НОМЕРА — рендерятся шорткодами (стили из style.css): .contact/.rooms */
.nsec .contact, .nsec .rooms { margin-top: 1.5rem; }

/* Страницы номера/корпуса (single) */
.single__back a { color: var(--color-text-muted); font-size: var(--fs-small); }
.single h1 { font-family: var(--font-head); font-size: clamp(1.8rem,4vw,2.8rem); margin:.4rem 0; }
.single .eyebrow a { color: var(--color-accent); }
.single__meta { display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; margin-top:1rem; }
.single__price b { font-size:1.6rem; color: var(--color-primary); }
.single__price span { color: var(--color-text-muted); }
.single__cap { background: var(--color-bg-soft); color: var(--color-text-muted); padding:.3rem .8rem; border-radius: var(--radius-pill); font-size:.85rem; }
.single__tags { margin-top:1rem; }
.single__cover { padding-block: 0 !important; margin-top: calc(-1 * var(--section-pad)/2); }
.single__cover-img, .single__content img { width:100%; height:auto; border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.single__content { max-width: 820px; }
.single__content h2 { font-family: var(--font-head); font-size: var(--fs-h3); margin:1.6rem 0 .6rem; }
.single__content p, .single__content li { color: var(--color-text-muted); line-height:1.75; margin-bottom:1rem; }
.single__content .wp-block-gallery img { border-radius: var(--radius); }
.single__cta { text-align:center; }
.single__phone a { font-size:1.5rem; font-weight:700; color:#fff; }

/* === Страница номера (букинг-стиль) === */
.rp-gallery { margin: 1rem 0 2rem; }
.rp-gallery__main img { width:100%; height:clamp(280px,46vw,520px); object-fit:cover; border-radius:var(--radius-lg); box-shadow:var(--shadow); cursor:zoom-in; display:block; }
.rp-gallery__thumbs { display:flex; gap:.6rem; flex-wrap:wrap; margin-top:.8rem; }
.rp-thumb { border:2px solid transparent; padding:0; background:none; border-radius:var(--radius-sm); overflow:hidden; cursor:pointer; width:96px; height:70px; }
.rp-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.rp-thumb.is-active { border-color:var(--color-accent); }

.rp-grid { display:grid; grid-template-columns: 1fr 340px; gap: clamp(1.5rem,4vw,3rem); align-items:start; }
.rp-main h1 { font-family:var(--font-head); font-size:clamp(1.8rem,4vw,2.8rem); margin:.2rem 0 1rem; }
.rp-main .eyebrow a { color:var(--color-accent); }
.rp-facts { display:grid; grid-template-columns:repeat(2,1fr); gap:.8rem; margin:1.2rem 0 1.6rem; }
.rp-fact { background:#fff; border:1px solid var(--color-line); border-radius:var(--radius); padding:.7rem 1rem; }
.rp-fact__k { display:block; font-size:.78rem; color:var(--color-text-muted); }
.rp-fact__v { font-weight:600; }
.rp-desc p, .rp-desc li { color:var(--color-text-muted); line-height:1.75; margin-bottom:1rem; }
.rp-h2 { font-family:var(--font-head); font-size:var(--fs-h3); margin:1.6rem 0 .8rem; }

.rp-aside { position:relative; }
.rp-card { position:sticky; top:90px; background:#fff; border:1px solid var(--color-line); border-radius:var(--radius-lg); box-shadow:var(--shadow); padding:1.4rem; }
.rp-card__price b { font-size:1.8rem; color:var(--color-primary); }
.rp-card__price span { color:var(--color-text-muted); margin-left:.3rem; }
.rp-card__cap { margin:.6rem 0 1rem; }
.rp-card__cap small { color:var(--color-text-muted); }
.rp-card__btn { width:100%; justify-content:center; }
.rp-card__phone { display:block; text-align:center; margin-top:.7rem; font-weight:600; color:var(--color-primary); }
.rp-card__note { margin-top:.8rem; font-size:.8rem; color:var(--color-text-muted); }

.rp-lightbox { position:fixed; inset:0; background:rgba(10,20,30,.92); display:none; align-items:center; justify-content:center; z-index:1000; cursor:zoom-out; }
.rp-lightbox.is-open { display:flex; }
.rp-lightbox img { max-width:92vw; max-height:88vh; border-radius:var(--radius); }
.rp-lightbox__close { position:absolute; top:1rem; right:1.2rem; background:none; border:0; color:#fff; font-size:2rem; cursor:pointer; }

@media (max-width:860px){ .rp-grid{ grid-template-columns:1fr; } .rp-card{ position:static; } }

/* === Страница номера: галерея слева + детали справа (компактно) === */
.rp2 { padding-block: clamp(1.4rem,3.5vw,2.4rem) !important; }
.rp2-top { display:grid; grid-template-columns: 1.15fr .85fr; gap: clamp(1.2rem,3vw,2.2rem); align-items:start; margin-top:.6rem; }
.rp2-gallery .rp-gallery__main img { height: clamp(240px,34vw,400px); }
.rp2-info h1 { font-family:var(--font-head); font-size: clamp(1.5rem,3vw,2.1rem); margin:.2rem 0 .6rem; }
.rp2-info .eyebrow { margin-bottom:.2rem; } .rp2-info .eyebrow a { color:var(--color-accent); }
.rp2-price b { font-size:1.5rem; color:var(--color-primary); }
.rp2-price span { color:var(--color-text-muted); }
.rp2-facts { list-style:none; padding:0; margin:1rem 0; border:1px solid var(--color-line); border-radius:var(--radius); background:#fff; }
.rp2-facts li { display:flex; justify-content:space-between; gap:1rem; padding:.55rem .9rem; border-top:1px solid var(--color-line); font-size:.95rem; }
.rp2-facts li:first-child { border-top:0; }
.rp2-facts li span { color:var(--color-text-muted); }
.rp2-facts a { color:var(--color-primary); }
.rp2-tags { margin:.8rem 0 1rem; }
.rp2-btn { width:100%; justify-content:center; }
.rp2-phone { display:block; text-align:center; margin-top:.6rem; font-weight:600; color:var(--color-primary); }
.rp2-note { margin-top:.7rem; font-size:.8rem; color:var(--color-text-muted); text-align:center; }
.rp2-desc { max-width:820px; }
.rp2-desc p, .rp2-desc li { color:var(--color-text-muted); line-height:1.75; }
@media (max-width:860px){ .rp2-top{ grid-template-columns:1fr; } }

/* === Страница номера v3: название сверху, фото+миниатюры, инфо, справа цены === */
.rp3 { padding-block: clamp(1.4rem,3.5vw,2.4rem) !important; }
.rp3-bld { margin-bottom:0; } .rp3-bld a { color:var(--color-accent); }
.rp3-title { font-family:var(--font-head); font-size:clamp(1.8rem,4vw,2.6rem); margin:.2rem 0 1.2rem; }
.rp3-grid { display:grid; grid-template-columns: 1fr 320px; gap:clamp(1.5rem,4vw,2.5rem); align-items:start; }

.rp3-gallery { display:grid; grid-template-columns: 1fr 92px; gap:.6rem; }
.rp3-gallery .rp-gallery__main img { width:100%; height:clamp(300px,40vw,460px); object-fit:cover; border-radius:var(--radius-lg); box-shadow:var(--shadow); cursor:zoom-in; display:block; }
.rp3-thumbs { display:flex; flex-direction:column; gap:.6rem; }
.rp3-thumbs .rp-thumb { width:100%; height:72px; }

.rp3-params { display:flex; gap:1.6rem; flex-wrap:wrap; margin:1.4rem 0; padding:1rem 0; border-top:1px solid var(--color-line); border-bottom:1px solid var(--color-line); }
.rp3-param { display:flex; align-items:center; gap:.5rem; font-weight:600; }
.rp3-param__ico { font-size:1.2rem; }
.rp3-h2 { font-family:var(--font-head); font-size:var(--fs-h3); margin:1.4rem 0 .7rem; }
.rp3-tags { margin-bottom:.5rem; }
.rp3-desc p, .rp3-desc li { color:var(--color-text-muted); line-height:1.75; }

.rp3-aside { position:relative; }
.rp3-card { position:sticky; top:90px; background:#fff; border:1px solid var(--color-line); border-radius:var(--radius-lg); box-shadow:var(--shadow); padding:1.3rem; }
.rp3-card__head { font-size:.85rem; color:var(--color-text-muted); margin-bottom:.4rem; }
.rp3-seasons { list-style:none; padding:0; margin:0 0 1rem; }
.rp3-seasons li { display:flex; justify-content:space-between; padding:.5rem 0; border-top:1px solid var(--color-line); }
.rp3-seasons li:first-child { border-top:0; }
.rp3-seasons b { color:var(--color-primary); }
.rp3-card__price b { font-size:1.7rem; color:var(--color-primary); }
.rp3-card__price span { color:var(--color-text-muted); display:block; }
.rp3-card__btn { width:100%; justify-content:center; margin-top:.4rem; }
.rp3-card__phone { display:block; text-align:center; margin-top:.6rem; font-weight:600; color:var(--color-primary); }
.rp3-card__note { margin-top:.7rem; font-size:.78rem; color:var(--color-text-muted); text-align:center; }

@media (max-width:860px){
  .rp3-grid { grid-template-columns:1fr; }
  .rp3-card { position:static; }
  .rp3-gallery { grid-template-columns:1fr; }
  .rp3-thumbs { flex-direction:row; flex-wrap:wrap; }
  .rp3-thumbs .rp-thumb { width:84px; }
}

/* Карточки номеров: ровная высота + метаданные + превью-точки */
.rooms .room { display:flex; flex-direction:column; }
.rooms .room__body { display:flex; flex-direction:column; flex:1; }
.rooms .room__foot { margin-top:auto; }
.rooms .room__body h3 { margin-bottom:.5rem; line-height:1.25; }
.rooms .room__body h3 a { color:var(--color-text); }
/* факты — отдельной строкой с разделителем */
.room__meta { display:flex; flex-wrap:wrap; gap:.35rem .8rem; font-size:.83rem; color:var(--color-text); font-weight:500; margin:0 0 .75rem; padding-bottom:.75rem; border-bottom:1px solid var(--color-line); }
.room__meta span { white-space:nowrap; }
/* описание — ровно 2 строки */
.rooms .room__desc { margin:0 0 .85rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
/* теги-чипы отделены, низ с ценой над линией */
.rooms .room__tags { gap:.35rem; margin:0 0 1rem; }
.rooms .room__foot { padding-top:.9rem; border-top:1px solid var(--color-line); }
.room__media { position:relative; display:block; }
.room__dots { position:absolute; left:50%; bottom:.5rem; transform:translateX(-50%); display:flex; gap:5px; z-index:2; }
.room__dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.55); box-shadow:0 0 2px rgba(0,0,0,.4); transition:background .15s; }
.room__dot.is-on { background:#fff; }

/* Группы на странице «Все номера» */
.ar-group { font-family:var(--font-head); font-size:var(--fs-h3); color:var(--color-text); margin:2.2rem 0 1rem; }
.ar-group:first-child { margin-top:.5rem; }

/* Форма бронирования */
.nk-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.bk { max-width:760px; }
.bk-sec { background:#fff; border:1px solid var(--color-line); border-radius:var(--radius); padding:1.2rem 1.3rem; margin-bottom:1.1rem; box-shadow:var(--shadow-sm); }
.bk-h { font-family:var(--font-head); font-size:1.15rem; margin:0 0 .9rem; }
.bk-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:.8rem 1rem; }
.bk .field { margin-bottom:.8rem; }
.bk .field label { display:block; font-size:.8rem; color:var(--color-text-muted); margin-bottom:.3rem; }
.bk .field input, .bk .field select, .bk .field textarea { width:100%; padding:.6rem .7rem; border:1px solid var(--color-line); border-radius:var(--radius-sm); font:inherit; background:#fff; color:var(--color-text); }
.bk-children { display:flex; flex-wrap:wrap; gap:.6rem; margin:.2rem 0 .4rem; }
.bk-child { display:flex; align-items:center; gap:.4rem; font-size:.88rem; color:var(--color-text-muted); }
.bk-child select { padding:.45rem .55rem; border:1px solid var(--color-line); border-radius:var(--radius-sm); font:inherit; }
.bk-childnote { font-size:.8rem; color:var(--color-text-muted); margin:.2rem 0 0; }
.bk-hint { color:var(--color-text-muted); }
/* карточки подбора номера */
.bk-rooms { display:flex; flex-direction:column; gap:.7rem; }
.bk-room { display:flex; align-items:center; gap:.9rem; text-align:left; width:100%; background:#fff; border:1px solid var(--color-line); border-radius:var(--radius); padding:.6rem; cursor:pointer; transition:border-color .15s, box-shadow .15s; }
.bk-room:hover { border-color:var(--color-accent); }
.bk-room.is-sel { border-color:var(--color-primary); box-shadow:0 0 0 2px var(--color-primary) inset; }
.bk-room__img { position:relative; width:110px; height:84px; border:0; padding:0; border-radius:var(--radius-sm); background:var(--color-bg-soft) center/cover no-repeat; flex:none; cursor:zoom-in; overflow:hidden; }
.bk-room__zoom { position:absolute; left:0; right:0; bottom:0; font-size:.68rem; color:#fff; background:rgba(15,42,63,.6); padding:2px 0; text-align:center; opacity:0; transition:opacity .15s; }
.bk-room__img:hover .bk-room__zoom { opacity:1; }
.bk-room__b { display:flex; flex-direction:column; gap:.15rem; flex:1; min-width:0; }
.bk-room__t { font-weight:600; }
.bk-room__m { font-size:.8rem; color:var(--color-text-muted); }
.bk-room__p { font-weight:700; color:var(--color-primary); } .bk-room__p small { color:var(--color-text-muted); font-weight:400; }
.bk-room__pick { flex:none; align-self:center; display:flex; align-items:center; gap:.45rem; font-size:.85rem; color:var(--color-text-muted); border:1px solid var(--color-line); border-radius:var(--radius-pill); padding:.35rem .85rem; }
.bk-radio { width:15px; height:15px; border-radius:50%; border:2px solid var(--color-line); flex:none; }
.bk-room.is-sel { border-color:var(--color-primary); box-shadow:0 0 0 2px var(--color-primary) inset; }
.bk-room.is-sel .bk-room__pick { background:var(--color-primary); color:#fff; border-color:var(--color-primary); }
.bk-room.is-sel .bk-radio { border-color:#fff; background:radial-gradient(circle, #fff 45%, transparent 47%); }

/* Модалка номера */
.bk-modal { position:fixed; inset:0; z-index:1100; background:rgba(10,20,30,.8); display:flex; align-items:flex-start; justify-content:center; overflow:auto; padding:4vh 1rem; }
.bk-modal__box { background:#fff; border-radius:var(--radius-lg); max-width:640px; width:100%; padding:1.3rem; position:relative; box-shadow:var(--shadow-lg); }
.bk-modal__x { position:absolute; top:.7rem; right:.7rem; z-index:2; width:38px; height:38px; display:flex; align-items:center; justify-content:center; background:#fff; border:0; border-radius:50%; font-size:1.3rem; line-height:1; cursor:pointer; color:var(--color-text); box-shadow:0 2px 8px rgba(15,42,63,.35); transition:background .15s, color .15s; }
.bk-modal__x:hover { background:var(--color-primary); color:#fff; }
.bk-modal__main { width:100%; height:clamp(220px,42vw,360px); object-fit:cover; border-radius:var(--radius); }
.bk-modal__thumbs { display:flex; gap:.45rem; flex-wrap:wrap; margin-top:.5rem; }
.bk-modal__th { width:64px; height:48px; padding:0; border:2px solid transparent; border-radius:var(--radius-sm); overflow:hidden; cursor:pointer; background:none; }
.bk-modal__th img { width:100%; height:100%; object-fit:cover; }
.bk-modal__th.is-on { border-color:var(--color-accent); }
.bk-modal__t { font-family:var(--font-head); font-size:1.4rem; margin:.8rem 0 .3rem; }
.bk-modal__facts { color:var(--color-text-muted); font-size:.9rem; margin-bottom:.6rem; }
.bk-modal__desc { color:var(--color-text-muted); line-height:1.7; }
.bk-modal__price { font-weight:700; color:var(--color-primary); font-size:1.2rem; margin:.6rem 0; } .bk-modal__price small { color:var(--color-text-muted); font-weight:400; }
.bk-modal__act { display:flex; gap:.7rem; flex-wrap:wrap; margin-top:.4rem; }

/* Фильтр номеров */
.bk-total { background:var(--color-bg-soft); border-radius:var(--radius-sm); padding:.8rem 1rem; margin:.4rem 0 1rem; }
.bk-total b { font-size:1.3rem; color:var(--color-primary); } .bk-total span { color:var(--color-text-muted); font-size:.9rem; }
.bk-warn { color:#b3261e; font-weight:600; }
/* экран благодарности после отправки */
.bk-thanks { background:#fff; border:1px solid var(--color-line); border-radius:var(--radius); padding:2.6rem 1.6rem; text-align:center; box-shadow:var(--shadow-sm); max-width:560px; color:var(--color-text); }
.bk-thanks__ico { width:64px; height:64px; border-radius:50%; background:var(--color-success); color:#fff; font-size:2rem; display:flex; align-items:center; justify-content:center; margin:0 auto 1.1rem; }
.bk-thanks h3 { font-family:var(--font-head); font-size:1.5rem; margin:0 0 .6rem; color:var(--color-text); }
.bk-thanks p { color:var(--color-text-muted); line-height:1.65; margin:.3rem 0; }
.bk-thanks__note { font-size:.85rem; }
.bk-msg { margin-top:1rem; padding:.85rem 1rem; border-radius:var(--radius-sm); font-size:.95rem; }
.bk-msg.is-ok { background:#e8f5ee; color:#1d6b43; border:1px solid #bfe3cd; }
.bk-msg.is-err { background:#fdecec; color:#b3261e; border:1px solid #f3c2c0; }
@media (max-width:600px){ .bk-grid2 { grid-template-columns:1fr; } .bk-room__pick { display:none; } }

/* Фильтр номеров */
.rf { display:flex; flex-wrap:wrap; align-items:flex-end; gap:.8rem 1rem; background:#fff; border:1px solid var(--color-line); border-radius:var(--radius); padding:1rem 1.2rem; margin-bottom:1.6rem; box-shadow:var(--shadow-sm); }
.rf__field { display:flex; flex-direction:column; gap:.3rem; }
.rf__field label { font-size:.76rem; color:var(--color-text-muted); }
.rf__field select, .rf__field input { padding:.5rem .7rem; border:1px solid var(--color-line); border-radius:var(--radius-sm); font:inherit; font-size:.92rem; background:#fff; color:var(--color-text); min-width:130px; }
.rf__field input { max-width:130px; }
.rf__reset { background:transparent; border:1px solid var(--color-line); color:var(--color-text-muted); border-radius:var(--radius-sm); padding:.55rem 1rem; cursor:pointer; font-size:.9rem; }
.rf__reset:hover { color:var(--color-primary); border-color:var(--color-primary); }
.rf__empty { text-align:center; color:var(--color-text-muted); padding:2.5rem 0; }
@media (max-width:600px){ .rf__field { flex:1 1 45%; } .rf__field select, .rf__field input { min-width:0; width:100%; max-width:none; } }

/* === Лайтбокс с листанием (lightbox.js) === */
.nlb { position:fixed; inset:0; background:rgba(10,20,30,.94); z-index:1000; display:flex; align-items:center; justify-content:center; }
.nlb__img { max-width:90vw; max-height:88vh; border-radius:var(--radius); box-shadow:var(--shadow-lg); cursor:pointer; }
.nlb__x { position:absolute; top:1rem; right:1.2rem; background:none; border:0; color:#fff; font-size:2rem; line-height:1; cursor:pointer; }
.nlb__nav { position:absolute; top:50%; transform:translateY(-50%); width:54px; height:54px; border-radius:50%; border:0; background:rgba(255,255,255,.14); color:#fff; font-size:2rem; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.nlb__nav:hover { background:rgba(255,255,255,.28); }
.nlb__prev { left:1.2rem; } .nlb__next { right:1.2rem; }
.nlb__count { position:absolute; bottom:1.2rem; left:50%; transform:translateX(-50%); color:#fff; font-size:.9rem; background:rgba(0,0,0,.45); padding:.3rem .8rem; border-radius:var(--radius-pill); }
@media (max-width:600px){ .nlb__nav{ width:44px; height:44px; font-size:1.6rem; } .nlb__prev{ left:.4rem; } .nlb__next{ right:.4rem; } }

/* Адаптив */
@media (max-width: 782px) {
  .ninfra ul { columns: 1; }
}
