/* ПЕРЕМЕННЫЕ И ОБЩИЕ СТИЛИ */
:root {
  --font-family: 'Manrope', sans-serif;
  --font-heading: 'Manrope', sans-serif;
  --bg-color: #FBFAF9;
  --color-primary: #3B5124;
  --color-primary-hover: #2d3e1b;
  --color-accent: #9DB96F;
  --color-accent-warm: #DCCEB8;
  --color-danger: #dc3232;
  --color-danger-bg: rgba(220, 50, 50, 0.1);
  --color-error: var(--color-danger);
  --dflex-color-error: var(--color-danger);
  --dflex-color-error-bg: var(--color-danger-bg);
  /* Песочно-кремовый */
  --color-light: #f3f1ed;
  --bg-box: #f3f1ed;
  --bg-box-hover: #e8e4dc;
  --bg-card: #FBFAF9;
  /* Заменили белый на Светло-серо-белый */
  --text-color: #1E1A16;
  --text-muted: #6b6158;
  --transition-speed: 0.35s;
  --border-radius: 0px !important;
  /* Без закруглений */
  --wireframe-border: 1px solid #DCCEB8;
  --wireframe-border-light: 1px solid #DCCEB8;
  --shadow-sm: none;
  /* Убираем рамки/тени */
  --shadow-md: none;
  --shadow-lg: none;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  min-height: 100%;
}

body {
  font-family: var(--font-family);
  background-color: var(--bg-color);
  color: var(--text-color);
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  font-weight: 500;
}

/* Ограничение ширины для всех секций кроме баннера, оверлеев, футера, выплывающей шапки и фоновых секций */
body>*:not(#wpadminbar):not(.banner-main):not(.mobile-header):not(.mobile-drawer):not(.modal):not(.footer):not(.sticky-header):not(.section--alt):not(.callback):not(.promo-slider-section):not(.header):not(.catalog):not(#catalog):not(.section.catalog.revealed):not(.vacancy-hero):not(.vacancy-other):not(.vacancy-breadcrumbs):not(.vacancy-single-section):not(.contacts-hero):not(.site-main--fullwidth):not([class*="dflex-popup"]):not([class*="dflex-cart"]):not([class*="dflex-wishlist"]):not([class*="dflex-drawer"]):not([class*="dflex-auth"]):not([id*="dflex"]):not([class*="dflex-notice"]):not([class*="dflex-toast"]):not([class*="dflex-modal"]):not(.woocommerce-message):not(.woocommerce-error):not(.woocommerce-info),
body>main.site-main--fullwidth>*:not(#wpadminbar):not(.banner-main):not(.mobile-header):not(.mobile-drawer):not(.modal):not(.footer):not(.sticky-header):not(.section--alt):not(.callback):not(.promo-slider-section):not(.header):not(.catalog):not(#catalog):not(.section.catalog.revealed):not(.vacancy-hero):not(.vacancy-other):not(.vacancy-breadcrumbs):not(.vacancy-single-section):not(.contacts-hero):not([class*="dflex-popup"]):not([class*="dflex-cart"]):not([class*="dflex-wishlist"]):not([class*="dflex-drawer"]):not([class*="dflex-auth"]):not([id*="dflex"]):not([class*="dflex-notice"]):not([class*="dflex-toast"]):not([class*="dflex-modal"]):not(.woocommerce-message):not(.woocommerce-error):not(.woocommerce-info) {
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
  width: 100%;
}

body>main.site-main--fullwidth {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}

/* Стили для фоновых секций, которые тянутся на всю ширину экрана */
.section--alt,
.callback,
.promo-slider-section,
.catalog,
.section.catalog.revealed,
#catalog,
.vacancy-hero,
.vacancy-other,
.vacancy-breadcrumbs,
.vacancy-single-section,
.contacts-hero {
  width: 100%;
  box-sizing: border-box;
}

/* Центрирование контента внутри фоновых полноширинных секций */
.section--alt>*,
.callback>*,
.catalog>* {
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  box-sizing: border-box;
  padding-left: 20px;
  padding-right: 20px;
}

a {
  text-decoration: none;
  color: inherit;
}

/* КНОПКИ */
.btn {
  font-size: 16px;
  font-family: var(--font-family);
  font-weight: 500;
  background-color: var(--color-accent);
  border: 1px solid var(--color-accent);
  padding: 12px 24px;
  cursor: pointer;
  border-radius: var(--border-radius);
  color: #ffffff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all var(--transition-speed);
  white-space: nowrap;
}

.btn:hover {
  background-color: #8da95a;
  border-color: #8da95a;
  color: #ffffff;
}

.btn:active {
  transform: scale(0.98);
}

.btn-primary {
  background-color: var(--color-accent);
  color: #ffffff;
  border: 1px solid var(--color-accent);
}

.btn-primary:hover {
  background-color: #8da95a;
  border-color: #8da95a;
  color: #ffffff;
}

/* ХЕДЕР */
.header {
  display: flex;
  flex-direction: column;
}

.header__top {
  width: 100%;
  border-bottom: 1px solid #DCCEB8;
}

.header__top-container {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  box-sizing: border-box;
  gap: 20px;
}

.header__top-left {
  display: flex;
  align-items: stretch;
  gap: 0;
}

.header__top-left .warehouse-switcher {
  display: flex !important;
  align-items: center !important;
  padding-right: 20px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  width: auto !important;
}

.header__top-nav {
  border-left: 1px solid #DCCEB8;
  padding: 10px 20px;
  display: flex;
  align-items: center;
}

.header__top-nav-list {
  display: flex;
  list-style: none;
  gap: 20px;
  margin: 0;
  padding: 0;
}

.top-nav__link {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-muted);
  transition: color var(--transition-speed);
}

.top-nav__link:hover {
  color: var(--text-color);
  text-decoration: none;
}

.header__slogan {
  font-size: 13px;
  color: var(--text-muted);
  font-weight: 500;
  max-width: 369px;
  border-left: 1px solid #DCCEB8;
  padding: 10px 20px;
  display: flex;
  align-items: center;
}

.header__slogan span {
  display: block;
}

.header__top-right {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 10px 0;
}

.header__contacts-compact {
  display: flex;
  align-items: center;
}

.contact-text {
  font-size: 14px;
  color: var(--text-color);
}

.contact-text strong {
  font-weight: 600;
}

.contact-hours {
  display: block;
  font-size: 12px;
  color: var(--text-muted);
  margin-top: 1px;
}

.btn-call-link {
  background: none;
  border: none;
  font-family: var(--font-family);
  font-size: 14px;
  font-weight: 500;
  color: var(--color-primary);
  text-decoration: none;
  cursor: pointer;
  padding: 0;
  transition: color var(--transition-speed);
}

.btn-call-link:hover {
  color: var(--color-primary-hover);
  text-decoration: none;
}

.header__main {
  width: 100%;
  border-bottom: 1px solid #DCCEB8;
}

.header__main-container {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  box-sizing: border-box;
  gap: 25px;
}

.header__logo-block {
  flex-shrink: 0;
  border-right: 1px solid #DCCEB8;
  padding-right: 25px;
  display: flex;
  align-items: center;
  padding-top: 15px;
  padding-bottom: 15px;
}

.header__logo-box {
  font-size: 22px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--text-color);
  margin: 0;
  padding: 0;
  line-height: 1;
}

/* SVG Logo */
.logo-img {
  height: 30px;
  width: auto;
  display: block;
}

.logo-img--sticky {
  height: 24px;
}

.logo-img--mobile {
  height: 26px;
}

.logo-img--footer {
  height: 28px;
  filter: brightness(0) invert(1);
}

.header__nav {
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #DCCEB8;
  padding-right: 25px;
  padding-top: 15px;
  padding-bottom: 15px;
}

.header__nav-list {
  display: flex;
  list-style: none;
  gap: 20px;
  margin: 0;
  padding: 0;
}

.nav__link {
  display: block;
  padding: 8px 0;
  font-weight: 500;
  color: var(--text-color);
  transition: color var(--transition-speed);
}

.nav__link:hover {
  color: var(--text-muted);
}

/* Sub-menu Dropdown Navigation */
.header__nav-list li,
.sticky-header__nav-list li {
  position: relative;
}

.menu-item-has-children>a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.menu-item-has-children>a::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 6px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%232C5E43' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform 0.2s ease;
  vertical-align: middle;
}

.menu-item-has-children:hover>a::after {
  transform: rotate(180deg);
}

.header__nav-list .sub-menu,
.sticky-header__nav-list .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 999;
  display: block;
  visibility: hidden;
  opacity: 0;
  transform: translateY(10px);
  min-width: 220px;
  background: #ffffff;
  padding: 10px 0;
  margin: 0;
  list-style: none;
  border-top: 3px solid var(--color-primary);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
  border-radius: 0px !important;
}

.header__nav-list .sub-menu li,
.sticky-header__nav-list .sub-menu li {
  width: 100%;
}

.header__nav-list .sub-menu .nav__link,
.sticky-header__nav-list .sub-menu .nav__link,
.header__nav-list .sub-menu .sticky-nav__link,
.sticky-header__nav-list .sub-menu .sticky-nav__link {
  display: block;
  padding: 8px 20px;
  font-size: 14px;
  font-weight: 500;
  color: var(--color-primary);
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease;
  border-radius: 0px !important;
}

.header__nav-list .sub-menu .nav__link:hover,
.sticky-header__nav-list .sub-menu .nav__link:hover,
.header__nav-list .sub-menu .sticky-nav__link:hover,
.sticky-header__nav-list .sub-menu .sticky-nav__link:hover {
  background-color: #f7f6f4;
  color: #1e422f;
}

.menu-item-has-children:hover>.sub-menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.header__actions {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-shrink: 0;
  padding-top: 15px;
  padding-bottom: 15px;
}

.header__search {
  position: relative;
  width: 180px;
  transition: width 0.3s ease;
}

.header__search input {
  width: 100%;
  padding: 8px 30px 8px 12px;
  font-family: var(--font-family);
  border: var(--wireframe-border);
  border-radius: var(--border-radius);
  outline: none;
  background-color: var(--bg-card);
}

.header__search input:focus {
  background-color: var(--bg-card);
}

.search-icon {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-muted);
  pointer-events: none;
  display: flex;
  align-items: center;
}

.header__icons {
  display: flex;
  align-items: center;
  gap: 10px;
}

.header__icon-link,
.header__cart {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: var(--border-radius);
  background-color: transparent;
  text-decoration: none;
  color: var(--color-primary);
  transition: background-color var(--transition-speed);
}

.header__icon-link:hover,
.header__cart:hover {
  background-color: var(--bg-box);
}

/* БАННЕРЫ */
.placeholder-box {
  background-color: var(--bg-box);
  border: var(--wireframe-border-light);
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 500;
  transition: background-color var(--transition-speed), border-color var(--transition-speed);
  padding: 20px;
}

.placeholder-box:hover {
  background-color: var(--bg-box-hover);
  border-color: #333333;
}

.banner-main {
  width: 100%;
}

.banner-main .large-banner {
  border-left: none;
  border-right: none;
  border-radius: 0;
}

.large-banner {
  height: 680px;
  color: #ffffff;
  background-image: url('images/wood_production.png');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  /* Parallax effect */
  border-radius: var(--border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px;
  position: relative;
  overflow: hidden;
}

.large-banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, rgba(30, 26, 22, 0.5) 0%, rgba(30, 26, 22, 0.82) 100%);
  z-index: 1;
}

.banner-main__content {
  max-width: 800px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
  z-index: 2;
  margin: 0 auto;
}

.large-banner__label {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--color-accent-warm);
}

.banner-main__content h1,
.banner-main__content h2 {
  font-size: 44px;
  font-weight: 600;
  line-height: 1.2;
  color: #ffffff;
  margin-bottom: 4px;
}

.banner-main__content p {
  font-size: 18px;
  color: #e8e4dc;
  max-width: 700px;
  margin: 0 auto;
}

.large-banner__badge {
  position: absolute;
  bottom: 24px;
  right: 24px;
  background-color: rgba(30, 26, 22, 0.8);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #ffffff;
  padding: 8px 16px;
  border-radius: 0;
  font-size: 11px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.1);
  z-index: 2;
}

.large-banner__badge svg {
  color: var(--color-accent-warm);
}

.banner-main__content .form-agreement__text {
  color: #c4beb5;
}

.banner-main__content .form-agreement__link {
  color: #c4beb5;
  text-decoration: underline;
}

.banner-main__content .form-agreement__link:hover {
  color: #ffffff;
}

.banner-main__content .banner-input {
  background-color: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
  transition: all var(--transition-speed);
}

.banner-main__content .banner-input::placeholder {
  color: #c4beb5;
}

.banner-main__content .banner-input:focus {
  background-color: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.6);
}

.banner-main__form,
.callback__form {
  display: flex;
  gap: 10px;
  width: 100%;
  max-width: 520px;
  margin-top: 10px;
}

.banner-input,
.callback-input {
  flex: 1;
  padding: 12px 16px;
  font-family: var(--font-family);
  border: var(--wireframe-border);
  border-radius: var(--border-radius);
  outline: none;
}

/* ПРЕИМУЩЕСТВА (БЫВШИЙ БЛОК СТАТИСТИКИ) */
.advantages-section {
  padding-top: 60px;
  padding-bottom: 60px;
  background-color: #FBFAF9;
}

.advantages-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid #DCCEB8;
  border-left: 1px solid #DCCEB8;
}

.advantage-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
  text-align: left;
  padding: 40px 30px;
  border-right: 1px solid #DCCEB8;
  border-bottom: 1px solid #DCCEB8;
  background-color: var(--bg-card);
  transition: background-color var(--transition-speed);
}

.advantage-item:hover {
  background-color: var(--bg-box);
}

.advantage-icon {
  color: var(--color-primary);
  background-color: var(--color-light);
  width: 52px;
  height: 52px;
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-speed);
  border: none !important;
}

.advantage-icon svg {
  width: 24px;
  height: 24px;
}

.advantage-item:hover .advantage-icon {
  background-color: var(--color-primary);
  color: #ffffff;
  transform: rotate(5deg) scale(1.05);
}

.advantage-text {
  color: var(--text-color);
  font-weight: 500;
}

/* РАЗДЕЛЫ */
.section {
  margin-bottom: 0;
  padding-top: 40px;
  padding-bottom: 40px;
}

.delivery-methods-section {
  max-width: 1300px;
  margin: 0 auto;
}

.section__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 20px;
}

.section__label {
  display: none !important;
}

.section__title {
  font-size: 36px;
  font-weight: 600;
  margin-bottom: 20px;
}

.section__header .section__title {
  margin-bottom: 0;
}

/* Плавное появление секций при скролле */
.section[data-reveal] {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.section[data-reveal].revealed {
  opacity: 1;
  transform: translateY(0);
}

/* ПОЛНОРАЗМЕРНЫЙ БЛОК АКЦИЙ (КАРУСЕЛЬ) */
.promo-slider-section {
  width: 100%;
  position: relative;
  overflow: hidden;
  margin-bottom: 0px;
}

.promo-swiper {
  width: 100%;
  height: auto;
}

.promo-swiper .swiper-wrapper {
  align-items: stretch;
}

.promo-slide {
  position: relative;
  width: 100%;
  height: auto;
  min-height: 520px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 0;
  box-sizing: border-box;
}

.promo-container {
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 40px;
  position: relative;
  z-index: 2;
  box-sizing: border-box;
}

.promo-slide__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(30, 26, 22, 0.4);
  z-index: 1;
}

.promo-card {
  position: relative;
  z-index: 2;
  background-color: #F4F3F0;
  padding: 48px;
  max-width: 600px;
  width: 100%;
  box-shadow: var(--shadow-lg);
  display: flex;
  flex-direction: column;
  gap: 16px;
  text-align: left;
}

.promo-card h3,
.promo-card .promo-card__title {
  font-family: var(--font-heading);
  font-size: 28px;
  font-weight: 600;
  color: var(--color-primary);
  margin-bottom: 4px;
}

.promo-card p {
  color: var(--text-color);
  margin: 0;
  margin-bottom: 10px;
}

.promo-note {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
  background-color: #E2ECD5;
  padding: 6px 12px;
  display: inline-block;
  align-self: flex-start;
  margin-top: 4px;
}

.promo-card .btn {
  background-color: var(--color-accent);
  color: #ffffff;
  border: 1px solid var(--color-accent);
  font-size: 16px;
  font-weight: 500;
  padding: 14px 28px;
  cursor: pointer;
  align-self: flex-start;
  margin-top: 8px;
  transition: all var(--transition-speed);
}

.promo-card .btn:hover {
  background-color: #8da95a;
  border-color: #8da95a;
  color: #ffffff;
}

/* Навигация Swiper */
.promo-swiper__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  background-color: #ffffff !important;
  border: none !important;
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-color);
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
  transition: all var(--transition-speed);
}

.promo-swiper__btn:hover {
  background-color: #ffffff !important;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.12) !important;
}

.promo-swiper__btn--prev {
  left: 24px;
}

.promo-swiper__btn--next {
  right: 24px;
}

/* Скрытие дефолтных иконок Swiper, если используются кастомные */
.promo-swiper__btn::after {
  display: none;
}

/* Пагинация */
.promo-swiper__pagination {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  gap: 8px;
}

.promo-swiper__pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background-color: rgba(251, 250, 249, 0.5);
  opacity: 1;
  transition: width 0.2s ease, background-color 0.2s ease;
}

.promo-swiper__pagination .swiper-pagination-bullet-active {
  background-color: #FBFAF9;
  width: 16px;
  border-radius: 0;
}

.link-all {
  text-decoration: none;
  color: var(--text-muted);
  transition: color var(--transition-speed);
}

.link-all:hover {
  color: var(--color-accent);
  /* с серого на Мшисто-зеленый */
}

/* КАТАЛОГ СЕТКА */
.catalog__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.catalog {
  background-color: var(--color-light) !important;
}

.catalog__card {
  border: none !important;
  border-radius: var(--border-radius);
  background-color: white;
  height: 320px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  padding: 24px;
  cursor: pointer;
  transition: all var(--transition-speed);
  box-shadow: none !important;
}

.catalog__card-img {
  position: relative;
  width: 100%;
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  margin-bottom: 16px;
  z-index: 1;
}

.catalog__card-img img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transition: transform var(--transition-speed);
}

.catalog__card-img::after {
  display: none !important;
}

.catalog__card-content {
  position: relative;
  z-index: 3;
  color: var(--text-color) !important;
  width: 100%;
}

.catalog__card-content h3,
.catalog__card-content h4,
.catalog__card-content .catalog__card-title {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 0;
  color: var(--text-color) !important;
}

.catalog__card-content p {
  display: none;
}

.catalog__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md) !important;
}

.catalog__card:hover .catalog__card-img img {
  transform: scale(1.05);
}

/* ТЕКСТ О КОМПАНИИ */
.company-text__box {
  border: var(--wireframe-border-light);
  border-radius: var(--border-radius);
  padding: 30px;
  background-color: var(--bg-card);
  max-width: 1280px;
}

.company-text__box h2,
.company-text__box h3 {
  font-size: 36px;
  margin-bottom: 16px;
  font-weight: 600;
}

.company-text__content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.company-text__content a {
  text-decoration: none;
}

.extra-text {
  transition: opacity var(--transition-speed), max-height var(--transition-speed);
  overflow: hidden;
}

