/* Карточка товара в списке (экран 5) по макету catalog-coxo.html (.card): рамка, фото целиком, название до 3 строк,
   цена и наличие, «Получить КП» + корзина значком; глаз — быстрый просмотр. Разметка — штатная WoodMart «fw-button». Значения — токены. */

/* ---------- Карточка ---------- */
html body .wd-product.product-grid-item{padding-top:0;padding-bottom:0}
html body .wd-product.product-grid-item .product-wrapper{position:relative;display:flex;flex-direction:column;gap:10px;height:100%;padding:18px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg);box-shadow:none;transform:none;transition:border-color var(--t),box-shadow var(--t)}
@media (hover:hover){html body .wd-product.product-grid-item:hover .product-wrapper{border-color:var(--border-strong);box-shadow:var(--shadow)}}
html body .wd-product.product-grid-item .content-product-imagin{display:none}   /* подложка WoodMart для эффекта наведения */

/* фото — целиком, на белом растворяется фон снимка */
html body .wd-product.product-grid-item .product-element-top{position:relative;margin:0;border-radius:0;overflow:visible;background:none}
html body .wd-product.product-grid-item .product-image-link,html body .wd-product.product-grid-item .hover-img{display:block;height:auto;aspect-ratio:4/3;padding:4px 0;overflow:hidden}   /* фото 4:3 — как у исходников заказчика и на странице товара */
html body .wd-product.product-grid-item .hover-img{position:absolute;inset:0!important;height:auto!important;background:var(--bg)}   /* второе фото при наведении — ровно на месте первого, не на названии */
html body .wd-product.product-grid-item .product-element-top img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}   /* рамка — блок 4:3: высота 100 % от неё (в сетке с рядом по содержимому картинка оставалась своей высоты и обрезалась) */

/* глаз (быстрый просмотр) — справа сверху, только значок */
html body .wd-product.product-grid-item .wd-buttons{position:absolute;top:-8px;right:-8px;left:auto;z-index:2;margin:0;padding:0;opacity:1;visibility:visible;transform:none;background:none;box-shadow:none}
html body .wd-product.product-grid-item .wd-buttons .wd-action-btn>a{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:50%;background:transparent;color:var(--fg-muted);font-size:0;line-height:0;transition:background var(--t),color var(--t)}
html body .wd-product.product-grid-item .wd-buttons .wd-action-btn>a::before{content:"";display:block;width:18px;height:18px;background:currentColor;-webkit-mask:var(--ti-eye) center/contain no-repeat;mask:var(--ti-eye) center/contain no-repeat;font-size:0}
@media (hover:hover){html body .wd-product.product-grid-item .wd-buttons .wd-action-btn>a:hover{background:var(--bg-raised);color:var(--accent)}}

/* метки товара сайта («Лучшая цена» и др.) — бирюзовый бейдж (решение Air 2026-10-14) */
html body .wd-product.product-grid-item .product-labels{top:12px;left:12px;right:auto;z-index:2;gap:4px}
html body .wd-product.product-grid-item .product-labels .product-label{min-width:0;min-height:0;height:24px;margin:0;padding:0 10px;border-radius:var(--r-xs);background:var(--promo-soft);color:var(--promo-accent);font-family:var(--font);font-size:11px;font-weight:600;line-height:24px;letter-spacing:.06em;text-transform:uppercase}

/* ---------- Низ карточки: название, цена, наличие, кнопки ---------- */
html body .wd-product.product-grid-item .product-element-bottom{position:static;display:grid;flex:1 1 auto;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title title" "price price" "stock stock" "kp cart";grid-template-rows:auto 1fr auto auto;align-items:end;gap:0 8px;margin:0;padding:0;background:none;transform:none}
html body .wd-product.product-grid-item .product-element-bottom::before,html body .wd-product.product-grid-item .product-element-bottom::after{display:none}
html body .wd-product.product-grid-item .wd-entities-title{grid-area:title;align-self:start;margin:4px 0 0;font-family:var(--font);font-size:16px;font-weight:500;line-height:1.35;letter-spacing:0;text-transform:none}
html body .wd-product.product-grid-item .wd-entities-title a{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--fg)}
@media (hover:hover){html body .wd-product.product-grid-item .wd-entities-title a:hover{color:var(--accent)}}
html body .wd-product.product-grid-item .wrap-price{grid-area:price;margin:0;padding-top:8px}
html body .wd-product.product-grid-item .wrap-price .price{display:block;margin:0;font-family:var(--font);font-size:20px;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--fg)}
html body .wd-product.product-grid-item .wrap-price .price .amount{color:inherit}
html body .wd-product.product-grid-item .tsg-on-request{font-size:16px;font-weight:600;letter-spacing:0;color:var(--fg-2)}
html body .wd-product.product-grid-item .wd-product-stock{grid-area:stock;display:block;margin:2px 0 0;padding:0;border:0;background:none;font-family:var(--font);font-size:12px;font-weight:400;line-height:1.4;color:var(--success)}
html body .wd-product.product-grid-item .wd-product-stock::before{display:none}   /* галочка WoodMart */
html body .wd-product.product-grid-item .wd-product-stock.out-of-stock{color:var(--fg-muted)}
html body .wd-product.product-grid-item.cxo-zero-price .wd-product-stock{display:none}   /* «Цена по запросу» уже сказала всё — без «По запросу» второй строкой */
html body .wd-product.product-grid-item.outofstock .product-element-top img{opacity:.6}

