/* ==========================================================================
   WooCommerce — приведение стандартного вывода к дизайн-системе.
   Если каталог собран на Elementor Loop Grid, большая часть этого файла
   не нужна, но он не мешает.
   ========================================================================== */

.woocommerce ul.products{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--imi-edge);
  box-shadow: 0 0 0 1px var(--imi-edge);
  margin: 0; padding: 0; list-style: none;
}
@media (max-width: 1024px){ .woocommerce ul.products{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .woocommerce ul.products{ grid-template-columns: 1fr; } }

.woocommerce ul.products li.product{
  background: var(--imi-void);
  margin: 0; padding: 0; width: auto; float: none;
  display: flex; flex-direction: column;
  position: relative;
  transition: background .2s;
}
.woocommerce ul.products li.product:hover{ background: var(--imi-steel); }

/* Фото на светлой подложке — белый фон снимка становится прозрачным */
.woocommerce ul.products li.product a img{
  background: var(--imi-plate);
  mix-blend-mode: multiply;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  padding: 10%;
  margin: 0;
  transition: transform .5s var(--imi-ease);
}
.woocommerce ul.products li.product:hover a img{ transform: scale(1.06); }

.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family: var(--imi-fd); font-weight: 700; text-transform: uppercase;
  font-size: 1.06rem; line-height: .94; letter-spacing: .005em;
  color: var(--imi-bone);
  padding: 15px 16px 0; margin: 0;
}
.woocommerce ul.products li.product .price{
  font-family: var(--imi-fd); font-weight: 800; font-size: 1.3rem; line-height: 1;
  color: var(--imi-bone); font-variant-numeric: tabular-nums;
  padding: 0 16px 16px; margin-top: auto;
}
.woocommerce ul.products li.product .price del{ color: var(--imi-ash-2); font-size: .86rem; margin-right: 7px; }
.woocommerce ul.products li.product .price ins{ text-decoration: none; }

/* Строка данных испытаний, которую добавляет inc/woocommerce.php */
.imi-loop-data{
  display: flex; gap: 12px; flex-wrap: wrap;
  font-family: var(--imi-fc); font-weight: 500; font-size: .76rem;
  letter-spacing: .09em; text-transform: uppercase; color: var(--imi-ash-2);
  padding: 8px 16px 0; margin: 0;
}
.imi-loop-data b{ color: var(--imi-ash); font-weight: 600; }

/* Кнопка «в корзину» в каталоге */
.woocommerce ul.products li.product .button{
  margin: 10px 16px 16px; align-self: flex-start;
  background: none; color: var(--imi-ash-2);
  box-shadow: inset 0 0 0 1px var(--imi-edge);
  border-radius: 0; padding: 7px 12px;
  font-family: var(--imi-fc); font-weight: 600; font-size: .76rem;
  letter-spacing: .13em; text-transform: uppercase;
  transition: color .18s, box-shadow .18s;
}
.woocommerce ul.products li.product:hover .button{ color: var(--imi-gold); box-shadow: inset 0 0 0 1px var(--imi-gold); }

/* Плашка «Sale» — в системе это метка в углу, а не круг */
.woocommerce span.onsale{
  position: absolute; top: 0; left: 0; right: auto; z-index: 2;
  min-width: 0; min-height: 0; line-height: 1; border-radius: 0; margin: 0;
  background: var(--imi-gold); color: #140F02;
  font-family: var(--imi-fc); font-weight: 700; font-size: .72rem;
  letter-spacing: .14em; text-transform: uppercase; padding: 5px 11px;
  clip-path: polygon(0 0, 100% 0, calc(100% - 9px) 100%, 0 100%);
}

/* --- Карточка товара ----------------------------------------------------- */

.woocommerce div.product .woocommerce-product-gallery__image img{
  background: var(--imi-plate);
  mix-blend-mode: multiply;
}
.woocommerce div.product .product_title{
  font-family: var(--imi-fd); font-weight: 900; text-transform: uppercase;
  font-size: clamp(1.9rem, 3.4vw, 2.9rem); line-height: .86; letter-spacing: -.018em;
}
.woocommerce div.product p.price{
  font-family: var(--imi-fd); font-weight: 900;
  font-size: clamp(2.2rem, 3.6vw, 3rem); line-height: .9; letter-spacing: -.02em;
  color: var(--imi-bone); font-variant-numeric: tabular-nums;
}
.woocommerce div.product p.price del{ color: var(--imi-ash-2); font-size: 1.05rem; }
.woocommerce div.product p.price ins{ text-decoration: none; }