.content-collapsed .extra-text {
  max-height: 0;
  opacity: 0;
  margin: 0;
}

.btn-toggle {
  background: none;
  border: none;
  font-family: var(--font-family);
  text-decoration: underline;
  cursor: pointer;
  color: var(--text-muted);
  margin-top: 15px;
  display: inline-block;
  padding: 0;
  font-weight: 500;
  transition: color var(--transition-speed);
}

.btn-toggle:hover {
  color: var(--text-color);
}

/* СЕТКА И ОФОРМЛЕНИЕ */
.company-about__grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 40px;
  align-items: stretch;
}

.company-about__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
}

.company-about__metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  width: 100%;
  margin-top: 25px;
  border-top: 1px solid #DCCEB8;
  padding-top: 20px;
}

.metric-item,
.company-about__metric {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.company-about__metric-value {
  font-size: 30px;
  font-weight: 600;
  color: var(--text-color);
  line-height: 1.1;
}

.company-about__metric-label {
  font-size: 14px;
  color: var(--text-muted);
}

.company-about__image-container--no-border {
  border: none;
}

.metric-val {
  font-size: 30px;
  font-weight: 600;
  color: var(--text-color);
  line-height: 1.1;
}

.metric-lbl {
  font-size: 14px;
  color: var(--text-muted);
}

.company-about__visual {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.company-about__image-container {
  position: relative;
  width: 100%;
  flex-grow: 1;
  min-height: 260px;
  border-radius: var(--border-radius);
  overflow: hidden;
  border: var(--wireframe-border-light);
}

.company-about__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.company-about__badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background-color: rgba(251, 250, 249, 0.9);
  backdrop-filter: blur(8px);
  padding: 6px 12px;
  border-radius: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 500;
  color: var(--text-color);
  border: 1px solid var(--color-accent);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  z-index: 2;
}

.company-about__badge span {
  font-size: 14px;
}

.company-about__grid--reversed {
  grid-template-columns: 0.85fr 1.15fr;
}

/* ТАБЫ И ТОВАРЫ */
.products__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}

.products__tabs {
  display: flex;
  gap: 10px;
}

.tab-btn {
  font-size: 16px;
  font-family: var(--font-family);
  background-color: rgba(157, 185, 111, 0.1);
  border: 1px solid var(--color-accent);
  padding: 8px 18px;
  cursor: pointer;
  border-radius: var(--border-radius);
  color: var(--text-color);
  transition: all var(--transition-speed);
  font-weight: 500;
}

.tab-btn:hover {
  background-color: rgba(157, 185, 111, 0.2);
}

.tab-btn.active {
  background-color: var(--color-accent);
  color: #ffffff;
  border-color: var(--color-accent);
}

.tab-content {
  display: none;
}

.tab-content.active {
  display: block;
}

.products__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.product-card {
  border: none !important;
  border-radius: var(--border-radius);
  background-color: var(--bg-card);
  height: 100%;
  min-height: 440px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0;
  transition: all var(--transition-speed);
  cursor: pointer;
  box-shadow: none !important;
}

.product-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md) !important;
}

.product-card__img {
  width: 100%;
  height: 250px;
  border-radius: var(--border-radius);
  overflow: hidden;
  position: relative;
}

.product-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-speed);
}

.product-card:hover .product-card__img img {
  transform: scale(1.06);
}

.product-card__info {
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex-grow: 1;
  margin-top: 12px;
}

.product-card__info h3,
.product-card__info h4 {
  font-size: 20px;
  font-weight: 600;
}

.product-card__info p {
  font-size: 14px;
  color: var(--text-muted);
}

.product-price {
  font-weight: 600;
  font-size: 18px;
}

.product-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: auto;
}

.btn-order {
  font-family: var(--font-family);
  font-weight: 500;
  padding: 8px 20px;
  background-color: var(--color-accent);
  color: #ffffff;
  border: 1px solid var(--color-accent);
  border-radius: var(--border-radius);
  cursor: pointer;
  transition: background-color var(--transition-speed), border-color var(--transition-speed);
}

.btn-order:hover {
  background-color: #8da95a;
  border-color: #8da95a;
  opacity: 1;
}

/* НОВОСТИ */
.news__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.news-card {
  border: 1px solid var(--color-accent);
  border-radius: var(--border-radius);
  background-color: var(--bg-card);
  height: 120px;
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 15px;
  transition: all var(--transition-speed);
  cursor: pointer;
}

.news-card:hover {
  border-color: var(--color-accent);
  background-color: var(--bg-box);
  transform: translateY(-2px);
}

.news-card__img {
  width: 90px;
  height: 90px;
  background-color: var(--bg-box);
  border-radius: var(--border-radius);
  overflow: hidden;
  flex-shrink: 0;
}

.news-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-speed);
}

.news-card:hover .news-card__img img {
  transform: scale(1.08);
}

.news-card__content {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.news-card__content span {
  font-size: 14px;
  color: var(--text-muted);
}

.news-card__content h4 {
  font-size: 18px;
  font-weight: 600;
}

/* СЕРВИСЫ */
.services__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid #DCCEB8;
  border-left: 1px solid #DCCEB8;
}

.service-card {
  border: none;
  border-right: 1px solid #DCCEB8;
  border-bottom: 1px solid #DCCEB8;
  border-radius: 0;
  background-color: var(--bg-card);
  padding: 30px 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 16px;
  transition: all var(--transition-speed);
  cursor: pointer;
  height: 100%;
  box-shadow: none;
}

.service-card:hover {
  background-color: var(--bg-box);
  box-shadow: inset 0 0 15px rgba(30, 26, 22, 0.03);
}

.service-card__icon {
  color: var(--color-primary);
  background-color: var(--color-light);
  width: 52px;
  height: 52px;
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-speed);
  border: none !important;
}

.service-card:hover .service-card__icon {
  background-color: var(--color-primary);
  color: #ffffff;
  transform: rotate(5deg) scale(1.05);
}

.service-card__content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-grow: 1;
}

.service-card h3,
.service-card h4 {
  font-size: 22px;
  font-weight: 600;
  color: var(--text-color);
}

.service-card__description {
  color: var(--text-muted);
}

.service-card__btn {
  font-family: var(--font-family);
  font-weight: 500;
  color: var(--color-primary);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  transition: color var(--transition-speed);
  margin-top: auto;
  font-size: 14px;
}

.service-card__btn::after {
  content: '→';
  display: inline-block;
  transition: transform var(--transition-speed);
}

.service-card__btn:hover {
  color: var(--color-primary-hover);
}

.service-card__btn:hover::after {
  transform: translateX(4px);
}

/* СТАТЬИ */
.articles__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

.article-card {
  border: none !important;
  border-radius: var(--border-radius);
  background-color: var(--bg-card);
  height: auto;
  display: flex;
  flex-direction: column;
  padding: 0;
  transition: all var(--transition-speed);
  cursor: pointer;
  box-shadow: none !important;
}

.article-card:hover {
  border: none !important;
  transform: translateY(-4px);
  box-shadow: none !important;
}

.article-card__img {
  width: 100%;
  height: 180px;
  border-radius: var(--border-radius);
  overflow: hidden;
  margin-bottom: 16px;
}

.article-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-speed);
}

.article-card:hover .article-card__img img {
  transform: scale(1.05);
}

.article-card__info {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.article-card h2,
.article-card h3,
.article-card h4,
.article-card .article-card__title {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-color);
  margin-bottom: 4px;
}

.article-card__excerpt {
  font-family: var(--font-family-alt);
  font-size: 14px;
  color: var(--text-muted);
  margin-bottom: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.article-card__btn {
  font-family: var(--font-family);
  font-size: 14px;
  font-weight: 500;
  color: var(--color-primary);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  transition: color var(--transition-speed);
  margin-top: auto;
  width: fit-content;
}

.article-card__btn::after {
  content: '→';
  display: inline-block;
  transition: transform var(--transition-speed);
}

.article-card__btn:hover {
  color: var(--color-primary-hover);
}

.article-card__btn:hover::after {
  transform: translateX(4px);
}

.portfolio__grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: repeat(2, 240px);
  gap: 20px;
}

.portfolio-card {
  border: var(--wireframe-border);
  border-radius: var(--border-radius);
  background-color: var(--bg-card);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
  transition: all var(--transition-speed);
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  position: relative;
  overflow: hidden;
}

.portfolio-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-color: rgba(74, 60, 46, 0.15);
  transition: background-color var(--transition-speed);
}

.portfolio-card:hover::before {
  background-color: rgba(74, 60, 46, 0.50);
}

.portfolio-card__content {
  position: relative;
  z-index: 2;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity var(--transition-speed), transform var(--transition-speed);
}

.portfolio-card:hover .portfolio-card__content {
  opacity: 1;
  transform: translateY(0);
}

.portfolio-card--large {
  grid-row: span 2;
  padding: 30px;
}

.portfolio-card h2,
.portfolio-card h3,
.portfolio-card h4 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 8px;
  color: #ffffff;
  line-height: 1.2;
}

.portfolio-card p,
.portfolio-card__subtitle {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.3;
}

.portfolio-card:hover {
  border-color: var(--color-primary);
  transform: scale(1.01) translateY(-2px);
  box-shadow: var(--shadow-lg);
}

/* ОТЗЫВЫ */
.reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.review-card {
  border: var(--wireframe-border);
  border-radius: var(--border-radius);
  background-color: var(--bg-card);
  display: flex;
  flex-direction: column;
  padding: 28px 24px;
  font-size: 14px;
  transition: border-color var(--transition-speed), box-shadow var(--transition-speed);
  cursor: pointer;
  box-shadow: var(--shadow-sm);
  gap: 16px;
}

.review-card__header {
  display: flex;
  align-items: center;
  gap: 12px;
}

.review-card__avatar {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 0;
  background-color: var(--color-primary);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
}

.review-card__meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.review-card__name {
  font-size: 16px;
  font-weight: 500;
  color: var(--text-color);
}

.review-card__role {
  font-size: 14px;
  color: var(--text-muted);
}

.review-card__stars {
  color: var(--color-accent-warm);
}

.review-card__text {
  color: var(--text-muted);
}

.review-card:hover {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-md);
}

/* КАРТА, ОБРАТНАЯ СВЯЗЬ, ПОДВАЛ */
.dealers-map__box {
  border: var(--wireframe-border);
  border-radius: var(--border-radius);
  min-height: 280px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--bg-box);
  transition: background-color var(--transition-speed);
  padding: 40px 20px;
  text-align: center;
}

.callback {
  border: none;
  min-height: 380px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, rgba(30, 26, 22, 0.75) 0%, rgba(30, 26, 22, 0.9) 100%), url('images/technologist_consultation.png');
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
  padding: 60px 20px;
  transition: background var(--transition-speed);
}

.callback__box {
  border: none;
  background: transparent;
  box-shadow: none;
  padding: 0;
  text-align: center;
  max-width: 600px;
  width: 100%;
}

.callback::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -30%;
  width: 250px;
  height: 250px;
  background-color: rgba(255, 255, 255, 0.03);
  border-radius: 0;
  pointer-events: none;
}

.callback::after {
  content: '';
  position: absolute;
  bottom: -30%;
  right: -20%;
  width: 300px;
  height: 300px;
  background-color: rgba(255, 255, 255, 0.02);
  border-radius: 0;
  pointer-events: none;
}

.dealers-map__box:hover {
  background-color: var(--bg-box-hover);
}

/* Убран hover эффект для плавности */

.dealers-map__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.callback__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: 600px;
  z-index: 1;
}

.dealers-map__content h3,
.dealers-map__content .dealers-map__title {
  font-size: 22px;
  font-weight: 600;
}

.callback__content h3,
.callback__content .callback__title {
  font-family: var(--font-heading);
  font-size: 36px;
  font-weight: 500;
  color: #ffffff;
  line-height: 1.2;
}

.dealers-map__content p {
  font-size: 14px;
  color: var(--text-muted);
}

.callback__content p {
  font-size: 18px;
  color: #c4beb5;
  max-width: 500px;
}

.callback__content .form-agreement__text {
  color: #a09888;
}

.callback__content .form-agreement__link {
  color: #ffffff;
}

.callback__content .form-agreement__link:hover {
  color: #c4beb5;
}

.callback__content .callback-input {
  background-color: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  transition: all var(--transition-speed);
}

.callback__content .callback-input::placeholder {
  color: #a09888;
}

.callback__content .callback-input:focus {
  background-color: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.4);
}

.footer {
  margin-top: auto;
  margin-bottom: 0;
  border: none;
  background-color: var(--color-primary);
  overflow: hidden;
  font-family: var(--font-family);
  width: 100%;
  color: #FBFAF9;
}

.footer__top-section {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background-color: transparent;
  max-width: 1300px;
  margin: 0 auto;
  padding-left: 10px;
  padding-right: 10px;
  gap: 0;
}

.footer__bottom-wrapper {
  width: 100%;
  border-top: 1px solid var(--color-accent);
  background-color: transparent;
}

.footer__col {
  padding: 40px 30px;
  border-right: 1px solid var(--color-accent);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
}

.footer__col:last-child {
  border-right: none;
}

.footer__label {
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: 15px;
  display: block;
}

.footer__phone-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 15px;
}

.footer__phone {
  font-weight: 600;
  color: #FBFAF9;
  text-decoration: none !important;
}

.footer__menu-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0;
  margin: 0;
}

.footer__link {
  font-size: 14px;
  font-weight: 500;
  color: rgba(251, 250, 249, 0.85);
  text-decoration: none;
  transition: color var(--transition-speed);
}

.footer__link:hover {
  color: #DCCEB8;
  text-decoration: none;
}

.footer__text {
  color: rgba(251, 250, 249, 0.9);
  margin: 0 0 10px 0;
}

.footer__text--contacts {
  margin-top: 12px;
  font-size: 13px !important;
  color: rgba(251, 250, 249, 0.7) !important;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.footer__text--contacts a {
  color: rgba(251, 250, 249, 0.95);
  text-decoration: underline;
}

.footer__rating {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.footer__stars {
  color: #ffb700;
  font-size: 14px;
}

.footer__payments {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 5px;
}

.payment-icon {
  border-radius: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.footer__bottom-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 10px 30px;
  font-size: 12px;
  color: rgba(251, 250, 249, 0.7);
  background-color: transparent;
  border-top: none;
  gap: 30px;
  max-width: 1300px;
  margin: 0 auto;
}

.footer__bottom-left {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
}

.footer__brand {
  display: flex;
  align-items: center;
}

.footer__socials {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(251, 250, 249, 0.3);
  border-radius: 0;
  color: rgba(251, 250, 249, 0.75);
  transition: all var(--transition-speed);
}

.footer__social-link:hover {
  background-color: #FBFAF9;
  color: var(--color-primary);
  border-color: #FBFAF9;
  transform: translateY(-2px);
}

.footer__bottom-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 30px;
  flex-wrap: wrap;
}

.footer__legal-col {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
}

.footer__legal-link {
  color: rgba(251, 250, 249, 0.65);
  text-decoration: none;
  font-size: 12px;
  transition: color var(--transition-speed);
  white-space: nowrap;
}

.footer__legal-link:hover {
  color: #FBFAF9;
  text-decoration: none;
}

.footer__copyright {
  margin: 0;
  padding: 0;
  font-size: 12px;
  color: rgba(251, 250, 249, 0.5);
  white-space: nowrap;
}

/* АДАПТИВНОСТЬ */

/* ==========================================
   СТИЛИ ДЛЯ МОДАЛЬНОГО ОКНА, СТИКИ-ХЕДЕРА И МОБИЛЬНОЙ ВЕРСИИ
   ========================================== */

/* МОДАЛЬНОЕ ОКНО */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.modal.active {
  opacity: 1;
  pointer-events: auto;
}

.modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(4px);
}

.modal__content {
  position: relative;
  background-color: var(--bg-card);
  border: var(--wireframe-border);
  border-radius: var(--border-radius);
  padding: 0;
  width: 90%;
  max-width: 700px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  transform: translateY(20px);
  transition: transform 0.3s ease;
  box-sizing: border-box;
  display: flex;
  overflow: hidden;
}

.modal__side-image {
  width: 35%;
  background-image: url('images/wood_production.png');
  background-size: cover;
  background-position: center;
  position: relative;
}

.modal__form-side {
  width: 65%;
  padding: 40px;
  position: relative;
  display: flex;
  flex-direction: column;
}

.modal.active .modal__content {
  transform: translateY(0);
}

.modal__close {
  position: absolute;
  top: 15px;
  right: 15px;
  background: none;
  border: none;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  color: var(--text-muted);
  transition: color var(--transition-speed);
}

.modal__close:hover {
  color: var(--text-color);
}

.modal h3,
.modal__title {
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 15px;
}

.modal p {
  color: var(--text-muted);
  margin-bottom: 25px;
}

.modal__form {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.modal__input {
  width: 100%;
  padding: 12px 15px;
  font-family: var(--font-family);
  border: var(--wireframe-border);
  border-radius: var(--border-radius);
  outline: none;
  box-sizing: border-box;
}

.modal__input:focus {
  background-color: var(--bg-box-hover);
}

/* ==========================================
   ELEGANT PREMIUM STYLING FOR NOTIFY STOCK MODAL
   ========================================== */
#notify-stock-modal .modal__content {
  max-width: 440px !important;
  width: 90% !important;
  display: block !important;
  background-color: var(--bg-card, #FBFAF9) !important;
  border: 1px solid var(--color-accent-warm, #DCCEB8) !important;
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.12) !important;
  position: relative !important;
  overflow: visible !important;
}

#notify-stock-modal .modal__form-side {
  width: 100% !important;
  flex: none !important;
  padding: 40px 32px 32px !important;
  box-sizing: border-box !important;
  position: relative !important;
}

#notify-stock-modal .modal__close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  width: 32px !important;
  height: 32px !important;
  background: transparent !important;
  border: none !important;
  font-size: 24px !important;
  line-height: 1 !important;
  color: var(--text-muted, #6b6158) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: color 0.2s ease, transform 0.2s ease !important;
  z-index: 10 !important;
}

#notify-stock-modal .modal__close:hover {
  color: var(--text-color, #1E1A16) !important;
  transform: scale(1.1) !important;
}

#notify-stock-modal .modal__title {
  font-family: var(--font-heading, 'Manrope', sans-serif) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--text-color, #1E1A16) !important;
  margin: 0 0 20px 0 !important;
  padding-right: 24px !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

#notify-stock-modal .wpcf7 {
  width: 100% !important;
  margin: 0 !important;
}

#notify-stock-modal .wpcf7-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  width: 100% !important;
}

#notify-stock-modal .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
  margin-bottom: 0 !important;
}

#notify-stock-modal input[type="tel"],
#notify-stock-modal input[type="text"],
#notify-stock-modal input[type="email"] {
  width: 100% !important;
  height: 48px !important;
  padding: 0 16px !important;
  font-family: var(--font-family, 'Manrope', sans-serif) !important;
  font-size: 15px !important;
  color: var(--text-color, #1E1A16) !important;
  background-color: #ffffff !important;
  border: 1px solid var(--color-accent-warm, #DCCEB8) !important;
  border-radius: 0 !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

#notify-stock-modal input[type="tel"]:focus,
#notify-stock-modal input[type="text"]:focus,
#notify-stock-modal input[type="email"]:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 2px rgba(59, 81, 36, 0.1) !important;
}

#notify-stock-modal input[type="submit"],
#notify-stock-modal .wpcf7-submit {
  width: 100% !important;
  height: 50px !important;
  background-color: var(--color-primary) !important;
  color: #ffffff !important;
  font-family: var(--font-family, 'Manrope', sans-serif) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, opacity 0.2s ease !important;
  margin-top: 6px !important;
  margin-bottom: 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#notify-stock-modal input[type="submit"]:hover,
#notify-stock-modal .wpcf7-submit:hover {
  background-color: var(--color-primary-hover, #2d3e1b) !important;
}

#notify-stock-modal .wpcf7-acceptance {
  display: block !important;
  margin-top: 4px !important;
}

