/*
 * neb-sections.css — стилі секцій Dovira (hero, page-hero, benefits, feature-
 * cards, data-cards, cta-banner, seo-text, logo-wall, marquee, about-intro,
 * content-intro, ras-*, impact-bars, timeline, news-slider, product-*, faq,
 * gallery, map, post-grid, related, article-header, for-restaurants, lead-form).
 *
 * Ці класи (.neb-hero__title, .neb-fc__card, …) виводить РОЗМІТКА елементів ISB;
 * СКІН живе тут, у ТЕМІ (не в плагіні), щоб плагін лишався переносним, а сайти
 * без теми Dovira не успадкували цих стилів.
 *
 * Наповнюється по секції за фазами 3–4 (порт 1:1 з blocks/<name>/style-index.css).
 * Порожньо у Фазі 1 — тема-оболонка ще не має секцій.
 */

/* ===================== neb/hero ===================== */
/* neb/hero — mobile-first. Faithful to the approved design reference. */

.neb-hero {
	position: relative;
	min-height: 560px;
	height: 100vh;
	background: #1e2c17;
	color: #fff;
	overflow: hidden;
	display: flex;
	align-items: center;
}

.neb-hero__bg-radial {
	position: absolute;
	inset: -8% -4%;
	background: radial-gradient( 120% 90% at 70% 20%, #4e6340 0%, #33472b 42%, #1e2c17 78% );
	animation: neb-aqua 18s ease-in-out infinite;
	will-change: transform;
}

.neb-hero__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

/* Brand tint: video/gradient muted into the deep brand gamma (ТЗ §3.2).
   PERF DEVIATION from reference (§9): mix-blend-mode:multiply over an autoplay
   video forces per-frame compositing and freezes the hero. We use plain alpha
   tinting (mix-blend-mode:normal); the radial-tint layer keeps the look ~1:1. */
.neb-hero__tint {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: #2c4324;
	mix-blend-mode: normal;
	opacity: 0.62;
}

.neb-hero__radial-tint {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: radial-gradient( 120% 90% at 70% 18%, rgba( 22, 113, 138, 0.5 ) 0%, rgba( 10, 58, 73, 0.2 ) 45%, rgba(30, 44, 23, 0.7 ) 82% );
}

.neb-hero__diag-lines {
	position: absolute;
	inset: 0;
	z-index: 1;
	background-image: repeating-linear-gradient( 115deg, rgba( 255, 255, 255, 0.05 ) 0 1px, transparent 1px 64px );
}

.neb-hero__grid {
	position: absolute;
	inset: 0;
	z-index: 1;
	background-image: linear-gradient( rgba( 255, 255, 255, 0.05 ) 1px, transparent 1px ),
		linear-gradient( 90deg, rgba( 255, 255, 255, 0.05 ) 1px, transparent 1px );
	background-size: 72px 72px;
	mask-image: radial-gradient( 80% 70% at 50% 40%, #000, transparent );
}

.neb-hero__bottom-fade {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient( 180deg, rgba(30, 44, 23, 0.5 ) 0%, transparent 28%, transparent 55%, rgba(30, 44, 23, 0.85 ) 100% );
}

.neb-hero__bracket {
	position: absolute;
	z-index: 2;
	top: 108px;
	width: 18px;
	height: 18px;
	border-top: 1.5px solid rgba(106, 91, 72, 0.9 );
	display: none;
}
.neb-hero__bracket--tl { left: 56px; border-left: 1.5px solid rgba(106, 91, 72, 0.9 ); }
.neb-hero__bracket--tr { right: 56px; border-right: 1.5px solid rgba(106, 91, 72, 0.9 ); }

.neb-hero__geo {
	position: absolute;
	z-index: 2;
	top: 120px;
	left: 50%;
	transform: translateX( -50% );
	font-family: var( --wp--preset--font-family--mono );
	font-size: 11px;
	letter-spacing: 0.34em;
	color: rgba( 255, 255, 255, 0.55 );
	text-transform: uppercase;
	white-space: nowrap;
	display: none;
}

.neb-hero__inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 88px 20px 40px;
}

.neb-hero__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var( --wp--preset--font-family--mono );
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: #8a7358;
	text-transform: uppercase;
}
.neb-hero__eyebrow-line {
	width: 28px;
	height: 1px;
	background: #8a7358;
	display: block;
}

.neb-hero__title {
	font-family: var( --wp--preset--font-family--heading );
	font-size: clamp( 34px, 4.6vw, 60px );
	line-height: 1.08;
	font-weight: 600;
	margin: 24px 0 0;
	letter-spacing: -0.02em;
	max-width: 21ch;
	text-wrap: balance;
}

.neb-hero__row {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-top: 28px;
}

.neb-hero__subtitle {
	font-size: 17px;
	line-height: 1.6;
	color: rgba( 255, 255, 255, 0.78 );
	max-width: 520px;
	margin: 0;
}

.neb-hero__cta-group {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.neb-hero__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 14px 22px;
	border-radius: 11px;
	font: 700 14px var( --wp--preset--font-family--body );
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}
.neb-hero__cta--primary {
	background: #6a5b48;
	color: #fff;
	box-shadow: 0 10px 28px rgba(106, 91, 72, 0.4 );
}
.neb-hero__cta--primary:hover {
	transform: translateY( -2px );
	box-shadow: 0 16px 36px rgba(106, 91, 72, 0.52 );
}
.neb-hero__cta--secondary {
	background: rgba( 255, 255, 255, 0.07 );
	color: #fff;
	border: 1px solid rgba( 255, 255, 255, 0.32 );
}
.neb-hero__cta--secondary:hover {
	border-color: #fff;
	background: rgba( 255, 255, 255, 0.14 );
}

.neb-hero__scroll-indicator {
	position: absolute;
	z-index: 2;
	bottom: 20px;
	left: 50%;
	transform: translateX( -50% );
	width: 22px;
	height: 34px;
	border: 1.5px solid rgba( 255, 255, 255, 0.4 );
	border-radius: 12px;
	display: none;
	justify-content: center;
	padding-top: 7px;
}
.neb-hero__scroll-dot {
	width: 3px;
	height: 7px;
	border-radius: 2px;
	background: #6a5b48;
	animation: neb-scrolldot 1.8s ease-in-out infinite;
}

@keyframes neb-aqua {
	0% { transform: translate( 0, 0 ) scale( 1.1 ); }
	50% { transform: translate( -2%, -3% ) scale( 1.18 ); }
	100% { transform: translate( 0, 0 ) scale( 1.1 ); }
}
@keyframes neb-scrolldot {
	0% { transform: translateY( 0 ); opacity: 0; }
	30% { opacity: 1; }
	100% { transform: translateY( 20px ); opacity: 0; }
}

@media ( min-width: 768px ) {
	.neb-hero__inner { padding: 96px 40px 48px; }
	/* Keep subtitle + CTAs stacked (CTAs below), left-aligned. */
	.neb-hero__row { flex-direction: column; align-items: flex-start; gap: 28px; }
}

@media ( min-width: 880px ) {
	.neb-hero__bracket,
	.neb-hero__geo,
	.neb-hero__scroll-indicator { display: flex; }
	.neb-hero__bracket { display: block; }
}

@media ( min-width: 1024px ) {
	.neb-hero__inner { padding: 104px 56px 56px; }
}

@media ( prefers-reduced-motion: reduce ) {
	.neb-hero__bg-radial,
	.neb-hero__scroll-dot {
		animation: none !important;
	}
}

/* ===================== neb/marquee ===================== */
.neb-marquee {
	background: #6a5b48;
	color: #fff;
	overflow: hidden;
	white-space: nowrap;
	padding: 15px 0;
	/* Flush against neighbouring sections — no block-gap above/below. */
	margin: 0;
}
.neb-marquee__track {
	display: inline-flex;
	flex-wrap: nowrap;
	width: max-content;
	animation: neb-marquee 32s linear infinite;
	will-change: transform;
}
.neb-marquee__item {
	flex: none;
	font-family: var( --wp--preset--font-family--mono );
	font-size: 14px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	white-space: nowrap;
}
.neb-marquee:hover .neb-marquee__track { animation-play-state: paused; }

@media ( prefers-reduced-motion: reduce ) {
	.neb-marquee { white-space: normal; }
	.neb-marquee__track { animation: none !important; width: auto; flex-wrap: wrap; }
	.neb-marquee__item:not( :first-child ) { display: none; }
}

