/*
Theme Name: Нишка по нишка
Theme URI: https://claude.artdeskbg.com
Description: Child theme of Hello Elementor for the Нишка по нишка yarn store. Holds only structural WooCommerce integration; the visual system lives in the Elementor V4 kit.
Author: Нишка по нишка
Template: hello-elementor
Version: 1.0.0
Text Domain: nishka-po-nishka
*/

/* ------------------------------------------------------------------
   WooCommerce integration layer.
   All values reference the Elementor V4 design tokens defined on the
   kit stylesheet. No colour, size or font is hard-coded here.
   This file styles ONLY the WooCommerce templates that Elementor V4
   global classes cannot reach (archive, single, cart, checkout,
   account, notices). It does not duplicate Elementor styling.
------------------------------------------------------------------- */

body.woocommerce, body.woocommerce-page, body {
	background-color: var(--parchment);
	color: var(--carbon-black);
	font-family: var(--font-brand), system-ui, sans-serif;
	font-size: var(--text-body);
	line-height: 1.6;
}

.woocommerce h1, .woocommerce h2, .woocommerce h3,
.woocommerce-page h1, .woocommerce-page h2, .woocommerce-page h3 {
	font-family: var(--font-brand), sans-serif;
	color: var(--carbon-black);
	line-height: 1.12;
	letter-spacing: -0.015em;
}
.woocommerce h1, .woocommerce-page h1 { font-size: var(--text-h1); font-weight: 700; }
.woocommerce h2, .woocommerce-page h2 { font-size: var(--text-h2); font-weight: 600; }
.woocommerce h3, .woocommerce-page h3 { font-size: var(--text-h3); font-weight: 600; }

/* Page shell ---------------------------------------------------- */
.woocommerce .site-main,
.woocommerce-page .site-main {
	max-width: var(--container-lg);
	margin-inline: auto;
	padding-inline: var(--page-padding);
	padding-block: var(--space-xl);
}

/* Product grid -------------------------------------------------- */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--space-lg);
	margin: 0;
	padding: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none; }
.woocommerce ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	display: flex;
	flex-direction: column;
	gap: var(--space-2xs);
	position: relative;
	text-align: left;
}
.woocommerce ul.products li.product a img {
	margin: 0 0 var(--space-2xs);
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 0;
	background: var(--surface);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 1.0625rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--carbon-black);
	padding: 0;
	margin: 0;
}
.woocommerce ul.products li.product .price {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--carbon-black);
	margin: 0;
}
.woocommerce ul.products li.product .price del {
	color: var(--text-muted);
	font-weight: 400;
	opacity: 1;
	margin-inline-end: var(--space-3xs);
}
.woocommerce ul.products li.product .price ins {
	background: transparent;
	text-decoration: none;
	color: var(--error);
}

/* Sale / stock labels ------------------------------------------- */
.woocommerce span.onsale {
	position: absolute;
	top: var(--space-2xs);
	left: var(--space-2xs);
	right: auto;
	margin: 0;
	min-height: 0;
	min-width: 0;
	line-height: 1;
	padding: 6px 10px;
	background: var(--soft-fawn);
	color: var(--carbon-black);
	font-family: var(--font-brand), sans-serif;
	font-size: var(--text-label);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: var(--radius-sm);
	z-index: 2;
}
.woocommerce .stock.in-stock { color: var(--success); font-size: var(--text-small); }
.woocommerce .stock.out-of-stock { color: var(--error); font-size: var(--text-small); }