#notify-stock-modal .wpcf7-acceptance .wpcf7-list-item {
  margin: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

#notify-stock-modal .wpcf7-acceptance label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  color: var(--text-muted, #6b6158) !important;
  cursor: pointer !important;
}

#notify-stock-modal .wpcf7-acceptance input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  margin-top: 2px !important;
  accent-color: var(--color-primary) !important;
  cursor: pointer !important;
}

#notify-stock-modal .wpcf7-response-output {
  margin: 10px 0 0 0 !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
  border-radius: 0 !important;
}

/* МОБИЛЬНЫЙ ХЕДЕР И ВЫДВИЖНОЙ МЕНЮ (DRAWER) */
.mobile-header {
  display: none;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  background-color: var(--bg-color);
  z-index: 1060;
  border-bottom: 1px solid #DCCEB8;
  box-sizing: border-box;
  padding: 15px 20px;
}

.mobile-header__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.mobile-header__logo {
  font-size: 22px;
  font-weight: 600;
  text-transform: uppercase;
}

.mobile-header__actions {
  display: flex;
  align-items: center;
  gap: 15px;
}

.mobile-header__action-btn,
.mobile-header__action-link,
.mobile-header__menu-toggle {
  position: relative;
  background: none;
  border: none;
  color: var(--text-color);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: color var(--transition-speed);
}

.mobile-header__menu-toggle {
  width: 32px;
  height: 32px;
  z-index: 1070;
}

.mobile-header__action-btn:hover,
.mobile-header__action-link:hover,
.mobile-header__menu-toggle:hover {
  color: var(--color-primary);
}

/* Бургер-иконка и плавная анимация в крестик */
.burger-lines {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 20px;
  height: 14px;
  position: relative;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.burger-line {
  display: block;
  width: 100%;
  height: 2px;
  background-color: currentColor;
  border-radius: 2px;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.25s ease,
              background-color var(--transition-speed);
  transform-origin: center;
}

/* Состояние крестика при открытом меню */
.mobile-header__menu-toggle.active .burger-lines {
  transform: rotate(180deg);
}

.mobile-header__menu-toggle.active .burger-line.line-1 {
  transform: translateY(6px) rotate(45deg);
}

.mobile-header__menu-toggle.active .burger-line.line-2 {
  opacity: 0;
  transform: scaleX(0);
}

.mobile-header__menu-toggle.active .burger-line.line-3 {
  transform: translateY(-6px) rotate(-45deg);
}

/* Выпадающая строка поиска на мобильном */
.mobile-search-bar {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, margin-top 0.3s ease;
  margin-top: 0;
  width: 100%;
}

.mobile-search-bar.active {
  max-height: 50px;
  margin-top: 15px;
}

.mobile-search-bar input {
  width: 100%;
  padding: 10px 12px;
  border: var(--wireframe-border);
  border-radius: var(--border-radius);
  outline: none;
  font-size: 14px;
  font-family: var(--font-family);
  box-sizing: border-box;
}

/* ВЫДВИЖНОЙ БАР (DRAWER) */
.mobile-drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1050;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.mobile-drawer.active {
  opacity: 1;
  pointer-events: auto;
}

.mobile-drawer__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(2px);
  z-index: 1;
}

.mobile-drawer__content {
  position: absolute;
  top: 0;
  right: -300px;
  width: 280px;
  height: 100%;
  background-color: var(--bg-card);
  box-shadow: -5px 0 20px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  padding: 80px 24px 30px;
  box-sizing: border-box;
  transition: right 0.3s ease;
  overflow-y: auto;
  z-index: 1070;
}

.mobile-drawer.active .mobile-drawer__content {
  right: 0;
}

.mobile-drawer__close {
  display: none !important;
}


.mobile-drawer__nav {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 40px;
}

.mobile-drawer__link {
  font-size: 18px;
  font-weight: 500;
  color: var(--text-color);
  transition: color var(--transition-speed);
}

.mobile-drawer__link:hover {
  color: var(--text-muted);
}

.mobile-drawer__contacts {
  border-top: 1px solid #DCCEB8;
  padding-top: 25px;
  margin-bottom: 30px;
}

.mobile-drawer__contacts .contact-item {
  font-size: 12px;
}

.mobile-drawer__btn-call {
  width: fit-content;
  text-align: left;
  margin-top: 10px;
}

/* МЕДИА-ЗАПРОСЫ ДЛЯ МОБИЛЬНОЙ ШАПКИ */

/* ==========================================
   НОВЫЕ СТИЛИ: ПЕРЕКЛЮЧАТЕЛЬ, СВАЙПЕР И КАРТА
   ========================================== */

/* Переключатель складов */
.warehouse-switcher {
  position: relative;
  display: inline-block;
  width: 150px;
}

.warehouse-switcher__btn {
  background: none;
  border: none;
  border-radius: 0;
  padding: 4px 0;
  font-family: var(--font-family);
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  background-color: transparent;
  transition: color var(--transition-speed);
}

.warehouse-switcher__btn:hover {
  background-color: transparent;
  color: var(--text-muted);
}

.warehouse-switcher__btn .loc-icon {
  color: var(--text-color);
}

.warehouse-switcher__btn .chevron-icon {
  margin-left: 2px;
  color: var(--text-muted);
  transition: transform var(--transition-speed);
}

.warehouse-switcher__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 8px;
  background-color: var(--bg-card);
  border: var(--wireframe-border);
  border-radius: var(--border-radius);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  z-index: 100;
  display: flex;
  flex-direction: column;
  min-width: 260px;
  opacity: 0;
  transform: translateY(-5px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.warehouse-switcher__dropdown.active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Поп-ап подтверждения города */
.warehouse-confirm-popup {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 10px;
  background-color: #FBFAF9;
  border: 1px solid var(--color-accent);
  border-radius: 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  padding: 24px 20px 20px 20px;
  width: 320px;
  z-index: 110;
  box-sizing: border-box;
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.warehouse-confirm-popup.active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.warehouse-confirm-popup__close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: none;
  border: none;
  cursor: pointer;
  color: #888888;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.warehouse-confirm-popup__close:hover {
  color: #333333;
}

.warehouse-confirm-popup__text {
  color: #333333;
  margin-bottom: 16px;
  text-align: left;
}

.warehouse-confirm-popup__text strong,
.warehouse-confirm-popup__text .warehouse-confirm-popup__city,
.warehouse-confirm-popup__text #confirm-city-name {
  font-weight: 600;
}

.warehouse-confirm-popup__buttons {
  display: flex;
  gap: 10px;
}

.warehouse-confirm-popup__buttons button {
  flex: 1;
  padding: 10px 12px;
  font-family: var(--font-family);
  font-size: 14px;
  font-weight: 500;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transition-speed), border-color var(--transition-speed), color var(--transition-speed);
}

.btn-confirm-yes {
  background-color: var(--color-accent);
  color: #ffffff;
  border: none;
}

.btn-confirm-yes:hover {
  background-color: #8da95a;
}

.btn-confirm-no {
  background-color: var(--color-accent);
  color: #ffffff;
  border: 1px solid var(--color-accent);
}

.btn-confirm-no:hover {
  background-color: #8da95a;
  border-color: #8da95a;
}

.warehouse-option {
  padding: 10px 15px;
  text-align: left;
  border: none;
  background: none;
  font-family: var(--font-family);
  font-size: 14px;
  color: var(--text-color);
  cursor: pointer;
  transition: background-color var(--transition-speed);
}

.warehouse-option:hover {
  background-color: var(--bg-box-hover);
}

.warehouse-option.active {
  font-weight: 600;
  background-color: #f5f5f5;
}

/* Специфично для мобильного меню */
.mobile-switcher {
  margin-bottom: 20px;
  width: 100%;
}

.mobile-switcher .warehouse-switcher__btn {
  width: 100%;
  justify-content: space-between;
}

.mobile-switcher .warehouse-switcher__dropdown {
  position: static;
  width: 100%;
  box-shadow: none;
  border-top: none;
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  display: none;
}

.mobile-switcher .warehouse-switcher__dropdown.active {
  display: flex;
}

/* Отзывы: карусель Swiper */
.reviews-swiper__navigation {
  display: flex;
  gap: 10px;
}

.reviews-swiper__btn {
  background-color: #ffffff !important;
  border: none !important;
  border-radius: 50% !important;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--text-color);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
  transition: all var(--transition-speed);
}

.reviews-swiper__btn:hover {
  background-color: #ffffff !important;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.12) !important;
}

.reviews-swiper {
  width: 100%;
  padding-bottom: 40px !important;
}

.reviews-swiper .swiper-slide {
  height: auto;
}

.reviews-swiper .review-card {
  height: 100%;
  box-sizing: border-box;
}

.reviews-swiper__pagination {
  bottom: 0px !important;
}

.reviews-swiper__pagination .swiper-pagination-bullet {
  background: #cccccc;
  opacity: 1;
}

.reviews-swiper__pagination .swiper-pagination-bullet-active {
  background: var(--text-color);
  width: 16px;
  border-radius: 0;
  transition: width 0.2s ease;
}

/* Секция дилеров с картой */
.dealers-map__header {
  margin-bottom: 20px;
}

.dealers-map__grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  border: 1px solid var(--color-accent-warm) !important;
  border-radius: var(--border-radius);
  overflow: hidden;
  height: auto;
  background-color: var(--bg-card);
  max-width: 1280px;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.dealers-map__visual-wrapper {
  height: 100%;
  min-height: 440px;
  width: 100%;
  position: relative;
  background-color: #e5e3db;
  /* Схематичная сетка на случай если карта не загрузилась */
  background-image:
    radial-gradient(#ddd 1px, transparent 1px),
    radial-gradient(#ddd 1px, transparent 1px);
  background-size: 20px 20px;
  background-position: 0 0, 10px 10px;
  overflow: hidden;
}

.dealers-map__canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #e5e3db;
}

.dealers-map__panel {
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--color-accent-warm);
  background-color: var(--bg-card);
  height: auto;
  min-height: 100%;
  overflow: hidden;
  padding: 40px 60px;
  box-sizing: border-box;
}

.dealers-tabs {
  display: flex;
  gap: 15px;
  margin-bottom: 30px;
  border-bottom: none;
  padding-bottom: 10px;
}

.dealers-tab-btn {
  font-family: var(--font-heading);
  font-weight: 500;
  color: var(--text-muted);
  background: none;
  border: none;
  padding: 8px 0;
  cursor: pointer;
  transition: all var(--transition-speed);
  position: relative;
  font-size: 18px;
}

.dealers-tab-btn::after {
  content: '';
  position: absolute;
  bottom: -11px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: transparent;
  transition: background-color var(--transition-speed);
}

.dealers-tab-btn:hover {
  color: var(--color-primary);
}

.dealers-tab-btn.active {
  color: var(--color-primary);
}

.dealers-tab-btn.active::after {
  background-color: var(--color-primary);
}

.dealers-info-container {
  display: grid;
  grid-template-columns: 1fr;
  flex-grow: 1;
}

.dealer-info-block {
  grid-area: 1 / 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.dealer-info-block.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  position: relative;
  z-index: 1;
}

.dealer-info-city {
  display: none;
  /* уже понятно по активному табу */
}

.dealer-info-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.dealer-info-label {
  font-family: var(--font-heading);
  font-size: 14px;
  color: var(--color-primary);
  font-weight: 500;
}

.dealer-info-value {
  color: var(--text-color);
}

.dealer-info-value a {
  color: var(--text-color);
  text-decoration: none;
  transition: color var(--transition-speed);
}

.dealer-info-value a:hover {
  color: var(--color-primary);
  text-decoration: none;
}

.dealer-info-field--socials {
  margin-top: 4px;
}

.dealer-info-socials {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.dealer-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #DCCEB8;
  color: var(--color-primary);
  background-color: transparent;
  text-decoration: none;
  transition: all 0.2s ease;
}

.dealer-social-link:hover {
  background-color: var(--color-primary);
  color: #ffffff;
  border-color: var(--color-primary);
  transform: translateY(-2px);
}

.dealer-social-link svg {
  width: 18px;
  height: 18px;
}

.dealer-directions-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: color var(--transition-speed), gap var(--transition-speed);
}

.dealer-directions-link:hover {
  color: var(--color-accent);
  gap: 10px;
}

/* Кнопка Как добраться в карточке склада */
.dealer-info-actions {
  margin-top: 24px;
}

.btn-how-to-get {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 22px;
  font-size: 14px;
  font-weight: 600;
  border-radius: var(--border-radius);
  cursor: pointer;
  background-color: var(--bg-card);
  color: var(--color-primary);
  border: 1px solid var(--border-color);
  transition: all var(--transition-speed);
}

.btn-how-to-get:hover {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: #ffffff;
}

.btn-how-to-get svg {
  flex-shrink: 0;
  transition: transform var(--transition-speed);
}

.btn-how-to-get:hover svg {
  transform: translateX(2px);
}

/* Модальное окно "Как добраться" */
#how-to-get-modal .modal__content {
  max-width: 760px;
}

#how-to-get-modal .how-to-get-pane {
  display: flex;
}

/* ВСПЛЫВАЮЩАЯ ШАПКА ПРИ СКРОЛЛЕ */
.sticky-header {
  position: fixed;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  width: 100%;
  max-width: 100%;
  background-color: rgba(251, 250, 249, 0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: none;
  z-index: 1000;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  border: none;
  border-bottom: 1px solid #DCCEB8;
  border-radius: 0;
}

.sticky-header.sticky-header--visible {
  transform: translateY(0);
}

.sticky-header__container {
  max-width: 1300px;
  margin: 0 auto;
  padding: 12px 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sticky-header__logo {
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--text-color);
}

.sticky-header__nav-list {
  display: flex;
  list-style: none;
  gap: 24px;
  margin: 0;
  padding: 0;
}

.sticky-nav__link {
  font-weight: 500;
  color: var(--text-color);
  transition: color var(--transition-speed);
}

.sticky-nav__link:hover {
  color: var(--text-muted);
}

.sticky-header__actions {
  display: flex;
  align-items: center;
  gap: 20px;
}

.sticky-header__phone {
  font-weight: 600;
  color: var(--text-color);
  text-decoration: none;
}

.sticky-header__btn-call {
  font-size: 14px;
  padding: 6px 12px;
  font-weight: 500;
  text-underline-offset: 3px;
  background: none;
  border: none;
  color: var(--text-color);
  cursor: pointer;
}

.sticky-header__icons {
  display: flex;
  align-items: center;
  gap: 10px;
}

.sticky-header__icon-link,
.sticky-header__cart {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: var(--border-radius);
  background-color: transparent;
  color: var(--text-color);
  transition: background-color var(--transition-speed);
}

.sticky-header__icon-link:hover,
.sticky-header__cart:hover {
  background-color: var(--bg-box);
}

/* Согласие с политикой обработки персональных данных */
.form-agreement {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
  cursor: pointer;
  user-select: none;
  text-align: left;
}

.form-agreement input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.form-agreement__text {
  font-size: 14px;
  color: var(--text-muted);
  position: relative;
  padding-left: 32px;
  display: inline-block;
}

.form-agreement__text::before {
  content: '';
  position: absolute;
  left: 0;
  top: -1px;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-accent);
  background-color: #FBFAF9;
  transition: all var(--transition-speed);
  border-radius: 0;
}

.form-agreement__text::after {
  content: '';
  position: absolute;
  left: 7px;
  top: 3px;
  width: 5px;
  height: 10px;
  border: solid #FBFAF9;
  border-width: 0 2.5px 2.5px 0;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity var(--transition-speed);
}

.form-agreement input[type="checkbox"]:checked+.form-agreement__text::before {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.form-agreement input[type="checkbox"]:checked+.form-agreement__text::after {
  opacity: 1;
}

.form-agreement input[type="checkbox"]:focus+.form-agreement__text::before {
  box-shadow: 0 0 0 2px rgba(59, 81, 36, 0.2);
}

.form-agreement:hover .form-agreement__text::before {
  border-color: var(--color-primary-hover);
}

.form-agreement__link {
  text-decoration: none;
  color: var(--text-color);
  font-weight: 500;
}

.form-agreement__link:hover {
  color: var(--text-muted);
}

.banner-main__content .form-agreement {
  max-width: 600px;
  justify-content: center;
}

.callback__content .form-agreement {
  max-width: 600px;
  justify-content: center;
}

.modal__form .form-agreement {
  max-width: 100%;
  margin-bottom: 15px;
}

/* СПИСОК ПРИЧИН */
.reasons-list {
  list-style: none;
  padding: 0;
  margin: 30px 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.reasons-list li {
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

.reasons-list__icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  background: var(--color-light) !important;
  color: var(--color-primary) !important;
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  box-shadow: none !important;
  transition: all var(--transition-speed);
}

.reasons-list li:hover .reasons-list__icon {
  transform: scale(1.08) rotate(-4deg);
  background: var(--color-primary) !important;
  color: #ffffff !important;
}

.reasons-list__text {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.reasons-list__text strong,
.reasons-list__text .reasons-list__title {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-color);
}

.reasons-list__text span,
.reasons-list__text .reasons-list__desc {
  color: var(--text-muted);
}

.reasons-list__note {
  display: block;
  margin-top: 4px;
  font-size: 12px !important;
  opacity: 0.7;
  font-style: italic;
}

/* АДАПТИВНОСТЬ ГЛАВНОГО БАННЕРА */

.section {
  position: relative;
  overflow: hidden;
  padding-left: 20px;
  padding-right: 20px;
}

#catalog {
  background-color: #FAF8F5;
  background-image: linear-gradient(90deg, rgba(30, 26, 22, 0.015) 1px, transparent 1px);
  background-size: 140px 100%;
  border-radius: 0;
}

/* ЭФФЕКТ БЛИКА НА ФОТО УДАЛЕН */
.catalog__card,
.product-card,
.service-card,
.article-card,
.portfolio-card,
.minor-banner {
  position: relative;
  overflow: hidden;
}

/* МЕДИА-ЗАПРОСЫ ДЛЯ ЗАГОЛОВКОВ И ОТСТУПОВ */

/* --- ПРЕМИУМ УЛУЧШЕНИЯ ДИЗАЙНА --- */

/* Breadcrumbs Layout */
.woocommerce-breadcrumb,
.breadcrumbs {
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 0;
  font-size: 14px;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.woocommerce-breadcrumb a,
.breadcrumbs a {
  color: var(--color-primary);
  text-decoration: none;
  transition: color var(--transition-speed);
}

.woocommerce-breadcrumb a:hover,
.breadcrumbs a:hover {
  color: var(--color-accent-warm);
}

/* Catalog Page Layout */
.catalog-page-header {
  margin-bottom: 30px;
}

.catalog-page-header h1 {
  font-size: 36px;
  color: var(--color-primary);
  margin-bottom: 10px;
}

.catalog-page-header .section__description {
  color: var(--text-muted);
  margin-bottom: 0;
}

/* SEO Text Section at bottom of Catalog */
.catalog-seo-text {
  border-top: 1px solid rgba(157, 185, 111, 0.2);
  padding: 40px 20px 0;
  margin-bottom: 40px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1300px;
  box-sizing: border-box;
}

.catalog-seo-text__content {
  color: var(--text-muted);
}

.catalog-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 40px;
  align-items: start;
  margin-bottom: 0px;
}

.shop-main-categories {
  margin-bottom: 40px;
}

.shop-main-categories .section__description {
  margin-top: -10px;
  margin-bottom: 25px;
  color: var(--text-muted);
  font-size: 16px;
}


/* Overlay всегда вне потока грида */
.catalog-sidebar-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 10000;
}