/* ===================== neb/seo-text ===================== */
/* SEO BOTTOM — faithful to designer. */
.neb-seo { background: #fff; border-top: 1px solid #e5e8d8; }
.neb-seo__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: clamp( 36px, 6vw, 48px ) clamp( 20px, 5vw, 56px );
}
.neb-seo__eyebrow {
	font-family: var( --wp--preset--font-family--mono );
	font-size: 11px;
	letter-spacing: 0.1em;
	color: #a2a98d;
	text-transform: uppercase;
}
.neb-seo__heading {
	font-family: var( --wp--preset--font-family--heading );
	font-size: clamp( 22px, 2.6vw, 30px );
	font-weight: 600;
	margin: 12px 0 20px;
	letter-spacing: -0.01em;
	max-width: 26ch;
}
.neb-seo__body {
	columns: 300px;
	column-gap: 48px;
	font-size: 15px;
	line-height: 1.72;
	color: #6d7360;
}
.neb-seo__body p { margin: 0 0 16px; }
.neb-seo__body p:last-child { margin-bottom: 0; }
.neb-seo__links { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.neb-seo__chip {
	text-decoration: none;
	color: #22301b;
	border: 1px solid #dadecb;
	padding: 9px 16px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	transition: border-color 0.2s, background 0.2s;
}
.neb-seo__chip:hover { border-color: #22301b; background: #f6f5ec; }

/* ===================== neb/page-hero ===================== */
/* Inner-page VIDEO HERO — faithful to designer. */
.neb-vhero {
	position: relative;
	/* Half the height of the full-screen home hero (100vh), with a sensible floor. */
	min-height: 50vh;
	max-height: 620px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	background: #1e2c17;
	color: #fff;
}
@media ( max-width: 767px ) {
	/* Вищий hero внутрішніх сторінок на мобільному (+~50%); медіа cover по центру. */
	.neb-vhero { min-height: 90vh; max-height: none; }
	.neb-vhero__video { object-fit: cover; object-position: center; }
}
.neb-vhero__radial {
	position: absolute;
	inset: -6%;
	z-index: 0;
	background: radial-gradient( 120% 100% at 72% 12%, #4e6340, #33472b 45%, #1e2c17 82% );
	animation: neb-aqua 18s ease-in-out infinite;
}
.neb-vhero__video {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* Perf (§9): normal (alpha) tint, not multiply — see .neb-hero__tint note above. */
.neb-vhero__tint { position: absolute; inset: 0; z-index: 1; background: #2c4324; mix-blend-mode: normal; opacity: 0.6; }
.neb-vhero__radial-tint { position: absolute; inset: 0; z-index: 1; background: radial-gradient( 120% 100% at 72% 12%, rgba( 22, 113, 138, 0.4 ), rgba(30, 44, 23, 0.65 ) 80% ); }
.neb-vhero__grid {
	position: absolute;
	inset: 0;
	z-index: 2;
	background-image: linear-gradient( rgba( 255, 255, 255, 0.05 ) 1px, transparent 1px ),
		linear-gradient( 90deg, rgba( 255, 255, 255, 0.05 ) 1px, transparent 1px );
	background-size: 72px 72px;
	mask-image: radial-gradient( 80% 80% at 50% 30%, #000, transparent );
}
.neb-vhero__fade { position: absolute; inset: 0; z-index: 2; background: linear-gradient( 180deg, rgba(30, 44, 23, 0.45 ) 0%, transparent 32%, rgba(30, 44, 23, 0.9 ) 100% ); }

.neb-vhero__inner {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 120px clamp( 20px, 5vw, 56px ) 64px;
}
.neb-vhero__crumbs {
	font-family: var( --wp--preset--font-family--mono );
	font-size: 12px;
	color: rgba( 255, 255, 255, 0.6 );
}
.neb-vhero__crumbs a { text-decoration: none; }
.neb-vhero__crumbs a:hover { color: #fff; }
.neb-vhero__crumb-current { color: #8a7358; }
.neb-vhero__title {
	font-family: var( --wp--preset--font-family--heading );
	font-size: clamp( 34px, 4.8vw, 62px );
	font-weight: 600;
	margin: 18px 0 0;
	letter-spacing: -0.02em;
	max-width: 15ch;
	line-height: 1.05;
}
.neb-vhero__lead {
	font-size: 19px;
	line-height: 1.6;
	color: rgba( 255, 255, 255, 0.8 );
	max-width: 580px;
	margin: 22px 0 0;
}

@media ( prefers-reduced-motion: reduce ) {
	.neb-vhero__radial { animation: none !important; }
}

/* ===================== neb/benefits-grid ===================== */
/* ADVANTAGES (05/07) — numbered rows, faithful to designer. */
.neb-adv { background: #fff; border-bottom: 1px solid #e5e8d8; }
.neb-adv__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp( 64px, 10vw, 120px ) clamp( 20px, 5vw, 56px );
}
.neb-adv__eyebrow {
	font-family: var( --wp--preset--font-family--mono );
	font-size: 12px;
	letter-spacing: 0.1em;
	color: #6a5b48;
}
.neb-adv__title {
	font-family: var( --wp--preset--font-family--heading );
	font-size: clamp( 30px, 3.8vw, 46px );
	font-weight: 600;
	margin: 16px 0 44px;
	letter-spacing: -0.015em;
}
.neb-adv__row {
	display: grid;
	grid-template-columns: 56px minmax( 160px, 1.1fr ) minmax( 220px, 1.9fr );
	gap: 20px;
	align-items: start;
	padding: 28px 12px;
	border-top: 1px solid #e8ead9;
	transition: background 0.2s;
}
.neb-adv__row:last-child { border-bottom: 1px solid #e8ead9; }
.neb-adv__row:hover { background: #f8f7f0; }
.neb-adv__mark { display: flex; flex-direction: column; gap: 8px; }
.neb-adv__num {
	font-family: var( --wp--preset--font-family--mono );
	font-size: 12px;
	color: #a2a98d;
}
.neb-adv__row-title { font-size: 18px; font-weight: 700; margin: 0; }
.neb-adv__row-text { font-size: 15px; line-height: 1.58; color: #6d7360; margin: 0; }

@media ( max-width: 767px ) {
	.neb-adv__row {
		grid-template-columns: 40px 1fr;
		gap: 14px 16px;
	}
	.neb-adv__row-title { grid-column: 2; }
	.neb-adv__row-text { grid-column: 1 / -1; }
}

/* ===================== neb/feature-cards ===================== */
/* Feature cards grid — shared Dovira card style. */
.neb-fc { background: #fff; }
.neb-fc__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp( 56px, 9vw, 96px ) clamp( 20px, 5vw, 56px );
}
.neb-fc__head { max-width: 640px; margin-bottom: 40px; }
.neb-fc__eyebrow {
	font-family: var( --wp--preset--font-family--mono );
	font-size: 12px;
	letter-spacing: 0.1em;
	color: #6a5b48;
}
.neb-fc__title {
	font-family: var( --wp--preset--font-family--heading );
	font-size: clamp( 28px, 3.6vw, 42px );
	font-weight: 600;
	margin: 16px 0 0;
	letter-spacing: -0.015em;
}
.neb-fc__lead { font-size: 17px; line-height: 1.64; color: #6d7360; margin: 16px 0 0; }
.neb-fc__grid {
	display: grid;
	grid-template-columns: repeat( var( --neb-fc-cols, auto-fit ), minmax( min( 240px, 100% ), 1fr ) );
	gap: 24px;
}
/* Адаптив: нижче десктопу ігноруємо задану кількість колонок (--neb-fc-cols інлайн) і
   переходимо на auto-fit — сітка сама згортається (планшет 2–3, телефон 1 колонка), тож
   картки більше не виїжджають за екран. Десктоп (≥1025px) зберігає заданий макет. */
@media ( max-width: 1024px ) {
	.neb-fc__grid { grid-template-columns: repeat( auto-fit, minmax( min( 240px, 100% ), 1fr ) ) !important; }
}
.neb-fc__card {
	background: #f8f7f0;
	border: 1px solid #e8ead9;
	border-radius: 14px;
	padding: 30px;
	transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}
.neb-fc__card:hover {
	transform: translateY( -4px );
	box-shadow: 0 18px 38px rgba(30, 44, 23, 0.07 );
	border-color: #d6dcc4;
}
.neb-fc__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 13px;
	background: #fff;
	border: 1px solid #e8ead9;
}
.neb-fc__card-title {
	font-family: var( --wp--preset--font-family--heading );
	font-size: 20px;
	font-weight: 600;
	margin: 18px 0 10px;
}
.neb-fc__card-text { font-size: 15px; line-height: 1.6; color: #6d7360; margin: 0; }

/* Optional card image (replaces icon) + card button. */
.neb-fc__media { display: block; width: 100%; border-radius: 12px; overflow: hidden; margin-bottom: 4px; }
.neb-fc__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.neb-fc__btn { display: inline-block; margin-top: 16px; font-weight: 700; font-size: 14px; color: #6a5b48; text-decoration: none; }
.neb-fc__btn:hover { text-decoration: underline; }

/* ===================== neb/data-cards ===================== */
/* STATS (04/07) — dark band with counters, faithful to designer. */
.neb-stats {
	background: #2c4324;
	color: #fff;
	position: relative;
	overflow: hidden;
}
.neb-stats__overlay {
	position: absolute;
	inset: 0;
	background-image: linear-gradient( rgba( 255, 255, 255, 0.045 ) 1px, transparent 1px ),
		linear-gradient( 90deg, rgba( 255, 255, 255, 0.045 ) 1px, transparent 1px );
	background-size: 64px 64px;
}
.neb-stats__inner {
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp( 60px, 9vw, 108px ) clamp( 20px, 5vw, 56px );
}
.neb-stats__eyebrow {
	font-family: var( --wp--preset--font-family--mono );
	font-size: 12px;
	letter-spacing: 0.1em;
	color: #6a5b48;
}
.neb-stats__title {
	font-family: var( --wp--preset--font-family--heading );
	font-size: clamp( 28px, 3.6vw, 42px );
	font-weight: 600;
	margin: 16px 0 0;
	color: #fff;
}
.neb-stats__grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 180px, 1fr ) );
	gap: 28px;
	margin-top: 54px;
}
.neb-stat { border-top: 1px solid rgba( 255, 255, 255, 0.16 ); padding-top: 22px; }
.neb-stat__value {
	font-family: var( --wp--preset--font-family--heading );
	font-size: clamp( 44px, 5vw, 60px );
	font-weight: 600;
	color: #6a5b48;
	line-height: 1;
}
.neb-stat__label {
	font-size: 14px;
	line-height: 1.5;
	color: rgba( 255, 255, 255, 0.72 );
	margin: 16px 0 0;
}

/* ===================== neb/cta-banner ===================== */
/* CTA BANNER — full-bleed band, faithful to designer. */
.neb-cta-banner {
	position: relative;
	overflow: hidden;
	background: #eef1e5;
	color: #22301b;
	border-top: 1px solid #e5e8d8;
	border-bottom: 1px solid #e5e8d8;
}
.neb-cta-banner--dark {
	background: #1e2c17;
	color: #fff;
	border-color: transparent;
}
.neb-cta-banner__glow {
	position: absolute;
	inset: 0;
	background: radial-gradient( 100% 140% at 80% 0%, #445837 0%, transparent 60% );
}
.neb-cta-banner__inner {
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp( 60px, 9vw, 104px ) clamp( 20px, 5vw, 56px );
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	align-items: center;
	justify-content: space-between;
}
.neb-cta-banner__eyebrow {
	font-family: var( --wp--preset--font-family--mono );
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #6a5b48;
	margin: 0 0 10px;
}
.neb-cta-banner__copy { flex: 1 1 560px; min-width: 0; }
.neb-cta-banner__title {
	font-family: var( --wp--preset--font-family--heading );
	font-size: clamp( 28px, 3.6vw, 44px );
	font-weight: 600;
	margin: 0;
	max-width: 30ch;
	letter-spacing: -0.015em;
}
.neb-cta-banner__text {
	font-size: 17px;
	line-height: 1.6;
	margin: 16px 0 0;
	max-width: 56ch;
}
.neb-cta-banner--light .neb-cta-banner__text { color: #4a5340; }
.neb-cta-banner--dark .neb-cta-banner__text { color: rgba( 255, 255, 255, 0.82 ); }
.neb-cta-banner__actions { display: flex; gap: 14px; flex-wrap: wrap; }

/* Large button modifier + banner secondary (ghost on dark, outline on light). */
.neb-btn--lg { padding: 16px 30px; border-radius: 11px; font-size: 15px; }
.neb-btn--primary.neb-btn--lg:hover { box-shadow: 0 16px 36px rgba(106, 91, 72, 0.52 ); }
.neb-cta-banner--dark .neb-cta-banner__secondary {
	background: rgba( 255, 255, 255, 0.07 );
	color: #fff;
	border-color: rgba( 255, 255, 255, 0.32 );
}
.neb-cta-banner--dark .neb-cta-banner__secondary:hover {
	border-color: #fff;
	background: rgba( 255, 255, 255, 0.14 );
}
.neb-cta-banner--light .neb-cta-banner__secondary {
	background: transparent;
	color: #22301b;
	border-color: #dadecb;
}
.neb-cta-banner--light .neb-cta-banner__secondary:hover { border-color: #22301b; }

/* ===================== neb/logo-wall ===================== */
/* Logo wall — bordered cards (works with text names or real logos). */
.neb-logo-wall {
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp( 56px, 9vw, 96px ) clamp( 20px, 5vw, 56px );
}
.neb-logo-wall__head { margin-bottom: 36px; }
.neb-logo-wall__eyebrow { font-family: var( --wp--preset--font-family--mono ); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: #6a5b48; margin: 0 0 12px; }
.neb-logo-wall__title { font-family: var( --wp--preset--font-family--heading ); font-size: clamp( 26px, 3.4vw, 38px ); font-weight: 600; margin: 0; letter-spacing: -0.015em; }
.neb-logo-wall__grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( min( 200px, 100% ), 1fr ) );
	gap: 16px;
}
.neb-logo-wall__item {
	display: grid;
	place-items: center;
	min-height: 110px;
	padding: 24px;
	background: #f8f7f0;
	border: 1px solid #e8ead9;
	border-radius: 14px;
	transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}
.neb-logo-wall__item:hover {
	transform: translateY( -4px );
	box-shadow: 0 18px 38px rgba(30, 44, 23, 0.07 );
	border-color: #d6dcc4;
}
.neb-logo-wall__item img { max-height: 48px; width: auto; filter: grayscale( 1 ); opacity: 0.75; transition: filter 0.25s, opacity 0.25s; }
.neb-logo-wall__item:hover img { filter: none; opacity: 1; }
.neb-logo-wall__placeholder {
	font-family: var( --wp--preset--font-family--heading );
	font-size: 16px;
	font-weight: 600;
	color: #22301b;
	text-align: center;
}
.neb-logo-wall__empty { color: #6d7360; font-size: 14px; }

/* ===================== neb/about-intro ===================== */
.neb-about {
	background: #fff;
	border-bottom: 1px solid #e5e8d8;
}
.neb-about__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp( 64px, 10vw, 120px ) clamp( 20px, 5vw, 56px );
}
.neb-about__head {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( min( 320px, 100% ), 1fr ) );
	gap: 48px;
	align-items: end;
}
.neb-about__eyebrow {
	font-family: var( --wp--preset--font-family--mono );
	font-size: 12px;
	letter-spacing: 0.1em;
	color: #6a5b48;
}
.neb-about__title {
	font-family: var( --wp--preset--font-family--heading );
	font-size: clamp( 30px, 3.8vw, 46px );
	line-height: 1.12;
	font-weight: 600;
	margin: 18px 0 0;
	letter-spacing: -0.015em;
}
.neb-about__lead {
	font-size: 17px;
	line-height: 1.66;
	color: #6d7360;
	margin: 0;
}
.neb-about__grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( min( 260px, 100% ), 1fr ) );
	gap: 24px;
	margin-top: 56px;
}
.neb-about__card {
	background: #f8f7f0;
	border: 1px solid #e8ead9;
	border-radius: 14px;
	padding: 34px;
	transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}
.neb-about__card:hover {
	transform: translateY( -4px );
	box-shadow: 0 18px 38px rgba(30, 44, 23, 0.07 );
	border-color: #d6dcc4;
}
.neb-about__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 13px;
	background: #fff;
	border: 1px solid #e8ead9;
}
.neb-about__card-title {
	font-family: var( --wp--preset--font-family--heading );
	font-size: 22px;
	font-weight: 600;
	margin: 18px 0 10px;
}
.neb-about__card-text {
	font-size: 15px;
	line-height: 1.6;
	color: #6d7360;
	margin: 0;
}

.neb-about__media { width: 54px; height: 54px; border-radius: 13px; overflow: hidden; }
.neb-about__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ===================== neb/content-intro ===================== */
/* Content / SEO intro — 2 columns, faithful to designer. */
.neb-cintro__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: clamp( 56px, 9vw, 88px ) clamp( 20px, 5vw, 56px ) 0;
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( min( 300px, 100% ), 1fr ) );
	gap: 48px;
	align-items: start;
}
.neb-cintro__heading {
	font-family: var( --wp--preset--font-family--heading );
	font-size: clamp( 26px, 3vw, 36px );
	font-weight: 600;
	margin: 0;
	letter-spacing: -0.01em;
	line-height: 1.18;
}
.neb-cintro__body { font-size: 17px; line-height: 1.72; color: #6d7360; }
.neb-cintro__body p { margin: 0 0 18px; }
.neb-cintro__body p:last-child { margin-bottom: 0; }

/* ===================== ISB full-bleed integration ===================== */
/* neb_ elements are whole, edge-to-edge sections with their own inner max-width.
   Neutralize the ISB row/col wrapper (max-width 1160 + padding) for any row that
   contains a neb_ element, so the section renders flush 1:1 with the design. */
.isb-row:has( > .isb-col > [class*="isb-el-neb_"] ) {
	max-width: none;
	margin: 0;
	padding: 0;
	gap: 0;
}
.isb-row:has( > .isb-col > [class*="isb-el-neb_"] ) > .isb-col {
	flex: 1 1 100%;
	min-width: 0;
}
[class*="isb-el-neb_"] { margin: 0; }

/* ===================== neb/ras-infographic ===================== */
/* RAS (06/07) — horizontal step timeline, faithful to designer. */
.neb-ras {
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp( 64px, 10vw, 120px ) clamp( 20px, 5vw, 56px );
}
.neb-ras__head { max-width: 640px; }
.neb-ras__eyebrow {
	font-family: var( --wp--preset--font-family--mono );
	font-size: 12px;
	letter-spacing: 0.1em;
	color: #6a5b48;
}
.neb-ras__title {
	font-family: var( --wp--preset--font-family--heading );
	font-size: clamp( 28px, 3.6vw, 42px );
	font-weight: 600;
	margin: 16px 0 0;
	letter-spacing: -0.015em;
}
.neb-ras__lead { font-size: 17px; line-height: 1.64; color: #6d7360; margin: 16px 0 0; }

.neb-ras__timeline { margin-top: 54px; }
.neb-ras__flowline {
	height: 3px;
	margin-bottom: -2px;
	position: relative;
	z-index: 1;
	background: linear-gradient( 90deg, transparent 0%, #6a5b48 18%, transparent 38%, transparent 62%, #6a5b48 82%, transparent 100% );
	background-size: 200% 100%;
	animation: neb-flow 4.5s linear infinite;
}
.neb-ras__steps {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 180px, 1fr ) );
	gap: 0;
}
.neb-ras__step {
	position: relative;
	border-top: 1.5px solid #22301b;
	padding: 26px 22px 0;
}
.neb-ras__step--first { padding-left: 0; }
.neb-ras__step--last { padding: 26px 0 0 22px; }
.neb-ras__node {
	position: absolute;
	top: -7px;
	left: 0;
	width: 13px;
	height: 13px;
	background: #6a5b48;
	border-radius: 999px;
}
.neb-ras__step--last .neb-ras__node { left: 22px; }
.neb-ras__step-no { font-family: var( --wp--preset--font-family--mono ); font-size: 12px; color: #a2a98d; }
.neb-ras__step-title { font-size: 16px; font-weight: 700; margin: 10px 0 6px; line-height: 1.25; }
.neb-ras__step-text { font-size: 13px; line-height: 1.5; color: #6d7360; margin: 0; }

@media ( prefers-reduced-motion: reduce ) {
	.neb-ras__flowline { animation: none !important; background: #6a5b48; opacity: 0.5; }
}

@media ( max-width: 767px ) {
	/* Вертикальний таймлайн: одна колонка, вузли й лінія зліва — щоб горизонтальні
	   лінії й вузли наступного ряду не налазили на текст (правка мобільної верстки). */
	.neb-ras__flowline { display: none; }
	.neb-ras__steps { grid-template-columns: 1fr; gap: 0; }
	.neb-ras__step,
	.neb-ras__step--first,
	.neb-ras__step--last {
		border-top: none;
		border-left: 1.5px solid #d9e2e2;
		padding: 2px 0 28px 24px;
		margin-left: 6px;
	}
	.neb-ras__step:last-child { padding-bottom: 2px; }
	.neb-ras__node,
	.neb-ras__step--last .neb-ras__node {
		top: 3px;
		left: -7px;
	}
}

/* ===================== neb/ras-cycle ===================== */
.neb-cyc-block { max-width: 1280px; margin: 0 auto; padding: 60px 20px; }
.neb-cyc-block__head { margin-bottom: 36px; }
.neb-cyc-block__eyebrow {
	font-family: var( --wp--preset--font-family--mono );
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #6a5b48;
	margin: 0 0 12px;
}
.neb-cyc-block__title {
	font-family: var( --wp--preset--font-family--heading );
	font-size: clamp( 26px, 3.4vw, 38px );
	margin: 0;
	max-width: 28ch;
}

.neb-cyc-block__loop {
	display: flex;
	flex-direction: column;
	gap: 0;
	align-items: stretch;
}
.neb-cyc-block__stage { display: flex; align-items: flex-start; gap: 16px; padding: 4px 0; }
.neb-cyc-block__node {
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #6a5b48;
	color: #fff;
	display: grid;
	place-items: center;
	font-weight: 800;
	font-size: 14px;
}
.neb-cyc-block__copy strong {
	display: block;
	font-family: var( --wp--preset--font-family--heading );
	font-size: 16px;
	margin-bottom: 4px;
}
.neb-cyc-block__copy p { margin: 0; font-size: 13px; color: #6d7360; }

/* Marching-ants dashed connector (ТЗ §5.1 — @keyframes neb-dash). */
.neb-cyc-block__dash {
	margin: 4px 0 4px 19px;
	width: 2px;
	height: 26px;
	background: repeating-linear-gradient( 180deg, #8a7358 0 6px, transparent 6px 12px );
	background-size: 1px 24px;
	animation: neb-dash-v 1s linear infinite;
}
.neb-cyc-block__return {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 8px 0 0 8px;
	font-family: var( --wp--preset--font-family--mono );
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #445837;
}
.neb-cyc-block__return::before {
	content: "";
	width: 22px;
	height: 22px;
	border: 2px dashed #445837;
	border-radius: 50%;
	flex: none;
}

@keyframes neb-dash-v {
	from { background-position: 0 0; }
	to { background-position: 0 24px; }
}
@keyframes neb-dash {
	from { background-position: 0 0; }
	to { background-position: 24px 0; }
}

@media ( min-width: 880px ) {
	.neb-cyc-block__loop {
		display: grid;
		grid-template-columns: repeat( 5, 1fr );
		align-items: start;
		position: relative;
	}
	.neb-cyc-block__stage { flex-direction: column; align-items: center; text-align: center; gap: 12px; }
	.neb-cyc-block__dash {
		margin: 19px 0 0;
		width: auto;
		height: 2px;
		align-self: start;
		background: repeating-linear-gradient( 90deg, #8a7358 0 6px, transparent 6px 12px );
		background-size: 24px 1px;
		animation: neb-dash 1s linear infinite;
	}
	/* Hide the trailing dash after the last stage; show the closed-loop label full-width. */
	.neb-cyc-block__stage:last-of-type ~ .neb-cyc-block__dash { display: none; }
	.neb-cyc-block__return {
		grid-column: 1 / -1;
		justify-content: center;
		margin-top: 16px;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.neb-cyc-block__dash { animation: none !important; }
}

/* ===================== neb/impact-bars ===================== */
.neb-impact { max-width: 1280px; margin: 0 auto; padding: 50px 20px; }
.neb-impact__head { margin-bottom: 28px; }
.neb-impact__eyebrow { font-family: var( --wp--preset--font-family--mono ); font-size: 12px; text-transform: uppercase; color: #6a5b48; margin: 0 0 12px; }
.neb-impact__title { font-family: var( --wp--preset--font-family--heading ); font-size: clamp( 24px, 3.2vw, 34px ); margin: 0; }
.neb-impact__list { display: grid; gap: 18px; max-width: 640px; }
.neb-impact__row-label { display: flex; justify-content: space-between; font-size: 14px; margin-bottom: 6px; }
.neb-impact__track { height: 10px; background: #eef1e5; border-radius: 999px; overflow: hidden; }
.neb-impact__fill {
	height: 100%;
	width: 100%;
	transform: scaleX( 0 );
	transform-origin: left;
	background: linear-gradient( 90deg, #6a5b48, #445837 );
	border-radius: 999px;
	transition: transform 1.1s cubic-bezier( 0.2, 0.7, 0.2, 1 );
}

@media ( prefers-reduced-motion: reduce ) {
	.neb-impact__fill { transition: none !important; }
}
@media ( min-width: 768px ) { .neb-impact { padding: 64px 40px; } }
@media ( min-width: 1024px ) { .neb-impact { padding: 88px 56px; } }

.neb-impact__note { font-size: 13px; color: #6d7360; margin: 6px 0 0; }

/* ===================== neb/timeline ===================== */
.neb-timeline { max-width: 1280px; margin: 0 auto; padding: 60px 20px; }
.neb-timeline__head { margin-bottom: 28px; }
.neb-timeline__eyebrow { font-family: var( --wp--preset--font-family--mono ); font-size: 12px; text-transform: uppercase; color: #6a5b48; margin: 0 0 12px; }
.neb-timeline__title { font-family: var( --wp--preset--font-family--heading ); font-size: clamp( 26px, 3.4vw, 38px ); margin: 0; }
.neb-timeline__list { display: grid; gap: 16px; }
.neb-timeline__step { padding: 24px; border: 1px solid #e5e8d8; border-radius: 16px; background: #fff; }
.neb-timeline__number { font-family: var( --wp--preset--font-family--mono ); color: #6a5b48; font-weight: 700; font-size: 14px; }
.neb-timeline__step-title { font-family: var( --wp--preset--font-family--heading ); font-size: 19px; margin: 10px 0 6px; }
.neb-timeline__step-text { color: #6d7360; font-size: 14px; margin: 0; }

@media ( min-width: 768px ) {
	.neb-timeline { padding: 72px 40px; }
	.neb-timeline__list { grid-template-columns: repeat( 2, 1fr ); }
}
@media ( min-width: 1024px ) {
	.neb-timeline { padding: 108px 56px; }
	.neb-timeline__list { grid-template-columns: repeat( 4, 1fr ); }
}

/* ===================== neb/news-slider ===================== */
/* NEWS / INSIGHTS slider — faithful to designer. */
.neb-slider { background: #fff; border-top: 1px solid #e5e8d8; }
.neb-slider__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp( 64px, 10vw, 120px ) clamp( 20px, 5vw, 56px );
}
.neb-slider__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	flex-wrap: wrap;
}
.neb-slider__eyebrow { font-family: var( --wp--preset--font-family--mono ); font-size: 12px; letter-spacing: 0.1em; color: #6a5b48; }
.neb-slider__title { font-family: var( --wp--preset--font-family--heading ); font-size: clamp( 30px, 3.8vw, 46px ); font-weight: 600; margin: 14px 0 0; letter-spacing: -0.015em; max-width: 16ch; }
.neb-slider__nav { display: flex; align-items: center; gap: 10px; }
.neb-slider__round {
	width: 46px;
	height: 46px;
	border-radius: 999px;
	border: 1px solid #d0d6bd;
	background: #fff;
	color: #22301b;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: border-color 0.2s, background 0.2s;
}
.neb-slider__round:hover { border-color: #22301b; }
.neb-slider__all {
	margin-left: 6px;
	background: transparent;
	color: #22301b;
	border: 1px solid #d0d6bd;
	padding: 13px 24px;
	border-radius: 10px;
	font: 700 14px var( --wp--preset--font-family--body );
	text-decoration: none;
	white-space: nowrap;
	transition: border-color 0.2s;
}
.neb-slider__all:hover { border-color: #22301b; }

.neb-slider__viewport {
	overflow-x: auto;
	margin-top: 50px;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	cursor: grab;
}
.neb-slider__viewport.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.neb-slider__viewport::-webkit-scrollbar { display: none; }
.neb-slider__track { display: flex; gap: 24px; }

.neb-slide {
	scroll-snap-align: start;
	flex: 0 0 clamp( 260px, 78vw, 330px );
	border: 1px solid #e5e8d8;
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
	text-decoration: none;
	color: inherit;
	transition: transform 0.3s, box-shadow 0.3s;
}
.neb-slide:hover { transform: translateY( -6px ); box-shadow: 0 24px 50px rgba(30, 44, 23, 0.10 ); }
.neb-slide__media { position: relative; height: 190px; background: linear-gradient( 145deg, #2c4324, #445837 ); overflow: hidden; }
.neb-slide--alt .neb-slide__media { background: linear-gradient( 145deg, #445837, #8a9a63 ); }
.neb-slide__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.neb-slide__bracket { position: absolute; top: 14px; left: 14px; width: 14px; height: 14px; border-top: 1.5px solid #6a5b48; border-left: 1.5px solid #6a5b48; }
.neb-slide__body { padding: 24px; }
.neb-slide__meta { font-family: var( --wp--preset--font-family--mono ); font-size: 11px; color: #6a5b48; }
.neb-slide__title { font-family: var( --wp--preset--font-family--heading ); font-size: 19px; font-weight: 600; margin: 10px 0 0; line-height: 1.28; }
.neb-slider__empty { color: #6d7360; margin-top: 30px; }

/* ===================== neb/gallery ===================== */
.neb-gallery { max-width: 1280px; margin: 0 auto; padding: clamp( 48px, 8vw, 88px ) clamp( 20px, 5vw, 56px ); }
.neb-gallery__head { margin-bottom: 28px; }
.neb-gallery__eyebrow { font-family: var( --wp--preset--font-family--mono ); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: #6a5b48; margin: 0 0 10px; }
.neb-gallery__title { font-family: var( --wp--preset--font-family--heading ); font-size: clamp( 26px, 3.4vw, 38px ); font-weight: 600; margin: 0; letter-spacing: -0.015em; }

/* Grid mode */
.neb-gallery__grid { display: grid; grid-template-columns: repeat( var( --neb-gallery-cols, 3 ), 1fr ); gap: 16px; }
.neb-gallery__item { margin: 0; }
.neb-gallery__item img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; display: block; }
.neb-gallery__item figcaption,
.neb-gallery__slide figcaption { font-size: 13px; color: #6d7360; margin-top: 8px; }

/* Slider mode */
.neb-gallery__viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab; }
.neb-gallery__viewport.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.neb-gallery__viewport::-webkit-scrollbar { display: none; }
.neb-gallery__track { display: flex; gap: 16px; }
.neb-gallery__slide { scroll-snap-align: start; flex: 0 0 clamp( 260px, 70vw, 520px ); margin: 0; }
.neb-gallery__slide img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 16px; display: block; }
.neb-gallery__controls { display: flex; gap: 10px; margin-top: 18px; }
.neb-gallery__arrow {
	width: 46px; height: 46px; border-radius: 999px; border: 1px solid #d0d6bd; background: #fff; color: #22301b;
	cursor: pointer; font-size: 16px; transition: border-color 0.2s;
}
.neb-gallery__arrow:hover { border-color: #22301b; }

@media ( max-width: 767px ) {
	.neb-gallery__grid { grid-template-columns: repeat( 2, 1fr ); }
}
@media ( max-width: 480px ) {
	.neb-gallery__grid { grid-template-columns: 1fr; }
}

/* ===================== neb/product-cards ===================== */
/* PRODUCTS (03/07) — faithful to designer. */
.neb-products {
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp( 64px, 10vw, 120px ) clamp( 20px, 5vw, 56px );
}
.neb-products__eyebrow {
	font-family: var( --wp--preset--font-family--mono );
	font-size: 12px;
	letter-spacing: 0.1em;
	color: #6a5b48;
}
.neb-products__title {
	font-family: var( --wp--preset--font-family--heading );
	font-size: clamp( 30px, 3.8vw, 46px );
	font-weight: 600;
	margin: 16px 0 0;
	max-width: 620px;
	letter-spacing: -0.015em;
	line-height: 1.12;
}
.neb-products__grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( min( 340px, 100% ), 1fr ) );
	gap: 28px;
	margin-top: 50px;
}
.neb-products__empty { color: #6d7360; margin-top: 40px; }

.neb-product-card {
	border: 1px solid #e5e8d8;
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
	display: flex;
	flex-direction: column;
	transition: transform 0.3s, box-shadow 0.3s;
}
.neb-product-card:hover {
	transform: translateY( -6px );
	box-shadow: 0 26px 54px rgba(30, 44, 23, 0.12 );
}
.neb-product-card__media {
	position: relative;
	height: 320px;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	padding: 20px;
	background: linear-gradient( 145deg, #2c4324, #445837 );
}
.neb-product-card:nth-child( 2n ) .neb-product-card__media {
	background: linear-gradient( 145deg, #445837, #8a9a63 );
}
.neb-product-card__media::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: repeating-linear-gradient( 45deg, rgba( 255, 255, 255, 0.06 ) 0 18px, transparent 18px 36px );
}
.neb-product-card__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.neb-product-card__bracket {
	position: absolute;
	top: 14px;
	left: 14px;
	width: 15px;
	height: 15px;
	border-top: 1.5px solid #6a5b48;
	border-left: 1.5px solid #6a5b48;
}
.neb-product-card__caption {
	position: relative;
	font-family: var( --wp--preset--font-family--mono );
	font-size: 10px;
	color: rgba( 255, 255, 255, 0.85 );
}
.neb-product-card__body { padding: 34px; display: flex; flex-direction: column; flex: 1; }
.neb-product-card__headrow {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}
.neb-product-card__title {
	font-family: var( --wp--preset--font-family--heading );
	font-size: 26px;
	font-weight: 600;
	margin: 0;
}
.neb-product-card__code {
	font-family: var( --wp--preset--font-family--mono );
	font-size: 11px;
	color: #a2a98d;
	text-transform: uppercase;
	white-space: nowrap;
}
.neb-product-card__desc {
	font-size: 15px;
	line-height: 1.62;
	color: #6d7360;
	margin: 12px 0 0;
}
.neb-product-card__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 22px 0 26px;
}
.neb-product-card__chip {
	border: 1px solid #e3e6d5;
	color: #6d7360;
	padding: 6px 13px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
}
.neb-product-card__actions { display: flex; gap: 12px; margin-top: auto; flex-wrap: wrap; }

/* ===================== neb/product-detail ===================== */
.neb-product-detail {
	display: grid;
	gap: 28px;
	padding: 24px 20px;
	max-width: 1100px;
	margin: 0 auto;
}

.neb-product-detail__media {
	border-radius: 16px;
	overflow: hidden;
	background: #eef1e5;
	min-height: 220px;
	display: grid;
	place-items: center;
}
.neb-product-detail__media img,
.neb-product-detail__video { width: 100%; height: 100%; object-fit: cover; }
.neb-product-detail__placeholder { font-family: var( --wp--preset--font-family--mono ); color: #6d7360; letter-spacing: .1em; }

.neb-product-detail__markers { display: flex; gap: 8px; flex-wrap: wrap; list-style: none; padding: 0; margin: 0 0 18px; }
.neb-product-detail__markers li {
	font-family: var( --wp--preset--font-family--mono );
	font-size: 12px;
	text-transform: uppercase;
	padding: 6px 12px;
	border-radius: 999px;
	background: #eef1e5;
	color: #445837;
}

.neb-product-detail__facts { display: grid; gap: 14px; margin: 0 0 20px; }
.neb-product-detail__fact { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid #e5e8d8; padding-bottom: 8px; }
.neb-product-detail__fact dt { color: #6d7360; font-size: 14px; margin: 0; }
.neb-product-detail__fact dd { margin: 0; font-weight: 600; font-size: 14px; text-align: right; }

.neb-product-detail__spec {
	display: inline-block;
	font-weight: 700;
	color: #6a5b48;
	text-decoration: none;
}

@media ( min-width: 880px ) {
	.neb-product-detail { grid-template-columns: 1.1fr 1fr; align-items: start; padding: 40px 56px; }
	.neb-product-detail__media { min-height: 420px; }
}

/* ===================== neb/faq-accordion ===================== */
.neb-faq { padding: 60px 20px; }
.neb-faq__inner { max-width: 1100px; margin: 0 auto; }
.neb-faq__head { margin-bottom: 24px; }
.neb-faq__eyebrow { font-family: var( --wp--preset--font-family--mono ); font-size: 12px; text-transform: uppercase; color: #6a5b48; margin: 0 0 12px; }
.neb-faq__title { font-family: var( --wp--preset--font-family--heading ); font-size: clamp( 24px, 3vw, 34px ); margin: 0; }
.neb-faq__list { display: grid; gap: 10px; }
.neb-faq__item { border-bottom: 1px solid #e5e8d8; padding: 0 0 14px; }
.neb-faq__item summary { cursor: pointer; font-weight: 700; padding: 14px 28px 14px 0; position: relative; list-style: none; }
.neb-faq__item summary::-webkit-details-marker { display: none; }
.neb-faq__item summary::after { content: '+'; position: absolute; right: 0; top: 12px; color: #6a5b48; font-size: 22px; }
.neb-faq__item[open] summary::after { content: '\2212'; }
.neb-faq__item div { color: #6d7360; font-size: 15px; line-height: 1.6; padding-top: 4px; }
.neb-faq__empty { color: #6d7360; font-size: 14px; }

@media ( min-width: 768px ) { .neb-faq { padding: 72px 40px; } }
@media ( min-width: 1024px ) { .neb-faq { padding: 108px 56px; } }

/* ===================== neb/for-restaurants ===================== */
/* FOR RESTAURANTS (07/07) — split, faithful to designer. */
.neb-rest { background: #eef1e5; border-top: 1px solid #e5e8d8; }
.neb-rest__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp( 64px, 10vw, 120px ) clamp( 20px, 5vw, 56px );
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( min( 340px, 100% ), 1fr ) );
	gap: 56px;
	align-items: center;
}
.neb-rest__eyebrow {
	font-family: var( --wp--preset--font-family--mono );
	font-size: 12px;
	letter-spacing: 0.1em;
	color: #6a5b48;
}
.neb-rest__title {
	font-family: var( --wp--preset--font-family--heading );
	font-size: clamp( 30px, 3.8vw, 46px );
	font-weight: 600;
	margin: 16px 0 0;
	letter-spacing: -0.015em;
}
.neb-rest__sub {
	font-size: 17px;
	line-height: 1.64;
	color: #6d7360;
	margin: 18px 0 0;
	max-width: 470px;
}
.neb-rest__points { display: flex; flex-direction: column; gap: 14px; margin: 30px 0 34px; }
.neb-rest__point { display: flex; align-items: center; gap: 12px; font-size: 15px; color: #33422a; }
.neb-rest__ring {
	width: 20px;
	height: 20px;
	border-radius: 999px;
	border: 1.5px solid #6a5b48;
	flex: none;
}
.neb-rest__cta {
	background: #6a5b48;
	color: #fff;
	border: none;
	padding: 15px 28px;
	border-radius: 10px;
	font: 700 15px var( --wp--preset--font-family--body );
	cursor: pointer;
	transition: transform 0.2s, box-shadow 0.2s;
	box-shadow: 0 8px 22px rgba(106, 91, 72, 0.26 );
}
.neb-rest__cta:hover { transform: translateY( -2px ); box-shadow: 0 12px 28px rgba(106, 91, 72, 0.38 ); }

.neb-rest__media {
	position: relative;
	border-radius: 18px;
	background: linear-gradient( 150deg, #445837, #2c4324 );
	overflow: hidden;
	min-height: 420px;
	display: flex;
	align-items: flex-end;
	padding: 22px;
}
.neb-rest__media::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: repeating-linear-gradient( 45deg, rgba( 255, 255, 255, 0.06 ) 0 18px, transparent 18px 36px );
}
.neb-rest__bracket { position: absolute; width: 16px; height: 16px; z-index: 2; }
.neb-rest__bracket--tl { top: 14px; left: 14px; border-top: 1.5px solid #6a5b48; border-left: 1.5px solid #6a5b48; }
.neb-rest__bracket--br { bottom: 14px; right: 14px; border-bottom: 1.5px solid #6a5b48; border-right: 1.5px solid #6a5b48; }
.neb-rest__caption {
	position: relative;
	z-index: 2;
	font-family: var( --wp--preset--font-family--mono );
	font-size: 11px;
	color: rgba( 255, 255, 255, 0.85 );
}

/* ===================== neb/map ===================== */
.neb-map { max-width: 1280px; margin: 0 auto; padding: 50px 20px; }
.neb-map__head { margin-bottom: 22px; }
.neb-map__eyebrow { font-family: var( --wp--preset--font-family--mono ); font-size: 12px; text-transform: uppercase; color: #6a5b48; margin: 0 0 12px; }
.neb-map__title { font-family: var( --wp--preset--font-family--heading ); font-size: clamp( 24px, 3.2vw, 34px ); margin: 0; }

.neb-map__frame {
	position: relative;
	width: 100%;
	height: 280px;
	border-radius: 16px;
	overflow: hidden;
	background: #eef1e5;
}

.neb-map__frame iframe,
.neb-map__frame img {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
	object-fit: cover;
}

.neb-map__pin {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 18px;
	margin: -24px 0 0 -9px;
	background: #6a5b48;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	box-shadow: 0 0 0 4px rgba(106, 91, 72, 0.2);
}

.neb-map__placeholder {
	height: 100%;
	display: grid;
	place-items: center;
	color: #6d7360;
	font-size: 14px;
	text-align: center;
	padding: 0 24px;
}

.neb-map__address {
	margin: 16px 0 0;
	font-size: 14px;
	color: #6d7360;
}

@media ( min-width: 768px ) {
	.neb-map { padding: 64px 40px; }
	.neb-map__frame { height: 360px; }
}
@media ( min-width: 1024px ) {
	.neb-map { padding: 88px 56px; }
	.neb-map__frame { height: 420px; }
}

/* Address + directions row. */
.neb-map__meta { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 16px; }
.neb-map__directions { flex: none; }

/* ===================== neb/lead-form ===================== */
/* Inline lead form — card + field states per Styleguide. */
.neb-leadform {
	background: #fff;
	border: 1px solid #e5e8d8;
	border-radius: 18px;
	padding: clamp( 24px, 4vw, 36px );
}
.neb-leadform__title {
	font-family: var( --wp--preset--font-family--heading );
	font-size: 22px;
	font-weight: 600;
	margin: 0 0 22px;
}
.neb-leadform__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.neb-field { display: block; }
.neb-field--full { grid-column: 1 / -1; margin-top: 16px; }
.neb-field__label { font-size: 12px; font-weight: 600; color: #6d7360; }
.neb-field__input {
	width: 100%;
	margin-top: 6px;
	padding: 12px 14px;
	border: 1px solid #dadecb;
	border-radius: 9px;
	font: 400 14px var( --wp--preset--font-family--body );
	background: #fff;
	color: #22301b;
	outline: none;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.neb-field__input::placeholder { color: #a2a98d; }
/* focus = teal ring (Styleguide). */
.neb-field__input:focus { border-color: #445837; box-shadow: 0 0 0 3px rgba(68, 88, 55, 0.16 ); }
/* error = coral. */
.neb-field__input:user-invalid { border-color: #6a5b48; box-shadow: 0 0 0 3px rgba(106, 91, 72, 0.14 ); }
textarea.neb-field__input { resize: vertical; }

.neb-form-trap { position: absolute; left: -9999px; }
.neb-leadform__submit {
	width: 100%;
	background: #6a5b48;
	color: #fff;
	border: none;
	padding: 15px;
	border-radius: 10px;
	font: 700 15px var( --wp--preset--font-family--body );
	cursor: pointer;
	margin-top: 20px;
	transition: transform 0.2s, box-shadow 0.2s;
}
.neb-leadform__submit:hover { transform: translateY( -2px ); box-shadow: 0 12px 26px rgba(106, 91, 72, 0.34 ); }
.neb-leadform__submit:disabled { opacity: 0.6; cursor: default; transform: none; box-shadow: none; }
.neb-form-status { margin: 14px 0 0; font-size: 14px; }
.neb-form-status.is-success { color: #1f8a5b; }
.neb-form-status.is-error { color: #6a5b48; }

@media ( max-width: 600px ) {
	.neb-leadform__grid { grid-template-columns: 1fr; }
}

/* ===================== neb/post-grid ===================== */
/* Insights / Blog archive — faithful to designer. */
.neb-grad-a { background: linear-gradient( 145deg, #2c4324, #445837 ); }
.neb-grad-b { background: linear-gradient( 145deg, #445837, #8a9a63 ); }
.neb-grad-c { background: linear-gradient( 145deg, #0e3b34, #2f7d72 ); }

.neb-archive__inner {
	max-width: 1240px;
	margin: 0 auto;
	/* extra top padding clears the fixed header (this page has no hero). */
	padding: clamp( 104px, 13vw, 150px ) clamp( 20px, 5vw, 56px ) clamp( 56px, 9vw, 88px );
}
.neb-archive__crumbs { font-family: var( --wp--preset--font-family--mono ); font-size: 12px; color: #a2a98d; margin-bottom: 22px; }
.neb-archive__crumbs a { text-decoration: none; }
.neb-archive__crumbs span { color: #6a5b48; }
.neb-archive__eyebrow { font-family: var( --wp--preset--font-family--mono ); font-size: 12px; letter-spacing: 0.1em; color: #6a5b48; }
.neb-archive__title { font-family: var( --wp--preset--font-family--heading ); font-size: clamp( 30px, 4vw, 48px ); font-weight: 600; margin: 16px 0 0; letter-spacing: -0.015em; max-width: 16ch; line-height: 1.1; }
.neb-archive__lead { font-size: 17px; line-height: 1.7; color: #6d7360; margin: 18px 0 0; max-width: 60ch; }

.neb-archive__filters { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 28px; }
.neb-chip {
	background: transparent;
	color: #6d7360;
	border: 1px solid #dadecb;
	padding: 8px 16px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.2s, color 0.2s;
}
.neb-chip:hover { border-color: #22301b; color: #22301b; }
.neb-chip.is-active { background: #1e2c17; color: #fff; border-color: #1e2c17; }

.neb-archive__grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( min( 320px, 100% ), 1fr ) );
	gap: 32px;
	margin-top: 40px;
	align-items: stretch;
}

.neb-fcard {
	border: 1px solid #e5e8d8;
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	transition: transform 0.3s, box-shadow 0.3s;
}
.neb-fcard:hover { transform: translateY( -6px ); box-shadow: 0 24px 50px rgba(30, 44, 23, 0.10 ); }
.neb-fcard__media { position: relative; height: 240px; }
.neb-fcard__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.neb-fcard__bracket { position: absolute; top: 14px; left: 14px; width: 15px; height: 15px; border-top: 1.5px solid #6a5b48; border-left: 1.5px solid #6a5b48; }
.neb-fcard__body { padding: 28px; }
.neb-fcard__meta { font-family: var( --wp--preset--font-family--mono ); font-size: 11px; color: #6a5b48; }
.neb-fcard__title { font-family: var( --wp--preset--font-family--heading ); font-size: 24px; font-weight: 600; margin: 12px 0 8px; line-height: 1.2; }
.neb-fcard__excerpt { font-size: 15px; line-height: 1.6; color: #6d7360; margin: 0; }

.neb-archive__list { display: flex; flex-direction: column; gap: 18px; }
.neb-hcard {
	border: 1px solid #e5e8d8;
	border-radius: 14px;
	background: #fff;
	padding: 22px;
	display: flex;
	gap: 18px;
	align-items: center;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.neb-hcard:hover { border-color: #d0d6bd; box-shadow: 0 12px 26px rgba(30, 44, 23, 0.06 ); }
.neb-hcard__thumb { width: 96px; height: 72px; flex: none; border-radius: 10px; overflow: hidden; position: relative; }
.neb-hcard__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.neb-hcard__body { display: block; }
.neb-hcard__meta { display: block; font-family: var( --wp--preset--font-family--mono ); font-size: 11px; color: #6a5b48; }
.neb-hcard__title { display: block; font-family: var( --wp--preset--font-family--heading ); font-size: 18px; font-weight: 600; margin: 6px 0 0; line-height: 1.25; }
.neb-archive__empty { color: #6d7360; margin-top: 30px; }

@media ( max-width: 520px ) {
	.neb-hcard__thumb { width: 72px; height: 60px; }
}

/* ===================== neb/related-posts ===================== */
/* Related posts ("Читайте далі") — faithful to designer. */
.neb-related { margin-top: 48px; padding-top: 32px; border-top: 1px solid #e8ead9; }
.neb-related__heading { font-family: var( --wp--preset--font-family--mono ); font-size: 12px; letter-spacing: 0.1em; color: #6a5b48; margin-bottom: 18px; }
.neb-related__grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( min( 240px, 100% ), 1fr ) );
	gap: 16px;
}
.neb-related__card {
	text-decoration: none;
	color: inherit;
	border: 1px solid #e5e8d8;
	border-radius: 12px;
	padding: 20px;
	background: #fff;
	transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.neb-related__card:hover { border-color: #d0d6bd; box-shadow: 0 12px 26px rgba(30, 44, 23, 0.06 ); transform: translateY( -3px ); }
.neb-related__meta { font-family: var( --wp--preset--font-family--mono ); font-size: 11px; color: #a2a98d; }
.neb-related__title { font-family: var( --wp--preset--font-family--heading ); font-size: 17px; font-weight: 600; margin: 8px 0 0; line-height: 1.25; }

/* ===================== neb/article-header ===================== */
/* Article / News header — faithful to designer. */
.neb-article__top {
	max-width: 760px;
	margin: 0 auto;
	padding: clamp( 104px, 13vw, 150px ) clamp( 20px, 5vw, 56px ) 0;
}
.neb-article__crumbs { font-family: var( --wp--preset--font-family--mono ); font-size: 12px; color: #a2a98d; }
.neb-article__crumbs a { text-decoration: none; }
.neb-article__crumb-current { color: #6a5b48; }
.neb-article__meta { font-family: var( --wp--preset--font-family--mono ); font-size: 12px; color: #6a5b48; margin-top: 24px; }
.neb-article__title { font-family: var( --wp--preset--font-family--heading ); font-size: clamp( 30px, 4vw, 48px ); font-weight: 600; margin: 14px 0 0; letter-spacing: -0.015em; line-height: 1.1; }
.neb-article__lead { font-size: 19px; line-height: 1.6; color: #6d7360; margin: 22px 0 0; }
.neb-article__author { display: flex; align-items: center; gap: 12px; margin-top: 28px; padding-top: 24px; border-top: 1px solid #e8ead9; }
.neb-article__avatar { width: 42px; height: 42px; border-radius: 999px; background: linear-gradient( 145deg, #445837, #8a9a63 ); flex: none; }
.neb-article__author-name { font-size: 14px; font-weight: 700; }
.neb-article__author-role { font-family: var( --wp--preset--font-family--mono ); font-size: 11px; color: #a2a98d; }

.neb-article__media-wrap { max-width: 980px; margin: 0 auto; padding: clamp( 24px, 4vw, 32px ) clamp( 20px, 5vw, 56px ) 0; }
.neb-article__media {
	position: relative;
	height: clamp( 240px, 42vw, 440px );
	border-radius: 18px;
	overflow: hidden;
	background: linear-gradient( 145deg, #2c4324, #445837 );
	/* §9: keep alpha (normal) blending on this media container — no multiply. */
	mix-blend-mode: normal;
}
.neb-article__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.neb-article__bracket { position: absolute; top: 16px; left: 16px; width: 16px; height: 16px; border-top: 1.5px solid #6a5b48; border-left: 1.5px solid #6a5b48; }

/* ===================== ISB inner-page content width ===================== */
/* Reference constrained prose/forms to a 760px group; ISB rows have no 760
   option, so constrain the content wrappers themselves — same look. */
.neb-page-body { max-width: 760px; margin-left: auto; margin-right: auto; }
.neb-leadform { max-width: 760px; margin-left: auto; margin-right: auto; }

/* «ЗМІ про нас» — скелет. Плитки поки текстові (назва видання); коли клієнт
   надасть логотипи, текстовий span у .neb-press__item замінюється зображенням.
   Візуал доводимо на стейджі. */
.neb-press__title { font-family: var( --wp--preset--font-family--heading, 'Lora', serif ); font-size: clamp( 22px, 3vw, 30px ); margin: 0 0 18px; }
.neb-press__title--sub { margin-top: 40px; }
.neb-press__wall { display: grid; grid-template-columns: repeat( auto-fill, minmax( 150px, 1fr ) ); gap: 12px; }
.neb-press__item { display: flex; align-items: center; justify-content: center; min-height: 74px; padding: 14px 16px; text-align: center; text-decoration: none; color: inherit; border: 1px solid rgba( 0, 0, 0, 0.10 ); border-radius: 12px; background: #fff; transition: border-color .2s ease, box-shadow .2s ease; }
.neb-press__item:hover { border-color: #6a5b48; box-shadow: 0 6px 20px rgba( 0, 0, 0, 0.06 ); }
.neb-press__videos { display: flex; flex-wrap: wrap; gap: 10px; }
.neb-press__vid { display: inline-flex; align-items: center; padding: 8px 14px; border: 1px solid rgba( 0, 0, 0, 0.10 ); border-radius: 999px; text-decoration: none; color: inherit; font-size: 14px; transition: border-color .2s ease; }
.neb-press__vid:hover { border-color: #6a5b48; }

/* Продукти: горизонтальна карусель при 3+ позиціях (перевикористовує рушій
   [data-neb-slider]: автоскрол по колу, пауза на hover, свайп/драг). Картки —
   фіксованої ширини, тож розмір не «їде» при додаванні продуктів. */
.neb-products__marquee { overflow: hidden; margin-top: 44px; -webkit-mask-image: linear-gradient( 90deg, transparent 0, #000 5%, #000 95%, transparent 100% ); mask-image: linear-gradient( 90deg, transparent 0, #000 5%, #000 95%, transparent 100% ); }
.neb-products__mtrack { display: flex; width: max-content; animation: neb-prod-marquee 42s linear infinite; will-change: transform; }
.neb-products__marquee:hover .neb-products__mtrack { animation-play-state: paused; }
.neb-products--slider .neb-product-card { flex: 0 0 clamp( 300px, 40vw, 540px ); margin-right: 28px; }
@keyframes neb-prod-marquee { from { transform: translateX( 0 ); } to { transform: translateX( -50% ); } }
@media ( prefers-reduced-motion: reduce ) { .neb-products__mtrack { animation: none; } }

/* ===== Слайдер продуктів: авто + ручний, безшовне коло ===== */
.neb-products__slider{ position:relative; margin-top:44px; background:transparent; }
.neb-products__viewport{
	overflow-x:auto; overflow-y:hidden;
	scrollbar-width:none; -ms-overflow-style:none;
	cursor:grab; touch-action:pan-y; background:transparent;
	-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%);
	        mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%);
}
.neb-products__viewport::-webkit-scrollbar{ display:none; height:0; }
.neb-products__viewport.is-dragging{ cursor:grabbing; }
.neb-products__viewport.is-dragging *{ user-select:none; }
.neb-products__track{ display:flex; width:max-content; align-items:stretch; padding:4px 0; background:transparent; }
.neb-products--slider .neb-product-card{ flex:0 0 clamp(300px,40vw,540px); margin-right:28px; }
/* Стрілки — вгорі праворуч */
.neb-products__nav{ position:absolute; top:-58px; right:0; display:flex; gap:10px; z-index:5; }
.neb-products__arrow{
	width:44px; height:44px; border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	font-size:22px; line-height:1; color:#243620; cursor:pointer;
	background:#fff; border:1px solid rgba(36, 54, 32,.14);
	box-shadow:0 4px 14px rgba(36, 54, 32,.10);
	transition:transform .15s ease, box-shadow .15s ease;
}
.neb-products__arrow:hover{ transform:scale(1.06); box-shadow:0 8px 20px rgba(36, 54, 32,.16); }
@media (max-width:900px){
	.neb-products--slider .neb-product-card{ flex-basis:clamp(260px,80vw,360px); }
	.neb-products__nav{ position:static; justify-content:flex-end; margin-bottom:14px; }
}
@media (prefers-reduced-motion:reduce){
	.neb-products__viewport{ scroll-behavior:auto; }
}

/* Опис новини в слайдері новин */
.neb-slide__excerpt{ margin:8px 0 0; font-size:14px; line-height:1.55; color:#6d7360; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* SEO — «Читати більше» */
/* Згортана SEO-стаття читається як стаття: одна колонка на всю ширину, а не газетні колонки. */
.neb-seo__body--collapsible{ columns: auto; }
.neb-seo__body--collapsible .neb-seo__body-inner{ position:relative; max-height:190px; overflow:hidden; transition:max-height .35s ease; }
.neb-seo__body--collapsible .neb-seo__body-inner::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:76px; background:linear-gradient(to bottom, rgba(255,255,255,0), #fff); pointer-events:none; }
.neb-seo__body--collapsible.is-open .neb-seo__body-inner{ max-height:none; }
.neb-seo__body--collapsible.is-open .neb-seo__body-inner::after{ opacity:0; }
.neb-seo__more{ margin-top:16px; display:inline-flex; align-items:center; gap:6px; background:#fff; border:1px solid rgba(36, 54, 32,.2); border-radius:999px; padding:9px 20px; font:inherit; font-size:14px; cursor:pointer; color:#243620; transition:border-color .2s ease, box-shadow .2s ease; }
.neb-seo__more:hover{ border-color:#6a5b48; box-shadow:0 6px 18px rgba(36, 54, 32,.08); }

/* «Для бізнесу» — відео у правій панелі */
.neb-rest__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; }

/* ЗМІ / преса — редагований блок */
.neb-press-sec{ padding:clamp(36px,5vw,72px) 0; }
.neb-press-sec__inner{ max-width:1160px; margin:0 auto; padding:0 clamp(20px,5vw,56px); }
.neb-press__eyebrow{ font-family:var(--wp--preset--font-family--mono,monospace); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#6a5b48; margin-bottom:10px; }
.neb-press-sec .neb-press__wall{ margin-top:20px; }
.neb-press__item img{ max-width:100%; max-height:46px; object-fit:contain; }

/* Преса — картки у стилі статей (картинка + заголовок + опис) */
.neb-press-sec .neb-press__wall{ grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr)); gap:22px; align-items:start; }
.neb-press__card{ display:flex; flex-direction:column; text-decoration:none; color:inherit; border:1px solid #e5e8d8; border-radius:18px; overflow:hidden; background:#fff; transition:transform .3s, box-shadow .3s, border-color .2s; }
.neb-press__card:hover{ transform:translateY(-6px); box-shadow:0 24px 50px rgba(30, 44, 23,.10); border-color:#d0d6bd; }
.neb-press__card-media{ display:block; position:relative; height:200px; background:#f4f3ea; }
.neb-press__card-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.neb-press__card-body{ display:block; padding:22px 24px 26px; }
.neb-press__card-name{ display:block; font-family:var(--wp--preset--font-family--heading,'Lora',serif); font-size:20px; font-weight:600; line-height:1.28; letter-spacing:-.01em; }
.neb-press__card-desc{ display:block; margin-top:10px; font-size:15px; line-height:1.6; color:#6d7360; }
/* Пункти без картинки/опису — компактна плитка (у тій самій сітці) */
.neb-press-sec .neb-press__item{ align-self:start; min-height:0; padding:20px 16px; font-family:var(--wp--preset--font-family--heading,'Lora',serif); font-size:16px; }
@media (max-width:600px){ .neb-press__card-media{ height:170px; } }

/* ============================================================
   iDance — узгодження нативних блоків з темою Dovira
   (заголовок / текст / кнопка / картинка беруть шрифти й
   кольори теми, а не дефолтні стилі білдера).
   ============================================================ */
#isb-main .isb-el-heading .isb-heading{ font-family: var( --wp--preset--font-family--heading, 'Lora', serif ); color: #22301b; }
#isb-main .isb-el-text .isb-text{ font-family: var( --wp--preset--font-family--body, 'Manrope', sans-serif ); color: #6d7360; }
#isb-main .isb-btn{ font-family: var( --wp--preset--font-family--body, 'Manrope', sans-serif ); }

/* ---- Картка-стаття «ЗМІ»: візуально ідентична картці продукту ----
   Колонка зі стилем «Картка», що починається блоком «Картинка».
   Кожен елемент лишається окремим блоком, який редагується в білдері,
   але виглядає як .neb-product-card: суцільне фото на бірюзовому
   градієнті з червоною рамкою-кутом, заголовок Lora, опис, ghost-кнопка. */
#isb-main .isb-col-card:has( > .isb-el-image:first-child ){
	padding: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid #e5e8d8;
	border-radius: 18px;
	box-shadow: none;
	display: flex;
	flex-direction: column;
	transition: transform .3s, box-shadow .3s;
}
#isb-main .isb-col-card:has( > .isb-el-image:first-child ):hover{
	transform: translateY( -6px );
	box-shadow: 0 26px 54px rgba(30, 44, 23, .12 );
}
/* Медіа — як .neb-product-card__media: фіксована висота, градієнт, фото cover */
#isb-main .isb-col-card:has( > .isb-el-image:first-child ) > .isb-el-image{
	margin: 0;
	position: relative;
	height: 300px;
	overflow: hidden;
	background: linear-gradient( 145deg, #2c4324, #445837 );
}
#isb-main .isb-row .isb-col-card:nth-child( 2n ):has( > .isb-el-image:first-child ) > .isb-el-image{
	background: linear-gradient( 145deg, #445837, #8a9a63 );
}
#isb-main .isb-col-card:has( > .isb-el-image:first-child ) > .isb-el-image::before{
	content: "";
	position: absolute;
	top: 14px;
	left: 14px;
	width: 15px;
	height: 15px;
	border-top: 1.5px solid #6a5b48;
	border-left: 1.5px solid #6a5b48;
	z-index: 2;
}
#isb-main .isb-col-card:has( > .isb-el-image:first-child ) > .isb-el-image a{
	position: absolute;
	inset: 0;
	display: block;
}
#isb-main .isb-col-card:has( > .isb-el-image:first-child ) > .isb-el-image .isb-img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
	box-shadow: none;
	display: block;
}
/* Тіло картки — як .neb-product-card__body (padding 34) */
#isb-main .isb-col-card:has( > .isb-el-image:first-child ) > .isb-el-heading{ margin: 0; padding: 30px 34px 0; }
#isb-main .isb-col-card:has( > .isb-el-image:first-child ) > .isb-el-heading .isb-heading{
	font-family: var( --wp--preset--font-family--heading, 'Lora', serif );
	font-size: 22px;
	font-weight: 600;
	line-height: 1.28;
	margin: 0;
	color: #22301b;
}
#isb-main .isb-col-card:has( > .isb-el-image:first-child ) > .isb-el-text{ padding: 12px 34px 0; }
#isb-main .isb-col-card:has( > .isb-el-image:first-child ) > .isb-el-text .isb-text{
	font-size: 15px;
	line-height: 1.62;
	color: #6d7360;
}
/* Кнопка — ghost-кнопка теми, як «Детальніше» у картці продукту */
#isb-main .isb-col-card:has( > .isb-el-image:first-child ) > .isb-el-button{ margin-top: auto; padding: 22px 34px 34px; }
#isb-main .isb-col-card:has( > .isb-el-image:first-child ) > .isb-el-button .isb-btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: #22301b;
	border: 1px solid #dadecb;
	border-radius: 9px;
	padding: 12px 20px;
	font: 700 14px var( --wp--preset--font-family--body, 'Manrope', sans-serif );
	box-shadow: none;
}
#isb-main .isb-col-card:has( > .isb-el-image:first-child ) > .isb-el-button .isb-btn:hover{
	border-color: #22301b;
	color: #22301b;
	background: transparent;
	transform: none;
	box-shadow: none;
}

/* ============================================================
   Картки-документи (.isb-col-outline): без важкої тіні на фото
   + лайтбокс (попап) для читання сертифікатів.
   ============================================================ */
#isb-main .isb-col-outline .isb-el-image .isb-img{ box-shadow: none; }
#isb-main .isb-col-outline .isb-el-image img.neb-zoomable,
#isb-main .neb-zoom img.neb-zoomable,
#isb-main img.neb-zoom.neb-zoomable{ cursor: zoom-in; }

/* Лайтбокс */
body.neb-lightbox-lock{ overflow: hidden; }
.neb-lightbox{
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 32px;
	background: rgba(44, 67, 36, .90 );
	cursor: zoom-out;
	opacity: 0;
	visibility: hidden;
	transition: opacity .22s ease, visibility .22s ease;
}
.neb-lightbox.is-open{ opacity: 1; visibility: visible; }
.neb-lightbox img{
	max-width: min( 1100px, 94vw );
	max-height: 92vh;
	width: auto;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 30px 90px rgba( 0, 0, 0, .55 );
	cursor: default;
}
.neb-lightbox__close{
	position: absolute;
	top: 16px;
	right: 22px;
	width: 44px;
	height: 44px;
	border: none;
	border-radius: 50%;
	background: rgba( 255, 255, 255, .12 );
	color: #fff;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	transition: background .18s ease;
}
.neb-lightbox__close:hover{ background: rgba( 255, 255, 255, .24 ); }

/* ============================================================
   neb/stats (Показники) — фонове зображення або відео,
   як на перших екранах (героях), із затемненням для читабельності.
   ============================================================ */
.neb-stats__bg{ position:absolute; inset:0; z-index:0; background-size:cover; background-position:center; }
.neb-stats__video{ position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; }
.neb-stats__tint{ position:absolute; inset:0; z-index:1; }
.neb-stats--ov-light  .neb-stats__tint{ background:rgba(30, 44, 23,.45); }
.neb-stats--ov-medium .neb-stats__tint{ background:rgba(30, 44, 23,.66); }
.neb-stats--ov-dark   .neb-stats__tint{ background:rgba(30, 44, 23,.82); }
/* Сітка — над затемненням, щоб лишалась видимою поверх фото (як у героях). */
.neb-stats--media .neb-stats__overlay{ z-index:2; }
.neb-stats--media .neb-stats__inner{ position:relative; z-index:3; }

/* neb/for-restaurants — зображення в медіа-панелі (коли відео не задано) */
.neb-rest__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; }

/* ============================================================
   neb/article — повна SEO-стаття в білдері (rich-текст).
   Використовує наявну типографіку .neb-article-body (один стовпчик,
   760px, H2/H3/списки/цитати), тож стаття виглядає як на сайті.
   ============================================================ */
.neb-article { background: transparent; }
.neb-article__inner { padding: clamp( 44px, 7vw, 68px ) 0; }
.neb-article__eyebrow {
	max-width: 760px;
	margin: 0 auto 10px;
	padding: 0 clamp( 20px, 5vw, 24px );
	font-family: var( --wp--preset--font-family--mono );
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #a2a98d;
}
.neb-article__heading {
	max-width: 760px;
	margin: 0 auto 6px;
	padding: 0 clamp( 20px, 5vw, 24px );
	font-family: var( --wp--preset--font-family--heading );
	font-size: clamp( 26px, 3vw, 34px );
	font-weight: 600;
	letter-spacing: -0.01em;
	color: #22301b;
}
/* Вкладений .neb-page-body у вмісті (якщо є) не додає зайвих відступів */
.neb-article-body .neb-page-body { max-width: none; padding: 0; margin: 0; }


/* --- Нативні елементи білдера у стилістиці сайту --- */
.isb-img { max-width: 100%; height: auto; border-radius: 14px; }
/* Зображення-елемент, доданий у контекст статті: по центру, у межах колонки контенту. */
.neb-article__inner .isb-img,
.neb-article-body .isb-img { display: block; margin-left: auto; margin-right: auto; }

/* --- Мобільна типографіка H1 (правка на замовлення) ---
   На вузьких екранах заголовки трохи менші; слова переносяться ЦІЛКОМ
   (без розриву по складах з дефісом), щоб текст не торкався краю. ≤600px. */
@media ( max-width: 600px ) {
	.neb-hero__title { font-size: clamp( 30px, 8vw, 38px ); line-height: 1.1; }
	.neb-vhero__title { font-size: clamp( 27px, 7vw, 32px ); line-height: 1.14; }
	.neb-hero__title,
	.neb-vhero__title,
	.neb-page-hero__title,
	.neb-article__title,
	.neb-archive__title {
		overflow-wrap: break-word;
		word-break: normal;
		hyphens: manual;
	}
	/* Більше повітря в hero на мобільному: відступи між крихтами, заголовком і лідом. */
	.neb-vhero__inner { padding-top: 96px; padding-bottom: 60px; }
	.neb-vhero__title { margin-top: 22px; }
	.neb-vhero__lead { margin-top: 26px; line-height: 1.62; }
	.neb-hero__title { margin-top: 20px; }
	.neb-hero__inner { padding-bottom: 52px; }
}

/* Координати hero («N · … E · …») — показати на мобільному.
   Були приховані до 880px; тепер видно, розміщені між шапкою і контентом. */
@media ( max-width: 767px ) {
	.neb-hero__geo {
		display: flex;
		justify-content: center;
		top: 70px;
		font-size: 10px;
		letter-spacing: 0.22em;
	}
}

/* --- Наскрізне «повітря» заголовків на мобільному ---
   Секційні заголовки (H1/H2) на вузьких екранах переносяться на кілька рядків;
   тісний інтерліньяж (1.02–1.1) робить їх злиплими. Даємо більше леадингу. ≤600px.
   Малі картки-заголовки не чіпаємо — у них уже комфортний line-height. */
@media ( max-width: 600px ) {
	.neb-page-hero__title,
	.neb-article__title,
	.neb-article__heading,
	.neb-archive__title,
	.neb-cintro__heading,
	.neb-seo__heading,
	.neb-ras__title,
	.neb-fc__title,
	.neb-adv__title,
	.neb-stats__title,
	.neb-about__title,
	.neb-slider__title,
	.neb-gallery__title,
	.neb-logo-wall__title,
	.neb-faq__title,
	.neb-map__title,
	.neb-impact__title,
	.neb-timeline__title,
	.neb-cyc-block__title,
	.neb-rest__title,
	.neb-cta-banner__title,
	.neb-products__title,
	.neb-leadform__title,
	.neb-press__title {
		line-height: 1.16;
	}
}

/* ===================== Новини: однакові картки + пагінація ===================== */
.neb-archive__grid--uniform {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	margin-top: 32px;
	align-items: stretch;
}
@media ( min-width: 640px ) { .neb-archive__grid--uniform { grid-template-columns: 1fr 1fr; gap: 24px; } }
@media ( min-width: 1000px ) { .neb-archive__grid--uniform { grid-template-columns: 1fr 1fr 1fr; } }
.neb-ncard {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	background: #fff;
	border: 1px solid #e5e8d8;
	border-radius: 16px;
	overflow: hidden;
	transition: transform .3s ease, box-shadow .3s ease, border-color .2s ease;
}
@media ( hover: hover ) and ( pointer: fine ) {
	.neb-ncard:hover { transform: translateY( -3px ); border-color: #d0d6bd; box-shadow: 0 14px 30px rgba(30, 44, 23, .08 ); }
}
.neb-ncard__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.neb-ncard__img { width: 100%; height: 100%; object-fit: cover; }
.neb-ncard__bracket { position: absolute; top: 14px; left: 14px; width: 16px; height: 16px; border-top: 1.5px solid #6a5b48; border-left: 1.5px solid #6a5b48; }
.neb-ncard__body { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 22px; flex: 1 1 auto; }
.neb-ncard__meta { font-family: var( --wp--preset--font-family--mono ); font-size: 11px; letter-spacing: .06em; color: #a2a98d; text-transform: uppercase; }
.neb-ncard__title { font-family: var( --wp--preset--font-family--heading ); font-size: 18px; font-weight: 600; line-height: 1.3; color: #22301b; }
.neb-ncard__excerpt { font-size: 14px; line-height: 1.55; color: #6d7360; }

.neb-pagination { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 40px; }
.neb-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 42px; height: 42px; padding: 0 12px;
	border: 1px solid #dadecb; border-radius: 10px;
	font-family: var( --wp--preset--font-family--mono ); font-size: 14px; font-weight: 600;
	color: #22301b; text-decoration: none;
	transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.neb-pagination .page-numbers.current { background: #6a5b48; border-color: #6a5b48; color: #fff; }
.neb-pagination .page-numbers.dots { border-color: transparent; }
@media ( hover: hover ) and ( pointer: fine ) {
	.neb-pagination a.page-numbers:hover { border-color: #22301b; }
}

/* --- Дрібні мобільні бампи «повітря» (аналіз за CSS) --- */
@media ( max-width: 600px ) {
	.neb-page-hero__lead { line-height: 1.6; }
	.neb-impact__head,
	.neb-timeline__head,
	.neb-gallery__head,
	.neb-faq__head { margin-bottom: 32px; }
}


/* ===== Dovira: акцентна система за контрастом (додано після аудиту) =====
   Темні секції → тепле золото; світлі секції → зелений/темніший акцент. */
.neb-hero__eyebrow{color:#d8b65e;}
.neb-stats__eyebrow{color:#d8b65e;}
.neb-stat__value{color:#d8b65e;}                 /* великі цифри лічильників (були нечитабельні) */
.neb-cta-banner--dark .neb-cta-banner__eyebrow{color:#d8b65e;}
.neb-cta-banner--light .neb-cta-banner__eyebrow{color:#445837;}
.neb-seo__eyebrow,
.neb-article__eyebrow,
.neb-ras__step-no,
.neb-archive__crumbs span{color:#445837;}
.neb-ras__step-text{color:#565b47;}


/* ===== Dovira: уніфікація всіх акцентних кнопок (золото) ===== */
.neb-hero__cta--primary,
.neb-leadform__submit,
.neb-rest__cta{ background:#c1902f; color:#22301b; border-color:#c1902f; box-shadow:0 10px 28px rgba(193,144,47,0.36); }
.neb-hero__cta--primary:hover,
.neb-leadform__submit:hover,
.neb-rest__cta:hover{ box-shadow:0 16px 36px rgba(193,144,47,0.5); }
.neb-fc__btn{ color:#445837; }

/* ===== Dovira: безшовний loop — вимкнути scroll-snap (інакше карусель залипає) ===== */
[data-neb-loop]{ scroll-snap-type: none !important; }
[data-neb-loop] .neb-slide,
[data-neb-loop] .neb-gallery__slide{ scroll-snap-align: none; }

/* ===== Dovira: блог-архів — контраст і акценти ===== */
.neb-ncard__meta{ color:#6d7360; }
.neb-archive__crumbs{ color:#6d7360; }
.neb-archive__crumbs a{ color:#445837; }
.neb-archive__crumbs span{ color:#445837; }
.neb-archive__eyebrow{ color:#445837; }
.neb-pagination .page-numbers.current{ background:#c1902f; border-color:#c1902f; color:#22301b; }
.neb-ncard__bracket{ border-color:#c1902f; }

/* ===================== Dovira: neb/video (презентація) ===================== */
.neb-video{ background:#eef1e5; }
.neb-video__inner{ max-width:1000px; margin:0 auto; padding:clamp(56px,8vw,96px) clamp(20px,5vw,56px); }
.neb-video__head{ text-align:center; margin-bottom:30px; }
.neb-video__eyebrow{ font-family:var(--wp--preset--font-family--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#445837; margin:0 0 10px; }
.neb-video__title{ font-family:var(--wp--preset--font-family--heading); font-size:clamp(26px,3.4vw,40px); font-weight:600; color:#22301b; margin:0; }
.neb-video__lead{ color:#565b47; margin:14px auto 0; max-width:60ch; line-height:1.6; }
.neb-video__frame{ position:relative; aspect-ratio:16/9; border-radius:16px; overflow:hidden; box-shadow:0 20px 50px rgba(30,44,23,.16); background:#2c4324; }
.neb-video__frame iframe, .neb-video__frame video{ position:absolute; inset:0; width:100%; height:100%; border:0; object-fit:cover; }
.neb-video__frame--empty{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; background-size:cover; background-position:center; }
.neb-video__frame--empty::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(30,44,23,.4),rgba(30,44,23,.66)); }
.neb-video__play{ position:relative; z-index:1; width:74px; height:74px; border-radius:50%; background:#c1902f; display:grid; place-items:center; box-shadow:0 8px 24px rgba(0,0,0,.25); }
.neb-video__play::before{ content:""; border-style:solid; border-width:12px 0 12px 20px; border-color:transparent transparent transparent #22301b; margin-left:5px; }
.neb-video__ph-label{ position:relative; z-index:1; color:#f3f1e7; font-size:14px; }

/* ===================== Dovira: neb/team (слайдер) ===================== */
.neb-team{ background:#fff; }
.neb-team__inner{ max-width:1280px; margin:0 auto; padding:clamp(56px,8vw,100px) clamp(20px,5vw,56px); }
.neb-team__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:30px; flex-wrap:wrap; }
.neb-team__eyebrow{ font-family:var(--wp--preset--font-family--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#445837; margin:0 0 10px; }
.neb-team__title{ font-family:var(--wp--preset--font-family--heading); font-size:clamp(26px,3.4vw,42px); font-weight:600; color:#22301b; margin:0; }
.neb-team__nav{ display:flex; gap:10px; }
.neb-team__viewport{ overflow:hidden; }
.neb-team__track{ display:flex; gap:22px; }
.neb-team__card{ flex:0 0 clamp(240px,80vw,300px); background:#eef1e5; border:1px solid #e5e8d8; border-radius:16px; overflow:hidden; }
.neb-team__media{ aspect-ratio:4/5; background:#445837; }
.neb-team__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.neb-team__body{ padding:18px 20px 22px; }
.neb-team__name{ font-family:var(--wp--preset--font-family--heading); font-size:19px; font-weight:600; color:#22301b; margin:0; }
.neb-team__role{ font-family:var(--wp--preset--font-family--mono); font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:#c1902f; margin:6px 0 0; }
.neb-team__bio{ font-size:14px; line-height:1.55; color:#565b47; margin:10px 0 0; }

/* ===================== Dovira: контакти — форма накладається на карту ===================== */
#dovira-contacts .neb-map{ min-height:420px; z-index:1; }
#dovira-contacts .neb-map iframe, #dovira-contacts .neb-map__embed iframe{ min-height:420px; }
@media (min-width:900px){
	#dovira-contacts .isb-col:last-child{ align-self:center; z-index:2; margin-left:-110px; background:#fff; border-radius:18px; box-shadow:0 24px 60px rgba(30,44,23,.18); padding:26px 30px; }
}

/* ===== Dovira: картки з фото — «готельний» стиль (фото на всю ширину зверху) ===== */
.neb-fc__grid{ align-items:start; }
.neb-fc__card:has(.neb-fc__media){ padding:0; overflow:hidden; }
.neb-fc__card:has(.neb-fc__media) .neb-fc__media{ margin:0; border-radius:0; }
.neb-fc__card:has(.neb-fc__media) .neb-fc__card-title{ margin:20px 26px 0; }
.neb-fc__card:has(.neb-fc__media) .neb-fc__card-text{ margin:8px 26px 0; }
.neb-fc__card:has(.neb-fc__media) .neb-fc__btn{ margin:14px 26px 26px; }
.neb-fc__media img{ aspect-ratio:16/11; }

/* ===== Dovira: контакти — більша карта + відступ знизу ===== */
#dovira-contacts{ padding-bottom:72px; }
#dovira-contacts .neb-map, #dovira-contacts .neb-map__frame, #dovira-contacts .neb-map__embed{ min-height:560px; }
#dovira-contacts .neb-map iframe{ min-height:560px; width:100%; border:0; }

/* ── Сторінка 404 (брендований шаблон теми) ─────────────────────────────
   Темний vhero-фон; великий код 404, кнопки-дії й пошук. «Привид»-кнопки
   тут світлі (на темному фоні), а не темні, як у світлих секціях. */
.neb-vhero--404 .neb-vhero__inner { text-align: center; padding-top: 128px; padding-bottom: 104px; }
.neb-404__code {
	display: block;
	font-family: var( --wp--preset--font-family--heading );
	font-size: clamp( 76px, 16vw, 168px );
	line-height: 0.9;
	font-weight: 700;
	letter-spacing: -0.04em;
	color: #d8b65e;
	opacity: 0.92;
	margin-bottom: 8px;
}
.neb-vhero--404 .neb-vhero__lead { margin-left: auto; margin-right: auto; max-width: 60ch; }
.neb-404__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-top: 30px;
}
.neb-404__actions .neb-btn--ghost {
	background: transparent;
	color: #fff;
	border-color: rgba( 255, 255, 255, 0.45 );
}
.neb-404__actions .neb-btn--ghost:hover {
	border-color: #d8b65e;
	color: #d8b65e;
}
.neb-404__search { margin-top: 30px; display: flex; justify-content: center; }
.neb-404__search form { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; width: 100%; max-width: 460px; }
.neb-404__search input[type="search"] {
	flex: 1 1 220px;
	min-height: 46px;
	padding: 0 16px;
	border-radius: 999px;
	border: 1px solid rgba( 255, 255, 255, 0.3 );
	background: rgba( 255, 255, 255, 0.08 );
	color: #fff;
	font-size: 16px;
}
.neb-404__search input[type="search"]::placeholder { color: rgba( 255, 255, 255, 0.6 ); }
.neb-404__search input[type="submit"], .neb-404__search button {
	min-height: 46px;
	padding: 0 22px;
	border-radius: 999px;
	border: 0;
	background: #c1902f;
	color: #22301b;
	font-weight: 600;
	cursor: pointer;
}
@media ( max-width: 600px ) {
	.neb-vhero--404 .neb-vhero__inner { padding-top: 92px; padding-bottom: 72px; }
}

/* ── Блог: ширший H1 ────────────────────────────────────────────────────
   H1 у блозі (архів + одиночний запис) був обмежений вузькою колонкою
   (15–16ch) і виглядав затісним. Робимо його на 50% ширини поля, а на
   мобільному — на всю ширину з полями по 10px. Інші сторінки (Про нас,
   Послуги…) не зачіпаємо — правила лише для блогу. */
.neb-archive__title,
body.single-post .neb-vhero__title { max-width: 50%; }
@media ( max-width: 600px ) {
	.neb-archive__title,
	body.single-post .neb-vhero__title { max-width: 100%; }
	.neb-archive__inner,
	body.single-post .neb-vhero__inner { padding-left: 10px; padding-right: 10px; }
}

/* ── Навігація між записами («Попередня / Наступна новина») ──────────────
   Виводиться у підвалі лише на одиночних записах (див. footer.php). */
.neb-postnav { background: #f4f1ea; border-top: 1px solid #e6e1d5; }
.neb-postnav__inner {
	max-width: 1160px;
	margin: 0 auto;
	padding: 28px clamp( 16px, 4vw, 40px );
	display: flex;
	gap: 16px;
	justify-content: space-between;
	flex-wrap: wrap;
}
.neb-postnav__link {
	display: flex;
	flex-direction: column;
	gap: 4px;
	max-width: 48%;
	padding: 14px 20px;
	border: 1px solid #dadecb;
	border-radius: 14px;
	background: #fff;
	text-decoration: none;
	transition: border-color .18s ease, transform .18s ease;
}
.neb-postnav__link:hover { border-color: #c1902f; transform: translateY( -2px ); }
.neb-postnav__link--next { margin-left: auto; text-align: right; }
.neb-postnav__dir { font-size: 13px; font-weight: 600; color: #c1902f; letter-spacing: .01em; }
.neb-postnav__title { font-family: var( --wp--preset--font-family--heading ); font-size: 17px; color: #22301b; line-height: 1.3; }
@media ( max-width: 600px ) {
	.neb-postnav__inner { flex-direction: column; padding: 22px 10px; }
	.neb-postnav__link { max-width: 100%; }
	.neb-postnav__link--next { margin-left: 0; text-align: left; }
}
