/*
 * Тема Arkaim — основные стили
 */

@font-face {
  font-family: "Manrope";
  src: url("fonts/Manrope-Regular.woff2") format("woff2"),
       url("fonts/Manrope-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Manrope";
  src: url("fonts/Manrope-Semibold.woff2") format("woff2"),
       url("fonts/Manrope-Semibold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Manrope";
  src: url("fonts/Manrope-Bold.woff2") format("woff2"),
       url("fonts/Manrope-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Manrope";
  src: url("fonts/Manrope-ExtraBold.woff2") format("woff2"),
       url("fonts/Manrope-ExtraBold.woff") format("woff");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

/* Цвета и стили по макету Figma (Аркаим) */
:root {
  --black-color: #111010;
  --orange: #f97d01;
  --substrate: #f4f4f4;
  --grey: #7f7f7f;
  --soft-orange: #ffe5cd;
  --soft-grey: #e4e4e4;
  --soft-green: #e8f5e9;
  --green: #29A01C;
  --soft-blue: #e3f2fd;
  --blue: #1565c0;
  --hover-orange: #d76908;
  --red: #cd1111;
  --blue: #213ecb;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  background-color: #fff;
}

body {
  margin: 0;
  font-family: "Manrope", sans-serif;
  color: var(--black-color);
  background: #fff;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

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

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.container {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}

.section {
  padding-top: 40px;
  padding-bottom: 40px;
}

.title {
  margin: 0 0 24px;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--black-color);
}

.page-content__container {
  max-width: 1360px;
}

.page-content__title {
  margin: 0 0 32px;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--black-color);
}

.page-content__body {
  max-width: 980px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--black-color);
}

.page-content__body > *:first-child {
  margin-top: 0;
}

.page-content__body > *:last-child {
  margin-bottom: 0;
}

h1.title {
  font-size: 48px;
  line-height: 1;
  letter-spacing: -0.02em;
}

/* ========== Header (по макету Figma) ========== */
.header {
  background: #fff;
  padding: 40px 0 0 0;
}

.header__container {
  max-width: 1360px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 32px;
}

.header__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  flex-wrap: wrap;
  gap: 24px;
}

.header__logo {
  flex-shrink: 0;
  margin-right: 77px;
}

.header__logo a {
  display: inline-block;
}

.header__logo img {
  max-width: 253px;
  max-height: 55px;
  width: auto;
  height: auto;
  display: block;
}

.header__search {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  position: relative;
  min-width: 0;
  max-width: 380px;
  min-width: 170px;
  padding: 14px 16px;
  background: var(--substrate);
  border-radius: 24px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.header__search-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  color: var(--black-color);
}

.header__search-form {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
}

.header__search-input {
  width: 100%;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  transition: opacity 0.2s;
}

.header__search-input:focus {
  outline: none;
}

.header__search-input::placeholder {
  color: var(--grey);
}

.header__search-results {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  right: 0;
  z-index: 30;
  background: var(--substrate);
  border: 1px solid var(--soft-grey);
  border-radius: 16px;
  box-shadow: 0 12px 24px rgba(17, 16, 16, 0.12);
  max-height: 360px;
  overflow-y: auto;
}

.header__search-results[hidden] {
  display: none;
}

.header__search-results-list {
  margin: 0;
  padding: 8px 0;
  list-style: none;
}

.header__search-result-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  color: inherit;
  text-decoration: none;
  transition: background 0.15s;
}

.header__search-result-link:hover,
.header__search-result-link.is-active {
  background: var(--substrate);
}

.header__search-result-link:hover .header__search-result-title,
.header__search-result-link.is-active .header__search-result-title {
  color: var(--orange);
}

.header__search-result-thumb {
  width: 60px;
  height: 60px;
  border-radius: 8px;
  flex-shrink: 0;
  object-fit: cover;
  background: white;
}

.header__search-result-info {
  min-width: 0;
}

.header__search-result-title {
  margin: 0 0 2px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--black-color);
  overflow: hidden;
  text-overflow: ellipsis;
}

.header__search-result-meta {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 12px;
  color: var(--grey);
}

.header__search-empty {
  margin: 0;
  padding: 14px 12px;
  font-size: 13px;
  color: var(--grey);
}

.header__top .icons {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-shrink: 0;
}

.header .circle {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--soft-orange);
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s;
}

.header .circle svg {
  width: 20px;
  height: 20px;
}

.header .circle img {
  transition: none;
}

.header .circle:hover {
  background: var(--hover-orange);
}

.header .circle:hover img {
  /* tint hardcoded orange SVG icons to soft-orange on hover */
  filter: brightness(0) saturate(100%) invert(96%) sepia(27%) saturate(1174%) hue-rotate(310deg) brightness(101%) contrast(101%);
}

.header .circle:active,
.header .circle.is-active {
  background: var(--orange);
}

.header .circle:active img,
.header .circle.is-active img {
  filter: brightness(0) saturate(100%) invert(96%) sepia(27%) saturate(1174%) hue-rotate(310deg) brightness(101%) contrast(101%);
}

.header__favorites-link {
  position: relative;
}

.header__favorites-count {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 20px;
  height: 18px;
  padding: 0 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background: var(--green);
  border-radius: 10px;
}

.header__favorites-count.is-hidden {
  display: none;
}

.header__cart-link {
  position: relative;
}

.header__cart-count {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 20px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  /* border: 2px solid #fff; */
}

.header__cart-count.is-hidden {
  display: none;
}

.header__call-button {
  padding: 12px 24px;
  background: var(--black-color);
  color: #fff;
  border: none;
  border-radius: 40px;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition:
    background 0.2s,
    transform 0.15s;
}

.header__call-button:hover {
  background: var(--orange);
}

.header__call-button:active {
  transform: scale(0.98);
}

.header__bot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  width: 100%;
  padding-top: 0;
  border-top: none;
}

.header__bot-list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}

.header__bot-list li {
  margin: 0;
}

.header__list-item {
  margin: 0;
}

.header__bot-list a,
.header__list-item a {
  font-size: 16px;
  font-weight: 700;
  color: var(--black-color);
  transition: color 0.2s;
}

.header__bot-list a:hover,
.header__list-item a:hover {
  color: var(--orange);
}

.header__phone {
  font-size: 16px;
  font-weight: 400;
  color: var(--grey);
  white-space: nowrap;
  transition: color 0.2s;
}

.header__phone:hover {
  color: var(--orange);
}

.header__breadcrumbs {
  padding-top: 0;
  width: 100%;
}

/* ========== Breadcrumbs ========== */
.breadcrumbs {
  padding: 0;
}

.breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  font-size: 16px;
  font-weight: 700;
  line-height: 124%;
  letter-spacing: 0;
  color: var(--grey);
}

.breadcrumbs__item:not(:last-child)::after {
  content: "•";
  margin-left: 8px;
  color: var(--grey);
}

.breadcrumbs__link {
  color: var(--grey);
}

.breadcrumbs__link:hover {
  color: var(--orange);
}

.breadcrumbs__current {
  color: var(--orange);
}

.woocommerce-breadcrumb {
  display: none;
}

/* ========== Footer (по макету Figma) ========== */
.footer {
  background: var(--black-color);
  color: #fff;
  padding: 64px 0 32px;
  margin-top: auto;
}

.footer__container {
  max-width: 1360px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 72px;
}

.footer__top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}

.footer__col {
  min-width: 0;
}

.footer__col--nav {
  flex: 0 0 auto;
  width: 120px;
}

.footer__col--nav .footer__nav-list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 32px;
}

.footer__col--nav .footer__nav-list li {
  margin: 0;
}

.footer__col--nav a {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  transition: color 0.2s;
}

.footer__col--nav a:hover {
  color: var(--orange);
}

.footer__col--subscribe {
  flex: 0 0 380px;
  width: 380px;
  max-width: 100%;
}

.footer__subscribe-title {
  margin: 0 0 24px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: #fff;
}

.footer__subscribe-form {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  gap: 16px;
}

.footer__subscribe-input {
  padding: 16px;
  border: none;
  border-radius: 8px;
  background: #fff;
  color: var(--black-color);
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.2s;
}

.footer__subscribe-input::placeholder {
  color: var(--grey);
}

.footer__subscribe-input:focus {
  outline: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.footer__subscribe-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  color: var(--grey);
  line-height: 1.16;
}

.footer__subscribe-checkbox {
  flex-shrink: 0;
  margin-top: 2px;
  width: 20px;
  height: 20px;
  accent-color: var(--orange);
}

.footer__subscribe-checkbox-text {
  margin: 0;
  line-height: 1.4;
}

