/*
 * Košík a pokladňa (2.14.0) — zrkadlá ako karty namiesto úzkej tabuľky XStore.
 * Markup ostáva témy (XStore cart widget v Elementore); meníme len vzhľad. Načítava sa len na
 * stránke košíka a pokladne (Zrkadlo_WC_Integration::enqueue_cart_styles).
 */
:root {
	--zk-ink: #18181b;
	--zk-soft: #52525b;
	--zk-muted: #71717a;
	--zk-line: #e4e4e7;
	--zk-bg-soft: #f4f4f5;
	--zk-radius: 20px;
}

/* ── Zoznam zrkadiel ─────────────────────────────────────────────────────── */
.woocommerce-cart-form .table-responsive { overflow: visible; }
.woocommerce-cart-form table.shop_table.cart,
.woocommerce-cart-form table.shop_table.cart > tbody { display: block; width: 100%; border: 0; margin: 0; }
.woocommerce-cart-form table.shop_table.cart > thead { display: none; }

.woocommerce-cart-form table.shop_table.cart tr.cart_item {
	display: grid;
	grid-template-columns: 128px minmax(0, 1fr) auto auto;
	grid-template-areas: "thumb details qty total";
	align-items: start;
	column-gap: 24px;
	padding: 20px;
	margin: 0 0 14px;
	background: #fff;
	border: 1px solid var(--zk-line);
	border-radius: var(--zk-radius);
	box-shadow: 0 1px 2px rgba(24, 24, 27, .04);
}
.woocommerce-cart-form table.shop_table.cart tr.cart_item > td {
	display: block;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
	width: auto;
	max-width: none !important; /* widget košíka dáva stĺpcu s popisom max 200 px */
	min-width: 0;
}
.woocommerce-cart-form table.shop_table.cart tr.cart_item > td::before { display: none; }
.woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-name { grid-area: thumb; }
.woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-details { grid-area: details; }
.woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-quantity { grid-area: qty; }
.woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-subtotal { grid-area: total; text-align: right; }
/* jednotková cena je pri viacerých kusoch pod súčtom (zk-ci-unit); SKU stĺpec je vypnutý */
.woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-price,
.woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-sku { display: none; }

/* Fotka */
.woocommerce-cart-form .cart_item .product-thumbnail { width: 128px; max-width: none; margin: 0; }
.woocommerce-cart-form .cart_item .product-thumbnail img {
	display: block;
	width: 128px !important;
	height: 128px !important;
	max-width: none;
	object-fit: cover;
	border-radius: 14px !important;
	background: var(--zk-bg-soft);
}

/* Téma oddeľuje časti prerušovanou čiarou — v karte netreba */
.woocommerce-cart-form .cart_item .cart-item-details > * { border-top: 0 !important; padding-top: 0; }

/* Názov, tvar a rozmer */
.woocommerce-cart-form .cart_item .cart-item-details { display: flex; flex-direction: column; gap: 0; }
.zk-ci-title { display: block; font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--zk-ink); }
.zk-ci-sub { display: block; margin-top: 2px; font-size: 14px; line-height: 1.4; color: var(--zk-soft); }

/* Parametre: popis | hodnota, zarovnané v dvoch stĺpcoch */
.woocommerce-cart-form .cart_item dl.variation,
.woocommerce-checkout-review-order-table dl.variation,
.woocommerce-mini-cart dl.variation {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	column-gap: 16px;
	row-gap: 3px;
	margin: 12px 0 0;
	padding: 0;
	border: 0;
	font-size: 13px;
	line-height: 1.45;
}
.woocommerce-cart-form .cart_item dl.variation dt,
.woocommerce-checkout-review-order-table dl.variation dt,
.woocommerce-mini-cart dl.variation dt {
	float: none; clear: none; margin: 0; padding: 0;
	font-weight: 400; color: var(--zk-muted);
}
.woocommerce-cart-form .cart_item dl.variation dd,
.woocommerce-checkout-review-order-table dl.variation dd,
.woocommerce-mini-cart dl.variation dd {
	float: none; margin: 0; padding: 0;
	color: var(--zk-ink);
}
.woocommerce-cart-form .cart_item dl.variation dd p,
.woocommerce-checkout-review-order-table dl.variation dd p,
.woocommerce-mini-cart dl.variation dd p { margin: 0; padding: 0; }