/* Buttons ------------------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
	font-family: var(--font-brand), sans-serif;
	font-size: var(--text-body);
	font-weight: 600;
	line-height: 1.2;
	min-height: var(--control-height);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 var(--space-md);
	border: 0;
	border-radius: var(--radius-md);
	background: var(--old-rose);
	color: var(--carbon-black);
	text-decoration: none;
	cursor: pointer;
	transition: background-color 160ms ease, color 160ms ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background: var(--rose-hover);
	color: var(--parchment);
}
.woocommerce a.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button.disabled {
	background: var(--border);
	color: var(--text-muted);
	cursor: not-allowed;
	opacity: 1;
}
.woocommerce ul.products li.product .button { width: 100%; margin-top: var(--space-3xs); }

/* Single product ------------------------------------------------ */
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xl); align-items: start; }
.woocommerce div.product .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0; }
.woocommerce div.product .summary { width: 100% !important; float: none !important; margin: 0; }
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .up-sells { grid-column: 1 / -1; }
.woocommerce div.product .product_title { font-size: var(--text-h2); font-weight: 700; margin-bottom: var(--space-2xs); }
.woocommerce div.product p.price,
.woocommerce div.product span.price { font-size: 1.5rem; font-weight: 700; color: var(--carbon-black); margin-bottom: var(--space-sm); }
.woocommerce div.product p.price del { color: var(--text-muted); font-weight: 400; }
.woocommerce div.product p.price ins { background: transparent; color: var(--error); text-decoration: none; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--text-muted); margin-bottom: var(--space-sm); }

/* Variations ---------------------------------------------------- */
.woocommerce div.product form.cart .variations { margin-bottom: var(--space-sm); border: 0; }
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td { display: block; width: 100%; text-align: left; padding: 0 0 var(--space-2xs); border: 0; }
.woocommerce div.product form.cart .variations label {
	font-weight: 600;
	font-size: var(--text-small);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--text-muted);
}
.woocommerce div.product form.cart .reset_variations {
	font-size: var(--text-small);
	color: var(--rose-hover);
}
.woocommerce div.product form.cart .woocommerce-variation-price { margin-bottom: var(--space-2xs); }
.woocommerce div.product form.cart { display: flex; flex-direction: column; gap: var(--space-2xs); }
.woocommerce div.product form.cart .single_variation_wrap { display: flex; flex-direction: column; gap: var(--space-2xs); }

/* Form controls ------------------------------------------------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce table.cart td.actions .coupon .input-text,
.woocommerce div.product form.cart .variations select,
.woocommerce .quantity .qty,
.select2-container .select2-selection--single {
	font-family: var(--font-brand), sans-serif;
	font-size: var(--text-body);
	color: var(--carbon-black);
	background: var(--surface);
	border: var(--border-hairline) solid var(--border);
	border-radius: var(--radius-md);
	min-height: var(--control-height);
	padding: 0 var(--space-xs);
	width: 100%;
	box-shadow: none;
}
.woocommerce .quantity .qty { width: 5.5rem; text-align: center; }
.woocommerce form .form-row textarea { padding-block: var(--space-xs); min-height: 7rem; line-height: 1.6; }
.woocommerce form .form-row label { font-weight: 500; font-size: var(--text-small); margin-bottom: var(--space-3xs); display: block; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce div.product form.cart .variations select:focus {
	outline: 2px solid var(--old-rose);
	outline-offset: 1px;
	border-color: var(--old-rose);
}
.select2-container--default .select2-selection--single { height: var(--control-height); display: flex; align-items: center; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: var(--control-height); }
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select { border-color: var(--error); }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: var(--success); }
.required { color: var(--error); }

/* Notices ------------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	font-family: var(--font-brand), sans-serif;
	background: var(--surface);
	color: var(--carbon-black);
	border-top: 0;
	border-left: 3px solid var(--old-rose);
	border-radius: var(--radius-md);
	padding: var(--space-sm) var(--space-md);
	margin-bottom: var(--space-md);
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2xs);
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }
.woocommerce-message { border-left-color: var(--success); }
.woocommerce-error { border-left-color: var(--error); }
.woocommerce-info { border-left-color: var(--muted-teal); }
.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button { margin-left: auto; }

/* Cart ---------------------------------------------------------- */
.woocommerce table.shop_table {
	border: 0;
	border-radius: var(--radius-md);
	border-collapse: collapse;
	background: var(--surface);
	overflow: hidden;
}
.woocommerce table.shop_table th {
	font-family: var(--font-brand), sans-serif;
	font-weight: 600;
	font-size: var(--text-small);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--text-muted);
	padding: var(--space-sm);
	border-bottom: var(--border-hairline) solid var(--border);
}
.woocommerce table.shop_table td {
	padding: var(--space-sm);
	border-top: var(--border-hairline) solid var(--border);
	vertical-align: middle;
}
.woocommerce table.cart img { width: 72px; height: 72px; object-fit: cover; border-radius: var(--radius-sm); }
.woocommerce .cart_totals h2 { font-size: var(--text-h3); margin-bottom: var(--space-sm); }
.woocommerce a.remove {
	color: var(--error) !important;
	font-weight: 400;
	line-height: 1;
}
.woocommerce a.remove:hover { background: var(--error) !important; color: var(--surface) !important; }

