/* ==========================================================================
   woocommerce.css — стили магазина: сетка каталога, тулбар, одиночный товар,
                     inquiry-блок, табы, корзина/оформление (минимально).
   ========================================================================== */

/* ---- Тулбар каталога ---- */
.lm-shop__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-4);
	margin-bottom: var(--sp-5);
	padding-bottom: var(--sp-4);
	border-bottom: 1px solid var(--lm-border);
	flex-wrap: wrap;
}
.woocommerce-result-count {
	margin: 0;
	color: var(--lm-text-muted);
	font-size: var(--lm-fs-sm);
}
.woocommerce-ordering,
.woocommerce-ordering select {
	margin: 0;
	font-size: var(--lm-fs-sm);
}
.woocommerce-ordering select {
	padding: 0.6em 0.9em;
	border: 1px solid var(--lm-border);
	border-radius: var(--r-md);
	background: #fff;
	cursor: pointer;
}

/* ---- Сетка товаров (WooCommerce ul.products) ----
   Используем flex вместо grid: WC вставляет переводы строк между <li>,
   которые в grid-контексте становятся анонимными grid-items и ломают сетку
   (появляется пустая ячейка). Flex игнорирует текстовые узлы. */
.lm-shop__main ul.products,
ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-flow: dense;
	gap: var(--sp-5);
	margin: 0;
	list-style: none;
	padding: 0;
}
ul.products::before,
ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
	display: none !important;   /* убираем WC clearfix — иначе ::before/::after становятся grid-item'ами */
	content: none !important;
}
/* Гарантия: каждый li занимает ровно 1 ячейку, начиная со следующей свободной */
ul.products > li.product {
	grid-column: auto;
	grid-row: auto;
}

/* ---- Карточка товара в цикле (li.product) ---- */
.lm-shop__main li.product,
li.product {
	margin: 0 !important;
	width: auto !important;
	min-width: 0 !important;
	float: none !important;
	clear: none !important;
	display: block;
	background: none;
	text-align: left;
	list-style: none;
}
li.product .lm-product-card { height: 100%; }
li.product img { max-width: 100%; }
li.product .woocommerce-loop-product__title {
	/* не используется, выводим свой заголовок; на всякий случай — скрыть дефолт */
	display: none;
}
li.product .price { display: none !important; }
li.product .button { display: none !important; } /* add-to-cart убран */

/* ---- Одиночный товар ---- */
.lm-product-single {
	padding-top: clamp(0.625rem, 0.4rem + 1vw, 0.9rem);
	padding-bottom: clamp(2.75rem, 1.75rem + 4vw, 4.5rem);
}
.lm-product-single__layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--sp-6);
	align-items: start;
}
.lm-product-single__gallery {
	position: sticky;
	top: calc(var(--lm-header-h) + var(--sp-5));
}
.woocommerce-product-gallery {
	position: relative;
	margin-bottom: var(--sp-4);
}
.woocommerce-product-gallery__image {
	border-radius: var(--r-lg);
	overflow: hidden;
	background: var(--lm-bg-soft);
	box-shadow: var(--sh-2);
}
.woocommerce-product-gallery__image img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.woocommerce-product-gallery__trigger {
	position: absolute;
	top: var(--sp-3);
	right: var(--sp-3);
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	background: rgba(255,255,255,0.9);
	border-radius: var(--r-pill);
	color: var(--lm-text);
	z-index: 2;
}
.woocommerce-product-gallery .flex-control-nav {
	display: flex;
	gap: var(--sp-2);
	margin-top: var(--sp-3);
	flex-wrap: wrap;
	list-style: none;
}
.woocommerce-product-gallery .flex-control-nav img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: var(--r-md);
	border: 2px solid transparent;
	cursor: pointer;
	transition: border-color var(--t-fast);
}
.woocommerce-product-gallery .flex-control-nav img.flex-active,
.woocommerce-product-gallery .flex-control-nav img:hover {
	border-color: var(--lm-text-link);
}

/* Контент товара */
.lm-product-single__summary h1 {
	font-size: clamp(1.8rem, 1.4rem + 2vw, 2.6rem);
	margin-bottom: var(--sp-3);
}
.lm-product-single__summary .lm-product-first-cat {
	display: inline-block;
	font-size: var(--lm-fs-sm);
	font-weight: 600;
	color: var(--lm-text-link);
	margin-bottom: var(--sp-4);
}
.woocommerce-product-details__short-description {
	color: var(--lm-text-muted);
	font-size: var(--lm-fs-md);
	margin-bottom: var(--sp-5);
	padding-bottom: var(--sp-5);
	border-bottom: 1px solid var(--lm-border);
}