.footer__subscribe-btn {
  padding: 16px 24px;
  background: var(--orange);
  color: #fff;
  border: none;
  border-radius: 40px;
  font-size: 16px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  align-self: flex-start;
  transition: background 0.2s;
}

.footer__subscribe-btn:hover {
  background: #e07001;
}

.footer__subscribe-feedback {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}

.footer__subscribe-feedback--success {
  color: #b8e0b8;
}

.footer__subscribe-feedback--error {
  color: #ffb4a8;
}

.footer__col--actions {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 24px;
}

.footer__btn-legal {
  display: inline-block;
  padding: 16px 24px;
  background: var(--orange);
  color: #fff;
  border: none;
  border-radius: 40px;
  font-size: 16px;
  font-weight: 700;
  font-family: inherit;
  transition: background 0.2s;
}

.footer__btn-legal:hover {
  background: #e07001;
  color: #fff;
}

.footer__social {
  display: flex;
  align-items: center;
  gap: 32px;
}

.footer__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--soft-orange);
  color: var(--orange);
  transition:
    background 0.2s,
    color 0.2s;
}

.footer__social-link:hover {
  background: var(--hover-orange);
  color: var(--substrate);
}

.footer__social-icon {
  display: block;
  width: 20px;
  height: 20px;
  background-color: currentColor;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.footer__social-icon--vk {
  mask-image: url("imgs/vk.svg");
  -webkit-mask-image: url("imgs/vk.svg");
}

.footer__social-icon--tg {
  mask-image: url("imgs/telegram-plane.svg");
  -webkit-mask-image: url("imgs/telegram-plane.svg");
}

.footer__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
  gap: 24px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.24;
  color: var(--soft-grey);
}

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

.footer__contact-row {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--soft-grey);
  transition: color 0.2s;
  text-decoration: none;
}

.footer__contact-row:hover {
  color: #fff;
}

.footer__bottom-wrap {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-self: stretch;
}

.footer__agreement {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-self: stretch;
  gap: 10px;
}

.footer__contact-icon {
  flex-shrink: 0;
  display: inline-block;
  width: 20px;
  height: 20px;
  opacity: 0.9;
  vertical-align: middle;
}

.footer__contact-icon--phone::before,
.footer__contact-icon--email::before,
.footer__contact-icon--address::before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
}

.footer__contact-icon--phone::before {
  background: url("imgs/phone.svg") center/contain no-repeat;
}

.footer__contact-icon--email::before {
  background: url("imgs/envelope.svg") center/contain no-repeat;
}

.footer__contact-icon--address::before {
  background: url("imgs/home.svg") center/contain no-repeat;
}

.footer__contact-text {
  margin: 0;
}

.footer__legal-link {
  display: inline-block;
  margin-top: 4px;
  font-size: 16px;
  font-weight: 700;
  color: var(--grey);
  transition: color 0.2s;
}

.footer__legal-link:hover {
  color: var(--orange);
}

.footer__legal-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 16px;
  font-weight: 700;
  color: var(--grey);
}

.footer__legal-meta-item {
  margin: 0;
}

/* ========== Reader text ========== */
.reader__text .container {
  max-width: 1360px;
}

.reader__title {
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 700;
}

.reader__description {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.24;
  letter-spacing: -1%;
  color: var(--black-color);
}

.reader__description--rich {
  width: 100%;
  max-width: 100%;
  text-align: left;
  align-self: stretch;
}

.reader__description--rich > p:first-child {
  margin-top: 0;
}

.reader__description--rich > p:last-child {
  margin-bottom: 0;
}

.reader__description--rich p {
  margin: 0 0 0.85em;
}

.reader__description--rich strong {
  font-weight: 700;
}

.reader__description--rich em {
  font-style: italic;
}

.reader__description--rich ul,
.reader__description--rich ol {
  margin: 0 0 0.85em;
  padding-left: 1.25em;
}

.reader__description.is-clamped {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden;
}

.reader__description.is-expanded {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
  line-clamp: 4;
}

.reader__more-btn[hidden] {
  display: none;
}

.reader__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.reader__more-wrap {
  margin-top: 4px;
}

.reader__more-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  border: none;
  background: none;
  font-size: 16px;
  font-weight: 700;
  color: var(--grey);
  cursor: pointer;
  line-height: 1.24;
  transition: color 0.2s;
  align-self: center;
}

.reader__more-icon {
  display: inline-flex;
  width: 16px;
  height: 16px;
  transition: transform 0.2s;
}

.reader__more-icon img {
  width: 100%;
  height: 100%;
  display: block;
}

.reader__more-btn.is-open .reader__more-icon {
  transform: rotate(180deg);
}

.page-catalog__more {
  margin-top: 4px;
  padding: 0;
  border: none;
  background: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 500;
  color: var(--grey);
  cursor: pointer;
}

.page-catalog__more::after {
  content: none;
}

.page-catalog__more-icon {
  display: inline-flex;
  width: 16px;
  height: 16px;
}

.page-catalog__more-icon img {
  width: 100%;
  height: 100%;
  display: block;
}

/* ========== Родительская категория (список подкатегорий карточками) ========== */
.cat-parent__container {
  max-width: 1360px;
}

.cat-parent__title {
  margin: 0 0 40px;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--black-color);
}

.cat-parent__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(203px, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cat-parent__empty,
.plp-page__empty {
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
  color: var(--grey);
}

/* ========== Страница листовой категории (PLP — список товаров) ========== */
.plp-page__container {
  max-width: 1360px;
}

.plp-page__title {
  margin: 0 0 40px;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--black-color);
}

.plp-page__wrap {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

.plp-page__filters-toggle,
.plp-page__filters-overlay,
.plp-page__sidebar-head {
  display: none;
}

.plp-page__sidebar {
  flex: 0 0 295px;
  width: 295px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.plp-page__main {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* Фильтр по цене */
.plp-filter--price .plp-filter__title {
  margin: 0 0 16px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--black-color);
}

.plp-filter-price {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.plp-filter-price__inputs {
  display: flex;
  align-items: center;
  gap: 8px;
}

.plp-filter-price__input {
  width: 136px;
  height: 40px;
  padding: 0 16px;
  background: #fff;
  border: 1px solid var(--substrate, #e5e5e5);
  border-radius: 8px;
  font-size: 16px;
  color: var(--black-color);
  box-sizing: border-box;
  appearance: textfield;
  -moz-appearance: textfield;
}

.plp-filter-price__input::-webkit-outer-spin-button,
.plp-filter-price__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.plp-filter-price__input::placeholder {
  color: var(--grey);
}

.plp-filter-price__input:focus {
  outline: none;
  border-color: var(--orange);
}

.plp-filter-price__sep {
  color: var(--grey);
  font-size: 14px;
}

.plp-filter-price__range {
  margin-top: 8px;
}

.plp-price-range {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.plp-price-range__track {
  position: relative;
  height: 4px;
  border-radius: 999px;
  background: var(--substrate);
}

.plp-price-range__track-fill {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  border-radius: inherit;
  background: var(--orange);
}

.plp-price-range__thumb {
  position: absolute;
  top: 50%;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--orange);
  border: 1px solid var(--orange);
  transform: translate(-50%, -50%);
  cursor: pointer;
  box-shadow: 0 0 0 2px rgba(249, 125, 1, 0.15);
}

.plp-price-range__labels {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: var(--grey);
}

.plp-price-range__label {
  white-space: nowrap;
}

/* Фильтр "Производитель" */
.plp-filter--brand .plp-filter__title {
  margin: 32px 0 12px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--black-color);
}

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

.plp-filter-brand__item--hidden {
  display: none;
}

.plp-filter-brand__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--black-color);
  cursor: pointer;
}

.plp-filter-brand__checkbox {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.plp-filter-brand__box {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  background: var(--soft-orange);
  position: relative;
}

.plp-filter-brand__checkbox:checked + .plp-filter-brand__box::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 5px;
  height: 9px;
  border: solid var(--orange);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.plp-filter-brand__name {
  font-size: 14px;
}

.plp-filter-brand__count {
  font-size: 13px;
  color: var(--grey);
}

.plp-filter-brand__more {
  margin-top: 8px;
  padding: 0;
  border: none;
  background: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--grey);
  cursor: pointer;
}

.plp-filter-brand__more-icon {
  font-size: 12px;
  transition: transform 0.2s;
}

.plp-filter-brand__more[aria-expanded="true"] .plp-filter-brand__more-icon {
  transform: rotate(180deg);
}

.plp-filter-price__submit {
  align-self: flex-start;
  padding: 12px 24px;
  background: var(--black-color);
  color: #fff;
  border: none;
  border-radius: 40px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s;
}

.plp-filter-price__submit:hover {
  background: var(--orange);
}

/* Тулбар: количество + сортировка */
.plp-page__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.plp-page__toolbar .woocommerce-result-count {
  margin: 0;
  font-size: 16px;
  color: var(--grey);
}

.plp-sort {
  margin: 0;
  position: relative;
}

.plp-sort__select {
  width: 240px;
  height: 48px;
  padding: 0 16px;
  background: #fff;
  border: 2px solid var(--soft-orange, rgba(249, 125, 1, 0.3));
  border-radius: 8px;
  font-size: 16px;
  color: var(--black-color);
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%237F7F7F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 44px;
  box-sizing: border-box;
}

.plp-sort__select:focus {
  outline: none;
  border-color: var(--orange);
}

.plp-sort--custom .plp-sort__select.is-native-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.plp-sort__custom {
  position: relative;
  width: 240px;
}

.plp-sort__trigger {
  width: 100%;
  min-height: 48px;
  padding: 10px 16px;
  border: 2px solid var(--soft-orange);
  border-radius: 8px;
  background: #fff;
  color: var(--black-color);
  font-size: 16px;
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
}

.plp-sort__trigger:focus-visible {
  outline: none;
  border-color: var(--orange);
}

.plp-sort__trigger-icon {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-right: 3px solid var(--orange);
  border-bottom: 3px solid var(--orange);
  transform: rotate(45deg);
  margin-top: -3px;
  transition: transform 0.2s, border-color 0.2s;
}

.plp-sort__custom.is-open .plp-sort__trigger {
  border-color: var(--soft-orange);
}

.plp-sort__custom.is-open .plp-sort__trigger-icon {
  transform: rotate(-135deg);
  margin-top: 3px;
}

.plp-sort__menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  width: 100%;
  margin: 0;
  padding: 8px 0;
  list-style: none;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(17, 16, 16, 0.15);
  z-index: 30;
  overflow: hidden;
}