.catalog-sidebar-overlay.active {
  display: block;
}

.catalog-sidebar {
  background: var(--bg-card);
  border: var(--wireframe-border);
  border-radius: var(--border-radius);
  padding: 24px;
}

.filter-group {
  margin-bottom: 25px;
}

.filter-group:last-child {
  margin-bottom: 0;
}

.filter-group h4 {
  color: var(--color-primary);
  margin-bottom: 15px;
  border-bottom: 1px solid rgba(44, 94, 67, 0.08);
  padding-bottom: 8px;
}

.filter-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.filter-links a {
  font-size: 14px;
  color: var(--text-color);
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: color var(--transition-speed);
}

.filter-links a:hover,
.filter-links li.active a {
  color: var(--color-accent-warm);
  font-weight: 500;
}

.filter-links span.count {
  font-size: 12px;
  color: var(--text-muted);
  background: var(--bg-color);
  padding: 2px 6px;
  border-radius: 0;
}

.catalog-content-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}

.catalog-ordering-wrap {
  margin-left: auto;
}

.catalog-content-header .sort-box select,
.catalog-content-header .woocommerce-ordering select.orderby,
.catalog-ordering-wrap select {
  padding: 8px 16px;
  border: var(--wireframe-border);
  border-radius: 0;
  font-family: var(--font-family);
  background: var(--bg-card);
  color: var(--text-color);
  outline: none;
  font-size: 14px;
  cursor: pointer;
}

.catalog-pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 40px;
}

.catalog-pagination a,
.catalog-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: var(--wireframe-border);
  border-radius: 0 !important;
  font-weight: 500;
  transition: all var(--transition-speed);
}

.catalog-pagination a:hover,
.catalog-pagination span.current {
  background: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);
}

/* Single Product Page Layout */
.product-single {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  margin-bottom: 20px;
  margin-top: 20px;
}

.product-gallery {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.product-gallery__main {
  background: var(--bg-card);
  border: var(--wireframe-border);
  border-radius: var(--border-radius);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1 / 1;
}

.product-gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}

.product-gallery__main:hover img {
  transform: scale(1.03);
}

.product-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}

.product-gallery__thumb {
  border: var(--wireframe-border);
  border-radius: 0;
  overflow: hidden;
  cursor: pointer;
  background: var(--bg-card);
  transition: border-color var(--transition-speed);
}

.product-gallery__thumb img {
  width: 100%;
  height: auto;
  display: block;
}

.product-gallery__thumb:hover,
.product-gallery__thumb.active {
  border-color: var(--color-accent-warm);
}

.product-single__info {
  display: flex;
  flex-direction: column;
}

.product-single__tag {
  align-self: start;
  background: var(--bg-box);
  color: var(--color-primary);
  padding: 4px 12px;
  border-radius: 0;
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 15px;
}

.product-single__title {
  font-size: 32px;
  color: var(--color-primary);
  margin-bottom: 15px;
}

.product-single__price-box {
  margin-bottom: 25px;
  padding: 20px;
  background: var(--bg-box);
  border-radius: var(--border-radius);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.product-single__price-box .price {
  font-size: 36px;
  font-weight: 600;
  color: var(--color-primary);
}

.product-single__price-box .status {
  font-size: 14px;
  color: #2e7d32;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
}

.product-single__meta-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 30px;
}

.product-single__meta-table tr {
  border-bottom: 1px dashed rgba(44, 94, 67, 0.1);
}

.product-single__meta-table td {
  padding: 10px 0;
}

.product-single__meta-table td.label {
  color: var(--text-muted);
}

.product-single__meta-table td.value {
  text-align: right;
  font-weight: 500;
  color: var(--text-color);
}

.product-single__actions {
  display: flex;
  gap: 15px;
  margin-bottom: 30px;
  flex-direction: row;
  align-items: flex-end;
}

.product-single__actions .btn-primary {
  flex-grow: 1;
  background: var(--color-primary);
  color: #fff;
  border: none;
}

.product-single__actions .btn-primary:hover {
  background: var(--color-primary-hover);
}

.product-single__actions .btn-secondary {
  border: var(--wireframe-border);
  background: var(--bg-card);
  color: var(--color-primary);
}

.product-single__actions .btn-secondary:hover {
  background: var(--bg-box);
}

.product-single__tabs-container {
  margin-top: 40px;
  border-top: 1px solid rgba(44, 94, 67, 0.1);
  padding-top: 40px;
  margin-bottom: 60px;
}

.product-single__tabs-header {
  display: flex;
  gap: 30px;
  border-bottom: 1px solid rgba(44, 94, 67, 0.08);
  margin-bottom: 25px;
}

.product-single__tab-btn {
  font-size: 16px;
  background: none;
  border: none;
  font-family: var(--font-family);
  font-weight: 500;
  color: var(--text-muted);
  padding-bottom: 12px;
  cursor: pointer;
  position: relative;
}

.product-single__tab-btn.active {
  color: var(--color-primary);
}

.product-single__tab-btn.active::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--color-accent-warm);
}

.product-single__tab-content {
  display: none;
  color: var(--text-muted);
}

.product-single__tab-content.active {
  display: block;
}

/* ==========================================
   DESIGN SYSTEM: ACCENT WIREFRAME & GRID LINES
   ========================================== */

/* 1. Page Bounding Grid Lines (subtle vertical bounds at 1300px) */

.icon-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background-color: var(--color-primary);
  color: #ffffff;
  font-size: 9px;
  font-weight: 600;
  width: 14px;
  height: 14px;
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding-bottom: 1px;
  box-sizing: border-box;
  z-index: 2;
  box-shadow: 0 0 0 2px var(--bg-card);
}

/* Styling for dflex shortcode icons — layout only, plugin controls badge appearance */
.dflex-header-icons {
  display: flex;
  align-items: center;
  gap: 10px;
  /* Фиксируем высоту контейнера чтобы бейджи не сдвигали строку */
  height: 36px;
}

/* Position and size only — NO color/font overrides so plugin styles win */
.dflex-header-icons .dflex-header-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  /* Фиксированная высота и ширина, flex-shrink запрещает сжатие */
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
  transition: background-color 0.2s ease;
  font-size: 18px;
  /* Бейджи позиционируются абсолютно относительно этого элемента */
  overflow: visible;
}

/* Бейджи счётчиков — абсолютное позиционирование, привязанное к .dflex-header-icon */
.dflex-header-icons .dflex-badge,
.dflex-header-icons .dflex-cart-count,
.dflex-header-icons .dflex-wishlist-count {
  position: absolute !important;
  top: -4px !important;
  right: -4px !important;
  transform: none !important;
}

/* Обёртка иконки корзины — выравниваем по центру. Позиционирование статичное, чтобы бадж корзины позиционировался относительно .dflex-header-icon */
.dflex-header-icons .dflex-cart-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  position: static !important;
}

/* SVG icon size — layout only */
.dflex-header-icons svg {
  width: 20px;
  height: 20px;
  display: block;
}

/* Hide WooCommerce search icon since we use the custom search form */
.dflex-header-icons .search-icon {
  display: none;
}

/* Order of icons matching Prototype 3: Profile -> Wishlist -> Cart */
.dflex-header-icons .account-icon {
  order: 1;
}

.dflex-header-icons .dflex-wishlist-header-icon {
  order: 2;
}

.dflex-header-icons .cart-icon {
  order: 3;
}

/* Blog Page & Single Article Styles */
.blog-main-content {
  margin-bottom: 80px;
}

.blog-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 40px;
}

.blog-page-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  margin-top: 10px;
  margin-bottom: 36px;
}

.blog-page-header h1 {
  font-size: 36px;
  color: var(--color-primary);
  margin: 0;
  line-height: 1.2;
}

.blog-page-header .blog-categories {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 0;
}

.blog-category-btn {
  display: inline-block;
  padding: 8px 18px;
  border: 1px solid var(--color-accent);
  border-radius: 0;
  font-family: var(--font-family);
  font-weight: 500;
  color: var(--color-primary);
  text-decoration: none;
  background: transparent;
  transition: all var(--transition-speed);
}

.blog-category-btn:hover,
.blog-category-btn.active {
  background-color: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);
}

/* Single Article Layout */
.article-single {
  margin: 30px auto 60px auto;
}

.article-single__header {
  margin-top: 0;
  margin-bottom: 30px;
}

.dflex-account-panel .dflex-account-panel-title {
  font-weight: 500 !important;
  margin-bottom: 10px !important;
}

.article-single__meta {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 14px;
  color: var(--text-muted);
  margin-bottom: 15px;
}

.article-single__category {
  color: var(--color-primary);
  font-weight: 500;
  text-transform: uppercase;
}

.article-single__date {
  color: var(--text-muted);
  font-size: 14px;
}

.article-single__title {
  font-size: 36px;
  color: var(--color-primary);
  margin: 0;
  line-height: 1.2;
}

.article-single__image {
  width: 100%;
  max-height: 480px;
  border-radius: var(--border-radius);
  overflow: hidden;
  margin-bottom: 40px;
  border: none !important;
  box-shadow: none !important;
}

.article-single__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border: none !important;
  box-shadow: none !important;
}

.article-single__content {
  font-size: 16px;
  color: var(--text-color);
}

.dflex-account-tab.active {
  color: white !important;
}

.article-single__content p {
  margin-bottom: 24px;
}

.article-single__content p.has-large-font-size {
  font-size: 21px;
  color: var(--text-color);
}

/* Headings */
.article-single__content h2,
.article-single__content h3,
.article-single__content h4,
.article-single__content h5,
.article-single__content h6 {
  color: var(--color-primary);
  font-weight: 600;
  margin-top: 48px;
  margin-bottom: 20px;
}

.article-single__content h2 {
  font-size: 30px;
  border-bottom: 1px solid rgba(220, 206, 184, 0.5);
  padding-bottom: 12px;
}

.article-single__content a:not(.wp-element-button):not(.wp-block-file__button) {
  text-decoration: none !important;
}

.dflex-summary-title {
  font-weight: 500 !important;
}

.dflex-checkout-fields .form-row label {
  font-weight: 16px !important;
}

.article-single__content h3 {
  font-size: 22px;
}

.article-single__content h4 {
  font-size: 20px;
}

.article-single__content h5 {
  font-size: 18px;
  text-transform: uppercase;
}

.article-single__content h6 {
  color: var(--text-muted);
}

/* Inline text & Links */
.article-single__content a:not(.wp-element-button):not(.wp-block-file__button) {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--transition-speed);
}

.article-single__content a:not(.wp-element-button):not(.wp-block-file__button):hover {
  color: #7b9452;
}

.article-single__content code:not(pre code) {
  background: #F3F1ED;
  color: var(--color-primary);
  padding: 3px 7px;
  border-radius: 4px;
  font-family: monospace;
  font-size: 0.9em;
}

/* Drop Cap */
.article-single__content .has-drop-cap:not(:focus):first-letter {
  float: left;
  font-size: 52px;
  line-height: 0.85;
  font-weight: 700;
  margin-right: 12px;
  margin-top: 4px;
  color: var(--color-primary);
}

/* Lists */
.article-single__content ul,
.article-single__content ol {
  margin-bottom: 25px;
  padding-left: 24px;
}

.article-single__content li {
  margin-bottom: 10px;
}

.article-single__content ul li::marker {
  color: var(--color-primary);
}

/* Blockquotes & Pullquotes */
.article-single__content blockquote,
.article-single__content .wp-block-quote {
  border-left: 4px solid var(--color-primary);
  background: #FBF9F5;
  padding: 24px 28px;
  margin: 36px 0;
  border-radius: 0 4px 4px 0;
}

.article-single__content blockquote p,
.article-single__content .wp-block-quote p {
  font-style: italic;
  color: var(--text-color);
  margin-bottom: 10px;
}

.article-single__content blockquote cite,
.article-single__content .wp-block-quote cite {
  display: block;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  color: var(--text-muted);
}

.article-single__content .wp-block-pullquote {
  border-top: 2px solid var(--color-primary);
  border-bottom: 2px solid var(--color-primary);
  padding: 32px 20px;
  margin: 40px 0;
  text-align: center;
}

.article-single__content .wp-block-pullquote blockquote {
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
}

.article-single__content .wp-block-pullquote p {
  font-size: 22px;
  font-weight: 500;
  color: var(--color-primary);
}

/* Tables & Responsive Wrapper */
.article-single__content .table-responsive,
.article-single__content .wp-block-table {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 32px 0;
  border-radius: 4px;
}

.article-single__content table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #DCCEB8;
  min-width: 580px;
}

.article-single__content th,
.article-single__content td {
  padding: 15px !important;
  border: 1px solid #DCCEB8;
  text-align: left;
  font-size: 16px;
}

.article-single__content th {
  background-color: #F3F1ED;
  color: var(--color-primary);
  font-weight: 600;
}

.article-single__content .is-style-stripes tbody tr:nth-child(odd),
.article-single__content table.table-striped tbody tr:nth-child(odd) {
  background-color: #FAF8F5;
}

.article-single__content tfoot td {
  background-color: #FAF8F5;
  font-size: 14px;
  color: var(--text-muted);
}

/* Callout / Alert Boxes */
.article-callout {
  display: flex;
  gap: 16px;
  padding: 20px 24px;
  margin: 30px 0;
  border-radius: 4px;
  border-left: 4px solid;
  box-sizing: border-box;
}

.article-callout__icon {
  font-size: 22px;
  flex-shrink: 0;
  line-height: 1.2;
}

.article-callout__content strong {
  display: block;
  margin-bottom: 6px;
  font-size: 18px;
}

.article-callout__content p {
  margin: 0;
}

.article-callout--info {
  background: #F4F7EE;
  border-color: var(--color-primary);
  color: #2D3E1D;
}

.article-callout--warning {
  background: #FFF9E6;
  border-color: #D9822B;
  color: #66410B;
}

.article-callout--success {
  background: #EBF7EE;
  border-color: #2E7D32;
  color: #1B4D20;
}

/* Code block */
.article-single__content .wp-block-code,
.article-single__content pre {
  background: #25331C;
  color: #EAF2EE;
  padding: 24px 28px;
  border-radius: 6px;
  overflow-x: auto;
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
  margin: 32px 0;
}

.article-single__content pre code {
  background: transparent;
  color: inherit;
  padding: 0;
}

/* Details / Accordion */
.article-single__content .wp-block-details {
  border: 1px solid #DCCEB8;
  padding: 18px 22px;
  margin: 16px 0;
  background: var(--bg-card);
  transition: all var(--transition-speed);
}

.article-single__content .wp-block-details summary {
  font-size: 18px;
  font-weight: 600;
  color: var(--color-primary);
  cursor: pointer;
  outline: none;
}

.article-single__content .wp-block-details[open] {
  background: #FAF8F5;
}

.article-single__content .wp-block-details p {
  margin-top: 14px;
  margin-bottom: 0;
  color: var(--text-color);
}

/* Buttons */
.article-single__content .wp-block-buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin: 36px 0;
}

.article-single__content .wp-block-button__link {
  display: inline-block;
  padding: 12px 26px;
  font-weight: 500;
  text-decoration: none !important;
  cursor: pointer;
  transition: all var(--transition-speed);
}

.article-single__content .is-style-fill .wp-block-button__link,
.article-single__content .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background-color: var(--color-primary);
  color: #ffffff !important;
  border: 1px solid var(--color-primary);
}

.article-single__content .is-style-fill .wp-block-button__link:hover,
.article-single__content .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background-color: #7b9452;
  border-color: #7b9452;
}

.article-single__content .is-style-outline .wp-block-button__link {
  background-color: transparent;
  color: var(--color-primary) !important;
  border: 1px solid var(--color-primary);
}

.article-single__content .is-style-outline .wp-block-button__link:hover {
  background-color: var(--color-primary);
  color: #ffffff !important;
}

/* Buttons (Classic Editor) */
.article-single__content .btn {
  display: inline-block;
  padding: 12px 24px;
  font-weight: 500;
  text-decoration: none !important;
  cursor: pointer;
  border-radius: 0;
  transition: all var(--transition-speed);
}

.article-single__content .btn-primary {
  background-color: var(--color-primary) !important;
  color: #ffffff !important;
  border: 1px solid var(--color-primary);
}

.article-single__content .btn-primary:hover {
  background-color: #7b9452 !important;
  border-color: #7b9452;
}

.article-single__content .btn-secondary {
  background-color: transparent !important;
  color: var(--color-primary) !important;
  border: 1px solid var(--color-primary);
}

.article-single__content .btn-secondary:hover {
  background-color: var(--color-primary) !important;
  color: #ffffff !important;
}

/* Classic Editor Images & Captions */
.article-single__content img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  height: auto;
}

.article-single__content img.alignleft {
  float: left;
  margin-right: 24px;
  margin-bottom: 16px;
  max-width: 100%;
  height: auto;
}

.article-single__content img.alignright {
  float: right;
  margin-left: 24px;
  margin-bottom: 16px;
  max-width: 100%;
  height: auto;
}

.article-single__content .wp-caption {
  max-width: 100%;
  margin-bottom: 24px;
  background: #FBF9F5;
  border: 1px solid #DCCEB8;
  padding: 8px;
  text-align: center;
  box-sizing: border-box;
}

.article-single__content .wp-caption.aligncenter {
  margin-left: auto;
  margin-right: auto;
}

.article-single__content .wp-caption.alignleft {
  float: left;
  margin-right: 24px;
  margin-bottom: 16px;
}

.article-single__content .wp-caption.alignright {
  float: right;
  margin-left: 24px;
  margin-bottom: 16px;
}

.article-single__content .wp-caption img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.article-single__content .wp-caption-text {
  font-size: 14px;
  color: var(--text-muted);
  margin: 8px 0 2px 0;
  font-style: italic;
}

/* File download block */
.article-single__content .wp-block-file {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 24px;
  background: #FBF9F5;
  border: 1px solid #DCCEB8;
  margin: 28px 0;
}

.article-single__content .wp-block-file a:first-child {
  font-weight: 600;
  text-decoration: none;
}

.article-single__content .wp-block-file__button {
  background: var(--color-primary);
  color: #ffffff !important;
  padding: 8px 18px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none !important;
  transition: background var(--transition-speed);
}

.article-single__content .wp-block-file__button:hover {
  background: #7b9452;
}

/* Images & Captions */
.article-single__content figure {
  margin: 36px 0;
}

.article-single__content figure img {
  width: 100%;
  height: auto;
  display: block;
}

.article-single__content figcaption {
  font-size: 14px;
  color: var(--text-muted);
  text-align: center;
  margin-top: 10px;
  font-style: italic;
}