/* лента с карточками (карусель WoodMart обрезает края): поле под тень наведения — 16 сверху, 32 снизу, компенсация отступом (известная проблема screen-build 2026-10-15) */
html body .wd-carousel:has(.product-grid-item){padding-top:16px;padding-bottom:32px;margin-top:-16px;margin-bottom:-32px;overflow:visible!important;clip-path:inset(0 calc(1px - var(--wd-gap, 20px) / 2))}
@media (max-width:1024px){html body .wd-carousel:has(.product-grid-item){clip-path:inset(0 -8px 0 -8px)}}   /* зазор карточек здесь 10 — соседняя не выглядывает */   /* по бокам — запас 16 под тень крайних карточек без сдвига ленты; соседняя карточка (зазор 20) не выглядывает */

/* кнопки: обёртка WoodMart не нужна — «Получить КП» и корзина ложатся в сетку карточки */
html body .wd-product.product-grid-item .wd-add-btn{display:contents}
html body .wd-product.product-grid-item .wd-add-btn .quantity{display:none}   /* количество — после добавления (шаг 2), настройка product_quantity выключена */
html body .wd-product.product-grid-item .tsg-kp{grid-area:kp;justify-self:start;display:inline-flex;box-shadow:none!important;width:auto!important;min-width:0;flex:none;text-transform:none!important;letter-spacing:0!important;align-items:center;justify-content:center;height:40px;margin-top:12px;padding:0 18px;border:1px solid var(--accent);border-radius:var(--r-pill);background:transparent;color:var(--accent);font-family:var(--font);font-size:14px;font-weight:500;line-height:1;white-space:nowrap;text-decoration:none;transition:background var(--t)}
@media (hover:hover){html body .wd-product.product-grid-item .tsg-kp:hover{background:var(--accent-soft);color:var(--accent)}}
html body .wd-product.product-grid-item .wd-add-btn>a.button{grid-area:cart;position:static;display:flex;align-items:center;justify-content:center;width:40px;min-width:0;height:40px;min-height:0;margin:12px 0 0;padding:0;border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--bg);color:var(--fg-2);font-size:0;line-height:0;box-shadow:none!important;transform:none;opacity:1;transition:background var(--t),border-color var(--t),color var(--t)}
html body .wd-product.product-grid-item .wd-add-btn>a.button>span{display:none!important}   /* подпись «В корзину» — у кнопки есть aria-label */
html body .wd-product.product-grid-item .wd-add-btn>a.button::before{content:"";position:static;inset:auto;display:block;place-self:center;width:18px;height:18px;margin:0!important;transform:none!important;border:0;background:currentColor;-webkit-mask:var(--ti-cart-sm) center/contain no-repeat;mask:var(--ti-cart-sm) center/contain no-repeat;animation:none;opacity:1;font-size:0}
html body .wd-product.product-grid-item .wd-add-btn>a.button::after{display:none}
@media (hover:hover){html body .wd-product.product-grid-item .wd-add-btn>a.button:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}}
html body .wd-product.product-grid-item .wd-add-btn>a.button.loading{opacity:.6;pointer-events:none}
html body .wd-product.product-grid-item .wd-add-btn>a.added_to_cart{display:none}   /* «Просмотр корзины» WooCommerce — уведомление и счётчик (шаг 2) */
html body .wd-product.product-grid-item.outofstock .wd-add-btn>a.button{display:none}   /* нет в наличии — без корзины, «Получить КП» остаётся */
html body .wd-product.product-grid-item.outofstock .tsg-kp{grid-column:1/-1}