.plp-sort__option {
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 14px 20px;
  font-size: 16px;
  line-height: 1.2;
  color: var(--black-color);
  cursor: pointer;
}

.plp-sort__option:hover {
  background: var(--soft-orange);
}

.plp-sort__option.is-selected {
  background: #f3f4f6;
}

/* Десктоп/планшет: карточки фиксированной ширины, без растягивания по ряду */
.plp-page__main ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 315px));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: stretch;
  justify-content: flex-start;
  justify-items: stretch;
}

.plp-page__main ul.products li.product {
  width: min(100%, 315px);
  min-width: 0;
  max-width: 315px;
}

.plp-pagination {
  margin-top: 32px;
  display: flex;
  justify-content: center;
}

.plp-pagination__list {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.plp-pagination__item a,
.plp-pagination__item span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  border: 1px solid transparent;
  color: var(--grey);
  background: #fff;
}

.plp-pagination__item span.current {
  background: var(--orange);
  color: #fff;
}

.plp-pagination__item a:hover {
  border-color: var(--orange);
  color: var(--orange);
}

.plp-pagination__item .dots {
  background: transparent;
  border-color: transparent;
  cursor: default;
}

/* Сброс базовой сетки WooCommerce для списков товаров — используем свою (grid/flex) */
.woocommerce ul.products,
.woocommerce-page ul.products {
  margin: 0;
  padding: 0;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  float: none;
  margin: 0;
  padding: 0;
  width: auto;
}

/* ========== Страница корзины ========== */
.cart-page__container {
  max-width: 1360px;
}

.cart-page__title {
  margin: 0 0 40px;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--black-color);
}

.cart-page__items {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  margin-top: 16px;
  width: 100%;
}

.cart-page__actions-row {
  margin-top: 24px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.cart-page__coupon {
  display: flex;
  gap: 8px;
  align-items: center;
}

.cart-page__coupon-input {
  height: 40px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1px solid var(--soft-grey);
}

.cart-page__coupon-btn,
.cart-page__update-btn {
  padding: 10px 20px;
  border-radius: 40px;
  border: 1px solid var(--soft-orange);
  background: #fff;
  color: var(--orange);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s,
    border-color 0.2s;
}

.cart-page__coupon-btn:hover,
.cart-page__update-btn:hover {
  background: var(--soft-orange);
  color: var(--black-color);
  border-color: var(--orange);
}

/* Скрыть стандартные уведомления WooCommerce о нехватке товара — свой текст в строке корзины */
body.woocommerce-cart .woocommerce-notices-wrapper {
  display: none !important;
}

/* Жесткие кастомные стили корзины (без визуала WooCommerce cart_totals/table) */
.cart-page .woocommerce-cart-form__contents,
.cart-page table.shop_table,
.cart-page .cart-collaterals,
.cart-page .cross-sells {
  display: none !important;
}

.cart-page--empty .cart-page__container {
  max-width: 640px;
}

.cart-empty {
  margin-top: 40px;
  padding: 40px 32px 48px;
  border-radius: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
}

.cart-empty__icon {
  width: 96px;
  height: 96px;
  border-radius: 999px;
  background: var(--soft-orange);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
}

.cart-empty__icon img {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.cart-empty__title {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--black-color);
}

.cart-empty__text {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--grey);
  max-width: 360px;
}

.cart-empty__btn {
  margin-top: 16px;
  min-width: 220px;
  min-height: 48px;
  padding: 12px 24px;
  border-radius: 999px;
  background: var(--orange);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}

.cart-empty__btn:hover {
  background: #ff9a3d;
  color: #fff;
}

.cart-page__wrap {
  display: flex;
  gap: 48px;
  align-items: flex-start;
}

.cart-page__form {
  flex: 1 1 auto;
  min-width: 0;
}

.cart-page__summary {
  flex: 0 0 360px;
  width: 360px;
  min-width: 0;
}

.cart-page__head {
  grid-template-columns: minmax(0, 2fr) 0.8fr 0.9fr 0.8fr;
  padding: 10px 0 14px;
}

.cart-summary {
  background: var(--substrate);
  border-radius: 24px;
  padding: 24px;
}

.cart-summary__title {
  margin: 0 0 20px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--orange);
}

.cart-summary__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.cart-summary__label {
  font-size: 16px;
  color: var(--black-color);
}

.cart-summary__value {
  font-size: 15px;
  font-weight: 600;
  color: var(--black-color);
  text-align: right;
}

.cart-summary__value--discount {
  color: var(--red);
}

.cart-summary__row--total {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--soft-grey);
}

.cart-summary__row--total .cart-summary__label,
.cart-summary__row--total .cart-summary__value {
  font-size: 22px;
  font-weight: 700;
  color: var(--black-color);
}

.cart-summary__free-shipping-hint {
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 1.35;
  color: #6b7280;
}

.cart-summary__free-shipping-hint .woocommerce-Price-amount {
  font-weight: 600;
  color: var(--black-color);
}

.cart-summary__checkout {
  margin-top: 20px;
  width: max-content;
  min-height: 48px;
  padding: 16px 24px;
  border-radius: 40px;
  background: var(--orange);
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 600;
  transition: background 0.2s;
  border: none;
}

.cart-summary__checkout:hover {
  background: var(--orange);
  color: #fff;
}

.cart-summary__checkout.is-disabled {
  background: #e5e7eb;
  color: #9ca3af;
  pointer-events: none;
}

/* Корзина v3: карточка товара по макету (чекбокс + фото + единый столбец данных) */
.cart-page__head {
  display: none !important;
}

.cart-page__bulk {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.cart-page__select-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 14px;
  color: var(--grey);
}

.cart-page__select-all-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.cart-page__select-all-box {
  width: 20px;
  height: 20px;
  border-radius: 4px;
  border: 1px solid var(--soft-grey);
  background: #fff;
  position: relative;
}

.cart-page__select-all-input:checked + .cart-page__select-all-box {
  background: var(--orange);
  border-color: var(--orange);
}

.cart-page__select-all-input:checked + .cart-page__select-all-box::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 3px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.cart-page__bulk-remove {
  border: none;
  padding: 0;
  background: none;
  font-size: 16px;
  font-weight: 700;
  color: var(--red);
  cursor: pointer;
}

.cart-page__bulk-remove.is-disabled {
  opacity: 0.5;
  cursor: default;
  pointer-events: none;
}