.woocommerce div.product form.cart .button{
  background: var(--imi-gold); color: #140F02; border-radius: 0;
  font-family: var(--imi-fd); font-weight: 800; text-transform: uppercase;
  font-size: 1.02rem; letter-spacing: .02em; padding: 15px 28px;
}
.woocommerce div.product form.cart .button:hover{ background: var(--imi-gold-2); color: #140F02; }

/* Вкладки */
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display: flex; gap: 1px; padding: 0; margin: 0 0 0;
  background: var(--imi-edge); box-shadow: 0 0 0 1px var(--imi-edge);
  flex-wrap: wrap;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background: var(--imi-void); border: 0; border-radius: 0; margin: 0; padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{ display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display: block; padding: 13px 20px;
  font-family: var(--imi-fd); font-weight: 700; text-transform: uppercase;
  font-size: 1rem; color: var(--imi-ash);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ background: var(--imi-gold); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{ color: #140F02; }
.woocommerce div.product .woocommerce-tabs .panel{
  box-shadow: inset 0 0 0 1px var(--imi-edge);
  padding: clamp(22px, 3vw, 34px); margin: 0;
}

/* Таблица характеристик */
.woocommerce table.shop_attributes{ border: 0; }
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td{
  border: 0; border-bottom: 1px solid var(--imi-edge);
  padding: 10px 14px; font-style: normal;
}
.woocommerce table.shop_attributes th{
  font-family: var(--imi-fc); font-weight: 500; font-size: .78rem;
  letter-spacing: .11em; text-transform: uppercase; color: var(--imi-ash-2); width: 44%;
}
.woocommerce table.shop_attributes td{ color: var(--imi-bone); font-variant-numeric: tabular-nums; }

/* Уведомления — в системе это imi-note */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message{
  background: var(--imi-steel); color: var(--imi-ash);
  box-shadow: inset 0 0 0 1px var(--imi-edge);
  border-top: 0; border-left: 3px solid var(--imi-gold);
  border-radius: 0; padding: 16px 20px;
}
.woocommerce-error{ border-left-color: var(--imi-sig); }
.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before{ display: none; }

/* --- Корзина, оформление, личный кабинет --------------------------------- */
.woocommerce table.shop_table{border:0;border-collapse:collapse;box-shadow:0 0 0 1px var(--imi-edge);border-radius:0}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border:0;border-bottom:1px solid var(--imi-edge);padding:14px 16px;color:var(--imi-ash)}
.woocommerce table.shop_table th{font-family:var(--imi-fc);font-weight:600;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--imi-gold);background:var(--imi-steel)}
.woocommerce table.shop_table td.product-name a{color:var(--imi-bone);font-weight:600}
.woocommerce table.shop_table td img{background:var(--imi-plate);mix-blend-mode:multiply;width:64px}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{background:var(--imi-steel);box-shadow:inset 0 0 0 1px var(--imi-edge);padding:22px}
.woocommerce .cart-collaterals h2,.woocommerce-checkout h3{font-family:var(--imi-fd);font-weight:800;text-transform:uppercase;font-size:1.3rem;line-height:1;margin:0 0 16px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce-cart .coupon .input-text{
  background:var(--imi-void);color:var(--imi-bone);border:0;box-shadow:inset 0 0 0 1px var(--imi-edge);border-radius:0;padding:12px 14px;font-family:var(--imi-fb);font-size:.95rem}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{box-shadow:inset 0 0 0 1px var(--imi-gold);outline:0}
.woocommerce form .form-row label{font-family:var(--imi-fc);font-weight:600;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--imi-ash-2)}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #payment #place_order{
  background:var(--imi-gold);color:#140F02;border-radius:0;font-family:var(--imi-fd);font-weight:800;text-transform:uppercase;font-size:1rem;letter-spacing:.02em;padding:13px 24px;border:0}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce #payment #place_order:hover{background:var(--imi-gold-2);color:#140F02}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--imi-bone);color:var(--imi-void)}
.woocommerce #payment ul.payment_methods{border:0}.woocommerce #payment ul.payment_methods li{color:var(--imi-ash)}
.woocommerce #payment div.payment_box{background:var(--imi-steel-2);color:var(--imi-ash);border-radius:0}
.woocommerce #payment div.payment_box::before{display:none}
.woocommerce-MyAccount-navigation ul{margin:0;padding:0;list-style:none;display:grid;gap:1px;background:var(--imi-edge);box-shadow:0 0 0 1px var(--imi-edge)}
.woocommerce-MyAccount-navigation li{background:var(--imi-void)}
.woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px;font-family:var(--imi-fd);font-weight:700;text-transform:uppercase;font-size:1rem;color:var(--imi-ash);text-decoration:none}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{background:var(--imi-steel);color:var(--imi-gold)}
.woocommerce-MyAccount-content{color:var(--imi-ash)}
.woocommerce-MyAccount-content a{color:var(--imi-gold)}
.woocommerce-form-login,.woocommerce-form-register,.woocommerce-ResetPassword{background:var(--imi-steel);box-shadow:inset 0 0 0 1px var(--imi-edge);padding:24px;border:0;border-radius:0}
.woocommerce-account .woocommerce-MyAccount-navigation{width:26%}.woocommerce-account .woocommerce-MyAccount-content{width:70%}
@media (max-width:768px){.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{width:100%;float:none}}
.woocommerce-breadcrumb{font-family:var(--imi-fc);font-weight:500;font-size:.8rem;letter-spacing:.11em;text-transform:uppercase;color:var(--imi-ash-2)!important;padding-block:16px;border-bottom:1px solid var(--imi-edge);margin:0 0 20px!important}
.woocommerce-breadcrumb a{color:var(--imi-ash-2)!important}.woocommerce-breadcrumb a:hover{color:var(--imi-gold)!important}
.woocommerce .woocommerce-result-count{font-family:var(--imi-fc);font-weight:600;font-size:.84rem;letter-spacing:.12em;text-transform:uppercase;color:var(--imi-ash-2)}
.woocommerce .woocommerce-ordering select{background:var(--imi-void);color:var(--imi-ash);border:0;box-shadow:inset 0 0 0 1px var(--imi-edge);padding:9px 14px;font-family:var(--imi-fc);font-weight:600;font-size:.82rem;letter-spacing:.11em;text-transform:uppercase}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:1px;background:var(--imi-edge);box-shadow:0 0 0 1px var(--imi-edge);width:fit-content;margin:40px auto 0}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{background:var(--imi-void);color:var(--imi-ash);min-width:42px;height:42px;display:grid;place-items:center;font-family:var(--imi-fd);font-weight:700;font-size:1rem;padding-inline:14px}
.woocommerce nav.woocommerce-pagination ul li span.current,.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--imi-gold);color:#140F02}
.woocommerce div.product .woocommerce-product-gallery{margin-bottom:0}
.woocommerce div.product form.cart .variations td{padding:6px 0}
.woocommerce div.product form.cart .variations select{background:var(--imi-void);color:var(--imi-bone);border:0;box-shadow:inset 0 0 0 1px var(--imi-edge);padding:11px 14px;font-family:var(--imi-fc);font-weight:600;font-size:.86rem;letter-spacing:.09em;text-transform:uppercase}
.woocommerce div.product form.cart .variations label{font-family:var(--imi-fc);font-weight:600;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--imi-ash-2)}
.woocommerce div.product form.cart .reset_variations{color:var(--imi-ash-2);font-size:.8rem}
.woocommerce .quantity .qty{background:var(--imi-void);color:var(--imi-bone);border:0;box-shadow:inset 0 0 0 1px var(--imi-edge);padding:12px 6px;font-family:var(--imi-fd);font-weight:700;font-size:1.05rem}
.woocommerce div.product .product_meta{font-family:var(--imi-fc);font-weight:500;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--imi-ash-2);padding-top:16px;border-top:1px solid var(--imi-edge)}
.woocommerce div.product .product_meta a{color:var(--imi-ash)}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--imi-ash);font-size:.98rem;line-height:1.6}
.woocommerce div.product .woocommerce-product-details__short-description p{max-width:60ch}
