.elementor-widget-text-editor a {
  color: #000000;
  text-decoration: underline;
  transition: color 0.3s ease;
}

.elementor-widget-text-editor a:hover {
  color: #666666;
}


/* Увеличиваем отступ между корзиной и иконкой меню в мобильной версии */
@media (max-width: 1024px) {
    .nm-menu-cart {
        margin-right: 15px; /* можно поставить 20px или больше */
    }
}

/* скрываем сердечко вишлиста на странице товара */
.nm-wishlist-button,
.nm-wishlist-btn {
    display: none !important;
}

/* ===== MOBILE ONLY ===== */
@media (max-width: 768px) {

  /* Кнопка/заголовок "Categories" — шрифт и внешний вид */
  .widget_product_categories .widget-title,
  .widget_product_categories .widgettitle,
  .nm-shop-cats-toggle,                 /* Savoy */
  .woocommerce .widget_product_categories .widget-title {
    font-family: var(--font-base, "Helvetica Neue", Arial, sans-serif);
    font-size: 14px;          /* было крупно – делаем компактно */
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: none;     /* без кричащих CAPS */
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;        /* уменьшили «белое поле» */
    border: 1px solid #111;   /* тонкий контур-пилюля */
    border-radius: 999px;
    background: #fff;
    color: #111;
  }

  /* Убираем лишние отступы вокруг блока категорий */
  .widget_product_categories,
  .nm-shop-categories {
    margin: 10px 0 6px !important;  /* было много воздуха сверху/снизу */
  }

  /* Список раскрытых категорий — плотнее */
  .widget_product_categories .product-categories > li {
    padding: 6px 0;                 /* было «раздуто» */
  }
  .widget_product_categories .product-categories a {
    font-size: 13px;
    line-height: 1.25;
  }

  /* Если у Savoy есть внутренние большие отступы в шапке магазина */
  .nm-shop-header, .nm-shop-toolbar {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  /* Чуть меньше зазоры секции перед Categories (Инстаграм-блок сверху) */
  .ts-instagram, .sbi, .wp-block-ts-instagram,
  .elementor-widget-instagram, .wp-block-columns + .widget_product_categories {
    margin-bottom: 10px !important;
  }
}


/* ===== DESKTOP (>= 769px) ===== */
@media (min-width: 769px) {

  /* Заголовок виджета категорий (если он есть) */
  .widget_product_categories .widget-title,
  .widget_product_categories .widgettitle {
    font-family: var(--font-base, "Helvetica Neue", Arial, sans-serif);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .01em;
    margin: 8px 0 10px;
    line-height: 1.2;
  }

  /* Список категорий WooCommerce (вариант – боковой виджет) */
  .widget_product_categories .product-categories {
    margin: 0;                 /* убираем лишние внешние отступы */
    padding: 0;
  }
  .widget_product_categories .product-categories > li {
    margin: 0;
    padding: 6px 0;            /* было «раздуто» */
    line-height: 1.25;
  }
  .widget_product_categories .product-categories a {
    font-family: var(--font-base, "Helvetica Neue", Arial, sans-serif);
    font-size: 14px;           /* компактнее */
    font-weight: 500;
    color: #111;
    text-decoration: none;
  }
  .widget_product_categories .product-categories a:hover {
    opacity: .7;               /* лаконичный ховер вместо подчёркивания */
  }

  /* Убираем «ступеньки» у вложенных подкатегорий */
  .widget_product_categories .children {
    margin-left: 12px;         /* компактный отступ для вложенности */
  }
  .widget_product_categories .children > li {
    padding: 4px 0;
  }

  /* Внешний контейнер блока категорий — меньше воздуха */
  .widget_product_categories {
    margin: 12px 0 !important;
    padding: 0 !important;
  }

  /* ===== Если у тебя категории выводятся сеткой Savoy на странице магазина ===== */
  /* Заголовки категорий под превью */
  .nm-shop-categories .category .category-name,
  .nm-shop-categories .category .woocommerce-loop-category__title {
    font-family: var(--font-base, "Helvetica Neue", Arial, sans-serif);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.15;
    margin-top: 8px;           /* было 14–18px у темы */
    letter-spacing: .01em;
  }

  /* Карточка категории — ужимаем внутренние отступы */
  .nm-shop-categories .category {
    margin-bottom: 14px;       /* меньше вертикальной щели между карточками */
  }

  /* Сама сетка – компактнее межкарточный зазор */
  .nm-shop-categories {
    --nm-cat-gap: 14px;        /* если переменная не поддерживается — fallback ниже */
    grid-gap: 14px !important;
    gap: 14px !important;
  }

  /* Если над категориями есть панель/хедер магазина — делаем её плотнее */
  .nm-shop-header,
  .nm-shop-toolbar {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    margin-bottom: 10px !important;
  }
}


/* ===== TABLET (769px–1024px) ===== */
@media (min-width: 769px) and (max-width: 1024px) {

  /* Заголовок блока категорий */
  .widget_product_categories .widget-title,
  .widget_product_categories .widgettitle {
    font-family: var(--font-base, "Helvetica Neue", Arial, sans-serif);
    font-size: 15px;         /* чуть меньше, чем на десктопе */
    font-weight: 600;
    margin: 8px 0 10px;
    line-height: 1.2;
  }

  /* Список категорий (боковой или выпадающий) */
  .widget_product_categories .product-categories > li {
    padding: 5px 0;          /* компактнее, чем стандарт */
  }
  .widget_product_categories .product-categories a {
    font-size: 13.5px;       /* между моб и десктоп */
    font-weight: 500;
    line-height: 1.3;
  }

  /* Подкатегории */
  .widget_product_categories .children {
    margin-left: 10px;
  }
  .widget_product_categories .children > li {
    padding: 4px 0;
  }

  /* Контейнер */
  .widget_product_categories {
    margin: 10px 0 !important;
    padding: 0 !important;
  }

  /* ===== Если вывод категорий сеткой (Savoy) ===== */
  .nm-shop-categories .category .category-name,
  .nm-shop-categories .category .woocommerce-loop-category__title {
    font-size: 14px;         /* аккуратнее для планшета */
    font-weight: 600;
    margin-top: 6px;
    line-height: 1.2;
  }

  .nm-shop-categories .category {
    margin-bottom: 12px;
  }

  .nm-shop-categories {
    grid-gap: 12px !important;
    gap: 12px !important;
  }

  /* Панель над категориями */
  .nm-shop-header,
  .nm-shop-toolbar {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    margin-bottom: 8px !important;
  }
}

/* ===== Catalog (Savoy) — цвета текста и hover ===== */

/* Убираем кнопку Select options в каталоге */
.nm-shop .product .button,
.nm-shop .product .add_to_cart_button,
.nm-shop .product .product_type_variable {
    display: none !important;
}


/* База: всегда чёрная цена */
.products .product .price,
.products .product .price *,
.products .product .price a,
.products .product .price a:visited {
  color: #000 !important;
  text-decoration: none;
}

/* Hover/Active (включая overlay Savoy) — брендовый жёлтый */
.products .product:hover .price,
.products .product:hover .price *,
.products .product .price a:hover,
.products .product .price a:active,
.products .product.link-overlay-hover .price,
.products .product.link-overlay-hover .price *,
.products .product.link-overlay-active .price,
.products .product.link-overlay-active .price * {
  color: #dc9814 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

/* Перебиваем "светлый текст" Savoy при overlay */
.products .product .price.nm-text-color-light,
.products .product .nm-text-color-light.price,
.products .product .nm-text-color-light .price,
.products .product.link-overlay-hover .nm-text-color-light,
.products .product.link-overlay-active .nm-text-color-light {
  color: #dc9814 !important;
}

/* Если распродажа: старая цена более серая */
.products .product .price del,
.products .product .price del .amount {
  color: #777 !important;
}

/* Название товара: чёрное по умолчанию */
.products .product .woocommerce-loop-product__title,
.products .product .woocommerce-loop-product__title a {
  color: #000 !important;
  text-decoration: none;
}

/* Hover/Active + overlay = жёлтый */
.products .product:hover .woocommerce-loop-product__title,
.products .product:hover .woocommerce-loop-product__title a,
.products .product .woocommerce-loop-product__title a:hover,
.products .product .woocommerce-loop-product__title a:active,
.products .product.link-overlay-hover .woocommerce-loop-product__title,
.products .product.link-overlay-hover .woocommerce-loop-product__title a,
.products .product.link-overlay-active .woocommerce-loop-product__title,
.products .product.link-overlay-active .woocommerce-loop-product__title a {
  color: #dc9814 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

/* Если Savoy навесит "светлый текст" */
.products .product .woocommerce-loop-product__title.nm-text-color-light,
.products .product.link-overlay-hover .woocommerce-loop-product__title.nm-text-color-light,
.products .product.link-overlay-active .woocommerce-loop-product__title.nm-text-color-light {
  color: #dc9814 !important;
}

.woocommerce-product-gallery__image a {
  pointer-events: none;
  cursor: default;
}

/* Убираем Select options в блоках рекомендуемых товаров */
.woocommerce .related .product .product_type_variable,
.woocommerce .upsells .product .product_type_variable,
.woocommerce .cross-sells .product .product_type_variable {
    display: none !important;
}


/* Десктопная версия: 2 колонки по центру */
@media (min-width: 1025px) {
  .nm-shop .products {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* центрируем */
    gap: 30px; /* расстояние между карточками, можно менять */
  }

  .nm-shop .products .product {
    width: 480px;   /* фиксированная ширина */
    max-width: 460px;
    margin: 0;      /* убираем auto, центр уже задаёт flex */
  }
}


/* 0) На всякий случай — нулевые отступы у верхних обёрток */
.nm-page-overflow, .nm-page-wrap, .nm-page-wrap-inner,
.nm-page-full, .site-content, main { margin-top:0 !important; padding-top:0 !important; }

/* 1) Ломаем коллапс margin у шапки */
#nm-header { border-bottom:1px solid transparent; }

/* 2) Самый первый элемент под шапкой никогда не имеет верхнего отступа */
.nm-page-full:first-child,
.nm-page-wrap-inner > *:first-child,
.site-content > *:first-child,
main > *:first-child,
.elementor > .elementor-section:first-child,
.elementor-location-header + .elementor > .elementor-section:first-child {
  margin-top:0 !important;
}

/* 3) Изображения в герое/баннере — без baseline-зазора */
.nm-page-full img, .elementor-section img, .banner img, .hero img {
  display:block !important; line-height:0 !important;
}

/* 4) Отступ страницы = высоте шапки (JS задаст переменную) */
:root { --header-offset: 0px; }
body.has-header-offset .nm-page-wrap-inner { padding-top: var(--header-offset) !important; }

/* Если у темы уже есть placeholder — убираем его фиксированную высоту,
   а управлять будем из JS */
#nm-header-placeholder { height:auto !important; min-height:0 !important; }

/* Только на тач-устройствах */
@media (hover: none) and (pointer: coarse) {

  /* 1) Выключаем ховер-оверлей, который перехватывает первый тап */
  .nm-shop .product .nm-product-overlay,
  .products .product .nm-product-overlay {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: none !important;
    pointer-events: none !important;
  }

  /* 2) Прячем кнопки/иконки, появляющиеся при наведении (Quick View и т.п.) */
  .nm-shop .product .nm-quickview-btn,
  .products .product .nm-quickview-btn,
  .nm-shop .product .nm-product-buttons,
  .products .product .nm-product-buttons {
    display: none !important;
    pointer-events: none !important;
  }

  /* 3) Убеждаемся, что ссылка товара получает тап сразу */
  .nm-shop .product a.woocommerce-LoopProduct-link,
  .products .product a.woocommerce-LoopProduct-link,
  .nm-shop .product a.woocommerce-LoopProduct__link,
  .products .product a.woocommerce-LoopProduct__link {
    pointer-events: auto !important;
    position: relative; /* без абсолютов, верстку не ломаем */
    z-index: 1;
  }
}

/* Savoy: убрать тонкую линию ПОД ХЕДЕРОМ только на мобайле */
@media (max-width: 768px) {
  /* 1) ВО ВСЕХ состояниях хедера — без границы/тени/градиента */
  #nm-header,
  .nm-header,
  #nm-header.default,
  .nm-header.default,
  #nm-header.is-stuck,
  .nm-header.is-stuck,
  #nm-header.header-scrolled,
  .nm-header.header-scrolled,
  #nm-header .nm-header-inner,
  .nm-header .nm-header-inner {
    border-bottom: 0 !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    background-image: none !important;   /* если линия задавалась градиентом */
    filter: none !important;             /* гасим drop-shadow варианты */
    transform: translateZ(0);            /* фикс «hairline» на iOS/Android */
    backface-visibility: hidden;
  }

  /* 2) Если линия рисуется псевдоэлементом */
  #nm-header::before,
  #nm-header::after,
  .nm-header::before,
  .nm-header::after {
    content: none !important;
    display: none !important;
    height: 0 !important;
    background: none !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  /* 3) На некоторых сборках есть отдельный separator */
  .nm-header-separator,
  .nm-header-separator::before {
    display: none !important;
    content: none !important;
  }

  /* 4) Если тема дорисовывает линию при скролле */
  #nm-header.default.resize-on-scroll,
  #nm-header.default.resize-on-scroll.header-scrolled {
    box-shadow: none !important;
    background-image: none !important;
  }
}
/* Mobile hot-fix: «стежок» на 1px под хедером */
@media (max-width: 768px) {
  /* базово убираем бордер/тень (на всякий случай) */
  #nm-header { border-bottom:0 !important; box-shadow:none !important; }

  /* 1) Чуть перекрываем линию первым блоком */
  .nm-page-wrap-inner > *:first-child { 
    margin-top: -1px !important;   /* сдвигаем контент на 1px вверх */
  }

  /* 2) или, если не хочется менять margin — рисуем «затычку» поверх */
  .nm-page-wrap-inner { position: relative; }
  .nm-page-wrap-inner::before {
    content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px;
    background: #000;                /* цвет фона хедера — поменяй при необходимости */
    pointer-events: none;
  }
}

/* === DESKTOP ONLY (≥641px): компактные прямоугольники === */
@media (min-width:641px){
  #nm-shop-categories.nm-shop-categories {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;   /* <— центрируем строку */
    align-items: center;
    gap: 4px;
    margin: 10px auto 20px !important;    /* выравниваем и добавляем баланс */
    padding: 0 !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
  }

  #nm-shop-categories.nm-shop-categories > li {
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto;
  }

  #nm-shop-categories .nm-shop-categories-divider {
    display: none !important;
  }

  #nm-shop-categories.nm-shop-categories > li > a {
    display: inline-block;
    padding: 7px 10px;
    border: 1px solid #111;
    border-radius: 0;
    background: #fff;
    color: #111;
    text-decoration: none;
    font-size: 13.5px;
    line-height: 1.15;
    letter-spacing: .01em;
    transition: background .2s ease, color .2s ease, border-color .2s ease;
  }

  #nm-shop-categories.nm-shop-categories > li > a:hover {
    background: #111;
    color: #fff;
    border-color: #111;
  }

  #nm-shop-categories.nm-shop-categories > li.current-cat > a,
  #nm-shop-categories.nm-shop-categories > li > a[aria-current="page"],
  #nm-shop-categories.nm-shop-categories > li.is-active > a {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
  }
}