/* Separator / Divider */
.article-single__content hr,
.article-single__content .wp-block-separator {
  border: none;
  border-top: 1px solid #DCCEB8;
  margin: 45px 0;
}

/* Columns */
.article-single__content .wp-block-columns {
  display: flex;
  gap: 30px;
  margin: 32px 0;
}

.article-single__content .wp-block-column {
  flex: 1;
  min-width: 0;
}

.section--alt .article-card {
  background-color: transparent;
  box-shadow: none;
}

/* Portfolio Archive Layout */
.portfolio-archive__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 30px;
  margin-bottom: 60px;
}

.portfolio-archive__grid .portfolio-card {
  height: 280px;
}

/* Page Full Width Layout */
.article-single.page-full-width {
  max-width: 1300px;
  width: 100%;
}

.page-full-width-content {
  width: 100%;
  max-width: 100%;
}

/* =========================================
   EXTRACTED INLINE STYLES → CSS CLASSES
   ========================================= */

/* archive-product.php : catalog-info */
.catalog-info {
  color: var(--text-muted);
  font-size: 14px;
}

/* section__description — used across archives/singles */
.section__description {
  color: var(--text-muted);
  margin-bottom: 0;
}

/* bigger subheading description (single-portfolio, single-promotion) */
.section__description--lg {
  color: var(--text-muted);
  font-size: 18px;
  margin-top: 10px;
  margin-bottom: 0;
}

/* news-card__date — date span in article cards */
.news-card__date {
  font-size: 14px;
  color: var(--text-muted);
}

/* catalog-pagination — pagination wrapper */
.catalog-pagination {
  margin-top: 50px;
}

/* related-articles section (single.php) */
.related-articles {
  margin-top: 80px;
  padding-top: 40px;
  border-top: 1px solid rgba(157, 185, 111, 0.2);
  width: 100%;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
  background-color: transparent;
  background: none;
  box-shadow: none;
  padding-left: 0;
  padding-right: 0;
}

/* section__header modifications on homepage / singles */
.section__header--flex {
  flex-wrap: wrap;
  gap: 20px;
}

.section__header-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.section__title--no-margin {
  margin-bottom: 0;
}

.section__title--mb30 {
  margin-bottom: 30px;
}

/* homepage blog categories row */
.homepage-blog-categories {
  display: flex;
  gap: 10px;
  margin-bottom: 5px;
}

/* blog category button */
.blog-category-btn {
  padding: 6px 14px;
  font-size: 14px;
}

/* advantage-text sub-label (hero section, front-page) */
.advantage-text__grade {
  display: block;
  font-size: 14px;
  color: var(--text-muted);
  margin-top: 2px;
}

/* portfolio/promotion card overlay subtitle */
.portfolio-card__subtitle {
  color: #EAF2EE;
  margin-bottom: 0;
}

/* single-product.php: inline specs/delivery tab content */
.product-specs__heading {
  margin-bottom: 10px;
}

.product-specs__list {
  margin-left: 20px;
  color: var(--text-muted);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.product-delivery__heading {
  margin-bottom: 15px;
}

.product-delivery__text {
  margin-bottom: 15px;
  color: var(--text-muted);
}

.product-delivery__text:last-child {
  margin-bottom: 0;
}

/* Related products section (single-product.php) */
.products--related {
  border-top: 1px solid rgba(44, 94, 67, 0.1);
  padding-top: 50px;
  margin-bottom: 80px;
}

.products--related .section__title {
  margin-bottom: 30px;
}

.products--related .products__grid {
  width: 100%;
  margin-left: 0;
  padding-left: 0;
  padding-right: 0;
}

/* product status svg icon (green checkmark) */
.status svg {
  color: #2e7d32;
}

/* search button reset */
.search-icon {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* footer__label Contacts margin */
.footer__label--contacts {
  margin-top: 25px;
}

/* modal side image (background set inline is OK, but base styles here) */
.modal__side-image {
  background-size: cover;
  background-position: center;
}

/* review card avatar image */
.review-card__avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ==========================================
   ERROR 404 PAGE STYLES
   ========================================== */
.error-404-main {
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}

.error-404-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  margin: 60px 0 80px 0;
  align-items: stretch;
  border: var(--wireframe-border);
  background: var(--bg-card);
  min-height: 580px;
}

.error-404-image {
  position: relative;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 450px;
}

.error-404-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(59, 81, 36, 0.92) 0%, rgba(30, 26, 22, 0.96) 100%);
}

.error-404-badge {
  position: relative;
  z-index: 2;
  text-align: center;
  color: #ffffff;
  padding: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}

.error-404-number {
  font-size: 110px;
  font-family: var(--font-heading);
  font-weight: 600;
  line-height: 1;
  color: var(--color-accent-warm);
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.error-404-divider {
  width: 60px;
  height: 2px;
  background-color: var(--color-accent);
}

.error-404-badge-text {
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 500;
  opacity: 0.9;
}

.error-404-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 50px 50px 50px 0;
}

.error-404-tag {
  align-self: start;
  background: var(--bg-box);
  color: var(--color-primary);
  padding: 4px 12px;
  border-radius: var(--border-radius);
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 20px;
  border: 1px solid rgba(157, 185, 111, 0.3);
}

.error-404-title {
  font-size: 38px;
  color: var(--color-primary);
  margin-bottom: 18px;
  font-weight: 500;
}

.error-404-description {
  color: var(--text-muted);
  margin-bottom: 25px;
}

.error-404-search-box {
  margin-bottom: 25px;
  padding: 20px;
  background: var(--bg-box);
  border-left: 3px solid var(--color-primary);
}

.error-404-search-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
  margin-bottom: 12px;
}

.error-404-search-input-wrapper {
  display: flex;
  border: 1px solid var(--color-accent);
  background: #ffffff;
}

.error-404-search-input {
  flex-grow: 1;
  padding: 10px 14px;
  border: none;
  outline: none;
  font-family: var(--font-family);
  font-size: 14px;
  background: transparent;
  color: var(--text-color);
}

.error-404-search-submit {
  padding: 0 18px;
  border-radius: var(--border-radius);
  border: none;
  background-color: var(--color-primary);
  color: #ffffff;
  cursor: pointer;
  transition: background-color var(--transition-speed);
}

.error-404-search-submit:hover {
  background-color: var(--color-primary-hover);
}

.error-404-links-box {
  margin-bottom: 30px;
}

.error-404-links-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
  display: block;
  margin-bottom: 12px;
}

.error-404-links-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.error-404-link-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid rgba(157, 185, 111, 0.2);
  transition: all var(--transition-speed);
  background: #ffffff;
}

.error-404-link-item:hover {
  border-color: var(--color-accent);
  background-color: var(--bg-box);
  color: var(--color-primary);
}

.error-404-link-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  transition: color var(--transition-speed);
}

.error-404-link-icon svg {
  display: block;
  width: 20px;
  height: 20px;
}

.error-404-link-item:hover .error-404-link-icon {
  color: var(--color-accent);
}

.error-404-link-text {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
}

.error-404-actions {
  display: flex;
}

.error-404-btn-home {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.error-404-btn-home:hover {
  background-color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
}

/* ==========================================================================
   CONTACT FORM 7 STYLING INTEGRATION
   ========================================================================== */

/* Layout for Banner and Callback forms */
.banner-main__content .wpcf7-form,
.callback__content .wpcf7-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  width: 100%;
  max-width: 520px;
  margin-top: 10px;
}

/* Bypass paragraph tags generated by CF7 auto-p */
.banner-main__content .wpcf7-form p,
.callback__content .wpcf7-form p {
  display: contents;
}

.banner-main__content .wpcf7-form .wpcf7-form-control-wrap,
.callback__content .wpcf7-form .wpcf7-form-control-wrap {
  grid-column: 1;
}

.banner-main__content .wpcf7-form .wpcf7-submit,
.callback__content .wpcf7-form .wpcf7-submit {
  grid-column: 2;
  height: 100%;
  margin: 0;
}

.banner-main__content .wpcf7-form .wpcf7-acceptance,
.callback__content .wpcf7-form .wpcf7-acceptance {
  grid-column: 1 / span 2;
  margin-top: 5px;
}

.banner-main__content .wpcf7-form br,
.callback__content .wpcf7-form br {
  display: none !important;
}

.banner-main__content .wpcf7-acceptance .wpcf7-list-item-label,
.banner-main__content .wpcf7-acceptance .wpcf7-list-item-label a,
.banner-main__content .wpcf7-acceptance .wpcf7-list-item-label span {
  color: #ffffff !important;
}

.banner-main__content .wpcf7-acceptance label {
  text-align: left !important;
  justify-content: flex-start !important;
}

/* Input & Textarea Fields inside modal CF7 form */
.modal__form-side .wpcf7-form-control.wpcf7-text,
.modal__form-side .wpcf7-form-control.wpcf7-tel,
.modal__form-side .wpcf7-form-control.wpcf7-email,
.modal__form-side .wpcf7-form-control.wpcf7-textarea,
.modal__form-side textarea,
.cf7-col textarea,
.cf7-col .wpcf7-textarea {
  width: 100%;
  padding: 12px 15px;
  font-family: var(--font-family);
  border: var(--wireframe-border);
  border-radius: var(--border-radius);
  outline: none;
  box-sizing: border-box;
  background-color: var(--bg-box, #ffffff);
  color: var(--text-color, #333333);
  transition: all var(--transition-speed);
  font-size: 16px;
}

.modal__form-side .wpcf7-form-control.wpcf7-text:focus,
.modal__form-side .wpcf7-form-control.wpcf7-tel:focus,
.modal__form-side .wpcf7-form-control.wpcf7-email:focus,
.modal__form-side .wpcf7-form-control.wpcf7-textarea:focus,
.modal__form-side textarea:focus,
.cf7-col textarea:focus,
.cf7-col .wpcf7-textarea:focus {
  background-color: var(--bg-box-hover);
  border-color: var(--color-primary, #3e5428);
}

/* Input Fields inside banner / callback CF7 forms */
.banner-main__content .wpcf7-form-control.wpcf7-text,
.banner-main__content .wpcf7-form-control.wpcf7-tel,
.callback__content .wpcf7-form-control.wpcf7-text,
.callback__content .wpcf7-form-control.wpcf7-tel {
  padding: 12px 16px;
  font-family: var(--font-family);
  border: var(--wireframe-border);
  border-radius: var(--border-radius);
  outline: none;
  box-sizing: border-box;
  width: 100%;
}

.banner-main__content .wpcf7-form-control.wpcf7-text:focus,
.banner-main__content .wpcf7-form-control.wpcf7-tel:focus {
  background-color: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.6);
  color: #fff;
}

.callback__content .wpcf7-form-control.wpcf7-text,
.callback__content .wpcf7-form-control.wpcf7-tel {
  background-color: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  transition: all var(--transition-speed);
}

.callback__content .wpcf7-form-control.wpcf7-text::placeholder,
.callback__content .wpcf7-form-control.wpcf7-tel::placeholder {
  color: #a09888;
}

.callback__content .wpcf7-form-control.wpcf7-text:focus,
.callback__content .wpcf7-form-control.wpcf7-tel:focus {
  background-color: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.4);
}

/* CF7 Submit Buttons */
.wpcf7-submit {
  display: inline-block;
  font-family: var(--font-family);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: 1px solid transparent;
  border-radius: var(--border-radius);
  transition: all var(--transition-speed);
  padding: 12px 28px;
  box-sizing: border-box;
  font-size: 16px;
}

.modal__form-side .wpcf7-submit,
.banner-main__content .wpcf7-submit {
  background-color: var(--color-primary);
  color: #ffffff;
  border-color: var(--color-primary);
}

.modal__form-side .wpcf7-submit:hover,
.banner-main__content .wpcf7-submit:hover {
  background-color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  color: #ffffff;
}

.callback__content .wpcf7-submit {
  background-color: var(--color-accent);
  color: #ffffff;
  border-color: var(--color-accent);
}

.callback__content .wpcf7-submit:hover {
  background-color: #8da95a;
  color: #ffffff;
  border-color: #8da95a;
}

/* CF7 Acceptance checkbox styling to match .form-agreement */
.wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
  cursor: pointer;
  user-select: none;
  text-align: left;
  position: relative;
}

.wpcf7-acceptance input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.wpcf7-acceptance .wpcf7-list-item-label {
  font-size: 12px;
  color: var(--text-muted);
  position: relative;
  padding-left: 32px;
  display: inline-block;
}

.wpcf7-acceptance .wpcf7-list-item-label::before {
  content: '';
  position: absolute;
  left: 0;
  top: -1px;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-accent);
  background-color: #FBFAF9;
  transition: all var(--transition-speed);
  border-radius: 0;
}

.wpcf7-acceptance .wpcf7-list-item-label::after {
  content: '';
  position: absolute;
  left: 7px;
  top: 3px;
  width: 5px;
  height: 10px;
  border: solid #FBFAF9;
  border-width: 0 2.5px 2.5px 0;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity var(--transition-speed);
}

