/* Woo styles mapping */

/* Аудит Task 19: `.t-root a { color: inherit }` (components.css) специфічністю (0,1,1) переважає
   колір тексту кнопок-посилань — `.t-btn` (0,1,0) і Woo/Blocksy `.button` (0,1,0) — тому текст
   успадковує ink замість кольору кнопки: «До кави», «Повернутись в магазин», «Оформлення
   замовлення» показують ink на теракотовому тлі (2,9:1 замість ≥4,5:1 AA). Тут — вища
   специфічність (0,2,1), що повертає задуманий колір з уже правильної змінної/токена. */
.t-root a.t-btn { color: var(--_fg); text-decoration: none; }
.t-root a.button { color: var(--t-on-terra); text-decoration: none; }
.trisk-demo-note { margin: 0 0 var(--t-space-4); font-size: var(--t-text-sm); color: var(--t-ink-soft); }

/* сторінка товару: дві рівні колонки всередині обгортки Blocksy (не на div.product) */
.single-product .product-entry-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--t-space-8);
	align-items: start;
}
.single-product .product-entry-wrapper > .woocommerce-product-gallery,
.single-product .product-entry-wrapper > .entry-summary {
	width: auto;
	max-width: none;
	margin: 0;
}
.single-product .woocommerce-product-gallery {
	position: sticky;
	top: var(--t-space-5);
	margin: 0;
}
/* роздільники Blocksy дублюють власні лінії системи */
.single-product .entry-summary > .ct-product-divider {
	display: none;
}
.single-product .woocommerce-product-gallery img {
	background: var(--t-kraft);
	border-radius: var(--t-radius-s);
	aspect-ratio: 4 / 5;
	object-fit: cover;
	width: 100%;
	display: block;
}
.single-product .ds-pdp__info,
.single-product .entry-summary {
	display: grid;
	gap: var(--t-space-5);
	margin: 0;
}
.single-product .product_title {
	font-family: var(--t-font-serif);
	font-weight: 500;
	font-size: var(--t-text-2xl);
	margin: 0;
}
.single-product .woocommerce-product-details__short-description {
	margin: 0;
}
.single-product .woocommerce-product-details__short-description p {
	font-size: var(--t-text-lg);
	color: var(--t-ink-soft);
	line-height: 1.55;
	margin: 0;
}

/* Приховати стандартні ціни Woo, таби та дублюючі блоки Blocksy */
.single-product .entry-summary > .price,
.single-product .entry-summary [data-id="price"],
.single-product .woocommerce-variation-price,
.single-product .product_meta,
.single-product .entry-summary [data-id="product_meta"],
.single-product .woocommerce-tabs {
	display: none !important;
}

.single-product .variations {
	width: 100%;
	border: none;
	margin: 0;
}
.single-product .variations tbody,
.single-product .variations tr,
.single-product .variations th,
.single-product .variations td {
	display: block;
	width: 100%;
	padding: 0;
	border: none;
}
.single-product .variations .t-choice {
	width: 100%;
}
.single-product .variations .t-choice__row {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.single-product .variations th.label {
	font-size: var(--t-text-sm);
	font-weight: 600;
	text-align: left;
	margin-bottom: var(--t-space-2);
}
.single-product .variations td {
	margin-bottom: var(--t-space-4);
}
.single-product .reset_variations {
	font-size: var(--t-text-sm);
	color: var(--t-ink-soft);
}

.single-product .ds-pdp__price {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--t-space-4);
	flex-wrap: wrap;
	margin-top: var(--t-space-2);
}

