/* =========================================================
   K-STYLE CHECKOUT / CART
   Premium checkout layout without sticky/fixed columns
   ========================================================= */

/* ---------- Base inherited fixes ---------- */

.order-review .cart_item .product-name {
	width: auto;
}

@media only screen and (min-width: 769px) {
	#billing_address_2_field {
		margin-top: 31px;
	}
}

.woocommerce-checkout #billing_country,
.woocommerce-checkout #billing_country_field {
	display: none !important;
}

.payment_method_yookassa_widget #pay_forma {
	display: none;
}

.checkout_coupon.woocommerce-form-coupon .button {
	margin-left: 20px;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
	background-color: #f3f4f6 !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 16px !important;
	color: #374151 !important;
}

/* ---------- Layout ---------- */

.woocommerce-checkout form.checkout.kstyle-checkout-form {
	width: 100%;
	margin: 0;
}

.kstyle-checkout-layout {
	display: grid;
	grid-template-columns: minmax(0, 68%) minmax(280px, 32%);
	gap: 28px;
	align-items: start;
	width: 100%;
}

.kstyle-checkout-main,
.kstyle-checkout-sidebar {
	min-width: 0;
}

.kstyle-checkout-main {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.kstyle-checkout-sidebar {
	display: flex;
	flex-direction: column;
	gap: 14px;
	position: static !important;
	top: auto !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
}

/* neutralize old XStore column behavior on checkout */
.woocommerce-checkout .kstyle-checkout-layout .col-md-7,
.woocommerce-checkout .kstyle-checkout-layout .col-md-5,
.woocommerce-checkout .kstyle-checkout-layout .cart-order-details {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	flex: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* ---------- Cards ---------- */

.kstyle-checkout-card,
.kstyle-checkout-side-card,
#customer_details,
.cart-order-details {
	background: #fff !important;
	border: 1px solid #eceff3 !important;
	border-radius: 24px !important;
	box-shadow: 0 18px 48px rgba(15,23,42,.055) !important;
}

.kstyle-checkout-card {
	padding: 24px !important;
}

.kstyle-checkout-side-card {
	padding: 18px 20px 17px !important;
}

.kstyle-checkout-order-card {
	box-shadow: 0 18px 48px rgba(15,23,42,.07) !important;
}

.kstyle-checkout-card-header {
	margin: 0 0 18px;
	padding: 0 0 16px;
	border-bottom: 1px solid #eef1f4;
}

.kstyle-checkout-card-header .step-title,
.woocommerce-checkout .kstyle-checkout-card-header .step-title,
.woocommerce-checkout .kstyle-checkout-card-header h3 {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: 22px !important;
	line-height: 1.18 !important;
	font-weight: 600 !important;
	color: #1f2937 !important;
	text-transform: none !important;
	letter-spacing: -0.03em !important;
}

.kstyle-checkout-card-subtitle {
	margin: 8px 0 0;
	font-size: 15px;
	line-height: 1.45;
	color: #6b7280;
}

/* remove nested card look from Woo/XStore blocks */

.kstyle-checkout-card > .order-review,
.kstyle-checkout-review-order,
.kstyle-checkout-review-order #payment,
.kstyle-checkout-review-order .woocommerce-checkout-review-order-table-wrapper,
.kstyle-checkout-review-order .shop_table,
#customer_details,
#customer_details .col-1,
#customer_details .col-2,
#customer_details .woocommerce-billing-fields,
#customer_details .woocommerce-billing-fields__field-wrapper,
#customer_details .woocommerce-shipping-fields,
#customer_details .woocommerce-additional-fields {
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* ---------- Order review table ---------- */

.woocommerce-checkout-review-order-table,
.woocommerce-checkout-review-order-table * {
	border-left: 0 !important;
	border-right: 0 !important;
}

.woocommerce-checkout-review-order-table {
	width: 100% !important;
	margin: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	background: transparent !important;
}

.woocommerce-checkout-review-order-table thead th {
	padding: 0 0 12px !important;
	border-top: 0 !important;
	border-bottom: 1px solid #eef1f4 !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	font-weight: 600 !important;
	color: #6b7280 !important;
	text-transform: uppercase !important;
	letter-spacing: .04em !important;
}

.woocommerce-checkout-review-order-table tbody td {
	padding: 18px 0 !important;
	border-top: 0 !important;
	border-bottom: 1px solid #f1f3f5 !important;
	vertical-align: top !important;
}

.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
	padding: 14px 0 !important;
	border-top: 1px solid #f1f3f5 !important;
	font-size: 15px !important;
	line-height: 1.4 !important;
	color: #374151 !important;
	vertical-align: top !important;
}

.woocommerce-checkout-review-order-table tfoot th {
	font-weight: 600 !important;
}

.woocommerce-checkout-review-order-table tfoot td {
	text-align: right !important;
	font-weight: 600 !important;
}

.woocommerce-checkout-review-order-table .cart-subtotal {
	display: none !important;
}

.woocommerce-checkout-review-order-table .cart_item .product-name {
	width: auto !important;
	padding-right: 18px !important;
}

.woocommerce-checkout-review-order-table .product-name-info {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
}

.woocommerce-checkout-review-order-table .product-name-info > .product-name,
.woocommerce-checkout-review-order-table td.product-name > .product-name {
	margin: 0 0 8px !important;
	font-size: 16px !important;
	line-height: 1.35 !important;
	font-weight: 600 !important;
	color: #1f2937 !important;
}

.woocommerce-checkout-review-order-table .product-price-quantity {
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	margin: 0 0 10px !important;
	padding: 5px 10px !important;
	border-radius: 999px !important;
	background: #f8fafc !important;
	border: 1px solid #eef1f4 !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	color: #4b5563 !important;
}

.woocommerce-checkout-review-order-table .product-quantity {
	font-weight: 700 !important;
	color: #111827 !important;
}

/* long custom product parameters */

.woocommerce-checkout-review-order-table dl.variation,
.woocommerce-checkout-review-order-table .variation {
	display: grid !important;
	grid-template-columns: minmax(155px, 32%) minmax(0, 1fr) !important;
	column-gap: 14px !important;
	row-gap: 7px !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 10px 0 0 !important;
	padding: 12px 14px !important;
	border-radius: 16px !important;
	background: #fafafa !important;
	border: 1px solid #f1f3f5 !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
	color: #4b5563 !important;
	overflow-wrap: anywhere !important;
	word-break: normal !important;
}

.woocommerce-checkout-review-order-table dl.variation dt,
.woocommerce-checkout-review-order-table .variation dt {
	float: none !important;
	clear: none !important;
	margin: 0 !important;
	padding: 0 !important;
	font-weight: 600 !important;
	color: #6b7280 !important;
}

.woocommerce-checkout-review-order-table dl.variation dd,
.woocommerce-checkout-review-order-table .variation dd {
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #1f2937 !important;
	min-width: 0 !important;
}

.woocommerce-checkout-review-order-table dl.variation dd p,
.woocommerce-checkout-review-order-table .variation dd p {
	margin: 0 !important;
}

/* ---------- Shipping methods cards ---------- */

.woocommerce-checkout .kstyle-checkout-shipping {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.woocommerce-checkout #shipping_method,
.woocommerce-checkout #shipping_method.woocommerce-shipping-methods,
.woocommerce-checkout .kstyle-shipping-methods {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 12px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 2px 0 4px !important;
	padding: 0 !important;
}

.woocommerce-checkout .kstyle-checkout-shipping-row td {
	padding-top: 18px !important;
	padding-bottom: 18px !important;
	text-align: left !important;
}

.woocommerce-checkout #shipping_method li,
.woocommerce-checkout .kstyle-shipping-methods li {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 16px 18px 16px 48px !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 16px !important;
	background: #fff !important;
	line-height: 1.35 !important;
	box-sizing: border-box !important;
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.woocommerce-checkout #shipping_method li:hover {
	border-color: #cbd5e1 !important;
	box-shadow: 0 8px 24px rgba(15,23,42,.045) !important;
}

.woocommerce-checkout #shipping_method li:has(input:checked) {
	border-color: #9bc6a1 !important;
	background: #f7fbf6 !important;
	box-shadow: 0 8px 24px rgba(52,168,83,.08) !important;
}

.woocommerce-checkout #shipping_method li input[type="radio"] {
	position: absolute !important;
	left: 18px !important;
	top: 20px !important;
	margin: 0 !important;
	width: 18px !important;
	height: 18px !important;
	accent-color: #34a853;
}