.wpcf7-acceptance input[type="checkbox"]:checked+.wpcf7-list-item-label::before {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.wpcf7-acceptance input[type="checkbox"]:checked+.wpcf7-list-item-label::after {
  opacity: 1;
}

.wpcf7-acceptance input[type="checkbox"]:focus+.wpcf7-list-item-label::before {
  box-shadow: 0 0 0 2px rgba(59, 81, 36, 0.2);
}

.wpcf7-acceptance label:hover .wpcf7-list-item-label::before {
  border-color: var(--color-primary-hover);
}

.wpcf7-acceptance a {
  text-decoration: underline !important;
  color: var(--text-color);
  font-weight: 500;
}

.wpcf7-acceptance a:hover {
  color: var(--text-muted);
}

.banner-main__content .wpcf7-acceptance label {
  justify-content: flex-start !important;
  margin: 0 !important;
}

.callback__content .wpcf7-acceptance label {
  justify-content: center;
  max-width: 600px;
  margin: 12px auto 0 auto;
}

.wpcf7-list-item {
  margin-left: 0 !important;
}

.callback__content .wpcf7-acceptance .wpcf7-list-item-label {
  color: #a09888;
}

.callback__content .wpcf7-acceptance a {
  color: #ffffff;
}

.callback__content .wpcf7-acceptance a:hover {
  color: #c4beb5;
}

/* CF7 Response Output Messages */
.wpcf7-response-output {
  margin: 8px 0 0 0 !important;
  padding: 6px 10px !important;
  border: 1px solid !important;
  border-radius: var(--border-radius) !important;
  font-size: 9px !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

.wpcf7-status-validation-errors {
  border-color: #ffb900 !important;
  background-color: rgba(255, 185, 0, 0.05) !important;
  color: #8a6d3b !important;
}

.wpcf7-status-mail-sent-ok {
  border-color: #46b450 !important;
  background-color: rgba(70, 180, 80, 0.05) !important;
  color: #3c763d !important;
}

.wpcf7-status-mail-sent-ng,
.wpcf7-status-aborted {
  border-color: var(--color-danger, #dc3232) !important;
  background-color: var(--color-danger-bg, rgba(220, 50, 50, 0.05)) !important;
  color: var(--color-danger, #a94442) !important;
}

/* Custom Card Image Styles */
.dflex-card-img-link {
  padding-top: 0 !important;
}

.dflex-card-image {
  max-height: 300px !important;
}

.dflex-card-image img {
  object-fit: cover !important;
}

/* --- THANK YOU PAGE --- */
.thk-main {
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px 20px;
}

.thk-container {
  max-width: 600px;
  width: 100%;
  background: var(--bg-card, #fff);
  padding: 50px 40px;
  border: var(--wireframe-border, 1px solid var(--color-accent));
  border-radius: var(--border-radius, 0px);
  box-shadow: 0 10px 30px rgba(59, 81, 36, 0.05);
}

.thk-icon-wrapper {
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, var(--color-primary) 0%, #4A3C2E 100%);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 30px;
  box-shadow: 0 10px 20px rgba(59, 81, 36, 0.2);
}

.thk-title {
  font-size: 36px;
  color: var(--color-primary);
  margin-bottom: 15px;
  font-family: var(--font-heading);
}

.thk-subtitle {
  font-size: 18px;
  color: var(--text-color, #2C2E2A);
  margin-bottom: 25px;
}

.thk-timer {
  font-size: 14px;
  color: var(--text-muted, #7E827A);
  margin-bottom: 30px;
  background: var(--bg-box, #FAF8F5);
  padding: 12px 20px;
  display: inline-block;
  border-radius: 0;
}

.thk-timer #thk-countdown {
  font-weight: 600;
  color: var(--color-primary);
}

.thk-btn {
  display: inline-block;
  background-color: var(--color-primary);
  color: #fff;
  padding: 12px 30px;
  text-decoration: none;
  font-weight: 500;
  border-radius: var(--border-radius, 0px);
  transition: all var(--transition-speed, 0.3s);
}

/* --- PRODUCT SINGLE PAGE OVERHAUL --- */
.product-status-top {
  margin-bottom: 12px;
}

.product-status-top .status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  text-transform: lowercase;
  padding: 6px 12px;
  border-radius: 0;
}

.product-status-top .status.in-stock {
  background-color: rgba(46, 125, 50, 0.1);
  color: #2e7d32;
}

.product-status-top .status.low-stock {
  background-color: rgba(230, 124, 0, 0.12);
  color: #e67c00;
}

.product-status-top .status.on-order {
  background-color: var(--color-danger-bg, rgba(220, 50, 50, 0.1));
  color: var(--color-danger, #dc3232);
}

.product-status-top .status svg {
  width: 14px;
  height: 14px;
}

.product-single__usp {
  color: var(--text-color);
  margin-bottom: 20px;
}

.product-delivery-block {
  border: var(--wireframe-border);
  background: var(--bg-card);
  padding: 24px;
  margin-top: 30px;
  border-radius: var(--border-radius);
}

.product-delivery-header {
  font-weight: 500;
  color: var(--color-primary);
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(44, 94, 67, 0.1);
  padding-bottom: 12px;
}

.product-delivery-header svg {
  color: var(--color-primary);
}

.product-delivery-header .active-city-name {
  color: #000000;
}

.delivery-city-info {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.delivery-courier {
  margin-bottom: 20px;
}

.delivery-courier strong,
.delivery-pickup strong,
.delivery-courier .delivery-type-title,
.delivery-pickup .delivery-type-title {
  display: block;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 8px;
}

.delivery-courier p,
.delivery-pickup p {
  font-size: 14px;
  color: var(--text-color);
  margin-bottom: 8px;
}

.delivery-courier p:last-child,
.delivery-pickup p:last-child {
  margin-bottom: 0;
}

.delivery-more {
  margin-top: 20px;
  border-top: 1px solid rgba(44, 94, 67, 0.05);
  padding-top: 15px;
}

.delivery-more a {
  font-size: 14px;
  font-weight: 500;
  color: var(--color-primary);
  text-decoration: underline;
  transition: color var(--transition-speed);
}

.delivery-more a:hover {
  color: var(--color-accent-warm);
}

/* Tabs Layout Modifications */
.description-tab-layout {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.description-tab-attributes h3,
.specs-tab-layout h3,
.video-tab-layout h3,
.docs-tab-layout h3,
.reviews-tab-layout h3 {
  font-size: 20px;
  font-weight: 500;
  color: var(--color-primary);
  margin-bottom: 20px;
}

.description-tab-texts {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.description-text-block {
  background: var(--bg-box);
  padding: 20px;
  border-radius: var(--border-radius);
  border-left: 3px solid var(--color-primary);
}

.description-text-block h4,
.description-text-block .description-text-title {
  font-weight: 500;
  color: var(--color-primary);
  margin-bottom: 10px;
}

.description-text-block .text-block-content {
  font-size: 14px;
  color: var(--text-color);
}

.description-text-block .text-block-content ul {
  padding-left: 20px;
  margin-bottom: 15px;
}

.description-text-block .text-block-content p {
  margin-bottom: 10px;
}

.description-text-block .text-block-content p:last-child {
  margin-bottom: 0;
}

/* Specs Tab */
.specs-tab-layout {
  max-width: 700px;
}

/* Video Tab */
.videos-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.videos-grid> :only-child {
  grid-column: 1 / -1;
}

.video-item {
  position: relative;
  width: 100%;
  border-radius: var(--border-radius);
  overflow: visible;
  border: none;
}

.video-item iframe,
.video-item video,
.video-item embed,
.video-item object,
.video-item .video-embed-wrapper iframe {
  position: relative;
  display: block;
  width: 100%;
  height: auto !important;
  aspect-ratio: 16 / 9;
  border: none;
}

.video-item__description {
  margin: 10px 0 0;
  font-size: 14px;
  color: var(--text-muted);
}

.video-item__description-block {
  margin-top: 20px;
}

.no-content-notice {
  color: var(--text-muted);
  font-size: 14px;
  font-style: italic;
}

/* Documents Tab */
.docs-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.doc-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  border: var(--wireframe-border);
  background: var(--bg-card);
  border-radius: var(--border-radius);
  text-decoration: none !important;
  color: var(--text-color) !important;
  transition: all var(--transition-speed);
}

.doc-item:hover {
  border-color: var(--color-primary);
  background: var(--bg-box);
  transform: translateY(-2px);
}

.doc-icon {
  color: var(--color-primary);
  flex-shrink: 0;
}

.doc-title {
  font-weight: 500;
  flex-grow: 1;
}

.doc-size {
  font-size: 14px;
  color: var(--text-muted);
}

/* Reviews Tab */
.reviews-tab-layout {
  position: relative;
  padding-bottom: 20px;
}

.reviews-tab-layout .reviews-swiper {
  position: relative;
  width: 100%;
  padding: 10px 0 60px 0 !important;
  overflow: hidden;
}

.reviews-tab-layout .reviews-swiper__pagination {
  position: absolute !important;
  left: 0 !important;
  bottom: 15px !important;
  width: auto !important;
  display: flex !important;
  align-items: center;
  gap: 6px;
  z-index: 10;
}

.reviews-tab-layout .reviews-swiper__btn {
  position: absolute !important;
  bottom: 5px !important;
  margin-top: 0 !important;
  z-index: 10;
}

.reviews-tab-layout .reviews-swiper__btn--prev {
  right: 50px !important;
  left: auto !important;
}

.reviews-tab-layout .reviews-swiper__btn--next {
  right: 0 !important;
  left: auto !important;
}

.review-slide-card {
  background: var(--bg-card);
  border: var(--wireframe-border);
  padding: 30px;
  border-radius: var(--border-radius);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: auto;
}

.review-slide-card__header {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 15px;
}

.review-slide-card__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--bg-box);
  display: flex;
  align-items: center;
  justify-content: center;
}

.review-slide-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.review-slide-card__avatar .avatar-placeholder {
  font-weight: 600;
  color: var(--color-primary);
}

.review-slide-card__meta h4,
.review-slide-card__meta .review-slide-card__name {
  color: var(--color-primary);
  margin-bottom: 4px;
  font-weight: 500;
}

.review-slide-card__meta span {
  font-size: 12px;
  color: var(--text-muted);
}

.review-slide-card__stars {
  display: flex;
  gap: 4px;
  margin-bottom: 15px;
}

.review-slide-card__stars .star {
  color: #ccc;
}

.review-slide-card__stars .star.filled {
  color: #ffb300;
}

.review-slide-card__text {
  font-size: 14px;
  color: var(--text-color);
}

.reviews-swiper__pagination {
  bottom: 0 !important;
}

.reviews-swiper__pagination .swiper-pagination-bullet-active {
  background: var(--color-primary) !important;
}

/* Product Details Grid: Tabs & Delivery */
.product-details-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 40px;
  border-top: 1px solid rgba(44, 94, 67, 0.1);
  padding-top: 40px;
  align-items: start;
}

.product-details-left {
  min-width: 0;
}

.product-details-left .product-single__tabs-container {
  margin-top: 0;
  border-top: none;
  padding-top: 0;
  min-width: 0;
  width: 100%;
}

.product-details-right .product-delivery-block {
  margin-top: 0;
}

.benefits-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.benefits-list li {
  position: relative;
  padding-left: 20px;
  font-size: 14px;
  color: var(--text-color);
}

.benefits-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--color-primary);
  font-weight: bold;
  line-height: 1.2;
}

/* === ajax-search.css === */
.dflex-search-form {
  border-radius: 0px !important;
}

.dflex-search-results-dropdown {
  border-radius: 0px !important;
}

.dflex-search-item {
  border-radius: 0px !important;
}

.dflex-search-item-img {
  border-radius: 0px !important;
}

.dflex-search-empty {
  border-radius: 0px !important;
}

/* === checkout.css === */
.dflex-checkout-empty-wrap {
  border-radius: 0px !important;
}

.dflex-checkout-summary-card,
.dflex-checkout-card,
.dflex-checkout-section {
  border-radius: 0px !important;
}

.dflex-checkout-rewards {
  border-radius: 0px !important;
}

.dflex-progress-bar {
  border-radius: 0px !important;
}

.dflex-progress-bar .progress {
  border-radius: 0px !important;
}

.dflex-summary-img {
  border-radius: 0px !important;
}

.dflex-qty-control {
  border-radius: 0px !important;
}

.dflex-qty-control button {
  border-radius: 0px !important;
}

.wc_payment_method {
  border-radius: 0px !important;
}

.validate-required.woocommerce-form__label-for-checkbox input {
  border-radius: 0px !important;
}

.dflex-checkout-fields .form-row input.input-text,
.dflex-checkout-fields .form-row textarea,
.dflex-checkout-fields .form-row select {
  border-radius: 0px !important;
}

/* === delivery.css === */
.dflex-delivery-type-switcher {
  border-radius: 0px !important;
}

.dflex-delivery-type-switcher label {
  border-radius: 0px !important;
}

.dflex-pickup-select-styled {
  border-radius: 0px !important;
}

.suggestions-suggestions {
  border-radius: 0px !important;
}

#billing_private_house_field label.checkbox input[type="checkbox"] {
  border-radius: 0px !important;
}

#dflex-delivery-map-container {
  border-radius: 0px !important;
}

.dflex-map-container {
  border-radius: 0px !important;
}

.dflex-map-legend-color {
  border-radius: 0px !important;
}

/* === mini-cart.css === */
.dflex-progress-bar {
  border-radius: 0px !important;
}

.dflex-progress {
  border-radius: 0px !important;
}

.dflex-minicart-item-img {
  border-radius: 0px !important;
}

.dflex-minicart-qty-control {
  border-radius: 0px !important;
}

/* === privacy.css === */
.dflex-cookie-inner {
  border-radius: 0px !important;
}

/* === product-card.css === */
.dflex-card-price {
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 4px !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}

.dflex-card-price .dflex-price-from {
  display: inline-block !important;
  margin-right: 2px !important;
  white-space: nowrap !important;
}

.dflex-product-grid .owl-dot.active span {
  border-radius: 0px !important;
}

.dflex-product-card {
  border-radius: 0px !important;
}

.dflex-category-image {
  border-radius: 0px !important;
}

.dflex-product-grid.dflex-grid-pc-list .dflex-card-image {
  border-radius: 0px !important;
}

.dflex-card-image {
  border-radius: 0px !important;
}

.dflex-var-qty-btn {
  border-radius: 0px !important;
}

.dflex-grid-mob-list .dflex-card-image {
  border-radius: 0px !important;
}

.dflex-var-popup-modal {
  border-radius: 0px !important;
}

.dflex-var-popup-scroll-content::-webkit-scrollbar-thumb {
  border-radius: 0px !important;
}

.dflex-var-attr-options {
  border-radius: 0px !important;
}

.dflex-var-attr-pill {
  border-radius: 0px !important;
}

.dflex-topping-item {
  border-radius: 0px !important;
}

.dflex-var-popup-qty-wrap {
  border-radius: 0px !important;
}

.dflex-btn-load-more {
  border-radius: 0px !important;
}

/* === product-carousel.css === */
.dflex-product-carousel .owl-dots .owl-dot.active span {
  border-radius: 0px !important;
}

.dflex-carousel-mob-list .dflex-card-image {
  border-radius: 0px !important;
}

/* === product-options.css === */
.dflex-option-image {
  border-radius: 0px !important;
}

.dflex-option-price-tag {
  border-radius: 0px !important;
}

/* === single-product.css === */
.dflex-single-main-img {
  position: relative !important;
  width: 100% !important;
  height: 440px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f8f6f4 !important;
  overflow: hidden !important;
  border-radius: 0px !important;
  border: none !important;
}

.dflex-single-main-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
  transition: opacity 0.25s ease !important;
}

.dflex-gallery-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 38px !important;
  height: 38px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid #DCCEB8 !important;
  color: var(--text-color) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 5 !important;
  transition: all var(--transition-speed) !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

@media (min-width: 769px) {
  .dflex-gallery-arrow {
    display: none !important;
  }
}

.dflex-gallery-arrow:hover {
  background: var(--color-primary) !important;
  color: #ffffff !important;
  border-color: var(--color-primary) !important;
}

.dflex-gallery-prev {
  left: 10px !important;
}

.dflex-gallery-next {
  right: 10px !important;
}

.dflex-thumb {
  border-radius: 0px !important;
  border: 1.5px solid transparent !important;
  transition: all var(--transition-speed) !important;
}

.dflex-thumb.active {
  border: 1.5px solid var(--color-accent) !important;
  box-shadow: none !important;
  outline: none !important;
  opacity: 1 !important;
}

.dflex-single-action-form {
  display: flex !important;
  flex-direction: column !important;
  margin-top: 0 !important;
}

.dflex-single-variations-wrap,
.dflex-var-popup-attributes {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  order: 1 !important;
}

.dflex-adv-options-wrap,
.dflex-addons-wrap {
  order: 2 !important;
}

.dflex-single-stock {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-transform: lowercase !important;
  padding: 6px 12px !important;
  border-radius: 0px !important;
  order: 3 !important;
  margin-top: 0 !important;
  margin-bottom: 16px !important;
  align-self: flex-start !important;
}

.dflex-single-stock.in-stock {
  background-color: rgba(46, 125, 50, 0.1) !important;
  color: #2e7d32 !important;
}

.dflex-single-stock.low-stock {
  background-color: rgba(230, 124, 0, 0.12) !important;
  color: #e67c00 !important;
}

.dflex-single-stock.on-order,
.dflex-single-stock.out-of-stock {
  background-color: var(--color-danger-bg, rgba(220, 50, 50, 0.1)) !important;
  color: var(--color-danger, #dc3232) !important;
}

.dflex-single-price-wrap {
  order: 4 !important;
  margin-bottom: 0 !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 12px !important;
}

.dflex-single-price {
  font-size: 32px !important;
  font-weight: 700 !important;
  color: var(--text-color) !important;
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 12px !important;
}

.dflex-single-price ins {
  text-decoration: none !important;
  color: var(--color-primary) !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  order: 1 !important;
}

.dflex-single-price del {
  color: var(--text-muted) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  text-decoration: line-through !important;
  order: 2 !important;
}

.dflex-single-footer-action {
  order: 5 !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: none !important;
}

.dflex-var-attr-row {
  width: 100% !important;
  margin-bottom: 20px !important;
}

.dflex-var-attr-options {
  display: inline-flex !important;
  max-width: 100% !important;
  width: auto !important;
  background: #F0F0F5 !important;
  padding: 0px !important;
  gap: 0px !important;
  box-sizing: border-box !important;
  border-radius: 0px !important;
  box-shadow: none !important;
  flex-direction: row;
  justify-content: space-between;
}

.dflex-var-attr-pill {
  flex: 0 0 auto !important;
  min-width: 64px !important;
  padding: 10px 18px !important;
  text-align: center !important;
  box-sizing: border-box !important;
  border-radius: 0px !important;
}

.dflex-qty-control {
  border-radius: 0px !important;
}

.dflex-btn-single-add {
  width: 220px !important;
  max-width: 220px !important;
  min-width: 220px !important;
  flex: 0 0 220px !important;
  box-sizing: border-box;
  border-radius: 0px !important;
  font-size: 16px !important;
}

.dflex-btn-checkout {
  font-size: 16px !important;
  font-weight: 500 !important;
}

.dflex-addon-card {
  border-radius: 0px !important;
}

.dflex-option-item.has-image {
  border-radius: 0px !important;
}

.dflex-option-image-wrapper img {
  border-radius: 0px !important;
}

/* === smart-filters.css === */
.dflex-filter-pagination a,
.dflex-filter-pagination span {
  border-radius: 0px !important;
}

.dflex-checkbox-list input[type="checkbox"] {
  border-radius: 0px !important;
}

.dflex-term-count {
  border-radius: 0px !important;
}

.dflex-filter-select-wrapper select {
  border-radius: 0px !important;
}

.dflex-search-input {
  border-radius: 0px !important;
}

.dflex-price-range-container::before {
  border-radius: 0px !important;
}

.dflex-price-inputs input {
  border-radius: 0px !important;
}

.dflex-filters-submit-btn {
  border-radius: 0px !important;
  box-shadow: none !important;
}

.dflex-filters-reset-btn {
  border-radius: 0px !important;
}

.dflex-skeleton-card {
  border-radius: 0px !important;
}

.dflex-skeleton-line {
  border-radius: 0px !important;
}

/* === store-hours.css === */
.dflex-store-modal {
  border-radius: 0px !important;
}

.dflex-ann-modal {
  border-radius: 0px !important;
}

.dflex-ann-image img {
  border-radius: 0px !important;
}

/* === thankyou.css === */
.dflex-thankyou-card {
  border-radius: 0px !important;
}

ul.order_details {
  border-radius: 0px !important;
}

.dflex-item-thumb {
  border-radius: 0px !important;
}

table.order_details {
  border-radius: 0px !important;
}

.dflex-order-details-meta {
  border-radius: 0px !important;
}

.dflex-order-note {
  border-radius: 0px !important;
}

/* === toast-notices.css === */
.dflex-toast {
  border-radius: 0px !important;
}

.dflex-toast-thumb {
  border-radius: 0px !important;
}

.dflex-toast-progress-bar {
  border-radius: 0px !important;
}

/* === toasts.css === */
.dflex-toast {
  border-radius: 0px !important;
}

.dflex-toast-product-img {
  border-radius: 0px !important;
}

/* === user-account.css === */
.dflex-account-content {
  background: transparent !important;
}

.dflex-form-row input[type="text"],
.dflex-form-row input[type="email"],
.dflex-form-row input[type="password"],
.dflex-form-row input[type="tel"] {
  border-radius: 0px !important;
}

.dflex-auth-msg {
  border-radius: 0px !important;
}

.dflex-account-layout.is-tabs .dflex-account-tab {
  border-radius: 0px !important;
}

.dflex-dash-card {
  border-radius: 0px !important;
}

.dflex-orders-toolbar {
  border-radius: 0px !important;
}

.dflex-orders-toolbar input.dflex-woo-input-text,
.dflex-orders-toolbar select.dflex-woo-input-text {
  border-radius: 0px !important;
}

.dflex-orders-wrapper {
  border-radius: 0px !important;
}

.dflex-orders-pagination .page-btn {
  border-radius: 0px !important;
}

.details-content {
  border-radius: 0px !important;
}

.details-item .item-img img {
  border-radius: 0px !important;
}

.order-totals-summary {
  border-radius: 0px !important;
}

.dflex-logout-confirm-modal {
  border-radius: 0px !important;
}

.dflex-order-status {
  border-radius: 0px !important;
}

.dflex-btn-small {
  border-radius: 0px !important;
}

.dflex-empty-state {
  border-radius: 0px !important;
}

.dflex-order-row {
  border-radius: 0px !important;
}

.dflex-account-panel .dflex-product-card {
  border-radius: 0px !important;
}

.dflex-account-panel .dflex-card-image {
  border-radius: 0px !important;
}

.dflex-card {
  border-radius: 0px !important;
}

.dflex-account-input {
  border-radius: 0px !important;
}

.mcl-add-new-address {
  border-radius: 0px !important;
}

.mcl-selected-address {
  border-radius: 0px !important;
}

/* === wishlist.css === */
.dflex-wishlist-item {
  border-radius: 0px !important;
}

.dflex-wishlist-item-thumb {
  border-radius: 0px !important;
}

/* Contact Form 7 Grid */
.cf7-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 8px;
  width: 100%;
}

.cf7-col input {
  width: 100% !important;
}

.modal__form-side .cf7-grid {
  grid-template-columns: 1fr !important;
  gap: 10px;
}

/* Form layout override when containing cf7-grid */
.banner-main__content .wpcf7-form:has(.cf7-grid),
.callback__content .wpcf7-form:has(.cf7-grid) {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.banner-main__content .wpcf7-form:has(.cf7-grid) .wpcf7-form-control-wrap,
.callback__content .wpcf7-form:has(.cf7-grid) .wpcf7-form-control-wrap {
  grid-column: auto !important;
  width: 100% !important;
}

.banner-main__content .wpcf7-form:has(.cf7-grid) .wpcf7-submit,
.callback__content .wpcf7-form:has(.cf7-grid) .wpcf7-submit {
  grid-column: auto !important;
  width: 100% !important;
  height: 48px !important;
  margin: 0 !important;
}

.banner-main__content .wpcf7-form:has(.cf7-grid) .wpcf7-acceptance,
.callback__content .wpcf7-form:has(.cf7-grid) .wpcf7-acceptance {
  grid-column: auto !important;
  width: 100% !important;
}

/* CF7 Validation Tooltips */
.banner-main__content .wpcf7-form-control-wrap,
.callback__content .wpcf7-form-control-wrap,
.modal__form-side .wpcf7-form-control-wrap {
  position: relative !important;
  display: block !important;
}

.wpcf7-not-valid-tip {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  background-color: #ff4d4d !important;
  color: #ffffff !important;
  font-size: 11px !important;
  padding: 4px 8px !important;
  border-radius: 0 !important;
  z-index: 9999 !important;
  margin-top: 4px !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
  pointer-events: none !important;
}

.wpcf7-not-valid-tip::before {
  content: "" !important;
  position: absolute !important;
  bottom: 100% !important;
  left: 12px !important;
  border-width: 5px !important;
  border-style: solid !important;
  border-color: transparent transparent #ff4d4d transparent !important;
}

/* Single Product Layout Adjustments */
.dflex-single-action-form {
  background: transparent !important;
  background-color: transparent !important;
}

.dflex-single-footer-action {
  margin-top: 20px !important;
}

.products--related {
  margin-bottom: 0 !important;
}

/* Wishlist Button Styling on Single Product Page */
.dflex-wishlist-single-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 0px !important;
  border: 1px solid var(--color-accent) !important;
  background-color: transparent !important;
  color: var(--color-primary) !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: all var(--transition-speed) !important;
  padding: 0 !important;
  margin: 0 !important;
}

body .dflex-wishlist-single-btn,
body .dflex-wishlist-single-btn:hover,
body .dflex-wishlist-single-btn.added,
body .dflex-wishlist-single-btn.active,
body .dflex-single-footer-action .dflex-wishlist-single-btn,
body .dflex-single-footer-action .dflex-wishlist-single-btn:hover,
body .dflex-single-footer-action .dflex-wishlist-single-btn.added,
body .dflex-single-footer-action .dflex-wishlist-single-btn.active {
  background-color: transparent !important;
  background: transparent !important;
}

.dflex-wishlist-single-btn:hover {
  border-color: var(--color-primary) !important;
  color: var(--color-primary) !important;
  transform: none !important;
}

.dflex-wishlist-single-btn:hover i {
  transform: none !important;
}

.dflex-wishlist-single-btn i {
  font-size: 18px !important;
  transform: none !important;
}

.dflex-wishlist-single-btn.added,
.dflex-wishlist-single-btn.active {
  border: 1px solid var(--color-primary) !important;
}

.dflex-wishlist-single-btn.added i,
.dflex-wishlist-single-btn.active i,
.dflex-wishlist-single-btn i.fas {
  color: var(--color-primary) !important;
}

.dflex-search-form-wrap {
  max-width: 200px !important;
}

/* Align Heights and Spacing of Single Product Action Buttons */
.dflex-single-footer-action {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 20px !important;
  margin-top: 20px !important;
}

.dflex-single-footer-action .dflex-qty-control,
.dflex-single-footer-action .dflex-btn-single-add,
.dflex-single-footer-action .dflex-wishlist-single-btn {
  height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.dflex-single-footer-action .dflex-wishlist-single-btn {
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.dflex-single-footer-action .dflex-qty-control button,
.dflex-single-footer-action .dflex-qty-control input {
  height: 100% !important;
}

/* Main Banner Form Design parity with Footer callback form & Gap reductions */
.banner-main__content .wpcf7-form {
  margin-top: 8px !important;
  gap: 8px !important;
}

.banner-main__content .wpcf7-form-control.wpcf7-text,
.banner-main__content .wpcf7-form-control.wpcf7-tel {
  background-color: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
  transition: all var(--transition-speed);
}

.banner-main__content .wpcf7-form-control.wpcf7-text::placeholder,
.banner-main__content .wpcf7-form-control.wpcf7-tel::placeholder {
  color: #a09888 !important;
}

.banner-main__content .wpcf7-form-control.wpcf7-text:focus,
.banner-main__content .wpcf7-form-control.wpcf7-tel:focus {
  background-color: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}

.banner-main__content .wpcf7-submit {
  background-color: var(--color-accent) !important;
  border-color: var(--color-accent) !important;
  color: #ffffff !important;
}

.banner-main__content .wpcf7-submit:hover {
  background-color: #8da95a !important;
  border-color: #8da95a !important;
}

/* Reduce checkbox gap for banner main form */
.banner-main__content .wpcf7-form .wpcf7-acceptance {
  margin-top: 2px !important;
}

.banner-main__content .wpcf7-acceptance label {
  margin-top: 0px !important;
}

/* Zero-border-radius parity */
.banner-main__content .wpcf7-form-control,
.banner-main__content .wpcf7-submit,
.callback__content .wpcf7-form-control,
.callback__content .wpcf7-submit {
  border-radius: 0px !important;
}

.dflex-search-form {
  background-color: #FBFAF9 !important;
}

/* CF7 submit column & spinner positioning */
.cf7-col {
  position: relative;
}

.cf7-col .wpcf7-spinner {
  position: absolute !important;
  right: -14px !important;
  top: 13px !important;
}

.modal__form-side .cf7-col {
  position: relative;
}

.modal__form-side .cf7-col .wpcf7-spinner {
  position: absolute !important;
  right: -14px !important;
  top: 13px !important;
}

/* Dflex Catalog Pagination — matching portfolio catalog-pagination design */
body .dflex-pagination-wrap {
  margin-top: 40px !important;
}

body .dflex-pagination {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

body .dflex-pagination a,
body .dflex-pagination span,
body .dflex-pagination a.page-numbers,
body .dflex-pagination span.page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 4px !important;
  border: 1px solid #ddd !important;
  border-radius: 0px !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  color: var(--color-text) !important;
  text-decoration: none !important;
  transition: all var(--transition-speed) !important;
  box-sizing: border-box !important;
  background: #fff !important;
  line-height: 1 !important;
}

body .dflex-pagination a:hover,
body .dflex-pagination a.page-numbers:hover,
body .dflex-pagination span.current,
body .dflex-pagination span.page-numbers.current {
  background: var(--color-primary) !important;
  color: #fff !important;
  border-color: var(--color-primary) !important;
}

body .dflex-pagination span.dots,
body .dflex-pagination span.page-numbers.dots {
  border: none !important;
  background: none !important;
  pointer-events: none;
}

body .dflex-pagination .next,
body .dflex-pagination .prev {
  font-size: 14px !important;
}

/* ==========================================
   MOBILE & LAYOUT ADAPTATIONS (DFLEX TASKS)
   ========================================== */

/* 1. Header icons gap & logo size in mobile */

/* 2. Catalog Description mobile font-size */

/* 3. Mobile Filter Drawer & Overlay */
.catalog-sidebar__close,
.btn-filter-mobile {
  display: none;
}

/* 4. Product single USP and Tab buttons in mobile */

/* 5. Dflex filters submit button hover primary dark green color */
.dflex-filters-submit-btn:hover {
  background-color: var(--color-primary-hover) !important;
  border-color: var(--color-primary-hover) !important;
  color: #ffffff !important;
}

/* 6. Single product actions row alignment & button font-size on mobile */

/* 7. Modal callback layout on mobile */

/* 8. Search form styling: matching background and green icon */
.dflex-search-form {
  background-color: #FBFAF9 !important;
  border: 1px solid #DCCEB8 !important;
  border-radius: 0px !important;
}

.dflex-search-input {
  background-color: transparent !important;
  border: none !important;
  color: var(--text-color) !important;
}

.dflex-search-submit {
  background-color: transparent !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.dflex-search-submit i,
.dflex-search-submit svg {
  color: var(--color-accent) !important;
  transition: color var(--transition-speed) !important;
}

.dflex-search-submit:hover i,
.dflex-search-submit:hover svg {
  color: #8da95a !important;
}

/* Related Portfolio Swiper Styling */
.related-portfolio-swiper {
  padding-bottom: 40px !important;
  position: relative;
  overflow: hidden;
}

.related-portfolio-swiper .portfolio-card {
  height: 280px !important;
  margin-bottom: 0 !important;
}

.related-portfolio-swiper__pagination {
  bottom: 0px !important;
}

.related-portfolio-swiper__pagination .swiper-pagination-bullet {
  background: #cccccc;
  opacity: 1;
}

.related-portfolio-swiper__pagination .swiper-pagination-bullet-active {
  background: var(--text-color);
  width: 16px;
  border-radius: 0;
  transition: width 0.2s ease;
}

/* Custom Responsive Breadcrumbs & Catalog Layout */

/* Стилизация оформления заказа на чекауте */
.dflex-btn-place-order#place_order {
  padding: 16px !important;
}

li.wc_payment_method.payment_method_dflex_card_delivery,
li.wc_payment_method.payment_method_dflex_cash_delivery {
  border-radius: 0 !important;
}

/* ===================================================
   ВАКАНСИИ — archive-vacancy.php + single-vacancy.php
   =================================================== */

/* --- Hero Banner --- */
.vacancy-hero {
  background: linear-gradient(180deg, rgba(30, 40, 24, 0.78) 0%, rgba(42, 56, 33, 0.88) 100%), url('images/vacancy_banner.jpg');
  background-size: cover;
  background-position: center;
  color: #ffffff;
  padding: 100px 20px;
  text-align: center;
}

.vacancy-hero__container {
  max-width: 900px;
  margin: 0 auto;
}

.vacancy-hero__title {
  font-family: var(--font-heading);
  font-size: 42px;
  font-weight: 600;
  margin-bottom: 20px;
  line-height: 1.2;
  color: #ffffff;
}

.vacancy-hero__description {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.92);
  max-width: 820px;
  margin: 0 auto;
}

.vacancy-hero__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
}

/* --- Archive section --- */
.vacancy-archive {
  padding-top: 60px;
  padding-bottom: 60px;
}

.vacancy-archive__inner {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 10px;
}

.vacancy-archive__heading {
  font-size: 36px;
  font-weight: 600;
  margin-bottom: 28px;
  color: var(--text-color);
}

/* --- Tabs --- */
.vacancy-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 32px;
}