/* ---------- Телефон: корзина рядом с ценой, «Получить КП» на всю ширину (решение Air 2026-10-19) ---------- */
@media (max-width:767px){
  html body .wd-product.product-grid-item .product-wrapper{gap:8px;padding:10px;border-radius:var(--r-md)}
  html body .wd-product.product-grid-item .wd-buttons{top:-6px;right:-6px}
  html body .wd-product.product-grid-item .product-element-bottom{grid-template-areas:"title title" "price cart" "stock cart" "kp kp";gap:0 6px}
  html body .wd-product.product-grid-item .wd-entities-title{font-size:14px}
  html body .wd-product.product-grid-item .wd-entities-title a{-webkit-line-clamp:4}
  html body .wd-product.product-grid-item .wrap-price .price{font-size:17px}
  html body .wd-product.product-grid-item .tsg-on-request{font-size:14px}
  html body .wd-product.product-grid-item .wd-add-btn>a.button{width:36px;height:36px;margin-top:8px;align-self:center}
  html body .wd-product.product-grid-item .tsg-kp{justify-self:stretch;height:36px;margin-top:10px;padding:0 12px;font-size:13px}
}

/* ---------- Счётчик «− 1 +» после «В корзину» (решения Air 2026-10-21, 2026-10-22): нейтральный, как количество на странице товара ---------- */
html body .wd-product.product-grid-item .wd-add-btn>a.button[hidden]{display:none}
html body .wd-product.product-grid-item .tsg-qty{grid-area:cart;justify-self:end;display:inline-flex;align-items:center;justify-content:space-between;width:100px;height:40px;margin-top:12px;border:1px solid var(--border-field);border-radius:var(--r-pill);background:var(--bg)}
html body .wd-product.product-grid-item.tsg-in-cart .product-element-bottom{grid-template-areas:"title title" "price price" "stock stock" "kp cart"}
html body .tsg-qty button{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:38px;min-height:0;margin:0;padding:0;border:0;background:none;color:var(--fg-2);box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
html body .tsg-qty button .tsg-icon{position:relative;width:16px;height:16px}
html body .tsg-qty button:is(:hover,:focus,:active){background:none!important;box-shadow:none}   /* фон кнопок WoodMart — состояние показывает только круг */
html body .tsg-qty button::before{content:"";position:absolute;left:50%;top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:transparent;transition:background var(--t),box-shadow var(--t)}
@media (hover:hover){html body .tsg-qty button:hover:not(:disabled){color:var(--accent)}html body .tsg-qty button:hover:not(:disabled)::before{background:var(--accent-soft)}}
html body .tsg-qty button:focus-visible{outline:none!important}
html body .tsg-qty button:focus-visible::before{box-shadow:0 0 0 2px var(--accent)}
html body .tsg-qty button:active:not(:disabled){color:var(--accent-fg)}
html body .tsg-qty button:active:not(:disabled)::before{background:var(--accent);transition:none}
html body .tsg-qty button:disabled{color:var(--border-strong);cursor:default}
html body .tsg-qty input{width:30px;height:auto;min-height:0;margin:0;padding:0;border:0;outline:0;background:transparent;box-shadow:none;text-align:center;font-family:var(--font);font-size:15px;font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums}
html body .tsg-qty:has(input:focus){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}   /* фокус поля — граница 2 px (решение Air 2026-10-14) */
html body .tsg-qty.is-busy{opacity:.6}
@media (max-width:767px){
  /* телефон: счётчик строкой под ценой, 44 px (решение Air 2026-10-21) */
  html body .wd-product.product-grid-item.tsg-in-cart .product-element-bottom{grid-template-areas:"title title" "price price" "stock stock" "cart cart" "kp kp"}
  html body .wd-product.product-grid-item .tsg-qty{justify-self:start;height:44px;margin-top:8px}
  html body .tsg-qty button{width:34px;height:42px}
}

/* ---------- Уведомление «Товар добавлен в корзину» ---------- */
.tsg-toast{position:fixed;left:16px;right:16px;bottom:calc(81px + env(safe-area-inset-bottom));z-index:9996;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;width:max-content;max-width:calc(100% - 32px);margin-inline:auto;padding:12px 12px 12px 20px;border-radius:var(--r-md);background:var(--bg);color:var(--fg);box-shadow:var(--shadow-lg);font-family:var(--font);font-size:15px;font-weight:500}
.tsg-toast[hidden]{display:none}
.tsg-toast a{padding:8px 16px;border:1px solid var(--accent);border-radius:var(--r-pill);color:var(--accent);font-size:14px;white-space:nowrap;text-decoration:none;transition:background var(--t)}
@media (hover:hover){.tsg-toast a:hover{background:var(--accent-soft);color:var(--accent)}}
@media (min-width:1024px){.tsg-toast{top:calc(var(--tsg-header-h, 126px) + 12px);bottom:auto;left:auto;right:24px;margin:0}}   /* компьютер — справа сверху под шапкой */
@media (max-width:767px){.tsg-toast{width:auto;padding-left:16px}}

/* ---------- Быстрый просмотр (решение Air 2026-10-21; макет — card_buy.py .qv-*) — штатное окно WoodMart ---------- */
html body .wd-popup-quick-view-wrap .wd-popup-wrap{max-width:900px;width:calc(100% - 48px);padding:0}
html body .wd-popup.popup-quick-view{max-width:none;width:100%;max-height:calc(100dvh - 48px);padding:0;border-radius:var(--r-xl);background:var(--bg);box-shadow:var(--shadow-lg);overflow:hidden}
html body .popup-quick-view .product-image-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;margin:0;--wd-col:1}
html body .popup-quick-view .product-image-summary>*{width:auto!important;max-width:none!important;min-width:0;flex:none}   /* колонки WoodMart со своей шириной — галерея наезжала на текст */
html body .popup-quick-view .product-images{display:grid;place-items:center;min-height:0;margin:0;padding:32px;border-right:1px solid var(--border);background:var(--bg);overflow:hidden}   /* белое поле: карусель Swiper — свой слой, белый фон снимка в сером не растворяется (в макете поле серое) */
html body .popup-quick-view .product-images>*{width:100%;min-width:0}
html body .popup-quick-view .product-images :is(figure,.wd-carousel,.wd-carousel-item,.wd-carousel-inner,.wd-carousel-container){background:transparent}   /* белая подложка галереи — фото растворяется в сером поле */
html body .popup-quick-view .product-images img{max-height:min(420px,60dvh);width:auto;max-width:100%;object-fit:contain;mix-blend-mode:multiply}
html body .popup-quick-view .product-images .view-details-btn{display:none}   /* «Подробнее о товаре» — в правой колонке */
html body .popup-quick-view .product-images .wd-btn-arrow{width:40px;height:40px;border-radius:50%;background:var(--bg);color:var(--fg);box-shadow:var(--shadow)}
html body .popup-quick-view .summary{max-height:calc(100dvh - 48px);margin:0;padding:40px 36px 32px;overflow:auto}
html body .popup-quick-view .summary-inner{display:grid;gap:16px;align-content:start}
html body .popup-quick-view .summary-inner>*{margin:0}
html body .popup-quick-view .product_title{padding-right:32px;font-family:var(--font);font-size:24px;font-weight:600;line-height:1.25;letter-spacing:0;text-transform:none;text-wrap:balance}
html body .popup-quick-view .product_title a{color:var(--fg)}
html body .popup-quick-view .woocommerce-product-details__short-description{color:var(--fg-2);font-size:15px;line-height:1.55}
html body .popup-quick-view .price{font-family:var(--font);font-size:28px;font-weight:700;line-height:1.2;color:var(--fg);font-variant-numeric:tabular-nums}
html body .popup-quick-view .price .amount{color:inherit}
html body .popup-quick-view .tsg-on-request{font-size:22px;font-weight:600;color:var(--fg-2)}
html body .popup-quick-view .stock{display:inline-flex;align-items:center;gap:8px;justify-self:start;margin:0;padding:0;border:0;background:none;font-family:var(--font);font-size:14px;font-weight:500;color:var(--success)}
html body .popup-quick-view .stock::before{content:"";display:block;width:8px;height:8px;border-radius:50%;background:currentColor;-webkit-mask:none;mask:none;font-size:0}
html body .popup-quick-view .stock.out-of-stock{color:var(--fg-muted)}
html body .popup-quick-view .stock>span{padding:0!important;border:0;border-radius:0;background:none!important;color:inherit!important;font:inherit}
html body .popup-quick-view .stock>span::before{display:none}   /* плашка и галочка WoodMart — вместо них точка, как в макете */
html body.cxo-zero-price .popup-quick-view .stock,html body .popup-quick-view .product.cxo-zero-price .stock{display:none}
html body .popup-quick-view .product_meta{display:none}   /* артикул синхронизации и категория — на странице товара */
/* количество + «В корзину»; «Купить сейчас» (функция сайта) — второй строкой, вторичная */
html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;margin:0}
html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .quantity{display:inline-flex;align-items:center;height:48px;margin:0;border:1px solid var(--border-field);border-radius:var(--r-pill);overflow:hidden}
html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .quantity input.minus,html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .quantity input.plus{width:40px;height:46px;min-height:0;padding:0;border:0;background:none;color:var(--fg-2);font-size:18px;box-shadow:none}
html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .quantity input.qty{width:36px;height:46px;min-height:0;padding:0;border:0;background:none;box-shadow:none;text-align:center;font-family:var(--font);font-size:16px;font-weight:600;color:var(--fg);-moz-appearance:textfield}
html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .quantity:has(input.qty:focus){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .button{box-shadow:none!important;display:inline-flex;align-items:center;justify-content:center;height:48px;min-height:0;margin:0;padding:0 22px;border:1px solid transparent;border-radius:var(--r-pill);font-family:var(--font);font-size:15px;font-weight:500;text-transform:none;letter-spacing:0;box-shadow:none}
html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .single_add_to_cart_button{background:var(--accent);color:var(--accent-fg)}
@media (hover:hover){html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .single_add_to_cart_button:hover{background:var(--accent-hover);color:var(--accent-fg)}}
html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .wd-buy-now-btn{grid-column:1/-1;background:transparent;border-color:var(--border-strong);color:var(--fg)}
@media (hover:hover){html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .wd-buy-now-btn:hover{border-color:var(--accent);color:var(--accent);background:transparent}}
html body .popup-quick-view .tsg-qv-extra{display:grid;gap:16px}
html body .popup-quick-view .tsg-kp{box-shadow:none!important;display:inline-flex;align-items:center;justify-content:center;height:48px;border:1px solid var(--accent);border-radius:var(--r-pill);color:var(--accent);font-family:var(--font);font-size:15px;font-weight:500;text-decoration:none;transition:background var(--t)}
@media (hover:hover){html body .popup-quick-view .tsg-kp:hover{background:var(--accent-soft);color:var(--accent)}}
html body .popup-quick-view .tsg-qv-more{display:inline-flex;align-items:center;gap:6px;justify-self:start;font-family:var(--font);font-size:15px;font-weight:500;color:var(--accent);text-decoration:none}
html body .popup-quick-view .tsg-qv-more .tsg-icon{width:16px;height:16px}
@media (hover:hover){html body .popup-quick-view .tsg-qv-more:hover{text-decoration:underline;text-underline-offset:3px}}
/* крестик — круглый, внутри окна */
html body .wd-popup-quick-view-wrap .wd-popup-close{top:12px;right:12px;z-index:3}
html body .wd-popup-quick-view-wrap .wd-popup-close>a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--bg-raised);color:var(--fg);font-size:0}
html body .wd-popup-quick-view-wrap .wd-popup-close>a::before{content:"";display:block;width:20px;height:20px;background:currentColor;-webkit-mask:var(--ti-x) center/contain no-repeat;mask:var(--ti-x) center/contain no-repeat;font-size:0;transform:none}
html body .wd-popup-quick-view-wrap .wd-popup-close>a::after,html body .wd-popup-quick-view-wrap .wd-popup-close>a>span{display:none}
/* телефон — панель снизу */
@media (max-width:767px){
  html body .wd-popup-quick-view-wrap .mfp-container{padding:0;display:flex;align-items:flex-end}
  html body .wd-popup-quick-view-wrap .mfp-content{vertical-align:bottom}
  html body .wd-popup-quick-view-wrap .wd-popup-wrap{width:100%;max-width:none;margin:0}
  html body .wd-popup.popup-quick-view{max-height:calc(100dvh - 24px);border-radius:var(--r-lg) var(--r-lg) 0 0;overflow:auto}
  html body .popup-quick-view .product-image-summary{grid-template-columns:minmax(0,1fr)}
  html body .popup-quick-view .product-images{padding:20px;max-height:34dvh;border-right:0;border-bottom:1px solid var(--border)}
  html body .popup-quick-view .product-images img{max-height:28dvh}
  html body .popup-quick-view .summary{max-height:none;padding:20px 16px calc(20px + env(safe-area-inset-bottom));overflow:visible}
  html body .popup-quick-view .product_title{font-size:20px}
  html body .popup-quick-view .price{font-size:24px}
}