.woocommerce-checkout #shipping_method li label {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 16px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 16px !important;
	line-height: 1.35 !important;
	font-weight: 600 !important;
	color: #1f2937 !important;
	cursor: pointer !important;
	text-align: left !important;
}

.woocommerce-checkout #shipping_method li label .woocommerce-Price-amount,
.woocommerce-checkout #shipping_method li label .amount {
	flex: 0 0 auto !important;
	margin-left: auto !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	color: #1f2937 !important;
	white-space: nowrap !important;
}

.woocommerce-checkout #shipping_method li label small,
.woocommerce-checkout #shipping_method li .shipping-method-description {
	display: block !important;
	margin-top: 6px !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	font-weight: 400 !important;
	color: #6b7280 !important;
}

/* ---------- Total + payment ---------- */

.woocommerce-checkout .kstyle-checkout-review-order .order-total th,
.woocommerce-checkout .kstyle-checkout-review-order .order-total td {
	padding-top: 22px !important;
	padding-bottom: 22px !important;
	border-top: 1px solid #e5e7eb !important;
	font-size: 24px !important;
	line-height: 1.1 !important;
	font-weight: 600 !important;
	color: #202124 !important;
}

.woocommerce-checkout .kstyle-checkout-review-order .order-total .amount {
	font-size: 32px !important;
	font-weight: 600 !important;
	letter-spacing: -0.03em !important;
	color: #202124 !important;
}

.woocommerce-checkout #payment {
	margin-top: 0 !important;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	padding: 0 !important;
	margin: 0 0 24px !important;
	border: 0 !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method {
	position: relative !important;
	margin: 0 !important;
	padding: 16px 18px 16px 48px !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 16px !important;
	background: #fff !important;
	line-height: 1.35 !important;
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method:hover {
	border-color: #cbd5e1 !important;
	box-shadow: 0 8px 24px rgba(15,23,42,.045) !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method:has(input:checked) {
	border-color: #9bc6a1 !important;
	background: #f7fbf6 !important;
	box-shadow: 0 8px 24px rgba(52,168,83,.08) !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method input.input-radio {
	position: absolute !important;
	left: 18px !important;
	top: 20px !important;
	margin: 0 !important;
	width: 18px !important;
	height: 18px !important;
	accent-color: #34a853;
}

.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method label {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 16px !important;
	line-height: 1.35 !important;
	font-weight: 600 !important;
	color: #1f2937 !important;
	cursor: pointer !important;
}

.woocommerce-checkout #payment .payment_box {
	margin: 8px 0 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: #6b7280 !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
}

.woocommerce-checkout #payment .payment_box:before {
	display: none !important;
}

.woocommerce-checkout #payment .payment_box p:empty {
	display: none !important;
}