.cart-line {
  display: grid !important;
  grid-template-columns: 28px 181px minmax(0, 1fr) 197px !important;
  gap: 20px !important;
  align-items: start;
  padding: 24px 0 !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.cart-line__check {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

.cart-line__checkbox {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.cart-line__checkbox-custom {
  width: 20px;
  height: 20px;
  border: 1px solid var(--soft-grey);
  border-radius: 4px;
  background: #fff;
  display: inline-block;
  position: relative;
}

.cart-line__checkbox:checked + .cart-line__checkbox-custom {
  background: var(--orange);
  border-color: var(--orange);
}

.cart-line__checkbox:checked + .cart-line__checkbox-custom::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 3px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.cart-line__thumb img {
  width: 181px;
  height: 197px;
  object-fit: cover;
  border-radius: 12px;
}

.cart-line__info {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cart-line__sku {
  display: inline-block;
  width: fit-content;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--soft-orange);
  color: var(--orange);
  font-size: 12px;
  font-weight: 600;
}

.cart-line__title {
  margin: 0;
  font-size: 16px;
  line-height: 1.1;
  font-weight: 500;
  color: var(--black-color);
  text-decoration: none;
}

.cart-line__title:hover {
  color: var(--orange);
}

.cart-line__price-block {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cart-line__old-price {
  font-size: 14px;
  line-height: 1.2;
  font-weight: 400;
  color: var(--grey);
  text-decoration: line-through;
}

.cart-line__old-price--hidden {
  display: none;
}

.cart-line__unit-price {
  font-size: 14px;
  line-height: 1.2;
  color: var(--grey);
}

.cart-line__unit-price--hidden {
  display: none;
}

.cart-line__price {
  font-size: 24px;
  line-height: 1.24;
  font-weight: 700;
  color: var(--black-color);
}

.cart-line__qty {
  margin-top: 6px;
}

.cart-line__stock-notice {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  color: #c0392b;
}

.cart-line--unavailable .cart-line__checkbox {
  opacity: 1;
}

.cart-line__qty-control {
  display: inline-flex;
  align-items: center;
  gap: 18px;
}

.cart-line__qty-btn {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: var(--soft-orange);
  color: var(--orange);
  font-size: 16px;
  line-height: 1;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.cart-line__qty-btn:hover {
  background: var(--orange);
  color: #fff;
}

.cart-line__qty-btn:disabled {
  background: #f0f0f0;
  color: #b0b0b0;
  cursor: not-allowed;
  pointer-events: none;
}

.cart-line__qty-btn--plus:disabled,
.cart-line__qty-btn--plus.is-disabled {
  background: #f0f0f0;
  color: #b0b0b0;
  cursor: not-allowed;
  pointer-events: none;
}

.cart-line__qty-btn--plus:disabled:hover,
.cart-line__qty-btn--plus.is-disabled:hover {
  background: #f0f0f0;
  color: #b0b0b0;
}

.cart-line__qty .quantity {
  margin: 0;
}

.cart-line__qty .qty {
  width: 38px !important;
  height: auto !important;
  border: none !important;
  border-radius: 0 !important;
  text-align: center;
  font-size: 16px !important;
  font-weight: 600;
  line-height: 1;
  background: transparent !important;
  padding: 0 !important;
  pointer-events: none;
}

.cart-line__qty .qty::-webkit-outer-spin-button,
.cart-line__qty .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.cart-line__remove {
  text-align: end;
  padding-top: 4px;
}

.cart-line__remove-link {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.24;
  letter-spacing: 0;
  color: var(--grey);
  text-decoration: none;
}

.cart-line__remove-icon {
  width: 16px;
  height: 16px;
  display: block;
  flex-shrink: 0;
}

.cart-line__remove-link:hover {
  color: var(--orange);
}

/* Модалка подтверждения удаления выбранных товаров */
.cart-modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.cart-modal.is-open {
  display: flex;
}

.cart-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.35);
}

.cart-modal__dialog {
  position: relative;
  z-index: 1;
  max-width: 540px;
  width: calc(100% - 32px);
  padding: 40px 80px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.16);
}

.cart-modal__title {
  margin: 0 0 8px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.24;
  letter-spacing: -2%;
  color: var(--black-color);
  text-align: center;
}

.cart-modal__text {
  margin: 0 0 40px;
  font-size: 16px;
  line-height: 124%;
  line-height: 1.5;
  color: var(--grey);
  text-align: center;
}

.cart-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

.cart-modal__btn {
  min-width: 200px;
  min-height: 40px;
  width: max-content;
  padding: 16px 24px;
  border-radius: 40px;
  font-size: 16px;
  font-weight: 700;
  line-height: 124%;
  border: none;
  color: #fff;
  cursor: pointer;
}

.cart-modal__btn--secondary {
  background: #fff;
  color: var(--orange);
  border: 2px solid var(--orange);
}

.cart-modal__btn--secondary:hover {
  border-color: var(--hover-orange);
  color: var(--hover-orange);
}

.cart-modal__btn--primary {
  background: var(--orange);
  color: #fff;
}

.cart-modal__btn--primary:hover {
  background: #ff9a3d;
}

.cart-modal__btn--primary:disabled {
  background: #e5e7eb;
  color: #9ca3af;
  cursor: not-allowed;
}

.cart-modal__btn--primary:disabled:hover {
  background: #e5e7eb;
  color: #9ca3af;
}

.cart-modal__btn--back {
  background: #fff;
  color: var(--orange);
  border: 1px solid var(--orange);
}

.cart-modal__btn--back:hover {
  border-color: #ff9a3d;
  color: #ff9a3d;
}

/* Модалка «Заказать звонок» */
.callback-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: transparent;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  color: #9ca3af;
}

.callback-modal__close:hover {
  color: #4b5563;
}

.callback-modal__panel.callback-modal__panel--success {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.callback-success__icon {
  display: block;
  width: 36px;
  height: 36px;
}

.callback-modal__panel[hidden] {
  display: none !important;
}

.callback-modal__panel--success .cart-modal__title {
  margin: 0;
}

.callback-modal__panel--success .cart-modal__text {
  margin-bottom: 24px;
}

.callback-modal__btn-home {
  display: inline-block;
  text-decoration: none;
  text-align: center;
  margin-bottom: 24px;
}

.callback-success__contact {
  margin: 0;
  font-size: 14px;
  color: var(--grey);
  line-height: 1.5;
  text-align: center;
}

.callback-success__phone {
  color: #2563eb;
  text-decoration: none;
}

.callback-success__phone:hover {
  text-decoration: underline;
}

.callback-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

.callback-form__error {
  display: none;
  width: 100%;
  font-size: 14px;
  color: #b91c1c;
  min-height: 1em;
}

.callback-form__error.is-visible {
  display: block;
}

.callback-form__input {
  width: 100%;
  height: 48px;
  padding: 14px 16px;
  font-size: 14px;
  font-weight: 400;
  line-height: 124%;
  letter-spacing: 0%;
  color: var(--grey);
  background: white;
  border-radius: 8px;
  border: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.callback-form__input--textarea {
  min-height: 80px;
  resize: vertical;
}

.callback-form__input:focus {
  outline: none;
  border-color: var(--orange);
  box-shadow: 0 0 0 1px rgba(249, 125, 1, 0.15);
}

.callback-form__checkbox {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  font-size: 12px;
  color: var(--grey);
}

.callback-form__checkbox-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.callback-form__checkbox-box {
  position: relative;
  width: 18px;
  height: 18px;
  border-radius: 4px;
  border: 1px solid #d1d5db;
  flex-shrink: 0;
  margin-top: 2px;
  box-sizing: border-box;
}

.callback-form__checkbox-input:checked + .callback-form__checkbox-box {
  background: var(--orange);
  border-color: var(--orange);
  box-shadow: none;
}

.callback-form__checkbox-input:checked + .callback-form__checkbox-box::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.callback-form__checkbox-text {
  line-height: 1.4;
}

.callback-form__checkbox-text .arkaim-consent-link,
.footer__subscribe-checkbox-text .arkaim-consent-link {
  color: var(--orange);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.callback-form__checkbox-text .arkaim-consent-link:hover,
.footer__subscribe-checkbox-text .arkaim-consent-link:hover {
  text-decoration-thickness: 2px;
}

.woocommerce a.added_to_cart.wc-forward,
a.added_to_cart.wc-forward,
.offer__list-item .added_to_cart,
.cat-parent-hits__grid .added_to_cart {
  display: none !important;
}
.woocommerce ul.products::before {
  display: none;;
}

/* ========== Страница товара (single product) ========== */
.product-page__container {
  max-width: 1360px;
  overflow: hidden;
}

.product-page__title {
  max-width: 985px;
  margin: 0 0 24px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--black-color);
}

.product-page__title--mobile {
  display: none;
}

.product-page__row {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.product-page__gallery {
  flex: 1 1 0;
  min-width: 0;
}

.product-page__aside {
  flex: 1;
  max-width: 650px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Галерея товара: основное фото + миниатюры в ряд и стрелки */
.arkaim-product-gallery__wrap {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.arkaim-product-gallery__main {
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  background: white;
}

.arkaim-product-gallery__main .woocommerce-product-gallery__image {
  margin: 0;
  width: 100%;
}

.arkaim-product-gallery__main .woocommerce-product-gallery__image a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  line-height: 0;
  box-sizing: border-box;
}

.arkaim-product-gallery__main .woocommerce-product-gallery__image img {
  width: auto;
  height: auto;
  min-width: stretch;
  max-width: 100%;
  max-height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
}

.arkaim-product-gallery__thumbs-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.arkaim-product-gallery__arrow {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: var(--soft-orange);
  color: var(--orange);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, color 0.2s;
}

.arkaim-product-gallery__arrow:hover {
  background: var(--hover-orange);
  color: var(--soft-orange);
}

.arkaim-product-gallery__arrow:active,
.arkaim-product-gallery__arrow.is-active {
  background: var(--orange);
  color: var(--soft-orange);
}

.arkaim-product-gallery__arrow:disabled,
.arkaim-product-gallery__arrow[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

.arkaim-product-gallery--single-image .arkaim-product-gallery__arrow {
  display: none;
}

.arkaim-product-gallery__thumbs {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  min-width: 0;
}

.arkaim-product-gallery__thumbs::-webkit-scrollbar {
  display: none;
}

.arkaim-product-gallery__thumbs .woocommerce-product-gallery__image {
  flex: 0 0 auto;
  width: 80px;
  min-width: 80px;
  height: 80px;
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color 0.2s;
}

.arkaim-product-gallery__thumbs .woocommerce-product-gallery__image:hover {
  border-color: var(--soft-grey);
}

.arkaim-product-gallery__thumbs .woocommerce-product-gallery__image.arkaim-gallery-thumb--active {
  border-color: var(--orange);
}

.arkaim-product-gallery__thumbs .woocommerce-product-gallery__image a {
  display: block;
  width: 100%;
  height: 100%;
  line-height: 0;
  pointer-events: none;
}

.arkaim-product-gallery__thumbs .woocommerce-product-gallery__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.product-page__summary {
  width: 100%;
  background: var(--substrate);
  border-radius: 24px;
  padding: 24px 24px 32px 24px;
  box-sizing: border-box;
}

.woocommerce div.product form.cart {
  margin-bottom: 0 !important; 
}

.product-page__sku-pill {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--soft-orange);
  color: var(--orange);
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 16px;
}

.product-page__shipping {
  max-width: max-content;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
}

.product-page__pickup,
.product-page__delivery {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
}

.product-page__pickup {
  background: var(--soft-green);
  color: var(--green);
}

.product-page__delivery {
  background: var(--soft-blue);
  color: var(--blue);
}

.product-page__shipping-icon {
  flex-shrink: 0;
}

.product-page__delivery u {
  text-decoration: none;
}

.product-page__price-wrap {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}

.product-page__price-wrap del {
  display: block;
  flex: 0 0 100%;
  font-size: 16px;
  font-weight: 600;
  color: var(--grey);
  opacity: 0.9;
}

.product-page__price-amount {
  font-size: 32px;
  font-weight: 700;
  color: var(--black-color);
  letter-spacing: -0.02em;
}

.product-page__price-unit {
  font-size: 16px;
  font-weight: 500;
  color: var(--black-color);
}

.product-page__price-amount--variable {
  font-size: 32px;
  font-weight: 700;
}

.product-page__stock {
  font-size: 14px;
  color: var(--grey);
  margin-bottom: 20px;
}

.product-page__cart {
  display: flex;
  gap: 20px;
}

/* .product-page__cart .cart {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  flex: 1;
  min-width: 0;
} */

/* Скрыть дубликат «в наличии» из формы WooCommerce — остаток показываем один раз выше */
.product-page__cart .stock {
  display: none !important;
}

/* Убрать счётчик количества: всегда 1 шт, поле скрыто */
.product-page__cart .quantity {
  display: none !important;
}

/* Жёсткое переопределение стилей кнопки «В корзину» поверх WooCommerce */
.product-page__cart .single_add_to_cart_button,
.product-page__cart .button.single_add_to_cart_button,
.woocommerce .product-page__cart .single_add_to_cart_button {
  flex: 1;
  min-width: 140px;
  padding: 14px 24px !important;
  border-radius: 12px !important;
  background: var(--black-color) !important;
  background-color: var(--black-color) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  border: none !important;
  cursor: pointer;
  transition: background 0.2s;
  box-shadow: none !important;
  text-shadow: none !important;
  line-height: 1.25 !important;
  height: auto !important;
}

.product-page__cart .single_add_to_cart_button:hover,
.product-page__cart .button.single_add_to_cart_button:hover,
.woocommerce .product-page__cart .single_add_to_cart_button:hover {
  background: var(--orange) !important;
  background-color: var(--orange) !important;
  color: #fff !important;
}

.product-page__wishlist {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid var(--soft-grey);
  border-radius: 50%;
  background: #fff;
  color: #9ca3af;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s;
}

.product-page__wishlist:hover {
  color: var(--soft-orange);
  border-color: var(--soft-orange);
}

.product-page__wishlist.is-active {
  color: var(--orange);
  border-color: var(--orange);
}

.product-page__wishlist.is-active:hover {
  color: var(--orange);
  border-color: var(--orange);
}

.product-page__info {
  margin-top: 0;
}

.product-page__info-tabs {
  display: flex;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid var(--soft-grey);
  margin-bottom: 16px;
}

.product-page__info-tab {
  appearance: none;
  border: none;
  background: transparent;
  padding: 0 0 10px;
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--grey);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color 0.2s, border-color 0.2s;
}

.product-page__info-tab.is-active {
  color: var(--black-color);
  border-bottom-color: var(--orange);
}

.product-page__info-panel {
  display: none;
}

.product-page__info-panel.is-active {
  display: block;
}

.product-page__description-text {
  font-size: 16px;
  line-height: 1.1;
  color: var(--black-color);
}

.product-page__description-text p {
  margin: 0 0 10px;
}

.product-page__description-text p:last-child {
  margin-bottom: 0;
}

.product-page__description {
  position: relative;
}

.product-page__description-text[data-description-content].is-collapsed {
  overflow: hidden;
}

[data-description-collapsible][data-description-lines="13"] .product-page__description-text[data-description-content].is-collapsed {
  max-height: calc(1.6em * 13);
}

[data-description-collapsible][data-description-lines="8"] .product-page__description-text[data-description-content].is-collapsed {
  max-height: calc(1.6em * 8);
}

.product-page__description-toggle {
  margin-top: 8px;
  padding: 0;
  border: none;
  background: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 16px;
  font-weight: 700;
  color: var(--grey);
  cursor: pointer;
}

.product-page__description-toggle-icon {
  display: inline-flex;
  width: 16px;
  height: 16px;
  transition: transform 0.2s;
}

.product-page__description-toggle-icon img {
  width: 100%;
  height: 100%;
  display: block;
}

.product-page__description-toggle[aria-expanded="true"] .product-page__description-toggle-icon {
  transform: rotate(180deg);
}

.cookie-banner {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1000;
  max-width: 420px;
  font-size: 14px;
  color: var(--black-color);
}

.cookie-banner__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 20px 20px 18px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(17, 16, 16, 0.18);
}

.cookie-banner__text {
  flex: 1 1 auto;
  min-width: 0;
}

.cookie-banner__title {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
}

.cookie-banner__desc {
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  color: var(--grey);
}

.cookie-banner__actions {
  display: flex;
  gap: 8px;
  align-items: stretch;
}

.cookie-banner__btn {
  min-width: 140px;
  min-height: 40px;
  padding: 10px 16px;
  border-radius: 40px;
  border: none;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.cookie-banner__btn--primary {
  background: var(--orange);
  color: #fff;
}

.cookie-banner__btn--primary:hover {
  background: #e07001;
}

.cookie-banner__btn--secondary {
  background: #fff;
  color: var(--orange);
  border: 1px solid var(--soft-orange);
}

.cookie-banner__btn--secondary:hover {
  background: var(--soft-orange);
}

.cookie-banner__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 50%;
  background: transparent;
  font-size: 18px;
  line-height: 1;
  color: var(--grey);
  cursor: pointer;
}

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

.product-page__meta-item {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  font-size: 14px;
  line-height: 1.5;
}

.product-page__meta-label {
  color: var(--grey);
}

.product-page__meta-value {
  color: var(--black-color);
  font-weight: 600;
  text-align: right;
}

.product-page__empty-meta {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--grey);
}

.product-page__tabs {
  margin-top: 40px;
}

.product-page__tabs .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 24px;
  border: none;
  margin: 0 0 16px;
}

.product-page__tabs .woocommerce-tabs ul.tabs li {
  margin: 0;
}

.product-page__tabs .woocommerce-tabs ul.tabs li a {
  padding: 8px 0;
  font-weight: 500;
  color: var(--grey);
  border: none;
}

.product-page__tabs .woocommerce-tabs ul.tabs li.active a {
  color: var(--black-color);
  border-bottom: 2px solid var(--orange);
}

.product-page__tabs .woocommerce-Tabs-panel {
  padding: 0;
}

.product-page__related {
  margin-top: 40px;
}

.product-page__related-head {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 20px;
}

.product-page__related-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 20px;
}

