/* nfs-base 0.2: переменные оформления и базовые стили. Значения — из настроек Merchant (06.11.2026). */
:root {
	--nfs-accent: #1d4ed8;
	--nfs-accent-dark: #1e40af;
	--nfs-text: #525252;
	--nfs-heading: #111;
	--nfs-muted: #6b7280;
	--nfs-border: #e5e5e5;
	--nfs-bg: #fff;
	--nfs-bg-soft: #f6f7f9;
	--nfs-radius: 5px;
	--nfs-font: "Segoe UI", Arial, sans-serif;
	--wplb-color-primary: var(--nfs-accent);
	--nfs-max: 1800px;
	--nfs-pad: 25px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--nfs-bg); color: var(--nfs-text); font: 400 16px/1.5 var(--nfs-font); -webkit-font-smoothing: antialiased; }
img, video, svg { max-width: 100%; height: auto; }
a { color: var(--nfs-accent); text-decoration: none; }
a:hover { color: var(--nfs-accent-dark); }
h1, h2, h3, h4, h5, h6 { line-height: 1.33; font-weight: 500; color: var(--nfs-heading); }
h1 { font-size: 60px; margin: .67em 0; }
h2 { font-size: 40px; margin: .83em 0; }
h3 { font-size: 32px; margin: 1em 0; }
h4 { font-size: 24px; margin: 1.33em 0; }
h5 { font-size: 20px; margin: 1.67em 0; }
h6 { font-size: 16px; margin: 2.33em 0; }
p { margin: 0 0 1.5em; }
table { border-collapse: collapse; width: 100%; }
th, td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--nfs-border); }

/* Контейнер: ширину и поля может задавать nfs-suite («Ширина страницы») */
.nfs-container { width: 100%; max-width: var(--nfs-max); margin-inline: auto; padding-inline: var(--nfs-pad); }
.nfs-main { padding-block: 0 48px; }
.nfs-title, .page-header__title { margin: 0; padding: 19px 0; font-size: 42px; font-weight: 700; color: #000; }

/* Формы и кнопки */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], input[type="url"], select, textarea {
	width: 100%; padding: 11px 14px; font: inherit; color: inherit; background: #fff; border: 1px solid #d8d8d8; border-radius: var(--nfs-radius); }
input:focus, select:focus, textarea:focus { outline: 2px solid color-mix(in srgb, var(--nfs-accent) 35%, transparent); border-color: var(--nfs-accent); }
button, .button, input[type="submit"] { font: inherit; cursor: pointer; }
.button, button.button, input.button, .woocommerce a.button, .woocommerce button.button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 24px; border: 1px solid var(--nfs-accent);
	border-radius: var(--nfs-radius); background: var(--nfs-accent); color: #fff; font-weight: 500; text-decoration: none; line-height: 1.2; }
.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--nfs-accent-dark); border-color: var(--nfs-accent-dark); color: #fff; }
.button.disabled, .button:disabled { opacity: .5; cursor: not-allowed; }