/* Inquiry-блок (вместо цены/add-to-cart) */
.lm-product-inquiry {
	margin: var(--sp-5) 0;
	padding: var(--sp-5);
	background: var(--lm-bg-soft);
	border: 1px solid var(--lm-border);
	border-radius: var(--r-lg);
}
.lm-product-inquiry__price {
	font-family: var(--lm-font-display);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--lm-text);
	margin-bottom: var(--sp-4);
}
.lm-product-inquiry__btn { width: 100%; margin-bottom: var(--sp-3); }
.lm-product-inquiry__mail {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	justify-content: center;
	width: 100%;
	padding: 0.7em;
	color: var(--lm-text-muted);
	font-size: var(--lm-fs-sm);
	border-radius: var(--r-md);
	transition: color var(--t-fast);
}
.lm-product-inquiry__mail:hover { color: var(--lm-text-link); }
.lm-product-inquiry__note {
	font-size: var(--lm-fs-sm);
	color: var(--lm-text-faint);
	text-align: center;
	margin-top: var(--sp-3);
	margin-bottom: 0;
}

/* Мета (SKU/категория) */
.lm-product-meta {
	margin-top: var(--sp-5);
	padding-top: var(--sp-4);
	border-top: 1px solid var(--lm-border);
	font-size: var(--lm-fs-sm);
}
.lm-product-meta__row { margin-bottom: var(--sp-2); color: var(--lm-text-muted); font-variant-numeric: tabular-nums; }
.lm-product-meta__row span { color: var(--lm-text-faint); }

/* ---- Табы товара ---- */
.woocommerce-tabs {
	max-width: var(--lm-container);
	margin: var(--sp-8) auto 0;
	padding-top: var(--sp-7);
	border-top: 1px solid var(--lm-border);
}
.wc-tabs {
	display: flex;
	gap: var(--sp-2);
	margin-bottom: var(--sp-5);
	list-style: none;
	padding: 0;
	border-bottom: 1px solid var(--lm-border);
}
.wc-tabs li { margin: 0; padding: 0; }
.wc-tabs li a {
	display: inline-block;
	padding: 0.8em 1.2em;
	font-weight: 600;
	color: var(--lm-text-muted);
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	transition: all var(--t-fast);
}
.wc-tabs li.active a,
.wc-tabs li a:hover {
	color: var(--lm-text-link);
	border-bottom-color: var(--lm-text-link);
}
.wc-tabs li.active a { font-weight: 700; }
.woocommerce-Tabs-panel {
	max-width: var(--lm-content);
	margin: 0 auto;
	font-size: var(--lm-fs-md);
	line-height: 1.75;
}
.woocommerce-Tabs-panel h2,
.woocommerce-Tabs-panel h3 { margin: 1.2em 0 0.5em; }

/* ---- Related products ---- */
.related.products {
	max-width: var(--lm-container);
	margin: var(--sp-8) auto;
}
.related.products > h2 {
	font-size: var(--lm-fs-h3);
	margin-bottom: var(--sp-5);
}
/* Адаптивная сетка related: 1-3 товара — крупно, 4+ — стандартно.
   Финально устанавливается через JS (inline !important), здесь — fallback. */
.related ul.products,
.woocommerce ul.products.columns-4 {
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

/* ---- Корзина / оформление (минимально, WC-стили) ---- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--lm-accent-soft);
	border: 1px solid var(--lm-accent);
	border-radius: var(--r-md);
	padding: var(--sp-4) var(--sp-5);
	margin-bottom: var(--sp-4);
	color: var(--lm-text);
	list-style: none;
}
.woocommerce-error {
	background: rgba(220, 38, 38, 0.08);
	border-color: var(--lm-danger);
}

/* Кнопки WC */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	font-weight: 600;
	padding: 0.85em 1.6em;
	border-radius: var(--r-pill);
	background: var(--lm-violet-deep);
	color: #fff;
	border: none;
	transition: transform var(--t-base), box-shadow var(--t-base), background-color var(--t-base);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	color: #fff;
	transform: translateY(-2px);
	box-shadow: var(--sh-accent);
}

/* Таблицы корзины/оформления */
.woocommerce table.shop_table {
	border: 1px solid var(--lm-border);
	border-radius: var(--r-md);
	border-collapse: collapse;
}
.woocommerce table.shop_table th {
	background: var(--lm-bg-soft);
	font-weight: 600;
}
.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
	padding: var(--sp-3) var(--sp-4);
	border-bottom: 1px solid var(--lm-border);
}

/* Поля ввода WC */
.woocommerce form .form-row input[type="text"],
.woocommerce form .form-row input[type="email"],
.woocommerce form .form-row input[type="tel"],
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	width: 100%;
	padding: 0.7em 0.9em;
	border: 1px solid var(--lm-border-strong);
	border-radius: var(--r-md);
	background: #fff;
	font-size: var(--lm-fs-base);
	transition: border-color var(--t-fast);
}
.woocommerce form .form-row input:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--lm-text-link);
	outline: none;
	box-shadow: 0 0 0 3px var(--lm-accent-soft);
}

/* Тотал */
.woocommerce .cart_totals h2,
.woocommerce-checkout h3 {
	font-size: var(--lm-fs-h3);
	margin-bottom: var(--sp-4);
}