/* ===== Правки по ревью 2026-10-25 (layout / design catalog-card) ===== */
/* глаз и метки — своей строкой над фото, как в макете (.card .top); глаз виден и на планшете и телефоне — быстрый просмотр там панелью снизу (решение Air 2026-10-21) */
html body .wd-product.product-grid-item .product-element-top{padding-top:32px}
html body .wd-product.product-grid-item .wd-buttons{top:0!important;right:0!important;display:flex!important}
html body .wd-product.product-grid-item .wd-buttons .wd-quick-view-icon{display:block!important}
html body .wd-product.product-grid-item .product-labels{top:4px;left:0}
html body .wd-product.product-grid-item .hover-img{top:32px!important}
/* наведение: карточка не подпрыгивает, пустой блок WoodMart не проступает, второе фото без увеличения */
html body .wd-product.product-grid-item .product-wrapper,html body .wd-product.product-grid-item:hover .product-wrapper{transform:none!important;margin:0!important}
html body .wd-product.product-grid-item .hover-content-wrap,html body .wd-product.product-grid-item .wd-more-desc{display:none!important}
html body .wd-product.product-grid-item .hover-img,html body .wd-product.product-grid-item .hover-img img,html body .wd-product.product-grid-item:hover .product-image-link img{transform:none!important}
html body .wd-product.product-grid-item .wd-entities-title{hyphens:manual;-webkit-hyphens:manual}
/* название растёт, цена и кнопки — внизу; на телефоне корзина не уезжает выше цены */
html body .wd-product.product-grid-item .product-element-bottom{grid-template-rows:1fr auto auto auto}
/* в корзине: если «Получить КП» и счётчик не помещаются рядом — счётчик строкой ниже, справа (макет card_buy: flex-wrap) */
html body .wd-product.product-grid-item .product-wrapper{container-type:inline-size;container-name:tsgcard}
@container tsgcard (max-width:243px){
  .wd-product.product-grid-item.tsg-in-cart .product-element-bottom{grid-template-areas:"title title" "price price" "stock stock" "kp kp" "cart cart"!important;grid-template-rows:1fr auto auto auto auto!important}
  .wd-product.product-grid-item.tsg-in-cart .tsg-qty{justify-self:end}
}
@media (max-width:767px){
  html body .wd-product.product-grid-item .product-element-top{padding-top:28px}
  html body .wd-product.product-grid-item .hover-img{top:28px!important}
  html body .wd-product.product-grid-item .product-element-bottom{grid-template-rows:1fr auto auto auto}
  html body .wd-product.product-grid-item.tsg-in-cart .product-element-bottom{grid-template-areas:"title title" "price price" "stock stock" "cart cart" "kp kp"!important;grid-template-rows:1fr auto auto auto auto!important}
  html body .wd-product.product-grid-item.tsg-in-cart .tsg-qty{justify-self:start}
}
/* фокус поля счётчика — граница 2 px цвета акцента (вес как у правила рамки) */
html body .wd-product.product-grid-item .tsg-qty:has(input:focus){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
/* быстрый просмотр: поля правой колонки, цвет заголовка, −/+ и корзина по киту, затемнение — токен */
html body .popup-quick-view .summary{padding:40px 36px 32px!important}
@media (max-width:767px){html body .popup-quick-view .summary{padding:20px 16px calc(20px + env(safe-area-inset-bottom))!important}}
html body .popup-quick-view .product_title,html body .popup-quick-view .product_title a{color:var(--fg)!important}
html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .quantity input.minus,html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .quantity input.plus{position:relative;font-size:0!important;color:transparent!important;background:currentColor;cursor:pointer}
html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .quantity input.minus,html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .quantity input.plus{background:var(--fg-2)!important;-webkit-mask:var(--ti-minus) center/18px no-repeat;mask:var(--ti-minus) center/18px no-repeat}
html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .quantity input.plus{-webkit-mask-image:var(--ti-plus);mask-image:var(--ti-plus)}
@media (hover:hover){html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .quantity input:is(.minus,.plus):hover{background:var(--accent)!important}}
html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .single_add_to_cart_button{gap:8px}
html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .single_add_to_cart_button::before{content:"";display:block;width:20px;height:20px;background:currentColor;-webkit-mask:var(--ti-shopping-cart) center/contain no-repeat;mask:var(--ti-shopping-cart) center/contain no-repeat}
html body .popup-quick-view .product.outofstock .tsg-kp{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}   /* нет корзины — «Получить КП» главная (макет) */
html body .wd-popup-quick-view-wrap+.mfp-bg,html body .mfp-bg.wd-popup-quick-view-wrap,html body .mfp-bg{background:var(--overlay);opacity:1}
html body .wd-popup-quick-view-wrap .wd-popup-close>a::before{-webkit-mask-image:var(--ti-x-20);mask-image:var(--ti-x-20)}

/* ===== Повторное ревью 2026-10-25 ===== */
/* метки товара («Лучшая цена») — в строке с глазом, одной строкой, не на фото */
html body .wd-product.product-grid-item .product-labels{top:-28px!important;left:0!important;right:40px!important;display:flex;flex-direction:row;flex-wrap:nowrap;max-width:none;margin:0;transform:none}
html body .wd-product.product-grid-item .product-labels .product-label{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;overflow-wrap:normal}
/* на телефоне строка с глазом — та же высота 32, глаз не заходит на поле фото */
@media (max-width:767px){
  html body .wd-product.product-grid-item .product-element-top{padding-top:32px}
  html body .wd-product.product-grid-item .hover-img{top:32px!important}
  html body .wd-product.product-grid-item .wd-buttons{top:0!important;right:0!important}
}
/* обычное состояние: если «Получить КП» и корзина не помещаются рядом (карточка < 180 px текста) — корзина у цены, КП на всю ширину, как на телефоне */
@container tsgcard (max-width:179px){
  .wd-product.product-grid-item:not(.tsg-in-cart) .product-element-bottom{grid-template-areas:"title title" "price cart" "stock cart" "kp kp"!important}
  .wd-product.product-grid-item:not(.tsg-in-cart) .wd-add-btn>a.button{align-self:center}
  .wd-product.product-grid-item .tsg-kp{justify-self:stretch!important}
}
/* быстрый просмотр: на ≥768 WoodMart ставит .summary-inner на всю колонку (absolute) — поля у него */
@media (min-width:768px){
  html body .popup-quick-view .summary{padding:0!important}
  html body .popup-quick-view .summary-inner{padding:40px 36px 32px!important}
}
html body .wd-popup-quick-view-wrap .wd-popup-wrap{margin-left:auto!important;margin-right:auto!important}   /* окно по центру */
/* «−/+» в окне: фокус — кольцом вокруг поля количества (маска значка срезает кольцо кнопки) */
html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .quantity{overflow:visible}
html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .quantity:has(input.minus:focus-visible,input.plus:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
html body :is(.popup-quick-view,.quick-shop-wrapper) form.cart .single_add_to_cart_button::before{-webkit-mask-image:var(--ti-cart-20);mask-image:var(--ti-cart-20)}

/* ===== Замечания Air 2026-10-26 ===== */
/* глаз: невидимый текст ссылки и значок — не две строки сетки, значок по центру круга при наведении */
html body .wd-product.product-grid-item .wd-buttons .wd-action-btn>a{display:flex!important;align-items:center;justify-content:center}
/* подсказка WoodMart (чёрная плашка) — не из кита; вместо неё подсказка браузера (title, card.js), как в макете */
html body .wd-product.product-grid-item .wd-buttons .wd-tooltip,html body .wd-product.product-grid-item .wd-buttons~.tooltip,body>.tooltip.left{display:none!important}
/* быстрый просмотр: окно по высоте содержимого, без прокрутки внутри колонки (полоса прокрутки и затухание WoodMart давали «границу» справа); не помещается — прокручивается окно целиком */
@media (min-width:768px){
  html body .popup-quick-view .summary,html body .popup-quick-view .summary-inner{position:static!important;max-height:none!important;overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important}
  html body .wd-popup.popup-quick-view{max-height:none!important}
}

/* товар с вариантами (CEFLA: «Подача») — страница товара, быстрый просмотр, быстрая покупка в карточке: выбор сверху во всю ширину,
   ниже — количество, «В корзину», «Получить КП» той же сеткой, что у простого товара (здесь, а не в product.css: окна открываются и в каталоге;
   .variations_form.cart — сильнее сетки form.cart из product.css, который подключается позже) */
html body :is(.tsg-pp-buy,.popup-quick-view,.quick-shop-wrapper) form.variations_form.cart{display:block}
html body :is(.tsg-pp-buy,.popup-quick-view,.quick-shop-wrapper) form.variations_form.cart table.variations{display:block;width:100%;margin:0 0 16px;border:0}
html body :is(.tsg-pp-buy,.popup-quick-view,.quick-shop-wrapper) form.variations_form.cart table.variations :is(tbody,tr){display:grid!important;grid-template-columns:minmax(0,1fr);width:100%;gap:12px}
html body :is(.tsg-pp-buy,.popup-quick-view,.quick-shop-wrapper) form.variations_form.cart table.variations tr{gap:6px}
html body :is(.tsg-pp-buy,.popup-quick-view,.quick-shop-wrapper) form.variations_form.cart table.variations :is(th,td){display:block;padding:0;border:0;text-align:left}
html body :is(.tsg-pp-buy,.popup-quick-view,.quick-shop-wrapper) form.variations_form.cart table.variations th label{margin:0;font-family:var(--font);font-size:14px;font-weight:500;line-height:1.4;color:var(--fg-2)}
html body :is(.tsg-pp-buy,.popup-quick-view,.quick-shop-wrapper) form.variations_form.cart table.variations td{position:relative;display:grid!important;justify-items:stretch}   /* у WoodMart «Очистить» справа от поля — у нас под ним */
html body :is(.tsg-pp-buy,.popup-quick-view,.quick-shop-wrapper) form.variations_form.cart table.variations th label::after{content:none}   /* двоеточие WoodMart после названия */
html body :is(.tsg-pp-buy,.popup-quick-view,.quick-shop-wrapper) form.variations_form.cart table.variations select{width:100%!important;max-width:none;height:48px;margin:0;padding:0 40px 0 16px;border:1px solid var(--border-field);border-radius:var(--r-md);background-color:var(--bg);font-family:var(--font);font-size:15px;color:var(--fg);box-shadow:none}
html body :is(.tsg-pp-buy,.popup-quick-view,.quick-shop-wrapper) form.variations_form.cart table.variations select:focus{border-color:var(--accent)!important;box-shadow:inset 0 0 0 1px var(--accent)!important;outline:0}   /* фокус поля — граница 2 px */
html body :is(.tsg-pp-buy,.popup-quick-view,.quick-shop-wrapper) form.variations_form.cart .wd-reset-var{justify-self:start;margin:6px 0 0}
html body :is(.tsg-pp-buy,.popup-quick-view,.quick-shop-wrapper) form.variations_form.cart .reset_variations{font-family:var(--font);font-size:13px;color:var(--fg-2);text-decoration:underline;text-underline-offset:2px}
html body :is(.tsg-pp-buy,.popup-quick-view,.quick-shop-wrapper) form.variations_form.cart .woocommerce-variation:empty{display:none!important}   /* пустой блок варианта давал полосу 44 px */
html body :is(.tsg-pp-buy,.popup-quick-view,.quick-shop-wrapper) form.variations_form.cart .single_variation:not(:empty){margin:0 0 12px;font-family:var(--font);font-size:14px;color:var(--fg-2)}
html body :is(.tsg-pp-buy,.popup-quick-view,.quick-shop-wrapper) form.variations_form.cart .single_variation .price{display:none}   /* цена варианта та же, что над формой */
html body :is(.tsg-pp-buy,.popup-quick-view,.quick-shop-wrapper) form.variations_form.cart .variations_button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}
html body :is(.tsg-pp-buy,.popup-quick-view,.quick-shop-wrapper) form.variations_form.cart .variations_button.woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button{background:var(--bg-sunken);color:var(--fg-muted);opacity:1}   /* до выбора варианта — серая, не розовая (ревью 2026-11-01); нажатие — подсказка WooCommerce выбрать вариант */
/* быстрая покупка в карточке (значок корзины у товара с вариантами) — поверх фото, вид полей и кнопок как в окне товара */
html body .wd-product .quick-shop-wrapper{padding:16px;background:var(--bg);border-radius:var(--r-lg) var(--r-lg) 0 0}
html body .wd-product .quick-shop-form{text-align:left}
html body .wd-product .quick-shop-close{justify-content:flex-end;margin:0 0 8px}
html body .wd-product .quick-shop-close>a{font-family:var(--font);font-size:13px;font-weight:500;text-transform:none;color:var(--fg-2)}
html body .wd-product .quick-shop-wrapper form.variations_form.cart .variations_button{grid-template-columns:minmax(0,1fr);gap:8px}   /* количество WoodMart тут скрывает (wd-quantity-overlap) — кнопка во всю ширину */
html body .wd-product .quick-shop-wrapper form.cart .single_add_to_cart_button{width:100%;height:44px;padding:0 14px;border-radius:var(--r-pill)!important;text-transform:none;font-size:15px}