/* === MOBILE (≤640px): кнопка Categories + крупнее шрифт в списке === */
@media (max-width:640px){

  /* Кнопка "Categories" (якорная ссылка внутри .nm-shop-categories-btn-wrap) */
  #nm-shop-filter-menu-wrap .nm-shop-categories-btn-wrap > a.invert-color{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:100%;
    padding:8px 10px;
    border:1px solid #111;
    border-radius:0;
    background:#fff;
    color:#111;
    text-decoration:none;
    font-size:15.5px;          /* тот же размер, что у пунктов */
    line-height:1.25;
    letter-spacing:.02em;
  }

  /* Состояние "открыто" (у li есть .active) — чёрная кнопка с белым текстом */
  #nm-shop-filter-menu-wrap .nm-shop-categories-btn-wrap.active > a.invert-color{
    background:#111 !important;
    border-color:#111 !important;
    color:#fff !important;
  }

  /* Вертикальные прямоугольники внутри выпадающего списка — крупнее шрифт */
  #nm-shop-categories.nm-shop-categories{
    display:flex !important;
    flex-direction:column;
    gap:5px;
    margin:8px 0 12px;
    padding:0;
  }
  #nm-shop-categories.nm-shop-categories > li{ list-style:none; margin:0; padding:0; }
  #nm-shop-categories.nm-shop-categories > li > a{
    display:block; width:100%; text-align:center;
    padding:8px 10px;
    border:1px solid #111; border-radius:0;
    background:#fff; color:#555; text-decoration:none;
    font-size:15.5px;          /* увеличили шрифт */
    line-height:1.25; letter-spacing:.02em;
    transition:all .2s ease;
  }
  #nm-shop-categories.nm-shop-categories > li > a:hover{ color:#111; }
  #nm-shop-categories.nm-shop-categories > li.current-cat > a,
  #nm-shop-categories.nm-shop-categories > li > a[aria-current="page"],
  #nm-shop-categories.nm-shop-categories > li.is-active > a{
    background:#111 !important; border-color:#111 !important; color:#fff !important;
  }
}