/* Хлебные крошки, уведомления, постраничная навигация */
.woocommerce-breadcrumb { color: var(--nfs-muted); font-size: 14px; margin: 0 0 16px; }
.woocommerce-breadcrumb a { color: inherit; text-decoration: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice { list-style: none; position: relative; margin: 0 0 2em; padding: 1em 2em; background: #f6f5f8; color: #515151; border: 0; border-top: 3px solid var(--nfs-accent); border-radius: 0; word-wrap: break-word; }
.woocommerce-error { border-top-color: #b81c23; }
.woocommerce-message { border-top-color: #8fae1b; }
.woocommerce-info { border-top-color: #1e85be; }
.woocommerce-error li { margin: 0; }
.woocommerce-message .button, .woocommerce-info .button { float: right; margin-left: 16px; padding: 8px 16px; }
.navigation.pagination .nav-links { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 24px; }
.page-numbers { display: inline-flex; min-width: 40px; height: 40px; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid var(--nfs-border); border-radius: var(--nfs-radius); text-decoration: none; color: inherit; }
.page-numbers.current { background: var(--nfs-accent); border-color: var(--nfs-accent); color: #fff; }

/* Записи */
.nfs-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 28px; }
.nfs-post__title { font-size: 20px; }
.nfs-post__title a { color: inherit; text-decoration: none; }
.nfs-post__meta { color: var(--nfs-muted); font-size: 14px; margin-bottom: 8px; }
.screen-reader-text { position: absolute; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 767px) { :root { --nfs-pad: 15px; } .woocommerce-message .button { float: none; margin: 10px 0 0; } }

/* Настройки отдельных страниц (поля wplb_* из Merchant) */
.nfs-main.nfs-plain, .nfs-main.nfs-shop-page { padding-bottom: 0; } /* 0.17.4: у Merchant под контентом обычной страницы нет отступа */
.nfs-main.nfs-no-top { padding-top: 0; }
.nfs-main.nfs-no-bottom, .nfs-main.nfs-no-header { padding-bottom: 0; }
.site-content:has(> .nfs-no-top) { padding-top: 0; }
.site-content:has(> .nfs-no-bottom) { padding-bottom: 0; }
.nfs-main.nfs-no-top.nfs-no-bottom.nfs-no-header { max-width: none; padding-inline: 0; }

/* Цена одним куском: число с разделителями тысяч и знак ₽ не переносятся по частям */
.woocommerce-Price-amount, .price .amount, .amount bdi { white-space: nowrap; }
/* Мелочи шапки, как у Merchant */
.nfs-btn-catalog { line-height: 50px; }
.nfs-badge { line-height: 15px; }
/* Текст страниц как у Merchant: колонка 1170px по центру, на узких экранах поля 15px от края окна */
.nfs-main:not(.nfs-no-top.nfs-no-bottom) .nfs-page > .nfs-content { margin-inline: max(calc(15px - var(--nfs-pad)), calc((100% - 1170px) / 2)); padding: 0; }
.nfs-main:not(.nfs-no-top):not(.nfs-no-header) .nfs-page > .nfs-content { padding-top: 16px; } /* поле .site-content под шапкой страницы */
body:not(.home) .site-content:has(.nfs-page) { padding-top: 1px !important; }
body:not(.home) .site-content:has(> .nfs-no-header) { padding-top: 17px !important; }

/* ===== Блог (архивы записей) — вид Merchant ===== */
body nav.nfs-breadcrumb { box-sizing: border-box; width: 100%; max-width: var(--nfs-max); margin: -15px auto 0; padding: 19px var(--nfs-pad); }
.nfs-breadcrumb .delimiter { display: inline-flex; vertical-align: middle; margin: 0 4px; }
.nfs-breadcrumb .delimiter svg { width: 14px; height: 14px; }
.nfs-blog { display: grid; grid-template-columns: minmax(0, 68.75%) minmax(0, 31.25%); gap: 0; padding-top: 20px; padding-bottom: 0; }
.nfs-blog .blog-sidebar { padding-left: 15px; align-self: start; }
.nfs-blog .content-area { min-width: 0; padding-right: 15px; }
.merchant-posts__wrapper { position: relative; }
.merchant-posts__found { text-align: center; margin-top: 11px; margin-bottom: 30px; }
.merchant-posts__found-inner { display: inline-block; padding: 10px 50px; border-bottom: 2px solid #e2e2e2; position: relative; color: #767676; font-size: 15px; }
.merchant-posts__found-inner .count-bar { position: absolute; bottom: -2px; left: 0; background-color: #1f1f1f; height: 2px; }
.next-posts-navigation { display: block; text-align: center; }
.next-posts-navigation .nav-previous-ajax { display: inline-block; position: relative; }
.next-posts-navigation .nav-previous-ajax a { display: block; font-weight: 600; padding: 11px 45px; border: 1px solid #111; transition: .35s; color: #111; text-decoration: none; }
.next-posts-navigation .nav-previous-ajax a:hover { background-color: #111; color: #fff; }
.next-posts-navigation.loading .nav-previous-ajax a { opacity: .5; pointer-events: none; }
.merchant-posts__taxs-list { margin-bottom: 51px; }
.merchant-posts__taxs-list ul { list-style: none; padding: 0; margin: 0; overflow-x: auto; overflow-y: hidden; display: flex; flex-wrap: nowrap; justify-content: flex-start; scrollbar-width: none; }
.merchant-posts__taxs-list ul::-webkit-scrollbar { display: none; }
.merchant-posts__taxs-list ul li { display: inline-block; padding: 0 17px 10px; margin: 0; white-space: nowrap; }
.merchant-posts__taxs-list ul li:first-child { padding-left: 0; }
.merchant-posts__taxs-list ul li:last-child { padding-right: 0; }
.merchant-posts__taxs-list ul li a { position: relative; font-weight: 500; color: #111; }
.merchant-posts__taxs-list ul li a:after { content: ""; position: absolute; right: 0; bottom: 0; width: 0; border-bottom: 1px solid var(--nfs-accent); transition: width .4s; }
.merchant-posts__taxs-list ul li a.selected, .merchant-posts__taxs-list ul li a:hover { color: var(--nfs-accent); }
.merchant-posts__taxs-list ul li a.selected:after, .merchant-posts__taxs-list ul li a:hover:after { width: 100%; left: 0; }
.blog-wrapper--listing .blog-wrapper { display: flex; align-items: flex-start; margin-bottom: 40px; padding-bottom: 40px; border-bottom: 1px solid #e2e2e2; }
.blog-wrapper--listing .entry-header { position: relative; flex: 0 0 40%; width: 40%; max-width: 40%; margin: 0 40px 0 0; }
.blog-wrapper--listing a.post-thumbnail { display: block; }
.blog-wrapper--listing a.post-thumbnail img { width: 100%; height: auto; }
.blog-sidebar .wp-block-latest-posts__list { margin-bottom: 16px; }
.blog-wrapper .blog-date { position: absolute; left: 0; top: 20px; padding: 3px 15px; background: #fff; color: #111; font-size: 11px; font-weight: 500; line-height: 1.5; text-transform: uppercase; }
.blog-wrapper .entry-summary { margin-top: 0; min-width: 0; }
.blog-wrapper .entry-title { margin: 0 0 13px; font-size: 24px; font-weight: 500; line-height: 1.33; }
.blog-wrapper .entry-title a { color: #111; text-decoration: none; }
.blog-wrapper .entry-title a:hover { color: var(--nfs-accent); }
.blog-wrapper .entry-content { margin: 0 0 17px; }
.blog-wrapper .entry-content p { margin: 0; }
.blog-wrapper .merchant-button { display: inline-flex; align-items: center; font-weight: 500; line-height: 24px; color: #111; text-decoration: none; }
.blog-wrapper .merchant-button:hover { color: var(--nfs-accent); }
.blog-wrapper .merchant-button .merchant-svg-icon { display: inline-flex; margin-left: 8px; }
.blog-wrapper .merchant-button svg { width: 16px; height: 16px; }
/* Сайдбар блога */
.blog-sidebar .widget { margin: 0 0 40px; padding: 23px; border: 1px solid #e2e2e2; }
.blog-sidebar .wp-block-search__label { display: block; margin: 0 0 5px; font-weight: 600; color: #111; }
.blog-sidebar .wp-block-search__inside-wrapper { display: flex; }
.blog-sidebar .wp-block-search__input { flex: 1 1 auto; min-width: 0; height: 50px; padding: 12px 15px; border: 1px solid #ccc; border-radius: 5px; background: #fff; font: inherit; color: #111; }
.blog-sidebar .wp-block-search__button { height: 50px; margin: 0 0 0 10px; padding: 0 15px; border: 0; border-radius: 5px; background: var(--nfs-accent); color: #fff; font: inherit; cursor: pointer; }
.blog-sidebar .wp-block-heading, .blog-sidebar .widget-title { margin: 0 0 20px; padding: 0 0 13px; border-bottom: 2px solid #111; font-size: 16px; font-weight: 600; line-height: 1; text-transform: uppercase; color: #111; }
.blog-sidebar ul { list-style: none; margin: 0; padding: 0; }
.blog-sidebar li { padding: 5px 0; }
.blog-sidebar li:last-child { padding-bottom: 0; }
.blog-sidebar .wp-block-archives-list li { padding: 0; }
.blog-sidebar li a { color: #111; text-decoration: none; }
.blog-sidebar li a:hover { color: var(--nfs-accent); }
@media (max-width: 991px) {
	.nfs-blog { grid-template-columns: minmax(0, 1fr); }
	.nfs-blog .blog-sidebar { padding-left: 0; }
	.nfs-blog .content-area { padding-right: 0; }
	.nfs-blog .blog-sidebar .widget:last-child { margin-bottom: 0; }
	body nav.nfs-breadcrumb { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 767px) {
	.blog-wrapper--listing .blog-wrapper { display: block; }
	.blog-wrapper--listing .entry-header { flex: 0 0 auto; width: 100%; max-width: 100%; margin: 0 0 30px; } /* до 767px картинка записи на всю ширину (макс. 540 у списка), как у Merchant */
	.merchant-posts__list { max-width: 540px; margin-left: auto; margin-right: auto; }
	.nfs-blog .blog-sidebar { max-width: 540px; margin: 70px auto 0; }
	.blog-wrapper .merchant-button svg { width: 13px; height: 13px; }
}

/* Главная: у Merchant .site-content с no-top-spacing/no-bottom-spacing — без полей сверху и снизу */
body.home .site-content:has(> .nfs-home) { padding-top: 0 !important; padding-bottom: 0 !important; }

/* ===== Запись блога — вид Merchant ===== */
.nfs-single { display: flex; max-width: 1170px; margin: 0 auto; padding: 16px 0 0; }
.nfs-single #primary { width: 789.375px; flex: none; padding: 0 15px 0 40px; box-sizing: border-box; }
.nfs-single .blog-sidebar { width: 341px; margin-right: 40px; padding-left: 15px; flex: none; align-self: flex-start; }
.post-wrapper { margin-bottom: 80px; }
.post-wrapper .entry-title { font-size: 48px; font-weight: 700; color: #000; margin: 0 0 13px; }
.post-wrapper .post-thumbnail { margin-top: 70px; }
.post-wrapper .post-thumbnail img { width: 100%; height: auto; }
.single-post .entry-header { margin-bottom: 70px; }
.single-post .post-wrapper .entry-content { font-size: 18px; }
.single-post .post-wrapper .entry-content p { margin: 1em 0 1.5em; }
.entry-meta { display: inline-flex; flex-wrap: wrap; align-items: center; color: #767676; }
.entry-meta a { color: #767676; }
.entry-meta a:hover { color: #525252; }
.entry-meta .meta { margin-right: 5px; }
.entry-meta .meta-date::before { content: '/'; display: inline-block; margin-right: 5px; }
.entry-meta .meta-author { text-transform: capitalize; }
.entry-footer { clear: both; }
@media (max-width: 991px) {
	.nfs-single { display: block; }
	.nfs-single #primary, .nfs-single .blog-sidebar { width: auto; margin-right: 0; }
	.single-post .entry-header { margin-bottom: 30px; }
	.post-wrapper .post-thumbnail { margin-top: 30px; }
}
@media (max-width: 767px) { .post-wrapper .entry-title { font-size: 28px; } }

/* 0.17.21: длинное слово в заголовке не должно расширять страницу на телефоне (было +21px на «О компании») */
body, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; word-wrap: break-word; }

/* 0.17.23: планшет 768–1024 — боковой отступ .container как у Merchant (15px); без него иконки шапки (корзина) вылезали за экран на 10px */
@media (min-width: 768px) and (max-width: 1024px) { .container { box-sizing: border-box; padding-left: 15px; padding-right: 15px; } }

/* Планшет 768–1024: поля страницы 15px, как у Merchant (заголовок, крошки и контент на одной линии) */
@media (min-width: 768px) and (max-width: 1024px) { .nfs-main, nav.nfs-breadcrumb { --nfs-pad: 15px; } }

/* Телефон ≤767: заголовок страницы скрыт, как у Merchant (настройка «скрыть заголовок на мобильных»); крошки остаются и держат высоту шапки страницы */
@media (max-width: 767px) { .nfs-page > .nfs-title { display: none; } }

/* Футер: боковые поля 15px до 1024px, как у Merchant (на телефоне текст был прижат к краю) */
@media (max-width: 1024px) { .nfs-footer > .container { padding-left: 15px; padding-right: 15px; } }

/* Повтор заголовка страницы внутри текста (Корзина, Избранное): на ≥768px прячем лишний, на телефоне h1 скрыт и остаётся этот */
@media (min-width: 768px) { .nfs-content .nfs-dup-title { display: none; } }