.woocommerce-checkout #payment .place-order {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.woocommerce .checkout-button,
.woocommerce #place_order,
.woocommerce-checkout #place_order,
.woocommerce-checkout .place-order .button,
.woocommerce-checkout .place-order .button.alt,
.button.checkout-button,
.button.alt.checkout {
	width: 100% !important;
	min-height: 64px !important;
	border-radius: 18px !important;
	background: #34a853 !important;
	border-color: #34a853 !important;
	color: #fff !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	letter-spacing: .02em !important;
	text-transform: uppercase !important;
	box-shadow: 0 14px 34px rgba(52,168,83,.22) !important;
	transition: all .18s ease !important;
}

.woocommerce .checkout-button:hover,
.woocommerce #place_order:hover,
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout .place-order .button:hover,
.woocommerce-checkout .place-order .button.alt:hover,
.button.alt.checkout:hover {
	background: #2f9b4c !important;
	border-color: #2f9b4c !important;
	filter: none !important;
	transform: translateY(-1px);
	box-shadow: 0 18px 42px rgba(52,168,83,.28) !important;
}

.woocommerce .checkout-button::before,
.woocommerce #place_order::before,
.woocommerce-checkout #place_order::before,
.woocommerce-checkout .place-order .button::before {
	content: "✓";
	margin-right: 10px;
	font-weight: 800;
}

/* ---------- Customer details ---------- */

.woocommerce-checkout .kstyle-checkout-customer-card #customer_details {
	width: 100% !important;
}

.woocommerce-checkout .kstyle-checkout-customer-card #customer_details:before,
.woocommerce-checkout .kstyle-checkout-customer-card #customer_details:after {
	content: "";
	display: table;
	clear: both;
}

.woocommerce-checkout #customer_details h3 {
	margin: 0 0 22px !important;
	padding: 0 0 18px !important;
	border-bottom: 1px solid #eef1f4 !important;
	font-size: 21px !important;
	line-height: 1.18 !important;
	font-weight: 600 !important;
	color: #1f2937 !important;
	text-transform: none !important;
	letter-spacing: -0.03em !important;
}

.woocommerce-checkout #customer_details .woocommerce-billing-fields h3 {
	display: none !important;
}

.woocommerce-checkout #customer_details .form-row {
	margin-bottom: 16px !important;
}

.woocommerce form.checkout .form-row label,
body.woocommerce-checkout form .form-row label,
.woocommerce-checkout #customer_details .form-row label {
	display: block !important;
	position: static !important;
	opacity: 1 !important;
	visibility: visible !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	font-weight: 600 !important;
	color: #4b5563 !important;
	margin: 0 0 7px !important;
}

.woocommerce form.checkout input.input-text,
.woocommerce form.checkout textarea,
body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout #customer_details input.input-text,
.woocommerce-checkout #customer_details textarea {
	min-height: 48px !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 12px !important;
	background: #fff !important;
	padding: 12px 16px !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
	color: #222 !important;
	box-shadow: 0 1px 2px rgba(15,23,42,.025) !important;
}

.woocommerce form.checkout input.input-text:focus,
.woocommerce form.checkout textarea:focus,
.woocommerce-checkout #customer_details input.input-text:focus,
.woocommerce-checkout #customer_details textarea:focus {
	outline: none !important;
	border-color: #cbd5e1 !important;
	box-shadow: 0 0 0 4px rgba(15,23,42,.045) !important;
}

.woocommerce form.checkout input::placeholder,
.woocommerce form.checkout textarea::placeholder,
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
	color: #98a2b3 !important;
}

.woocommerce-checkout .woocommerce-additional-fields {
	margin-top: 10px !important;
}

.woocommerce-checkout .woocommerce-additional-fields h3 {
	font-size: 20px !important;
	line-height: 1.25 !important;
	font-weight: 600 !important;
	letter-spacing: -0.02em !important;
	color: #1f2937 !important;
	margin: 24px 0 8px !important;
	padding: 0 !important;
	border: 0 !important;
	text-transform: none !important;
}

.woocommerce-checkout #order_comments {
	min-height: 120px !important;
	padding-top: 14px !important;
	resize: vertical;
}

/* ---------- Checkout contact fields layout ---------- */

@media (min-width: 768px){

	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
		display:grid !important;
		grid-template-columns:1fr 1fr;
		column-gap:20px;
	}

	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row{
		float:none !important;
		clear:none !important;
		width:100% !important;
	}

	.woocommerce-checkout #billing_full_name_field{
		grid-column:1 / -1;
		grid-row:1;
	}

	.woocommerce-checkout #billing_address_1_field{
		grid-column:1 / -1;
		grid-row:2;
	}

	.woocommerce-checkout #billing_city_field{
		grid-column:1 / 2;
		grid-row:3;
	}

	.woocommerce-checkout #billing_phone_field{
		grid-column:2 / 3;
		grid-row:3;
	}

	.woocommerce-checkout #billing_email_field{
		grid-column:1 / -1;
		grid-row:4;
	}
}

@media (max-width:767px){

	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
		display:block !important;
	}

}

/* ---------- Sidebar trust blocks ---------- */

.kstyle-checkout-side-card h3 {
	margin: 0 0 10px !important;
	padding: 0 !important;
	font-size: 17px !important;
	line-height: 1.25 !important;
	font-weight: 600 !important;
	letter-spacing: -0.02em !important;
	color: #1f2937 !important;
	text-transform: none !important;
}