/* Upraviť · Odstrániť */
.woocommerce-cart-form .cart_item .product-remove { margin-top: 14px; }
.zk-ci-actions { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.zk-ci-actions a,
.woocommerce-cart-form .cart_item .product-remove a.remove-item {
	display: inline-flex;
	align-items: center;
	height: 34px;
	padding: 0 14px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
	text-decoration: none !important;
	line-height: 1;
	transition: background-color .15s, color .15s, border-color .15s;
}
.zk-ci-actions a.zk-edit-link { border: 1px solid var(--zk-line); color: var(--zk-ink) !important; }
.zk-ci-actions a.zk-edit-link:hover { border-color: var(--zk-ink); }
.zk-ci-actions a.zk-edit-link::before {
	content: "";
	width: 13px; height: 13px; margin-right: 6px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce-cart-form .cart_item .product-remove a.remove-item { color: var(--zk-muted) !important; border: 1px solid transparent; }
.woocommerce-cart-form .cart_item .product-remove a.remove-item:hover { color: #b42318 !important; background: #fef3f2; }

/* Množstvo — zaoblený prepínač */
.woocommerce-cart-form .cart_item .quantity { margin: 0; }
.woocommerce-cart-form .cart_item .quantity-wrapper {
	display: inline-flex !important;
	align-items: center;
	height: 40px;
	padding: 0 4px;
	border: 1px solid var(--zk-line) !important;
	border-radius: 999px !important;
	background: #fff;
}
.woocommerce-cart-form .cart_item .quantity-wrapper .minus,
.woocommerce-cart-form .cart_item .quantity-wrapper .plus {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 30px !important;
	height: 30px !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: var(--zk-ink);
	cursor: pointer;
}
.woocommerce-cart-form .cart_item .quantity-wrapper .minus:hover,
.woocommerce-cart-form .cart_item .quantity-wrapper .plus:hover { background: var(--zk-bg-soft) !important; }
.woocommerce-cart-form .cart_item .quantity-wrapper input.qty {
	width: 32px !important;
	height: 30px !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: center;
	font-size: 15px;
	font-weight: 600;
	color: var(--zk-ink);
	-moz-appearance: textfield;
}
.woocommerce-cart-form .cart_item .quantity-wrapper input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form .cart_item .quantity-wrapper input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Suma za položku */
.woocommerce-cart-form .cart_item td.product-subtotal { padding-top: 8px !important; white-space: nowrap; }
.woocommerce-cart-form .cart_item td.product-subtotal .amount { font-size: 18px; font-weight: 700; color: var(--zk-ink); }
.zk-ci-unit { display: block; margin-top: 2px; font-size: 12px; font-weight: 400; color: var(--zk-muted); }
.zk-ci-unit .amount { font-size: 12px !important; font-weight: 400 !important; color: var(--zk-muted) !important; }

/* ── Pod zoznamom: ďalšie zrkadlo, kupón, vymazať ──────────────────────── */
.woocommerce-cart-form a.zk-cart-more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 46px;
	margin: 6px 0 22px;
	padding: 0 22px;
	border: 1px solid var(--zk-ink) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--zk-ink) !important;
	font-size: 14px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none !important;
	transition: background-color .15s, color .15s;
}
.woocommerce-cart-form a.zk-cart-more span { font-size: 20px; font-weight: 400; line-height: 1; }
.woocommerce-cart-form a.zk-cart-more:hover { background: var(--zk-ink) !important; color: #fff !important; }

.woocommerce-cart-form .actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 20px 0 0;
	border-top: 1px solid var(--zk-line);
}
.woocommerce-cart-form .actions > div { margin: 0 !important; }
.woocommerce-cart-form .actions .coupon { display: flex; align-items: center; gap: 8px; margin: 0; }
.woocommerce-cart-form .actions .coupon input.input-text {
	height: 46px !important;
	width: 220px !important;
	padding: 0 18px !important;
	border: 1px solid var(--zk-line) !important;
	border-radius: 999px !important;
	background: #fff !important;
	font-size: 14px;
}
.woocommerce-cart-form .actions .coupon input[type="submit"],
.woocommerce-cart-form .actions .coupon button {
	position: static !important; /* téma ho kladie cez pole */
	width: auto !important;
	min-width: 64px;
	height: 46px !important;
	padding: 0 22px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--zk-ink) !important;
	color: #fff !important;
	font-weight: 600;
}
.woocommerce-cart-form .actions .actions-buttons { display: flex; align-items: center; gap: 8px; }
.woocommerce-cart-form .actions .clear-cart {
	height: 46px;
	padding: 0 20px !important;
	border: 1px solid var(--zk-line) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--zk-soft) !important;
	font-size: 14px;
	font-weight: 500;
	text-transform: none;
}
.woocommerce-cart-form .actions .clear-cart:hover { color: #b42318 !important; border-color: #fda29b !important; }

/* ── Súhrn košíka ──────────────────────────────────────────────────────── */
.cart_totals {
	border: 1px solid var(--zk-line) !important;
	border-radius: 24px !important;
	box-shadow: 0 8px 30px rgba(24, 24, 27, .06);
}
.cart_totals .shop_table tr.zk-montage-info td,
.cart_totals .shop_table tr[class^="zk-"] td { line-height: 1.45; }
.cart_totals .wc-proceed-to-checkout a {
	min-height: 50px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 999px !important;
	font-size: 15px;
}

/* ── Mobil (Elementor: do 767 px) ─────────────────────────────────────────
 * Bunka s popisom sa „rozpustí“ (display: contents), aby parametre mohli ísť cez celú šírku karty:
 *   [fotka] [názov, tvar · rozmer]
 *   [parametre ………………………………………]
 *   [− 1 +]                 [suma]
 *   [Upraviť] [Odstrániť]
 */
@media (max-width: 767px) {
	.woocommerce-cart-form table.shop_table.cart tr.cart_item {
		grid-template-columns: 76px minmax(0, 1fr) auto;
		grid-template-areas: none;
		column-gap: 14px;
		row-gap: 0;
		padding: 14px;
		border-radius: 18px;
	}
	.woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-name { grid-column: 1; grid-row: 1; }
	.woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-details,
	.woocommerce-cart-form table.shop_table.cart tr.cart_item .cart-item-details { display: contents; }
	/* desktopové stĺpce (téma ich skrýva triedou, naše display:block by ich vrátilo) */
	.woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-quantity,
	.woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-subtotal,
	.woocommerce-cart-form table.shop_table.cart tr.cart_item > td.product-price { display: none !important; }

	.woocommerce-cart-form .cart_item .product-thumbnail,
	.woocommerce-cart-form .cart_item .product-thumbnail img { width: 76px !important; height: 76px !important; }
	.woocommerce-cart-form .cart_item .product-thumbnail img { border-radius: 12px !important; }
	.woocommerce-cart-form .cart_item .cart-item-details > div:first-child { grid-column: 2 / -1; grid-row: 1; align-self: center; }
	.zk-ci-title { font-size: 16px; }
	.zk-ci-sub { font-size: 13px; }
	.woocommerce-cart-form .cart_item dl.variation { grid-column: 1 / -1; grid-row: 2; margin-top: 14px; column-gap: 14px; font-size: 13px; }

	/* množstvo (bez „× cena“ — suma je vpravo) a suma v jednom riadku */
	.woocommerce-cart-form .cart_item .cart-item-details > .product-price { display: block !important; grid-column: 1 / 3; grid-row: 3; margin: 14px 0 0; }
	.woocommerce-cart-form .cart_item .product-price-quantity { font-size: 0; } /* skryje „× cena“ */
	.woocommerce-cart-form .cart_item .product-price-quantity > .amount { display: none; }
	.woocommerce-cart-form .cart_item .product-price-quantity .quantity { font-size: 15px; }
	.woocommerce-cart-form .cart_item .cart-item-details > .product-subtotal {
		display: block !important; grid-column: 3; grid-row: 3; align-self: center;
		margin: 14px 0 0; font-size: 0; text-align: right; white-space: nowrap;
	}
	.woocommerce-cart-form .cart_item .cart-item-details > .product-subtotal .amount { font-size: 17px; font-weight: 700; color: var(--zk-ink); }
	.woocommerce-cart-form .cart_item .cart-item-details > .product-subtotal .zk-ci-unit .amount { font-size: 12px !important; }
	.woocommerce-cart-form .cart_item .cart-item-details > .product-remove {
		grid-column: 1 / -1; grid-row: 4; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--zk-line) !important;
	}

	.woocommerce-cart-form a.zk-cart-more { display: flex; justify-content: center; width: 100%; }
	.woocommerce-cart-form .actions { flex-direction: column; align-items: stretch; }
	.woocommerce-cart-form .actions .coupon input.input-text { width: auto !important; flex: 1; min-width: 0; }
	.woocommerce-cart-form .actions .actions-buttons { justify-content: center; }
}

/* Názov je odkaz na úpravu zrkadla — bez podčiarknutia a farby odkazu */
.woocommerce-cart-form .cart_item a.product-title { color: inherit !important; text-decoration: none !important; }
.woocommerce-cart-form .cart_item a.product-title:hover .zk-ci-title { text-decoration: underline; text-underline-offset: 3px; }

/* „Doručenie zrkadla: v cene“ v súčtoch */
.zk-delivery-free { color: #15803d; font-weight: 600; }