/* Кількість та покупка */
.single-product form.cart {
	display: grid;
	gap: var(--t-space-5);
	margin: 0;
}
.single-product .single_variation_wrap {
	display: grid;
	gap: var(--t-space-4);
}
.single-product .ct-cart-actions {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: var(--t-space-3);
	padding-top: var(--t-space-5);
	border-top: var(--t-border);
}
/* лічильник Blocksy (type-2) у вигляді .t-qty: − | 1 | + */
.single-product form.cart .quantity {
	display: inline-grid;
	grid-template-columns: 2.75rem 3rem 2.75rem;
	flex: none;
	width: auto;
	height: 3rem;
	margin: 0;
	border: var(--t-border-strong);
	border-radius: var(--t-radius-s);
	background: var(--t-paper-raised);
}
.single-product form.cart .quantity .ct-decrease,
.single-product form.cart .quantity .ct-increase {
	position: static;
	grid-row: 1;
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	color: var(--t-ink);
	cursor: pointer;
}
.single-product form.cart .quantity .ct-decrease { grid-column: 1; }
.single-product form.cart .quantity .ct-increase { grid-column: 3; }
.single-product form.cart .quantity .ct-decrease:hover,
.single-product form.cart .quantity .ct-increase:hover {
	background: var(--t-roast-ghost);
}
.single-product form.cart .quantity input.qty {
	grid-column: 2;
	grid-row: 1;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	border-inline: var(--t-border);
	border-radius: 0;
	background: transparent;
	font: 400 var(--t-text-sm) var(--t-font-mono);
	text-align: center;
	-moz-appearance: textfield;
}
.single-product form.cart .quantity input.qty::-webkit-inner-spin-button,
.single-product form.cart .quantity input.qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.single-product .single_add_to_cart_button {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--t-space-2);
	min-height: 3rem;
	padding: 0 var(--t-space-5);
	border: 1.5px solid var(--t-terra);
	border-radius: var(--t-radius-s);
	background: var(--t-terra);
	color: var(--t-on-terra);
	font: 700 var(--t-text-sm) / 1 var(--t-font-sans);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: background-color var(--t-dur) var(--t-ease-out);
	cursor: pointer;
}
.single-product .single_add_to_cart_button:hover {
	background: var(--t-terra-press);
	border-color: var(--t-terra-press);
}
.single-product .single_add_to_cart_button.disabled {
	background: var(--t-roast-ghost);
	border-color: transparent;
	color: var(--t-ink-soft);
	cursor: not-allowed;
}

/* Шлях цієї пачки */
.single-product .ds-journey,
.ds-journey {
	display: grid;
	gap: var(--t-space-5);
	margin-top: var(--t-space-8);
	padding: var(--t-space-6) var(--t-gutter);
	border-radius: var(--t-radius-s);
}
.single-product .ds-journey .t-journey__date,
.ds-journey .t-journey__date {
	color: var(--t-ink-soft);
}

/* Супутні товари */
.single-product .related.products {
	margin-top: var(--t-space-8);
}

@media (max-width: 56rem) {
	.single-product .product-entry-wrapper {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--t-space-6);
	}
	.single-product .woocommerce-product-gallery {
		position: static;
	}
}

/* ── Каталог і картки ────────────────────────────────────────── */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--t-space-6) var(--t-space-5);
	margin: 0;
	padding: 0;
	list-style: none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}
.woocommerce ul.products li.product {
	width: auto;
	margin: 0;
	float: none;
	list-style: none;
}
.woocommerce ul.products .t-plate img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: none;
}
/* поруч із сайдбаром чотири колонки не вміщають рядок ціни */
[data-sidebar] .woocommerce ul.products,
.woocommerce [data-sidebar] ul.products {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 64rem) {
	.woocommerce ul.products,
	[data-sidebar] .woocommerce ul.products,
	.woocommerce [data-sidebar] ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
/* вертикальна картка: рядок ціни притиснутий донизу й ніколи не переноситься */
@media (min-width: 30.0625rem) {
	ul.products li.product {
		display: flex;
	}
	ul.products li.product .t-card {
		display: flex;
		flex-direction: column;
		flex: 1;
	}
	ul.products li.product .t-card__foot {
		flex-wrap: nowrap;
		margin-top: auto;
	}
}
@media (max-width: 30rem) {
	.woocommerce ul.products,
	[data-sidebar] .woocommerce ul.products,
	.woocommerce [data-sidebar] ul.products {
		grid-template-columns: 1fr;
		gap: var(--t-space-5);
	}
}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select {
	font-size: var(--t-text-sm);
}

/* Сайдбар каталогу та фільтри */
#sidebar .ct-widget {
	margin-bottom: var(--t-space-6);
}
#sidebar .widget-title {
	font-family: var(--t-font-display);
	font-weight: 800;
	font-size: var(--t-text-lg);
	text-transform: uppercase;
	letter-spacing: var(--t-track-caps);
	margin-bottom: var(--t-space-3);
}
#sidebar .woocommerce-widget-layered-nav-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: var(--t-space-2);
}
#sidebar .woocommerce-widget-layered-nav-list li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-size: var(--t-text-sm);
}
#sidebar .woocommerce-widget-layered-nav-list a {
	color: var(--t-ink);
	text-decoration: none;
}
#sidebar .woocommerce-widget-layered-nav-list a:hover {
	color: var(--t-terra);
}
#sidebar .woocommerce-widget-layered-nav-list .count {
	font-family: var(--t-font-mono);
	font-size: var(--t-text-xs);
	color: var(--t-ink-soft);
}