.kstyle-checkout-side-card p {
	margin: 0 !important;
	font-size: 14px !important;
	line-height: 1.48 !important;
	color: #5f6b7a !important;
}

.kstyle-trust-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kstyle-trust-list li {
	position: relative;
	margin: 0;
	padding: 0 0 0 28px;
	font-size: 14px;
	line-height: 1.4;
	color: #4b5563;
}

.kstyle-trust-list li:before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 1px;
	width: 18px;
	height: 18px;
	border-radius: 999px;
	background: #f3f7f4;
	color: #2f9b4c;
	font-size: 12px;
	line-height: 18px;
	font-weight: 800;
	text-align: center;
}

.kstyle-trust-list span {
	display: block;
	margin: 0 0 2px;
	font-weight: 600;
	color: #1f2937;
}

.kstyle-trust-list small {
	display: block;
	font-size: 13px;
	line-height: 1.45;
	color: #6b7280;
}

.kstyle-checkout-save{
	background:#fbfcfd !important;
}

.kstyle-checkout-help,
.kstyle-checkout-guarantee{
	background:#fcfcfc !important;
}

.kstyle-checkout-contacts {
	background: #f7fbf6 !important;
	border-color: #dfeee2 !important;
}

.kstyle-checkout-phone {
	display: inline-flex;
	align-items: center;
	margin:0 0 10px;
	font-size: 16px;
	line-height: 1.25;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: #4b5563 !important;
	text-decoration: none !important;
}

.kstyle-checkout-phone:hover {
	color: #1f2937 !important;
	text-decoration: none !important;
}

.kstyle-checkout-messengers {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.kstyle-checkout-messengers a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 10px;
	border: 1px solid #dce8df;
	border-radius: 12px;
	background: #fff;
	color: #1f2937 !important;
	font-size: 13px;
	line-height: 1.2;
	font-weight: 600;
	text-decoration: none !important;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.kstyle-checkout-messengers a:hover {
	border-color: #b9d7bf;
	box-shadow: 0 8px 20px rgba(52,168,83,.10);
	transform: translateY(-1px);
}

/* ---------- Consent note ---------- */

.kstyle-consent-note {
	margin: 10px 0 0;
	font-size: 13px;
	line-height: 1.45;
	color: #667085;
}

.kstyle-consent-note a {
	color: #111827;
	text-decoration: underline;
}

/* ---------- Responsive ---------- */

@media (max-width: 991px) {

	.kstyle-checkout-layout {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.kstyle-checkout-sidebar {
		order: 2;
	}

	.kstyle-checkout-main {
		order: 1;
	}
}

@media (max-width: 768px) {

	.kstyle-checkout-card,
	.kstyle-checkout-side-card {
		border-radius: 20px !important;
		padding: 18px !important;
	}

	.kstyle-checkout-main {
		gap: 16px;
	}

	.kstyle-checkout-card-header {
		margin-bottom: 16px;
		padding-bottom: 14px;
	}

	.kstyle-checkout-card-header .step-title,
	.woocommerce-checkout .kstyle-checkout-card-header .step-title,
	.woocommerce-checkout .kstyle-checkout-card-header h3 {
		font-size: 20px !important;
	}

	.woocommerce-checkout-review-order-table dl.variation,
	.woocommerce-checkout-review-order-table .variation {
		grid-template-columns: 1fr !important;
		row-gap: 3px !important;
		padding: 12px !important;
	}

	.woocommerce-checkout #shipping_method li,
	.woocommerce-checkout .kstyle-shipping-methods li,
	.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method {
		padding: 15px 14px 15px 44px !important;
		border-radius: 14px !important;
	}

	.woocommerce-checkout #shipping_method li input[type="radio"],
	.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method input.input-radio {
		left: 16px !important;
		top: 19px !important;
	}

	.woocommerce-checkout #shipping_method li label {
		display: block !important;
	}

	.woocommerce-checkout #shipping_method li label .woocommerce-Price-amount,
	.woocommerce-checkout #shipping_method li label .amount {
		display: block !important;
		margin: 6px 0 0 !important;
	}

	.woocommerce-checkout .kstyle-checkout-review-order .order-total th,
	.woocommerce-checkout .kstyle-checkout-review-order .order-total td {
		font-size: 20px !important;
	}

	.woocommerce-checkout .kstyle-checkout-review-order .order-total .amount {
		font-size: 28px !important;
	}

	.woocommerce .checkout-button,
	.woocommerce #place_order,
	.woocommerce-checkout #place_order,
	.woocommerce-checkout .place-order .button,
	.woocommerce-checkout .place-order .button.alt {
		min-height: 58px !important;
		border-radius: 16px !important;
		font-size: 16px !important;
	}

	.kstyle-checkout-messengers {
		grid-template-columns: 1fr;
	}
}
	/* убираем underline у цен доставки */
.woocommerce-checkout #shipping_method li .amount,
.woocommerce-checkout #shipping_method li .woocommerce-Price-amount,
.woocommerce-checkout #shipping_method li label span{
	text-decoration:none !important;
	border-bottom:0 !important;
	box-shadow:none !important;
}

/* "Бесплатно" справа для бесплатных способов доставки */
.woocommerce-checkout #shipping_method li input[value^="free_shipping"] + label::after{
	content:"Бесплатно";
	margin-left:auto;
	font-size:16px;
	font-weight:600;
	color:#2f9b4c;
	white-space:nowrap;
}
/* скрываем логотип ЮKassa в checkout */
.woocommerce-checkout .payment_method_yookassa_widget label img{
	display:none !important;
}