.product-page__related-arrow {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: var(--soft-orange);
  color: var(--orange);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, opacity 0.2s;
}

.product-page__related-arrow:hover {
  background: var(--hover-orange);
  color: var(--soft-orange);
}

.product-page__related-arrow:active,
.product-page__related-arrow.is-active {
  background: var(--orange);
  color: var(--soft-orange);
}

.product-page__related-arrow:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.product-page__related-arrow svg {
  width: 8px;
  height: 14px;
}

.product-page__related-title {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.24;
  color: var(--black-color);
}

.product-page__related-track {
  overflow: hidden;
}

.product-page__related-grid {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: nowrap;
  gap: 20px;
  width: max-content;
  align-items: stretch;
  will-change: transform;
}

.product-page__related-grid .product-card {
  flex: 0 0 315px;
  width: 315px;
  padding: 8px;
  gap: 10px;
  border-radius: 16px;
  background: var(--substrate);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.product-page__related-grid .offer__top {
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex: 1;
  color: inherit;
  text-decoration: none;
}

.product-page__related-grid .offer__photo-wrap {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  max-height: 300px;
  border-radius: 12px;
  overflow: hidden;
  background: #f4f4f4;
}

.product-page__related-grid .offer__item-img {
  display: block;
  width: 100%;
  height: 300px;
  border-radius: 12px;
  background: #f4f4f4;
  object-fit: cover;
  object-position: center;
}

.product-page__related-grid .offer__art {
  position: absolute;
  top: 4px;
  right: 4px;
  padding: 6px 12px;
  background: var(--soft-orange);
  color: var(--orange);
  border-radius: 18px;
  font-size: 12px;
  font-weight: 600;
}

.product-page__related-grid .offer__info {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1 1 auto;
}

.product-page__related-grid .offer__item-title {
  margin: 0;
  display: -webkit-box;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 700;
  color: var(--black-color);
  line-clamp: 4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.product-page__related-grid .offer__item-price {
  margin-top: auto;
  font-size: 20px;
  font-weight: 700;
  color: var(--black-color);
}

.product-page__related-grid .offer__item-price del {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: var(--grey);
  opacity: 0.9;
}

.product-page__related-grid .offer__item-price ins {
  display: inline;
  text-decoration: none;
  color: var(--red);
}

.product-page__related-grid .offer__item-price ins ~ .price-unit {
  color: var(--red);
}

.product-page__related-grid .offer__item-bot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
}

.product-page__related-grid .offer__item-buy {
  padding: 14px 20px;
  border-radius: 40px;
  font-size: 14px;
  font-weight: 600;
}

.product-page__related-grid .offer__qty-control {
  min-height: 48px;
}

.product-page__related-grid .offer__item-circle {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #fff;
  color: var(--soft-orange);
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.product-page__related-grid .offer__item-circle:hover {
  background: var(--hover-orange);
  color: var(--soft-orange);
}

.product-page__related-grid .offer__item-circle.is-active,
.product-page__related-grid .offer__item-circle.is-active:hover {
  color: var(--orange);
}

.product-page__related-grid .added_to_cart {
  display: none !important;
}

.cat-parent-card {
  min-height: 203px;
}

.cat-parent-card__link {
  display: block;
  height: 100%;
  min-height: 203px;
  text-decoration: none;
  color: inherit;
}

.cat-parent-card__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 24px 16px 16px;
  height: 100%;
  min-height: 203px;
  box-sizing: border-box;
  background: var(--substrate);
  border-radius: 12px;
  transition:
    box-shadow 0.2s,
    background 0.2s,
    transform 0.2s;
}

.cat-parent-card__img {
  width: 107px;
  height: 107px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
}

.cat-parent-card__title {
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.24;
  color: var(--black-color);
  text-align: center;
}

.cat-parent-card__link:hover .cat-parent-card__inner {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  background: var(--soft-orange);
  transform: scale(1.02);
}

/* Блок "Хит продаж" между подкатегориями и текстом на родительской категории */
.cat-parent-hits__container {
  max-width: 1360px;
}

.cat-parent-hits__title {
  margin: 0 0 20px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.1;
  color: var(--black-color);
}

.cat-parent-hits__track {
  overflow: hidden;
}

.cat-parent-hits__grid {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: nowrap;
  gap: 20px;
  align-items: stretch;
  will-change: transform;
}

.cat-parent-hits__grid .product-card {
  flex: 0 0 calc((100% - 60px) / 4);
  display: flex;
  flex-direction: column;
}

.cat-parent-hits__grid .product-card__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.cat-parent-hits__grid .product-card__title {
  display: -webkit-box;
  line-clamp: 4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  min-height: calc(1.24em * 4);
}

.cat-parent-hits__grid .product-card__price {
  min-height: 56px;
  white-space: nowrap;
}

.cat-parent-hits__buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
}