/* ── Чекаут ──────────────────────────────────────────────────── */
.woocommerce form .form-row { display: grid; gap: var(--t-space-1); margin: 0 0 var(--t-space-4); padding: 0; }
.woocommerce form .form-row label { font-size: var(--t-text-sm); font-weight: 600; }
.woocommerce form .form-row .required { color: var(--t-terra); text-decoration: none; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select { min-height: 3rem; padding: 0 var(--t-space-4); border: 1px solid var(--t-line-strong); border-radius: var(--t-radius-s); background: var(--t-paper-raised); font: 400 var(--t-text-base) var(--t-font-sans); color: var(--t-ink); }
.woocommerce form .form-row textarea { padding-block: var(--t-space-3); min-height: 6rem; }
.woocommerce form .form-row input.input-text:focus-visible { outline: none; border-color: var(--t-ink); box-shadow: 0 0 0 3px color-mix(in srgb, var(--t-focus) 28%, transparent); }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: var(--t-error); }
.trisk-hidden { display: none !important; }
/* Рядок кнопки теж .form-row: повертаємо мобільний відступ Blocksy, який обнулило правило вище. */
@media (max-width: 689.98px) { .woocommerce-checkout-payment .form-row.place-order { padding-inline: var(--t-space-5); } }
.woocommerce #place_order { width: 100%; min-height: 3rem; border-radius: var(--t-radius-s); background: var(--t-terra); color: var(--t-on-terra); font: 700 var(--t-text-sm)/1 var(--t-font-sans); letter-spacing: 0.06em; text-transform: uppercase; }
.woocommerce #place_order:hover { background: var(--t-terra-press); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border: 0; border-radius: var(--t-radius-s); padding: var(--t-space-4) var(--t-space-5); font-size: var(--t-text-sm); }
.woocommerce-message { background: var(--t-ok-bg); color: var(--t-ink); }
.woocommerce-info { background: var(--t-warn-bg); color: var(--t-ink); }
.woocommerce-error { background: var(--t-error-bg); color: var(--t-ink); }
/* Іконка Woo стоїть абсолютно в лівому відступі, який ми замінили: без неї текст не перекривається. */
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }

/* ── Дякуємо за замовлення ──────────────────────────────────── */
.trisk-thanks { display: grid; gap: var(--t-space-6); padding-block: var(--t-space-7); }
.trisk-thanks__journey { padding: var(--t-space-6) var(--t-gutter); border-radius: var(--t-radius-s); }
/* Заголовок сторінки «Оформлення замовлення» від Blocksy дублює h1 подяки: на order-received лишаємо один. */
.woocommerce-order-received .hero-section { display: none; }
/* Блок «Платіжна адреса»: поля адреси прибрані (Task 11/13), лишились ім'я, телефон, e-mail.
   Стандартний абзацний відступ Blocksy (~1.5em) між <p class="woocommerce-customer-details--*">
   читається як порожній рядок між телефоном і поштою. Стягуємо до токена дрібного кроку. */
.woocommerce-customer-details address { line-height: 1.55; }
.woocommerce-customer-details address p { margin: 0 0 var(--t-space-1); }
.woocommerce-customer-details address p:last-child { margin-bottom: 0; }