.vacancy-tab-btn {
  font-size: 16px;
  font-family: var(--font-family);
  background-color: rgba(157, 185, 111, 0.1);
  border: 1px solid var(--color-accent);
  padding: 8px 18px;
  cursor: pointer;
  border-radius: var(--border-radius);
  color: var(--text-color);
  transition: all var(--transition-speed);
  font-weight: 500;
}

.vacancy-tab-btn:hover {
  background-color: rgba(157, 185, 111, 0.2);
}

.vacancy-tab-btn.active {
  background-color: var(--color-accent);
  color: #ffffff;
  border-color: var(--color-accent);
}

/* --- Cards Grid --- */
.vacancy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.vacancy-card {
  background: var(--bg-card);
  border: 1px solid #DCCEB8;
  padding: 28px 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: box-shadow var(--transition-speed), transform var(--transition-speed);
}

.vacancy-card:hover {
  box-shadow: 0 6px 24px rgba(59, 81, 36, 0.08);
  transform: translateY(-3px);
}

.vacancy-card__title {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-color);
  flex-grow: 1;
}

.vacancy-card__location {
  font-size: 14px;
  font-weight: 500;
  color: var(--color-primary);
}

.vacancy-card__btn {
  align-self: flex-start;
  margin-top: auto;
}

.vacancy-empty {
  color: var(--text-muted);
  padding: 40px 0;
}

/* --- Breadcrumbs --- */
.vacancy-breadcrumbs {
  background: var(--bg-color);
  border-bottom: 1px solid #DCCEB8;
  padding: 12px 0;
  font-size: 14px;
  color: var(--text-muted);
}

.vacancy-breadcrumbs__inner {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 10px;
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.vacancy-breadcrumbs .breadcrumbs {
  margin: 0;
}

.vacancy-breadcrumbs a {
  color: var(--text-muted);
  text-decoration: none;
  transition: color var(--transition-speed);
}

.vacancy-breadcrumbs a:hover {
  color: var(--color-primary);
}

/* Section wrapper with full-bleed SVG pattern background */
.vacancy-single-section {
  width: 100%;
  background-color: #FBFAF9;
  background-image: url('images/vacancy_pattern.svg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 40px 0 60px;
  box-sizing: border-box;
  overflow-x: clip;
}

/* --- Single Layout --- */
.vacancy-single {
  display: grid;
  grid-template-columns: 380px minmax(0, 1fr);
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 10px;
  gap: 30px;
  align-items: stretch;
  height: 600px;
  box-sizing: border-box;
  width: 100%;
}

/* Left green panel - full height */
.vacancy-single__panel {
  background-color: #374D27;
  padding: 40px 32px 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  box-sizing: border-box;
}

.vacancy-single__title {
  font-family: var(--font-heading);
  font-size: 26px;
  font-weight: 500;
  color: #ffffff;
  margin: 0 0 32px 0;
}

.vacancy-single__panel-bottom {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 0;
  width: 100%;
}

.vacancy-single__meta-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.vacancy-single__meta-item {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.vacancy-single__meta-label {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.75);
  text-transform: lowercase;
}

.vacancy-single__meta-value {
  color: #ffffff;
  font-weight: 500;
}

.vacancy-single__apply {
  background: #8EA863 !important;
  border: none !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 14px 24px !important;
  border-radius: 0 !important;
  white-space: nowrap !important;
  width: 100% !important;
  display: block;
  text-align: center;
  box-sizing: border-box;
  margin-top: 4px;
  cursor: pointer;
  transition: background var(--transition-speed);
}

.vacancy-single__apply:hover {
  background: #7b9452 !important;
}

/* Right column: two separate white cards with hidden internal scroll */
.vacancy-single__right-col {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  box-sizing: border-box;
}

.vacancy-single__right-col::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.vacancy-single__intro-card {
  background: var(--bg-card);
  border: 1px solid #DCCEB8;
  padding: 32px 36px;
  font-weight: 500;
  color: var(--text-color);
  box-sizing: border-box;
}

.vacancy-single__intro-card p {
  margin: 0;
}

.vacancy-single__main-card {
  background: var(--bg-card);
  border: 1px solid #DCCEB8;
  padding: 40px 36px;
  box-sizing: border-box;
}

.vacancy-single__description h2 {
  font-size: 22px;
  font-weight: 500;
  color: var(--color-primary);
  margin-top: 36px;
  margin-bottom: 16px;
}

.vacancy-single__description h2:first-child {
  margin-top: 0;
}

.vacancy-single__description p {
  color: var(--text-color);
  margin-bottom: 16px;
}

.vacancy-single__description ul {
  padding-left: 20px;
  margin-bottom: 24px;
}

.vacancy-single__description ul li {
  color: var(--text-color);
}

/* --- Other vacancies --- */
.vacancy-other {
  background: var(--color-light);
  padding-top: 60px;
  padding-bottom: 60px;
}

.vacancy-other__inner {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 20px;
}

.vacancy-other__heading {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 28px;
  color: var(--text-color);
}

/* --- Responsive --- */

/* === Vacancy CF7 Form === */
.vacancy-form {
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 100%;
}

.vacancy-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}

.vacancy-form__field input[type="text"],
.vacancy-form__field input[type="email"],
.vacancy-form__field input[type="tel"],
.vacancy-form__field input[type="file"],
.vacancy-form__full textarea {
  width: 100%;
  background: #fbf9f5;
  border: 1px solid #e2ded5;
  padding: 14px 18px;
  color: #333333;
  outline: none;
  box-sizing: border-box;
  font-family: inherit;
  transition: border-color 0.2s;
}

.vacancy-form__field input[type="file"] {
  padding: 11px 18px;
  color: #79746e;
  cursor: pointer;
}

.vacancy-form__field input::placeholder,
.vacancy-form__full textarea::placeholder {
  color: #79746e;
}

.vacancy-form__field input:focus,
.vacancy-form__full textarea:focus {
  border-color: #9cb977;
}

.vacancy-form__full textarea {
  height: 140px;
  resize: vertical;
}

.vacancy-form__consent {
  background: #e2d7c5;
  padding: 16px 20px;
  text-align: center;
}

.vacancy-form__consent p {
  margin: 0;
  font-size: 14px;
  color: #2b2621;
}

.vacancy-form__submit {
  display: flex;
  justify-content: flex-end;
  margin-top: 5px;
}

.vacancy-form__submit input[type="submit"] {
  background-color: #9cb977;
  color: #ffffff;
  border: none;
  padding: 14px 36px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
}

.vacancy-form__submit input[type="submit"]:hover {
  background-color: #8aa966;
}

/* === Clean Vacancy Modal (No Side Image) === */
#vacancy-modal .modal__content {
  grid-template-columns: 1fr;
  max-width: 820px;
  background: #f7f5f0;
  border-radius: 0;
  overflow: hidden;
}

#vacancy-modal .modal__form-side {
  padding: 45px 50px;
  background: #f7f5f0;
  width: 100%;
}

#vacancy-modal .modal__title {
  font-family: var(--font-heading);
  font-size: 36px;
  font-weight: 700;
  color: #111111;
  margin-bottom: 25px;
  line-height: 1.2;
}

/* ==========================================================================
   СТРАНИЦА "О КОМПАНИИ" (ABOUT PAGE STYLES - FULLY RESPONSIVE)
   ========================================================================== */

/* Заглушки для изображений */
.about-placeholder {
  background-color: #E6E1D7;
  color: #7A7267;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 500;
  border: 1px dashed #C5BEB0;
  user-select: none;
}

/* Общие заголовки секций */
.about-section-title {
  font-size: 36px;
  font-weight: 600;
  color: var(--text-color);
  margin-bottom: 30px;
}

/* 1. HERO BANNER */
.about-hero {
  background: linear-gradient(180deg, rgba(30, 40, 24, 0.75) 0%, rgba(42, 56, 33, 0.85) 100%), url('images/about_hero_bg.jpg');
  background-size: cover;
  background-position: center;
  color: #ffffff;
  padding: 100px 20px;
  text-align: center;
}

.about-hero__container {
  max-width: 900px;
  margin: 0 auto;
}

.about-hero__title {
  font-family: var(--font-heading);
  font-size: 42px;
  font-weight: 600;
  margin-bottom: 20px;
  line-height: 1.2;
  color: #ffffff;
}

.about-hero__description {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.92);
  max-width: 820px;
  margin: 0 auto;
}

/* 2. НАША МИССИЯ */
.about-mission {
  padding-top: 60px;
  padding-bottom: 60px;
}

.about-mission__grid {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 40px;
  align-items: start;
}

.about-mission__right p {
  font-size: 20px;
  color: var(--text-color);
  margin-bottom: 20px;
}

.about-mission__right p:last-child {
  margin-bottom: 0;
}

/* 3. ПРИНЦИПЫ КОМПАНИИ */
.about-principles {
  padding-top: 60px;
  padding-bottom: 60px;
}

.about-principles__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.about-principle-card {
  display: flex;
  gap: 20px;
  background: #F3F1ED;
  padding: 30px;
  align-items: flex-start;
}

.about-principle-card__num {
  width: 44px;
  height: 44px;
  min-width: 44px;
  background: #E5E0D5;
  color: var(--text-color);
  font-size: 20px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.about-principle-card__content h3 {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 10px;
  color: var(--text-color);
}

.about-principle-card__content p {
  color: var(--text-muted);
}

/* 4. ИСТОРИЯ КОМПАНИИ */
.about-history {
  padding-top: 60px;
  padding-bottom: 60px;
}

.about-history__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: stretch;
}

.about-history__text p {
  color: var(--text-color);
  margin-bottom: 20px;
}

.about-history__text p:last-child {
  margin-bottom: 0;
}

.about-history__quote-card {
  background: #8EA764;
  color: #ffffff;
  padding: 35px 35px 30px 35px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 250px;
}

.about-history__quote-body {
  max-width: 65%;
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.about-history__quote-text {
  font-style: normal;
  margin-bottom: 30px;
  color: #ffffff;
}

.about-history__author-name {
  font-size: 14px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.95);
  display: block;
}

.about-history__photo-wrapper {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 48%;
  height: 95%;
  z-index: 1;
  pointer-events: none;
}

.about-history__photo-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom right;
  display: block;
}

/* 5. PRIME TIMBER СЕГОДНЯ (STATS) */
.about-stats {
  padding-top: 50px;
  padding-bottom: 70px;
}

.about-stats__box {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid #E5E2DC;
  background: #FBFAF8;
}

.about-stat-card {
  padding: 35px 25px 30px 25px;
  border-right: 1px solid #E5E2DC;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.about-stat-card:last-child {
  border-right: none;
}

.about-stat-card__val {
  font-size: 34px;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 24px;
  line-height: 1.1;
}

.about-stat-card__lbl {
  color: #777067;
}