/* Checkout ------------------------------------------------------ */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review { background: transparent; }
.woocommerce-checkout h3 { font-size: var(--text-h3); margin-bottom: var(--space-sm); padding-top: var(--space-sm); }
.woocommerce-checkout #payment {
	background: var(--surface);
	border-radius: var(--radius-md);
	border: var(--border-hairline) solid var(--border);
	padding: var(--space-sm);
}
.woocommerce-checkout #payment ul.payment_methods { border-bottom: var(--border-hairline) solid var(--border); padding: 0 0 var(--space-sm); }
.woocommerce-checkout #payment div.payment_box {
	background: var(--parchment);
	color: var(--carbon-black);
	border-radius: var(--radius-sm);
	font-size: var(--text-small);
}
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--parchment); }
.woocommerce-checkout #payment #place_order { width: 100%; margin-top: var(--space-sm); }
.woocommerce ul#shipping_method li { margin: 0; padding: var(--space-3xs) 0; }
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td { font-weight: 700; }

/* My account ---------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation { width: 24%; }
.woocommerce-account .woocommerce-MyAccount-content { width: 72%; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-3xs); }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: var(--space-2xs) var(--space-xs);
	border-radius: var(--radius-md);
	color: var(--carbon-black);
	text-decoration: none;
	font-weight: 500;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--old-rose); color: var(--carbon-black); }
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-ResetPassword {
	background: var(--surface);
	border: var(--border-hairline) solid var(--border);
	border-radius: var(--radius-md);
	padding: var(--space-md);
	max-width: var(--container-sm);
}

/* Breadcrumb / result count / ordering -------------------------- */
.woocommerce .woocommerce-breadcrumb { color: var(--text-muted); font-size: var(--text-small); margin-bottom: var(--space-sm); }
.woocommerce .woocommerce-breadcrumb a { color: var(--text-muted); }
.woocommerce .woocommerce-result-count { color: var(--text-muted); font-size: var(--text-small); }
.woocommerce .woocommerce-ordering select { max-width: 16rem; }
.woocommerce nav.woocommerce-pagination ul { border: 0; gap: var(--space-3xs); display: flex; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border-radius: var(--radius-sm);
	padding: var(--space-3xs) var(--space-2xs);
	color: var(--carbon-black);
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--old-rose); }

/* Links --------------------------------------------------------- */
.woocommerce a { color: var(--rose-hover); }
.woocommerce a:hover { color: var(--carbon-black); }
.woocommerce ul.products li.product a,
.woocommerce div.product .product_title { color: var(--carbon-black); text-decoration: none; }

/* Responsive ---------------------------------------------------- */
@media (max-width: 1024px) {
	.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); }
	.woocommerce div.product { grid-template-columns: 1fr; gap: var(--space-md); }
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
	.woocommerce table.shop_table_responsive tr td { text-align: right; }
	.woocommerce-checkout #payment #place_order { min-height: 52px; font-size: 1.0625rem; }
	.woocommerce .quantity .qty { width: 100%; min-width: 4.5rem; }
}
@media (max-width: 480px) {
	.woocommerce ul.products { gap: var(--space-xs); }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 0.9375rem; }
}