/* =====================================================
   CART PAGE
===================================================== */

/* ---------- Cart CTA ---------- */

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button.alt.wc-forward{
	width:100% !important;
	min-height:56px !important;
	padding:14px 24px !important;
	background:#34a853 !important;
	border-color:#34a853 !important;
	color:#fff !important;
	border-radius:18px !important;
	font-size:16px !important;
	font-weight:700 !important;
	letter-spacing:.02em !important;
	text-transform:uppercase !important;
	text-align:center !important;
	line-height:1.2 !important;
	box-shadow:0 14px 34px rgba(52,168,83,.22) !important;
	transition:all .18s ease !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button.alt.wc-forward:hover{
	background:#2f9b4c !important;
	border-color:#2f9b4c !important;
	filter:none !important;
	transform:translateY(-1px);
	box-shadow:0 18px 42px rgba(52,168,83,.28) !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button.alt.wc-forward::before{
	content:"✓";
	margin-right:10px;
	font-weight:800;
}

/* ---------- Cart table reset ---------- */

.woocommerce-cart table.shop_table.cart{
	width:100% !important;
	border:0 !important;
	background:transparent !important;
	border-collapse:separate !important;
	border-spacing:0 !important;
}

.woocommerce-cart table.shop_table.cart thead{
	display:none !important;
}

.woocommerce-cart table.shop_table.cart tbody{
	display:flex;
	flex-direction:column;
	gap:18px;
}

.woocommerce-cart table.shop_table.cart tr.kstyle-cart-item{
	display:block !important;
	border:0 !important;
	background:transparent !important;
}

.woocommerce-cart table.shop_table.cart td.kstyle-cart-item-cell{
	display:block !important;
	width:100% !important;
	border:0 !important;
	padding:0 !important;
	background:transparent !important;
}

/* ---------- Cart product card ---------- */

.kstyle-cart-product-card{
	position:relative;
	display:grid;
	grid-template-columns:160px minmax(0,1fr) 190px;
	gap:24px;
	align-items:start;
	padding:24px;
	border:1px solid #eceff3;
	border-radius:24px;
	background:#fff;
	box-shadow:0 18px 48px rgba(15,23,42,.055);
}

.kstyle-cart-product-image{
	min-width:0;
}

.kstyle-cart-product-image a,
.kstyle-cart-product-image img{
	display:block;
	width:100%;
}

.kstyle-cart-product-image img{
	max-width:160px;
	aspect-ratio:1 / 1;
	object-fit:cover;
	object-position:center;
	border-radius:20px;
	border:1px solid #eef1f4;
	background:#fff;
}

.kstyle-cart-product-content{
	min-width:0;
	padding-right:12px;
}

.kstyle-cart-product-head{
	margin:0 0 14px;
	padding:0 0 12px;
	border-bottom:1px solid #eef1f4;
}

.kstyle-cart-product-title{
	display:block;
	margin:0;
	font-size:18px;
	line-height:1.35;
	font-weight:600;
	color:#1f2937 !important;
	text-decoration:none !important;
	letter-spacing:-0.02em;
}

.kstyle-cart-product-title:hover{
	color:#111827 !important;
	text-decoration:none !important;
}

.kstyle-cart-product-sku{
	margin-top:6px;
	font-size:13px;
	line-height:1.4;
	color:#8b95a7;
}

.kstyle-cart-product-meta{
	min-width:0;
}

.kstyle-cart-product-meta dl.variation{
	display:grid;
	grid-template-columns:minmax(150px,32%) minmax(0,1fr);
	column-gap:14px;
	row-gap:5px;
	margin:0 !important;
	padding:12px 14px;
	border:1px solid #f1f3f5;
	border-radius:16px;
	background:#fafafa;
	font-size:13px;
	line-height:1.35;
}

.kstyle-cart-product-meta dl.variation dt{
	float:none !important;
	clear:none !important;
	margin:0 !important;
	padding:0 !important;
	font-weight:600 !important;
	color:#4b5563 !important;
}

.kstyle-cart-product-meta dl.variation dd{
	float:none !important;
	margin:0 !important;
	padding:0 !important;
	color:#8b95a7 !important;
	min-width:0 !important;
}

.kstyle-cart-product-meta dl.variation dd p{
	margin:0 !important;
}

/* ---------- Remove button ---------- */

.kstyle-cart-product-remove{
	position:absolute;
	top:16px;
	right:16px;
	margin:0;
	z-index:5;
}

.kstyle-cart-product-remove a{
	width:30px;
	height:30px;
	border-radius:999px;
	background:#f3f4f6;
	color:transparent !important;
	font-size:0 !important;
	text-decoration:none !important;
	display:flex;
	align-items:center;
	justify-content:center;
	transition:all .18s ease;
}

.kstyle-cart-product-remove a:before{
	content:"×";
	font-size:20px;
	line-height:1;
	font-weight:400;
	color:#8b95a7;
}

.kstyle-cart-product-remove a:hover{
	background:#fee2e2;
	transform:scale(1.04);
}

.kstyle-cart-product-remove a:hover:before{
	color:#dc2626;
}

/* ---------- Cart product side ---------- */

.kstyle-cart-product-side{
	display:flex;
	flex-direction:column;
	justify-content:center;

	width:192px;
	min-width:192px;

	padding:16px;
	border:1px solid #e7ebf0;
	box-shadow:0 4px 18px rgba(15,23,42,.03);
	border-radius:20px;
	background:#ffffff;

	min-height:100%;
}

.kstyle-cart-product-price{
	margin-bottom:14px;
}

.kstyle-cart-product-qty{
	margin-bottom:14px;
}

.kstyle-cart-product-price,
.kstyle-cart-product-qty,
.kstyle-cart-product-subtotal{
	display:grid;
	grid-template-columns:58px 1fr;
	align-items:center;
	column-gap:12px;

	min-height:32px;
}

.kstyle-cart-product-price > span,
.kstyle-cart-product-qty > span,
.kstyle-cart-product-subtotal > span{
	display:flex;
	align-items:center;

	height:32px;
	margin:0 !important;

	font-size:12px;
	line-height:1;
	color:#8b95a7;
	white-space:nowrap;
}

.kstyle-cart-product-price strong{
	display:flex;
	align-items:center;
	justify-content:flex-end;

	min-height:32px;

	font-size:15px;
	line-height:1;
	font-weight:600;
	color:#1f2937;
	white-space:nowrap;
}

.kstyle-cart-product-subtotal{
	padding-top:12px;
	border-top:1px solid #eef1f4;
}

.kstyle-cart-product-subtotal > span{
	font-weight:600;
	color:#6b7280;
}

.kstyle-cart-product-subtotal strong{
	display:flex;
	align-items:center;
	justify-content:flex-end;

	min-height:32px;

	font-size:17px;
	line-height:1;
	font-weight:600;
	color:#1f2937;
	letter-spacing:-0.01em;
	white-space:nowrap;
}

/* ---------- Cart quantity ---------- */

.kstyle-cart-product-qty .quantity-wrapper,
.kstyle-cart-product-qty .quantity{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;

	width:96px !important;
	height:32px !important;

	border:1px solid #e5e7eb !important;
	border-radius:11px !important;

	background:#fff !important;
	box-shadow:none !important;
	overflow:hidden !important;

	margin-left:auto !important;
}

.kstyle-cart-product-qty .quantity input.qty{
	order:2;

	width:32px !important;
	height:32px !important;

	padding:0 !important;
	margin:0 !important;
	border:0 !important;

	background:#fff !important;
	box-shadow:none !important;

	font-size:14px !important;
	font-weight:500 !important;
	line-height:32px !important;
	text-align:center !important;
	color:#111827 !important;

	font-family:inherit !important;

	appearance:textfield !important;
	-moz-appearance:textfield !important;
}

.kstyle-cart-product-qty .quantity input.qty::-webkit-outer-spin-button,
.kstyle-cart-product-qty .quantity input.qty::-webkit-inner-spin-button{
	-webkit-appearance:none;
	margin:0;
}

.kstyle-cart-product-qty .quantity .minus,
.kstyle-cart-product-qty .quantity .plus{
	position:static !important;

	display:flex !important;
	align-items:center !important;
	justify-content:center !important;

	width:30px !important;
	height:32px !important;

	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	border-radius:0 !important;

	background:#fff !important;
	box-shadow:none !important;

	font-size:18px !important;
	font-weight:300 !important;
	line-height:1 !important;
	color:#a8b1bf !important;

	cursor:pointer;

	transition:
		background .16s ease,
		color .16s ease;
}

.kstyle-cart-product-qty .quantity .minus{
	order:1;
	border-right:1px solid #f1f3f5 !important;
}

.kstyle-cart-product-qty .quantity .plus{
	order:3;
	border-left:1px solid #f1f3f5 !important;
}

.kstyle-cart-product-qty .quantity .minus:hover,
.kstyle-cart-product-qty .quantity .plus:hover{
	background:#f8fafc !important;
	color:#374151 !important;
}

/* ---------- Cart actions ---------- */

.woocommerce-cart .woocommerce-cart-form .actions{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	margin-top:22px;
	padding-top:22px;
	border-top:1px solid #eef1f4;
}

.woocommerce-cart .woocommerce-cart-form .coupon{
	display:flex;
	align-items:center;
	width:100%;
	max-width:430px;
}

.woocommerce-cart .woocommerce-cart-form .coupon input.input-text{
	width:100% !important;
	height:48px !important;
	min-height:48px !important;
	padding:0 18px !important;
	border:1px solid #e5e7eb !important;
	border-right:0 !important;
	border-radius:16px 0 0 16px !important;
	background:#fff !important;
	font-size:15px !important;
	color:#111827 !important;
	box-shadow:none !important;
}

.woocommerce-cart .woocommerce-cart-form .coupon input.input-text::placeholder{
	color:#9ca3af;
}

.woocommerce-cart .woocommerce-cart-form .coupon .btn,
.woocommerce-cart .woocommerce-cart-form .coupon button,
.woocommerce-cart .woocommerce-cart-form .coupon input[type="submit"]{
	width:92px !important;
	min-width:92px !important;
	height:48px !important;
	min-height:48px !important;
	padding:0 !important;
	border:1px solid #e5e7eb !important;
	border-left:0 !important;
	border-radius:0 16px 16px 0 !important;
	background:#f8fafc !important;
	color:#6b7280 !important;
	font-size:14px !important;
	font-weight:500 !important;
	box-shadow:none !important;
	white-space:nowrap;
	transition:all .16s ease;
}

.woocommerce-cart .woocommerce-cart-form .coupon .btn:hover,
.woocommerce-cart .woocommerce-cart-form .coupon button:hover,
.woocommerce-cart .woocommerce-cart-form .coupon input[type="submit"]:hover{
	background:#f1f5f9 !important;
	color:#111827 !important;
}

.woocommerce-cart .woocommerce-cart-form .clear-cart{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	gap:10px;

	height:48px !important;
	min-height:48px !important;
	padding:0 26px !important;

	border-radius:16px !important;
	border:1px solid #e5e7eb !important;
	background:#fff !important;

	color:#6b7280 !important;
	font-size:15px !important;
	font-weight:500 !important;
	line-height:1 !important;

	box-shadow:none !important;
	white-space:nowrap;
	transition:all .16s ease;
}

.woocommerce-cart .woocommerce-cart-form .clear-cart i,
.woocommerce-cart .woocommerce-cart-form .clear-cart svg{
	display:block;
	flex:0 0 auto;

	font-size:14px !important;
	width:14px !important;
	height:14px !important;
	line-height:14px !important;
}

.woocommerce-cart .woocommerce-cart-form .clear-cart:hover{
	border-color:#fecaca !important;
	background:#fff7f7 !important;
	color:#dc2626 !important;
}

@media (max-width:767px){

	.woocommerce-cart .woocommerce-cart-form .actions{
		flex-direction:column;
		align-items:stretch;
		gap:14px;
	}

	.woocommerce-cart .woocommerce-cart-form .coupon{
		max-width:none;
	}

	.woocommerce-cart .woocommerce-cart-form .clear-cart{
		width:100%;
	}

}
/* ---------- Mobile cart ---------- */

@media (max-width: 767px){

	.kstyle-cart-product-card{
		display:flex !important;
		flex-direction:column !important;
		gap:18px;
	}

	.kstyle-cart-product-image{
		width:100% !important;
		max-width:160px;
		margin:0 auto;
	}

	.kstyle-cart-product-content{
		width:100% !important;
		min-width:0 !important;
	}

	.kstyle-cart-product-side{
		width:100% !important;
		min-width:0 !important;
		margin-top:4px;
		padding:16px !important;
		border-radius:18px !important;
		background:#fff !important;
	}

	.kstyle-cart-product-price,
	.kstyle-cart-product-qty,
	.kstyle-cart-product-subtotal{
		display:flex !important;
		align-items:center !important;
		justify-content:space-between !important;
		gap:14px;
	}

	.kstyle-cart-product-price{
		margin-bottom:10px;
	}

	.kstyle-cart-product-qty{
		margin-bottom:10px;
		padding-bottom:10px;
		border-bottom:1px solid #eef1f4;
	}

	.kstyle-cart-product-title{
		font-size:22px !important;
		line-height:1.25 !important;
		word-break:break-word;
	}

	.kstyle-cart-product-meta{
		font-size:15px;
		line-height:1.45;
	}

	.kstyle-cart-product-subtotal strong{
		font-size:18px !important;
	}

	.kstyle-cart-product-remove{
		margin-top:14px;
	}

}
/* ---------- Cart / Checkout steps ---------- */

.cart-checkout-nav{
	color:#9aa3b2 !important;
	background:#fafafa !important;
}

.woocommerce-cart .cart-checkout-nav a,
.woocommerce-checkout .cart-checkout-nav a{
	color:#9aa3b2 !important;
	background:transparent !important;
}

.woocommerce-cart .cart-checkout-nav a.active,
.woocommerce-checkout .cart-checkout-nav a.active{
	color:#1f2937 !important;
}

.woocommerce-cart .cart-checkout-nav a::before,
.woocommerce-checkout .cart-checkout-nav a::before{
	background:#fff !important;
	border:1px solid #d8dee7 !important;
	color:#9aa3b2 !important;
}

.woocommerce-cart .cart-checkout-nav a.active::before,
.woocommerce-checkout .cart-checkout-nav a.active::before{
	background:#6f8875 !important;
	border-color:#6f8875 !important;
	color:#fff !important;
}

.woocommerce-cart .cart-checkout-nav a:after,
.woocommerce-checkout .cart-checkout-nav a:after{
	background:#e5e7eb !important;
}
/* Cart totals cleanup */

.woocommerce-cart .cart_totals .cart-subtotal{
	display:none !important;
}
/* ---------- Checkout coupon under total ---------- */

.kstyle-order-total-note-row td{
	padding-top:14px !important;
	padding-bottom:0 !important;
	border-top:1px solid #eef1f4 !important;
	text-align:left !important;
}

.kstyle-order-total-bottom{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	width:100%;
}

.kstyle-checkout-coupon{
	display:flex;
	align-items:center;
	width:100%;
	max-width:390px;
}

.kstyle-checkout-coupon-input{
	width:100% !important;
	height:44px !important;
	min-height:44px !important;
	padding:0 16px !important;
	border:1px solid #e5e7eb !important;
	border-right:0 !important;
	border-radius:16px 0 0 16px !important;
	background:#fff !important;
	box-shadow:none !important;
	font-family:inherit !important;
	font-size:14px !important;
	font-weight:400 !important;
	line-height:44px !important;
	letter-spacing:0 !important;
	color:#111827 !important;
}

.kstyle-checkout-coupon-input::placeholder{
	color:#a3adba !important;
	font-size:14px !important;
	font-weight:400 !important;
	opacity:1 !important;
}

.kstyle-checkout-apply-coupon{
	width:82px !important;
	min-width:82px !important;
	height:44px !important;
	min-height:44px !important;
	padding:0 !important;
	border:1px solid #e5e7eb !important;
	border-left:0 !important;
	border-radius:0 16px 16px 0 !important;
	background:#f8fafc !important;
	box-shadow:none !important;
	font-family:inherit !important;
	font-size:14px !important;
	font-weight:500 !important;
	line-height:44px !important;
	letter-spacing:0 !important;
	color:#6b7280 !important;
	white-space:nowrap;
	transition:all .16s ease;
}

.kstyle-checkout-apply-coupon:hover{
	background:#f1f5f9 !important;
	color:#111827 !important;
}

.kstyle-order-total-note{
	margin:0 !important;
	font-size:12px;
	line-height:1.4;
	font-weight:400 !important;
	color:#8b95a7;
	text-align:right;
}

@media (max-width:767px){

	.kstyle-order-total-bottom{
		flex-direction:column;
		align-items:stretch;
		gap:12px;
	}

	.kstyle-checkout-coupon{
		max-width:none;
	}

	.kstyle-order-total-note{
		text-align:left;
	}

}
/* ---------- Checkout applied coupons ---------- */

.woocommerce-checkout-review-order-table .kstyle-cart-discount th,
.woocommerce-checkout-review-order-table .kstyle-cart-discount td{
	padding-top:16px !important;
	padding-bottom:16px !important;
	border-top:1px solid #eef1f4 !important;
	border-bottom:0 !important;
	font-size:15px !important;
	line-height:1.35 !important;
	vertical-align:middle !important;
}

.woocommerce-checkout-review-order-table .kstyle-cart-discount th{
	font-weight:500 !important;
	color:#374151 !important;
}

.woocommerce-checkout-review-order-table .kstyle-cart-discount td{
	text-align:right !important;
	white-space:nowrap !important;
}

.kstyle-coupon-amount{
	display:inline-flex;
	align-items:center;
	margin-right:12px;
	color:#dc2626 !important;
	font-weight:600 !important;
}

.kstyle-remove-coupon{
	display:inline-block;
	color:#6b7280 !important;
	font-size:14px !important;
	font-weight:500 !important;
	text-decoration:none !important;
	border-bottom:1px solid rgba(107,114,128,.35);
	line-height:1.2;
	transition:all .16s ease;
}

.kstyle-remove-coupon:hover{
	color:#dc2626 !important;
	border-bottom-color:rgba(220,38,38,.45);
}
/* ---------- WooCommerce notices ---------- */

.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-checkout .woocommerce-info,
.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-error{
	margin:0 0 18px !important;
	padding:16px 18px 16px 48px !important;
	border-radius:18px !important;
	border:1px solid #e5e7eb !important;
	background:#fff !important;
	box-shadow:0 12px 34px rgba(15,23,42,.055) !important;
	font-size:15px !important;
	line-height:1.45 !important;
	font-weight:500 !important;
	color:#374151 !important;
}

.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-message{
	border-color:#dfeee2 !important;
	background:#f7fbf6 !important;
	color:#2f6f3e !important;
}

.woocommerce-cart .woocommerce-info,
.woocommerce-checkout .woocommerce-info{
	border-color:#e5e7eb !important;
	background:#fafafa !important;
	color:#4b5563 !important;
}

.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-error{
	border-color:#fecaca !important;
	background:#fff7f7 !important;
	color:#b91c1c !important;
}

.woocommerce-cart .woocommerce-message::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-cart .woocommerce-error::before,
.woocommerce-checkout .woocommerce-error::before{
	top:16px !important;
	left:18px !important;
	font-size:18px !important;
	line-height:1 !important;
}

.woocommerce-cart .woocommerce-message::before,
.woocommerce-checkout .woocommerce-message::before{
	color:#2f9b4c !important;
}

.woocommerce-cart .woocommerce-info::before,
.woocommerce-checkout .woocommerce-info::before{
	color:#8b95a7 !important;
}

.woocommerce-cart .woocommerce-error::before,
.woocommerce-checkout .woocommerce-error::before{
	color:#dc2626 !important;
}

.woocommerce-cart .woocommerce-message a,
.woocommerce-checkout .woocommerce-message a,
.woocommerce-cart .woocommerce-info a,
.woocommerce-checkout .woocommerce-info a,
.woocommerce-cart .woocommerce-error a,
.woocommerce-checkout .woocommerce-error a{
	color:inherit !important;
	font-weight:600 !important;
	text-decoration:underline !important;
	text-underline-offset:3px;
}
/* ---------- Thank you page payment instructions ---------- */

body.woocommerce-order-received .woocommerce-order > p,
body.woocommerce-order-received .woocommerce-order-overview-wrapper > p{
	position:relative !important;
	max-width:860px !important;
	margin:12px auto !important;
	padding:14px 18px 14px 44px !important;
	background:#f8fafc !important;
	color:#374151 !important;
	border:1px solid #e5e7eb !important;
	border-left:4px solid #9bbda4 !important;
	border-radius:12px !important;
	font-size:15px !important;
	line-height:1.55 !important;
}

body.woocommerce-order-received .woocommerce-order > p:before,
body.woocommerce-order-received .woocommerce-order-overview-wrapper > p:before{
	position:absolute !important;
	left:18px !important;
	top:15px !important;
	margin:0 !important;
	color:#64748b !important;
}

body.woocommerce-order-received .woocommerce-order > p:empty,
body.woocommerce-order-received .woocommerce-order-overview-wrapper > p:empty{
	display:none !important;
}

body.woocommerce-order-received .woocommerce-order > p a,
body.woocommerce-order-received .woocommerce-order-overview-wrapper > p a{
	color:#e84d00 !important;
	font-weight:600 !important;
	text-decoration:underline !important;
}

body.woocommerce-order-received .woocommerce-order > p img,
body.woocommerce-order-received .woocommerce-order-overview-wrapper > p img{
	display:block !important;
	max-width:260px !important;
	height:auto !important;
	margin:18px auto !important;
	background:#fff !important;
}