.cat-parent-hits__arrow {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: var(--soft-orange);
  color: var(--orange);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.cat-parent-hits__arrow:hover {
  background: var(--hover-orange);
  color: var(--soft-orange);
}

.cat-parent-hits__arrow:active,
.cat-parent-hits__arrow.is-active {
  background: var(--orange);
  color: var(--soft-orange);
}

.cat-parent-hits__arrow svg {
  width: 8px;
  height: 14px;
}

/* Блок "Популярные бренды" между хитами и текстом */
.cat-parent-brands__container {
  max-width: 1360px;
}

.cat-parent-brands__head {
  margin-bottom: 20px;
}

.cat-parent-brands__title {
  margin: 0;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.1;
  color: var(--black-color);
}

.cat-parent-brands__track {
  overflow: hidden;
}

.cat-parent-brands__grid {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: nowrap;
  gap: 20px;
  will-change: transform;
}

.cat-parent-brand-card {
 max-width: 203px;
 max-height: 203px;
}

.cat-parent-brand-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.cat-parent-brand-card__inner {
  height: 100%;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--soft-grey);
  display: flex;
  align-items: center;
  justify-content: center;
}

.cat-parent-brand-card__img {
  max-width: 100%;
  /* max-height: 88px;
  width: auto;
  height: auto; */
  object-fit: contain;
}

.cat-parent-brand-card__text {
  font-size: 16px;
  font-weight: 700;
  color: var(--black-color);
  text-align: center;
}

.cat-parent-brands__buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
}

.cat-parent-brands__arrow {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: var(--soft-orange);
  color: var(--orange);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.cat-parent-brands__arrow:hover {
  background: var(--hover-orange);
  color: var(--soft-orange);
}

.cat-parent-brands__arrow:active,
.cat-parent-brands__arrow.is-active {
  background: var(--orange);
  color: var(--soft-orange);
}

.cat-parent-brands__arrow svg {
  width: 8px;
  height: 14px;
}

/* ========== Карточка товара в сетке ========== */
.product-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow 0.2s;
  list-style: none;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.product-card__img-wrap {
  position: relative;
  padding: 4px;
  display: block;
  border-radius: 12px;
  overflow: hidden;
}

.product-card__img-wrap img {
  min-height: 246px;
  max-height: 246px;
  object-fit: contain;
  border-radius: 12px;
}

.product-card__sku {
  position: absolute;
  top: 20px;
  right: 20px;
  padding: 4px 10px;
  background: var(--soft-orange);
  color: var(--orange);
  border-radius: 18px;
  font-size: 12px;
  font-weight: 500;
}

.product-card__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 4px 16px;
  flex: 1 1 auto;
}

.product-card__title {
  display: -webkit-box;
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 700;
  line-height: 124%;
  color: var(--black-color);
  text-decoration: none;
  line-clamp: 4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.product-card__title:hover {
  color: var(--orange);
}

.product-card__price {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--black-color);
  margin-top: auto;
}

/* Старая + новая цена в карточке: столбиком (без :has для совместимости) */
.product-card__price del {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: var(--grey);
  opacity: 0.9;
}

.product-card__price ins {
  display: inline;
  text-decoration: none;
  color: var(--red);
}

.product-card__price ins ~ .price-unit {
  color: var(--red);
}

/* .product-card__price .price .price-unit {
  font-size: 16px;
  font-weight: 500;
  color: var(--grey);
} */