@media (max-width:640px){
  #nm-shop-filter-menu-wrap .nm-shop-categories-btn-wrap > a.invert-color{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:100%;
    padding:8px 10px;
    border:1px solid #ddd;         /* светлая, едва заметная рамка */
    background:#fff;
    border-radius:0;
    color:#666;                    /* мягкий серый */
    font-size:15px;                /* чуть крупнее, чтобы уравновесить визуально */
    font-weight:400;
    letter-spacing:.03em;          /* легкое дыхание между буквами */
    text-transform:none;           /* ← убираем капс */
    font-family:inherit;           /* чтобы совпадал с заголовками сайта */
  }

  /* При активном состоянии — остаётся акцент (черный/белый) */
  #nm-shop-filter-menu-wrap .nm-shop-categories-btn-wrap.active > a.invert-color{
    background:#111 !important;
    border-color:#111 !important;
    color:#fff !important;
  }
}


/* === SANTO SHUNTO — каталог: выразительные названия, ровная сетка === */
ul.products li.product,
.products .product {
  text-align: center !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

/* Название товара */
ul.products li.product .woocommerce-loop-product__title,
.products .product .woocommerce-loop-product__title {
  font-family: inherit;
  font-size: 16px;                  /* крупнее и читаемо */
  font-weight: 600;                   /* плотный акцент */
  color: #111 !important;             /* глубокий чёрный */
  text-transform: none;               /* естественный регистр */
  letter-spacing: .01em;
  line-height: 1.35;
  margin: 10px 0 6px !important;

  /* Фиксированная высота (до 3 строк) */
  min-height: 60px;
  max-height: 60px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;              /* максимум 3 строки */
  -webkit-box-orient: vertical;
}

/* Цена */
ul.products li.product .price,
.products .product .price {
  display: block;
  font-size: 16px;
  color: #666 !important;             /* нейтральный серый */
  font-weight: 400;
  margin-bottom: 6px;
}

/* Перечёркнутая цена — приглушённая */
ul.products li.product .price del {
  color: #aaa !important;
  font-weight: 400;
}

/* Валюта — чуть меньше */
ul.products li.product .price .woocommerce-Price-currencySymbol {
  font-size: 0.9em;
  opacity: 0.9;
}

/* === MOBILE: строгая центровка под фото === */
@media (max-width:640px){

  /* сама карточка и всё внутри — по центру */
  .woocommerce ul.products li.product,
  ul.products li.product {
    text-align: center !important;
  }

  /* изображение по центру как блок */
  .woocommerce ul.products li.product a img {
    display: block;
    margin: 0 auto;
  }

  /* заголовок: блок, без внутренних отступов, ровно по центру */
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    display: block;
    margin: 10px auto 6px !important;   /* auto — выравнивает по центру */
    padding: 0 !important;              /* на случай лишних паддингов темы */
    max-width: 96%;                     /* чуть уже карточки — визуально ровнее */
    text-align: center !important;
  }

  /* цена — тоже центр и та же ширина */
  .woocommerce ul.products li.product .price {
    display: block;
    margin: 0 auto 6px;
    max-width: 92%;
    text-align: center !important;
  }

  /* убираем возможные «смещающие» стили темы */
  .woocommerce ul.products li.product .star-rating,
  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product .add_to_cart_button {
    margin-left: auto;
    margin-right: auto;
  }
}