/* 6. ПРОИЗВОДСТВО ПОЛНОГО ЦИКЛА */
.about-production {
  background: linear-gradient(180deg, rgba(245, 245, 243, 0.75) 0%, rgba(240, 242, 238, 0.25) 35%, rgba(15, 25, 10, 0.45) 65%, rgba(15, 25, 10, 0.8) 100%), url('images/about_production_bg.jpg');
  background-size: cover;
  background-position: center;
  padding: 70px 20px 70px 20px;
}

.about-production__container {
  max-width: 1300px;
  margin: 0 auto;
}

.about-production__header {
  display: flex;
  grid-template-columns: 64px 1fr;
  gap: 40px;
  align-items: flex-start;
  margin-bottom: 250px;
  grid-auto-flow: column;
  justify-content: space-between;
}

.about-production__icon img {
  width: 52px;
  height: auto;
  display: block;
}

.about-production__header-text {
  max-width: 700px;
}

.about-production__title {
  font-size: 34px;
  font-weight: 700;
  margin-bottom: 18px;
  color: #111111;
}

.about-production__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #2A3821;
  font-weight: 600;
  transition: opacity 0.3s, color 0.3s;
}

.about-production__link:hover {
  opacity: 0.8;
  color: var(--color-primary);
}

.about-production__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 35px;
  border-top: none;
  padding-top: 0;
}

.about-prod-feature h3 {
  font-size: 18px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 10px;
}

.about-prod-feature p {
  color: rgba(255, 255, 255, 0.88);
}

/* 7. ПРОДУКЦИЯ (PRODUCT CAROUSEL NAV 1-TO-1 WITH REVIEWS) */
.about-products {
  padding-top: 60px;
  padding-bottom: 60px;
  position: relative;
}

.about-products-swiper {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.about-product-card {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 40px;
  background: var(--bg-card);
  border: 1px solid var(--color-accent-warm);
  padding: 36px;
  align-items: center;
  box-sizing: border-box;
}

.about-product-card__visual {
  width: 100%;
  height: 100%;
  min-height: 320px;
  max-height: 400px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8f6f4;
}

.about-product-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.about-product-card__content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.about-product-card__title {
  font-size: 26px;
  font-weight: 600;
  color: var(--color-primary);
  margin: 0;
}

.about-product-card__desc {
  font-size: 16px;
  line-height: 1.6;
  color: var(--text-color);
  margin: 0;
}

.about-product-card__features {
  list-style: none;
  padding: 0;
  margin: 8px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.about-product-card__features li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  color: var(--text-muted);
}

.about-product-card__features li svg {
  color: var(--color-primary);
  flex-shrink: 0;
}

.about-product-card__action {
  margin-top: 8px;
}

.about-product-card__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  font-size: 15px;
  font-weight: 500;
}

.about-products-swiper__navigation {
  display: flex;
  gap: 10px;
}

.about-products-swiper__btn {
  width: 44px;
  height: 44px;
  border: 1px solid var(--color-accent-warm);
  background: #ffffff;
  color: var(--text-color);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--transition-speed);
  border-radius: 0;
  padding: 0;
}

.about-products-swiper__btn:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #ffffff;
}

.about-products-swiper__pagination {
  position: relative !important;
  margin-top: 20px !important;
  text-align: center;
}

.about-products-swiper__pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: var(--color-accent-warm);
  opacity: 1;
  border-radius: 50%;
  margin: 0 4px;
  transition: all var(--transition-speed);
}

.about-products-swiper__pagination .swiper-pagination-bullet-active {
  background: var(--color-primary);
  width: 24px;
  border-radius: 10px;
}

/* 8. ОТЗЫВЫ КЛИЕНТОВ */
.about-reviews {
  padding-top: 60px;
  padding-bottom: 60px;
  border-top: 1px solid #DCCEB8;
}

.about-reviews__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}

.about-reviews__header .about-section-title {
  margin-bottom: 0;
}

.about-reviews__nav {
  display: flex;
  gap: 10px;
}

.about-reviews__arrow {
  width: 40px;
  height: 40px;
  border: 1px solid #DCCEB8;
  background: #F3F1ED;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
}

.about-reviews__arrow:hover {
  background: var(--color-accent);
  color: #ffffff;
  border-color: var(--color-accent);
}

.about-reviews__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.about-review-card {
  background: #F3F1ED;
  padding: 30px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.about-review-card__header {
  display: flex;
  align-items: center;
  gap: 15px;
}

.about-review-card__avatar {
  width: 50px;
  height: 50px;
  min-width: 50px;
  border-radius: 50%;
  font-size: 12px;
}

.about-review-card__name {
  font-weight: 700;
  color: var(--text-color);
}

.about-review-card__sub {
  font-size: 14px;
  color: var(--text-muted);
}

.about-review-card__stars {
  color: #E5A93C;
  font-size: 18px;
}

.about-review-card__text {
  color: var(--text-color);
}

.about-reviews__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 30px;
}

.about-reviews__dot {
  width: 8px;
  height: 8px;
  background: #DCCEB8;
  border-radius: 50%;
  cursor: pointer;
}

.about-reviews__dot--active {
  background: var(--color-primary);
  width: 24px;
  border-radius: 4px;
}

/* 9. ПАРТНЕРЫ */
.about-partners {
  padding: 50px 0;
  background-color: #F8F8F7;
  overflow: hidden;
  border-top: 1px solid #EAE8E4;
  border-bottom: 1px solid #EAE8E4;
}

.about-partners__container {
  max-width: 1300px;
  margin: 0 auto 24px auto;
  padding: 0 20px;
}

.about-partners__marquee {
  width: 100%;
  overflow: hidden;
  position: relative;
  mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}

.about-partners__track {
  display: flex;
  align-items: center;
  gap: 70px;
  width: max-content;
  animation: partnersScroll 22s linear infinite;
}

.about-partners__marquee:hover .about-partners__track {
  animation-play-state: paused;
}

.partner-logo-item {
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.65;
  filter: grayscale(100%);
  transition: opacity 0.3s, filter 0.3s, transform 0.3s;
  user-select: none;
  padding: 10px 15px;
}

.partner-logo-item:hover {
  opacity: 1;
  filter: grayscale(0%);
  transform: scale(1.05);
}

@keyframes partnersScroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

/* 10. CTA ПАРТНЕРСТВО */
.about-cta {
  background: linear-gradient(180deg, #1E2818 0%, #2A3821 100%);
  color: #ffffff;
  padding: 80px 20px;
  text-align: center;
}

.about-cta__container {
  max-width: 800px;
  margin: 0 auto;
}

.about-cta__title {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 16px;
  color: #ffffff;
}

.about-cta__sub {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 30px;
}

/* Плашка "Товары не найдены" */
.dflex-no-products-box {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 40px 24px;
  text-align: center;
  margin: 20px 0;
  width: 100%;
}

.dflex-no-products-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 20px;
  background: #EAE6DD;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #777266;
}

.dflex-no-products-title {
  font-size: 22px;
  font-weight: 600;
  color: #2C2B29;
  margin-bottom: 10px;
}

.dflex-no-products-text {
  color: #68645C;
  max-width: 480px;
  margin: 0 auto 24px;
}

.dflex-no-products-btn {
  margin-top: 10px;
}

/* ==========================================================================
   MEDIA QUERIES (RESPONSIVE BREAKPOINTS)
   ========================================================================== */

/* Floating Apply Popover Button for Sidebar Filters */
.dflex-floating-apply-popover {
  position: absolute;
  z-index: 99999;
  background-color: var(--color-primary, #3B5124);
  color: #ffffff !important;
  padding: 6px 14px;
  font-size: 14px;
  font-weight: 500;
  border-radius: 0;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
  cursor: pointer;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-50%) translateX(-4px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  user-select: none;
}

.dflex-floating-apply-popover.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(-50%) translateX(0);
}

.dflex-floating-apply-popover::before {
  content: '';
  position: absolute;
  left: -6px;
  top: 50%;
  transform: translateY(-50%);
  border-width: 6px 6px 6px 0;
  border-style: solid;
  border-color: transparent var(--color-primary, #3B5124) transparent transparent;
}

.dflex-floating-apply-popover:hover {
  background-color: var(--color-primary-hover, #2c3e1a);
}

.dflex-floating-apply-popover:hover::before {
  border-right-color: var(--color-primary-hover, #2c3e1a);
}

/* Attribute and Value Side-by-Side Layout for Mini Cart, Checkout and Cart */
dl.variation,
.dflex-minicart-item-info .variation,
.woocommerce-mini-cart-item .variation,
.dflex-minicart-item-meta .variation,
.woocommerce-checkout .variation,
.woocommerce-checkout-review-order-table .variation,
.shop_table .variation {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 2px 8px !important;
  align-items: baseline !important;
  margin: 6px 0 10px 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
}

dl.variation dt,
.dflex-minicart-item-info .variation dt,
.woocommerce-mini-cart-item .variation dt,
.woocommerce-checkout .variation dt,
.shop_table .variation dt,
dl.variation dt.variation- {
  display: inline-block !important;
  color: #777 !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
}

dl.variation dd,
.dflex-minicart-item-info .variation dd,
.woocommerce-mini-cart-item .variation dd,
.woocommerce-checkout .variation dd,
.shop_table .variation dd,
dl.variation dd.variation- {
  display: inline-block !important;
  color: #222 !important;
  font-weight: 600 !important;
  margin: 0 !important;
  float: none !important;
}

dl.variation dd p,
.dflex-minicart-item-info .variation dd p,
.woocommerce-mini-cart-item .variation dd p,
.woocommerce-checkout .variation dd p,
.shop_table .variation dd p {
  margin: 0 !important;
  padding: 0 !important;
  display: inline !important;
}

/* ==========================================================================
   СТРАНИЦА КОНТАКТЫ (page-contacts.php)
   ========================================================================== */
.contacts-hero {
  background: linear-gradient(180deg, rgba(30, 40, 24, 0.78) 0%, rgba(42, 56, 33, 0.88) 100%), url('images/wood_production.png');
  background-size: cover;
  background-position: center;
  color: #ffffff;
  padding: 100px 20px;
  text-align: center;
}

.contacts-hero__container {
  max-width: 900px;
  margin: 0 auto;
}

.contacts-hero__title {
  font-family: var(--font-heading);
  font-size: 42px;
  font-weight: 600;
  margin-bottom: 20px;
  line-height: 1.2;
  color: #ffffff;
}

.contacts-hero__description {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.92);
  max-width: 820px;
  margin: 0 auto;
}

.btn-secondary {
  background-color: var(--bg-box);
  color: var(--text-color);
  border: var(--wireframe-border);
  transition: all var(--transition-speed);
}

.btn-secondary:hover,
.btn-secondary.active {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: #ffffff;
}

/* Секция отделов и соцсетей */
.contacts-depts-section {
  margin-bottom: 60px;
}

.contacts-depts__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.contacts-dept-card {
  border: var(--wireframe-border);
  background: var(--bg-card);
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  transition: background-color var(--transition-speed);
}

.contacts-dept-card:hover {
  background-color: var(--bg-box);
}

.contacts-dept-card__icon {
  color: var(--color-primary);
  background-color: var(--color-light);
  width: 52px;
  height: 52px;
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-speed);
  border: none !important;
  flex-shrink: 0;
}

.contacts-dept-card__icon svg {
  width: 24px;
  height: 24px;
}

.contacts-dept-card:hover .contacts-dept-card__icon {
  background-color: var(--color-primary);
  color: #ffffff;
  transform: rotate(5deg) scale(1.05);
}

.contacts-dept-card__top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.contacts-dept-card__title {
  font-size: 22px;
  font-weight: 600;
  color: var(--text-color);
  margin: 0;
}

.contacts-dept-card__desc {
  font-size: 14px;
  color: var(--text-muted);
}

.contacts-dept-card__links {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: auto;
}

.contacts-dept-card__phone {
  font-size: 20px;
  font-weight: 600;
  color: var(--color-primary);
}

.contacts-dept-card__email {
  color: var(--text-muted);
}

.contacts-dept-card__email:hover {
  color: var(--color-primary);
}

.contacts-socials-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
}

.contacts-social-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: var(--bg-box);
  border: var(--wireframe-border);
  color: var(--text-color);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: all var(--transition-speed);
}

.contacts-social-item:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #ffffff;
}

/* Секция реквизитов */
.contacts-req-section {
  margin-bottom: 60px;
}

.contacts-req-box {
  border: var(--wireframe-border);
  background: var(--bg-card);
  padding: 30px;
}

.contacts-req-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  border-bottom: var(--wireframe-border);
  margin-bottom: 24px;
}

.contacts-copy-req-btn:hover,
.contacts-copy-req-btn.copied {
  background: var(--color-primary);
  color: #ffffff;
  border-color: var(--color-primary);
}

.contacts-req-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 40px;
}

.contacts-req-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.contacts-req-item--full {
  grid-column: 1 / -1;
}

.contacts-req-label {
  font-size: 14px;
  color: var(--text-muted);
}

.contacts-req-value {
  font-weight: 500;
  color: var(--text-color);
}

/* Форма обратной связи */
.contacts-form-section {
  margin-bottom: 40px;
}

.contacts-form-container {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 40px;
  border: var(--wireframe-border);
  background: var(--bg-box);
  padding: 40px;
}

.contacts-form-title {
  font-size: 36px;
  font-weight: 500;
  color: var(--text-color);
  margin-bottom: 12px;
}

.contacts-form-desc {
  color: var(--text-muted);
  margin-bottom: 24px;
}

.contacts-form-features {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.contacts-form-feature {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--text-color);
}

.contacts-form-feature svg {
  color: var(--color-primary);
  flex-shrink: 0;
}

.dflex-contacts-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-group--full {
  grid-column: 1 / -1;
}

.form-group label {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-color);
}

.form-group input,
.form-group textarea,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100%;
  padding: 12px 16px;
  background: #ffffff;
  border: var(--wireframe-border);
  font-family: var(--font-family);
  color: var(--text-color);
  outline: none;
  transition: border-color var(--transition-speed);
  font-size: 16px;
}

.form-group input:focus,
.form-group textarea:focus,
.wpcf7 input:focus,
.wpcf7 textarea:focus {
  border-color: var(--color-primary);
}

.contacts-submit-btn,
.wpcf7 input[type="submit"] {
  grid-column: 1 / -1;
  margin-top: 8px;
  padding: 14px 28px;
  width: 100%;
  cursor: pointer;
}

/* ==========================================
   СТРАНИЦА "ОПЛАТА И ДОСТАВКА"
   ========================================== */
.delivery-hero {
  background: linear-gradient(180deg, rgba(30, 40, 24, 0.78) 0%, rgba(42, 56, 33, 0.88) 100%), url('images/wood_production.png');
  background-size: cover;
  background-position: center;
  color: #ffffff;
  padding: 100px 20px;
  text-align: center;
}

.delivery-hero__container {
  max-width: 900px;
  margin: 0 auto;
}

.delivery-hero__title {
  font-size: 42px;
  font-weight: 600;
  margin-bottom: 20px;
  line-height: 1.2;
  color: #ffffff;
}

.delivery-hero__description {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.92);
  max-width: 820px;
  margin: 0 auto;
}

.delivery-payment-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.delivery-card {
  border: var(--wireframe-border);
  background: var(--bg-card);
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  box-sizing: border-box;
  transition: all var(--transition-speed);
}

.delivery-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--color-primary);
}

.delivery-card__icon {
  width: 52px;
  height: 52px;
  min-width: 52px;
  background-color: var(--color-light);
  color: var(--color-primary);
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-speed);
  border: none !important;
}

.delivery-card:hover .delivery-card__icon {
  background-color: var(--color-primary);
  color: #ffffff;
  transform: rotate(5deg) scale(1.05);
}

.delivery-card__top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.delivery-card__top h3,
.delivery-card__content h3 {
  font-size: 22px;
  font-weight: 600;
  color: #000000;
  margin: 0;
}

.delivery-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.delivery-card__list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--text-color);
  list-style: none;
}

.delivery-card__bullet {
  display: none !important;
}

/* Черные заголовки на странице Доставка */
.page-template-page-delivery h2,
.page-template-page-delivery h3,
.page-template-page-delivery h4,
.page-template-page-delivery .section__title,
.page-template-page-delivery .delivery-address-city {
  color: #000000 !important;
}

.delivery-methods-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.delivery-method-card {
  border: var(--wireframe-border);
  background: var(--bg-card);
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-sizing: border-box;
  transition: all var(--transition-speed);
}

.delivery-method-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--color-primary);
}

.delivery-method-card__top {
  display: flex;
  align-items: center;
  gap: 16px;
}

.delivery-method-card__icon {
  width: 52px;
  height: 52px;
  min-width: 52px;
  background-color: var(--color-light);
  color: var(--color-primary);
  border-radius: 50% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--transition-speed);
  border: none !important;
}

.delivery-method-card:hover .delivery-method-card__icon {
  background-color: var(--color-primary);
  color: #ffffff;
  transform: rotate(5deg) scale(1.05);
}

.delivery-method-card__top h3 {
  font-size: 22px;
  font-weight: 600;
  color: var(--text-color);
  margin: 0;
}

.delivery-method-card__desc {
  color: var(--text-muted);
  margin: 0;
}

.delivery-method-card__addresses {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 4px;
}

.delivery-address-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px 14px;
  background: #F3F1ED;
  border-left: 3px solid var(--color-primary);
}

.delivery-address-city {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-primary);
}

.delivery-address-text {
  font-size: 14px;
  color: var(--text-color);
}

.delivery-method-card__meta {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.delivery-method-card__meta li {
  color: var(--text-muted);
}

.delivery-method-card__meta li strong,
.delivery-method-card__meta li .delivery-meta-label {
  color: var(--text-color);
  font-weight: 600;
}

.delivery-card__list .delivery-card__bold {
  font-weight: 600;
  color: var(--text-color);
}

.contacts-modal__label {
  font-weight: 600;
  color: var(--text-color);
}

.delivery-memo-intro {
  margin-bottom: 28px;
}

.delivery-memo-intro p {
  color: var(--text-muted);
}

.delivery-memo-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.delivery-memo-card {
  display: flex;
  gap: 20px;
  background: #F3F1ED;
  padding: 30px;
  align-items: flex-start;
  border: var(--wireframe-border);
  box-sizing: border-box;
}

.delivery-memo-card__num {
  width: 44px;
  height: 44px;
  min-width: 44px;
  background: #E5E0D5;
  color: var(--text-color);
  font-size: 20px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.delivery-memo-card__content h3 {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 8px;
  color: var(--text-color);
}

.delivery-memo-card__content p {
  color: var(--text-muted);
  margin: 0;
}

/* Featured Article Card in Blog / Archive */
.article-card--featured {
  background-color: var(--color-primary) !important;
  padding: 24px 20px !important;
  box-sizing: border-box;
}

.article-card--featured h2,
.article-card--featured h3,
.article-card--featured h4,
.article-card--featured .article-card__title,
.article-card--featured .article-card__title a {
  color: #ffffff !important;
}

.article-card--featured .article-card__excerpt,
.article-card--featured .article-card__date {
  color: rgba(255, 255, 255, 0.92) !important;
}

.article-card--featured .article-card__btn {
  color: #ffffff !important;
}

.article-card--featured .article-card__btn:hover {
  color: #ffffff !important;
}

.article-card__date {
  font-size: 12px;
  color: var(--text-muted);
  font-weight: 500;
  margin-bottom: -4px;
}