.product-card__actions {
  margin-top: 8px;
  padding-top: 8px;
  display: flex;
  align-items: center;
  gap: 24px;
}

.cat-parent-hits__grid .product-card__price {
  margin-top: auto;
}

.cat-parent-hits__grid .product-card__price del {
  white-space: nowrap;
}

.cat-parent-hits__grid .product-card__actions {
  margin-top: 8px;
}

/* .cat-parent-hits__grid .product-card__actions {
  margin-top: 8px;
} */

.similar-offers {
  justify-content: space-between;
}

.simiral-like {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: var(--soft-orange);
  cursor: pointer;
  transition: color 0.2s;
  background-color: white;
}

.simiral-like:hover {
  color: var(--orange);
}

.product-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 24px;
  background: var(--black-color);
  color: #fff;
  border-radius: 40px;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.2s;
}

.product-card__button:hover {
  background: var(--orange);
  color: #fff;
}

.product-card__button[hidden] {
  display: none !important;
}

.product-page__cart .single_add_to_cart_button[hidden],
.product-page__cart .button.single_add_to_cart_button[hidden] {
  display: none !important;
}

.product-card__qty-control {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  min-width: auto;
  height: auto;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

.product-card__qty-control[hidden] {
  display: none !important;
}

.product-card__qty-btn {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: var(--soft-orange);
  color: var(--orange);
  font-size: 18px;
  line-height: 1;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  transition: background 0.2s, color 0.2s;
}

.product-card__qty-btn:hover {
  background: var(--orange);
  color: #fff;
}

.product-card__qty-btn--plus:disabled,
.product-card__qty-btn--plus.is-disabled {
  background: #f0f0f0;
  color: #b0b0b0;
  cursor: not-allowed;
  pointer-events: none;
}

.product-card__qty-btn--plus:disabled:hover,
.product-card__qty-btn--plus.is-disabled:hover {
  background: #f0f0f0;
  color: #b0b0b0;
}

.product-card__qty-value {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: var(--black-color);
  white-space: nowrap;
}

.product-page__qty-control {
  flex: 0 0 auto;
  min-width: auto;
  max-width: none;
  height: auto;
}

.product-card__wishlist {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: none;
  background: none;
  color: #9ca3af;
  cursor: pointer;
  transition: color 0.2s;
}

.product-card__wishlist:hover {
  color: var(--soft-orange);
}

.product-card__wishlist.is-active {
  color: var(--orange);
}

.product-card__wishlist.is-active:hover {
  color: var(--orange);
}

/* ========== Новая страница оформления заказа (два блока) ========== */
.checkout-page__container {
  max-width: 1360px;
}

.checkout-page__title {
  margin: 0 0 32px;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--black-color);
}

.checkout-page__wrap {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.checkout-page__left {
  flex: 0 0 873px;
  max-width: 873px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.checkout-page__right {
  flex: 1 1 auto;
  max-width: none;
  min-width: 0;
}

.checkout-products {
  padding: 24px;
  border-radius: 24px;
  background: var(--substrate);
  min-height: 354px;
}

.checkout-products__head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  font-size: 16px;
  font-weight: 700;
}

.checkout-products__label {
  color: var(--black-color);
}

.checkout-products__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: var(--soft-orange);
  color: var(--orange);
  font-size: 13px;
  font-weight: 700;
}

.checkout-products__list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.checkout-product-card {
  width: 180px;
  padding: 12px;
  border-radius: 16px;
  /* background: #fff; */
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.checkout-product-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 8px;
}

.checkout-product-card__thumb img {
  max-width: 130px;
  max-height: 130px;
  min-height: 130px;
  width: 100%;
  object-fit: cover;
  border-radius: 12px;
  background: white;
}

.checkout-product-card__thumb {
  position: relative;
}

.checkout-product-card__qty-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #ffe9d5;
  color: var(--orange);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  z-index: 2;
}

.checkout-product-card__title {
  display: -webkit-box;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--black-color);
  line-clamp: 2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.checkout-product-card__meta {
  display: flex;
  align-items: flex-start;
  font-size: 13px;
  margin-top: auto;
}

.checkout-product-card__price {
  font-weight: 700;
  color: var(--black-color);
}

.checkout-product-card__stock-notice {
  font-weight: 700;
  color: #c0392b;
}

.checkout-cart-summary {
  background: var(--substrate);
  border-radius: 24px;
  min-height: 354px;
}

.checkout-consent {
  margin: 12px 0 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--grey);
}

.checkout-consent a {
  color: var(--blue);
  text-decoration: underline;
}

/* Ряд блоков «Получатель» и «Способ получения» */
.checkout-page__fields-row {
  display: flex;
  gap: 16px;
  margin-top: 0;
  max-width: none;
  width: 100%;
}

.checkout-block {
  flex: 1 1 0;
  min-width: 0;
  padding: 24px;
  border-radius: 24px;
  background: var(--substrate);
}

.checkout-block__title {
  margin: 0 0 16px;
  font-size: 20px;
  font-weight: 700;
  color: var(--black-color);
}

.checkout-toggles {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}

.checkout-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 12px;
  background: #fff;
  border: 2px solid var(--soft-grey);
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  color: var(--grey);
  transition: border-color 0.2s, background 0.2s, color 0.2s;
}

.checkout-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.checkout-toggle:hover {
  border-color: var(--soft-orange);
  color: var(--black-color);
}

.checkout-toggle:has(input:checked) {
  border-color: var(--orange);
  background: var(--soft-orange);
  color: var(--orange);
}

.checkout-block__fields {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.checkout-field {
  margin: 0;
}

.checkout-field__label {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
  font-weight: 600;
  color: var(--grey);
}

.checkout-field__input {
  width: 100%;
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid var(--soft-grey);
  background: #fff;
  font-size: 14px;
  font-weight: 500;
  font-family: inherit;
  box-sizing: border-box;
}

.checkout-field__input:focus {
  outline: none;
  border-color: var(--orange);
}

.checkout-field__input.checkout-field__input--error,
.checkout-field__input--textarea.checkout-field__input--error {
  border-color: #d63638;
  box-shadow: 0 0 0 1px #d63638;
}

.checkout-field__input.checkout-field__input--error:focus {
  border-color: #d63638;
  box-shadow: 0 0 0 1px #d63638;
}

.checkout-payment-block.checkout-payment-block--error {
  outline: 2px solid #d63638;
  outline-offset: 2px;
  border-radius: 16px;
}

.checkout-page__form .woocommerce-NoticeGroup-checkout.arkaim-checkout-errors--fields-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.checkout-field__input::placeholder {
  color: var(--grey);
}

.checkout-field__input--textarea {
  min-height: 80px;
  resize: vertical;
}

.checkout-recipient-fields {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Стиль инпутов в блоках «Получатель» и «Способ получения» как в форме «Заказать звонок» */

.checkout-block--recipient .checkout-field__input,
.checkout-block--delivery .checkout-field__input {
  height: 48px;
  padding: 14px 16px;
  font-size: 14px;
  font-weight: 400;
  line-height: 124%;
  letter-spacing: 0;
  color: var(--black-color);
  background: #fff;
  border-radius: 8px;
  border: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.checkout-block--recipient .checkout-field__input--textarea,
.checkout-block--delivery .checkout-field__input--textarea {
  min-height: 80px;
}

.checkout-block--recipient .checkout-field__input.checkout-field__input--error,
.checkout-block--delivery .checkout-field__input.checkout-field__input--error {
  border: 1px solid #d63638;
  box-shadow: 0 0 0 1px #d63638;
}

.checkout-block--recipient .checkout-field__input.checkout-field__input--error:focus,
.checkout-block--delivery .checkout-field__input.checkout-field__input--error:focus {
  border: 1px solid #d63638;
  box-shadow: 0 0 0 1px #d63638;
}

.checkout-field-row {
  display: flex;
  gap: 12px;
}

.checkout-field-row .checkout-field {
  flex: 1 1 0;
  min-width: 0;
}

.checkout-block__note {
  margin: 8px 0 16px;
  font-size: 12px;
  color: var(--grey);
}

.checkout-checkbox {
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  color: var(--black-color);
}

/* Визуально скрываем нативный чекбокс, но оставляем его кликабельным для label и serialize() */
.checkout-checkbox__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  opacity: 0;
}

.checkout-checkbox__box {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  border: 1px solid var(--soft-grey);
  background: #fff;
  margin-top: 2px;
  transition: border-color 0.2s, background 0.2s;
}

.checkout-checkbox__input:checked + .checkout-checkbox__box {
  background: var(--soft-orange);
  border-color: var(--orange);
}

.checkout-checkbox .checkout-checkbox__box {
  position: relative;
}

.checkout-checkbox__input:checked + .checkout-checkbox__box::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid var(--orange);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.checkout-checkbox--inline {
  margin-bottom: 12px;
}

.checkout-map-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 700;
  color: var(--grey);
  text-decoration: none;
  margin-top: 8px;
}

.checkout-map-link:hover {
  color: var(--orange);
}

.checkout-map-link img {
  flex-shrink: 0;
}

/* Блок информации о самовывозе */

.checkout-pickup-info__title {
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 700;
  color: var(--black-color);
}

.checkout-pickup-info__row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.4;
  color: var(--black-color);
}

.checkout-pickup-info__row:last-of-type {
  margin-bottom: 0;
}

.checkout-pickup-info__icon {
  flex-shrink: 0;
  font-size: 16px;
}

/* .checkout-pickup-info__action {
  margin: 16px 0 0;
  padding-top: 16px;
  border-top: 1px solid var(--soft-grey);
} */

.checkout-pickup-info__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 18px;
  background: #213ECB33.20%;
  color: #213ECB;
  font-size: 16px;
  font-weight: 400;
}

.checkout-delivery-fields[hidden] {
  display: none !important;
}

.checkout-recipient-fields[hidden] {
  display: none !important;
}

/* Блок «Способ оплаты» под блоками Получатель / Способ получения */

.checkout-page__payment-row {
  margin-top: 0;
  max-width: none;
  width: 100%;
}

.checkout-payment-block {
  padding: 24px;
  border-radius: 24px;
  background: var(--substrate);
}

.checkout-payment-block__title {
  margin: 0 0 16px;
  font-size: 20px;
  font-weight: 700;
  color: var(--black-color);
}

.checkout-payment-block .woocommerce-checkout-payment {
  margin: 0;
  padding: 0;
  background: transparent;
}

.checkout-payment-invoice {
  margin: 0;
  padding: 16px 18px;
  border-radius: 16px;
  background: #eceeef;
  box-sizing: border-box;
}

.checkout-payment-invoice__text {
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 600;
  color: var(--black-color);
}

.checkout-payment-methods {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.checkout-payment-method {
  position: relative;
  margin: 0;
  padding: 18px 24px;
  border-radius: 12px;
  border: 2px solid var(--soft-grey);
  background: #fff;
  min-width: 224px;
  min-height: 96px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  cursor: pointer;
  box-sizing: border-box;
  text-align: center;
  transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s;
}

.checkout-payment-method--cash {
  min-width: 140px;
}

.checkout-payment-method__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.checkout-payment-method__title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--black-color);
}

.checkout-payment-method__icons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 24px;
}

.checkout-payment-method__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.checkout-payment-method__icon img {
  display: block;
  width: 40px;
  height: 27px;
  object-fit: contain;
}

.checkout-payment-method--cash .checkout-payment-method__icon img {
  width: 40px;
  height: 27px;
}

.checkout-payment-method:hover {
  border-color: var(--soft-orange);
}

.checkout-payment-method__input:checked + .checkout-payment-method__title,
.checkout-payment-method__input:checked ~ .checkout-payment-method__icons {
  opacity: 1;
}

.checkout-payment-method.is-active {
  border-color: var(--orange);
  background-color: #fff;
  box-shadow: 0 0 0 1px rgba(247, 128, 55, 0.08);
}

.checkout-payment-methods__empty {
  margin: 0;
  font-size: 14px;
  color: var(--grey);
}


/* Модальное окно «Выбрать на карте» */
.checkout-map-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.2s, opacity 0.2s;
}

.checkout-map-modal.is-open {
  visibility: visible;
  opacity: 1;
}

.checkout-map-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 16, 16, 0.4);
  cursor: pointer;
}

.checkout-map-modal__dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 640px;
  max-height: 90vh;
  overflow: auto;
  padding: 24px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(17, 16, 16, 0.2);
}

.checkout-map-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: var(--substrate);
  font-size: 24px;
  line-height: 1;
  color: var(--grey);
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.checkout-map-modal__close:hover {
  background: var(--soft-orange);
  color: var(--orange);
}

.checkout-map-modal__title {
  margin: 0 0 16px;
  padding-right: 44px;
  font-size: 20px;
  font-weight: 700;
  color: var(--black-color);
}

.checkout-map-modal__search {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}

.checkout-map-modal__input {
  flex: 1;
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid var(--soft-grey);
  background: #fff;
  font-size: 14px;
  font-family: inherit;
  box-sizing: border-box;
}

.checkout-map-modal__input:focus {
  outline: none;
  border-color: var(--orange);
}

.checkout-map-modal__search-btn {
  flex-shrink: 0;
  padding: 10px 20px;
  border: none;
  border-radius: 10px;
  background: var(--black-color);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.2s;
}

.checkout-map-modal__search-btn:hover {
  background: var(--orange);
}

.checkout-map-modal__map {
  width: 100%;
  height: 320px;
  border-radius: 16px;
  overflow: hidden;
  background: var(--substrate);
  margin-bottom: 12px;
}

.checkout-map-modal__hint {
  margin: 0 0 16px;
  font-size: 13px;
  color: var(--grey);
}

.checkout-map-modal__actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}

.checkout-map-modal__btn {
  min-height: 44px;
  padding: 10px 24px;
  border-radius: 40px;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.checkout-map-modal__btn--primary {
  border: none;
  background: var(--black-color);
  color: #fff;
}

.checkout-map-modal__btn--primary:hover {
  background: var(--orange);
}

.checkout-map-modal__btn--secondary {
  border: 2px solid var(--soft-grey);
  background: #fff;
  color: var(--black-color);
}

.checkout-map-modal__btn--secondary:hover {
  border-color: var(--grey);
}

/* Экран успешного оформления заказа */
.thankyou-page {
  padding: 72px 0 96px;
}

.thankyou-page__container {
  display: flex;
  justify-content: center;
}

.thankyou-page__card {
  width: min(100%, 520px);
  padding: 56px 48px;
  border-radius: 32px;
  background: #fff;
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.08);
  text-align: center;
}

.thankyou-page__title {
  margin: 0 0 16px;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.05;
  color: var(--black-color);
}

.thankyou-page__text {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: var(--grey);
}

.thankyou-page__order {
  margin: 20px 0 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--black-color);
}

.thankyou-page__actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 32px;
}

.thankyou-page__actions--stacked {
  flex-direction: column;
  align-items: center;
}

.thankyou-page__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  min-height: 52px;
  padding: 14px 28px;
  border-radius: 999px;
  border: 1px solid transparent;
  text-decoration: none;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.thankyou-page__button--primary {
  background: var(--orange);
  color: #fff;
}

.thankyou-page__button--primary:hover {
  background: #ff9a3d;
  color: #fff;
}

.thankyou-page__button--secondary {
  border-color: var(--soft-grey);
  background: #fff;
  color: var(--black-color);
}

.thankyou-page__button--secondary:hover {
  border-color: var(--orange);
  color: var(--orange);
}

.thankyou-page__link {
  font-size: 18px;
  font-weight: 700;
  color: var(--black-color);
  text-decoration: none;
}

.thankyou-page__link:hover {
  color: var(--orange);
}

@media (max-width: 767px) {
  .thankyou-page {
    padding: 40px 0 64px;
  }

  .thankyou-page__card {
    padding: 40px 24px;
    border-radius: 24px;
  }

  .thankyou-page__title {
    font-size: 36px;
  }

  .thankyou-page__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .thankyou-page__button {
    min-width: 0;
    width: 100%;
  }
}

/* Страница «Избранное» */
.favorites-page__container {
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 20px;
}

.favorites-page--loading .favorites-page__mount {
  opacity: 0.45;
  pointer-events: none;
}

.favorites-page--empty .favorites-page__container {
  max-width: 640px;
}

.favorites-page--empty .cart-empty {
  margin-top: 40px;
}

.favorites-page__title {
  margin: 0 0 24px;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--black-color);
}

.favorites-page__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 315px));
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: flex-start;
}

.favorites-page__empty {
  text-align: center;
  padding: 48px 20px;
}

.favorites-page__empty-text {
  margin: 0 0 20px;
  font-size: 16px;
  color: var(--grey);
}

.favorites-page__empty-btn {
  display: inline-block;
  padding: 14px 28px;
  background: var(--orange);
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  border-radius: 40px;
  text-decoration: none;
  transition: background 0.2s;
}

.favorites-page__empty-btn:hover {
  background: #ff9a3d;
  color: #fff;
}

/* Скрыть блок с текстом про купон на странице оформления заказа */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout form.checkout_coupon {
  display: none !important;
}
