/* ==========================================================================
   ÚKOL 041 — košík (3438) a pokladna (3439). Barvy jen z palety (hlášky mají své v alpas-hlasky.css).
   Šířka obsahu = 1200 px z Avada Options (kontejnery hundred_percent=no, padding 24 px).
   ========================================================================== */
:root {
	--alpas-linka: hsla(var(--awb-color8-h), var(--awb-color8-s), var(--awb-color8-l), 0.08);
}

/* ---- košík: tabulka ---- */
.alpas-kosik-tabulka table.shop_table th,
.alpas-kosik-tabulka table.shop_table td {
	text-align: left !important;
	vertical-align: middle;
}
.alpas-kosik-tabulka table.shop_table th {
	color: var(--awb-custom_color_6) !important;
	font-weight: 500 !important;
	font-size: 13px !important;
}
.alpas-kosik-tabulka .product-name a,
.alpas-pokladna-shrnuti .product-name a {
	color: var(--awb-color8);
	font-weight: 600;
	text-decoration: none !important;
}
.alpas-kosik-tabulka .product-name a:hover {
	color: var(--awb-color4);
}
/* varianty, katalogové číslo, text razítka, logo: popisek nad hodnotou, víceřádkový text bez odsazení */
.alpas-kosik dl.variation,
.alpas-kosik-tabulka dl.variation,
.alpas-pokladna-shrnuti dl.variation,
.woocommerce-order-details dl.variation {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 2px 8px;
	margin: 6px 0 0;
	font-size: 14px;
	line-height: 1.45;
	color: var(--awb-color6);
}
.alpas-kosik-tabulka dl.variation dt,
.alpas-pokladna-shrnuti dl.variation dt,
.woocommerce-order-details dl.variation dt {
	margin: 0 !important;
	font-weight: 500;
	color: var(--awb-custom_color_6);
	float: none !important;
}
.alpas-kosik-tabulka dl.variation dd,
.alpas-pokladna-shrnuti dl.variation dd,
.woocommerce-order-details dl.variation dd {
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}
.alpas-kosik-tabulka dl.variation dd p,
.alpas-pokladna-shrnuti dl.variation dd p,
.woocommerce-order-details dl.variation dd p {
	margin: 0 !important;
}
.alpas-kosik-tabulka .product-remove a.remove {
	color: var(--awb-custom_color_6) !important;
}
.alpas-kosik-tabulka .product-remove a.remove:hover {
	color: var(--awb-color4) !important;
	background: none !important;
}

/* ---- košík: souhrn ---- */
.alpas-kosik-souhrn .shop_table th,
.alpas-kosik-souhrn .shop_table td {
	text-align: left !important;
	background: none !important;
}
.alpas-kosik-souhrn .shop_table td {
	text-align: right !important;
}
.alpas-kosik-souhrn .woocommerce-shipping-totals td,
.alpas-kosik-souhrn .woocommerce-shipping-destination,
.alpas-kosik-souhrn .woocommerce-shipping-calculator,
.alpas-kosik-souhrn .awb-calc-shipping {
	display: none !important; /* doprava se vybírá na pokladně; adresa odběru je pod souhrnem */
}
.alpas-kosik-souhrn .woocommerce-shipping-totals th {
	display: none;
}
.alpas-kosik-souhrn .order-total .woocommerce-Price-amount {
	color: var(--awb-color8);
	font-weight: 700;
	font-size: 20px;
}
.alpas-kosik-pravy .wc-proceed-to-checkout {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
/* tlačítka: hlavní plné červené (k pokladně), vedlejší bílé s červeným rámečkem (aktualizovat) */
.alpas-kosik-pravy .fusion-button,
.alpas-kosik-pravy a.checkout-button,
.alpas-kosik-pravy button[name="update_cart"] {
	border-radius: 10px !important;
	width: 100%;
	justify-content: center;
}
.alpas-kosik-pravy .wc-proceed-to-checkout a.checkout-button {
	background: var(--awb-color4) !important;
	border: 0 !important;
	color: var(--awb-color1) !important;
}
.alpas-kosik-pravy .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--awb-color5) !important;
}
.alpas-kosik-pravy button[name="update_cart"],
.alpas-kosik-pravy .wc-proceed-to-checkout a.fusion-update-cart {
	order: 2; /* vedlejší pod hlavním */
	background: var(--awb-color1) !important;
	border: 2px solid var(--awb-color4) !important;
	color: var(--awb-color4) !important;
}
.alpas-kosik-pravy button[name="update_cart"]:hover,
.alpas-kosik-pravy .wc-proceed-to-checkout a.fusion-update-cart:hover {
	background: var(--awb-custom_color_7) !important;
}
.alpas-kosik-odber {
	padding-top: 14px;
	border-top: 1px solid var(--alpas-linka);
	color: var(--awb-color6);
}

/* ---- pokladna: rozložení (formulář vlevo; shrnutí a platba vpravo; na mobilu shrnutí → formulář → platba) ---- */
/* ÚKOL 066: dva sloupce 50 / 50 až od 1141 px (dřív 60 / 40 od 801 px). Pod 1140 px by byl sloupec užší než ~540 px
   a dlouhé názvy dopravců by se lámaly → raději jeden plný sloupec (shrnutí nahoře, sbalené). */
@media only screen and (min-width: 1141px) {
	.alpas-pokladna > .fusion-builder-row {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-areas: "hlasky hlasky" "udaje shrnuti" "udaje platba";
		column-gap: 40px;
		align-items: start;
	}
	.alpas-pokladna-udaje { grid-area: udaje; grid-row: 2 / span 2; }
	.alpas-pokladna-shrnuti { grid-area: shrnuti; }
	.alpas-pokladna-platba { grid-area: platba; margin-top: 24px !important; }
	.alpas-pokladna-hlasky { grid-area: hlasky; }
	.alpas-pokladna > .fusion-builder-row > .fusion-layout-column {
		width: auto !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.alpas-shrnuti-prepinac {
		display: none !important;
	}
}
@media only screen and (max-width: 1140px) {
	.alpas-pokladna > .fusion-builder-row {
		display: flex !important;
		flex-direction: column;
	}
	.alpas-pokladna > .fusion-builder-row > .fusion-layout-column {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.alpas-pokladna-hlasky { order: 0 !important; }
	.alpas-pokladna-shrnuti { order: 1 !important; margin-bottom: 24px !important; }
	.alpas-pokladna-udaje { order: 2 !important; }
	.alpas-pokladna-platba { order: 3 !important; margin-top: 24px !important; }
	/* shrnutí sbalené: skryté jen položky, mezisoučet + VÝBĚR DOPRAVY + celkem zůstávají vidět (ÚKOL 054 —
	   doprava se vybírá v tabulce shrnutí; pořadí sloupců = nativní „order_small“ v 3439) */
	.alpas-shrnuti-mobil:not(.alpas-shrnuti-otevreno) table.shop_table thead,
	.alpas-shrnuti-mobil:not(.alpas-shrnuti-otevreno) table.shop_table tr.cart_item {
		display: none !important;
	}
	.alpas-shrnuti-mobil .alpas-pokladna-shrnuti-nadpis {
		display: none !important; /* nadpis nahrazuje přepínač */
	}
}
.alpas-shrnuti-prepinac {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 4px 0 12px;
	margin: 0 0 4px;
	border: 0;
	background: none;
	font: inherit;
	font-size: 16px;
	color: var(--awb-color8);
	cursor: pointer;
	text-align: left;
}
.alpas-shrnuti-prepinac span::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin: 0 0 3px 10px;
	border-right: 2px solid var(--awb-custom_color_6);
	border-bottom: 2px solid var(--awb-custom_color_6);
	transform: rotate(45deg);
	transition: transform .15s;
}
.alpas-shrnuti-otevreno .alpas-shrnuti-prepinac span::after {
	transform: rotate(-135deg);
	margin-bottom: -1px;
}
.alpas-shrnuti-otevreno .alpas-shrnuti-prepinac {
	border-bottom: 1px solid var(--alpas-linka);
	margin-bottom: 12px;
}

/* ---- pokladna: shrnutí ---- */
.alpas-pokladna-shrnuti table.shop_table {
	border: 0 !important;
	margin: 0 !important;
}
.alpas-pokladna-shrnuti table.shop_table th,
.alpas-pokladna-shrnuti table.shop_table td {
	background: none !important;
	border-color: var(--alpas-linka) !important;
	text-align: left !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	vertical-align: top;
}
.alpas-pokladna-shrnuti table.shop_table td.product-total,
.alpas-pokladna-shrnuti table.shop_table tfoot td {
	text-align: right !important;
	white-space: nowrap;
}
.alpas-pokladna-shrnuti .product-name {
	font-size: 15px;
	line-height: 1.4;
}
.alpas-pokladna-shrnuti .product-name img,
.alpas-pokladna-shrnuti .fusion-product-name-wrapper img,
.alpas-pokladna-shrnuti .product-thumbnail img {
	width: 52px !important;
	max-width: 52px !important;
	height: auto;
}
.alpas-pokladna-shrnuti .order-total .woocommerce-Price-amount {
	color: var(--awb-color8);
	font-weight: 700;
	font-size: 20px;
}

/* ---- doprava: osobní odběr s adresou a otevírací dobou ---- */
#shipping_method li,
.woocommerce-shipping-methods li {
	text-align: left;
	margin-bottom: 8px;
}
.alpas-odber-detail {
	display: block;
	margin: 4px 0 0 24px;
	font-size: 13px;
	line-height: 1.45;
	color: var(--awb-custom_color_6);
	text-align: left;
}
.woocommerce-shipping-totals td {
	text-align: left !important;
}

/* ---- pokladna: formulář a platba ---- */
.alpas-pokladna-udaje .form-row label .required {
	color: var(--awb-color4);
	text-decoration: none;
	font-weight: 700;
}
.alpas-pokladna-udaje .form-row label .optional {
	color: var(--awb-custom_color_6);
	font-size: 13px;
}
.alpas-pokladna-platba #payment,
.alpas-pokladna-platba .woocommerce-checkout-payment {
	background: none !important;
}
.alpas-pokladna-platba .payment_box {
	background: var(--awb-color2) !important;
	border-radius: 10px;
	font-size: 14px;
}
.alpas-pokladna-platba .payment_box::before {
	display: none !important;
}
.alpas-pokladna-platba #place_order {
	width: 100% !important;
	background: var(--awb-color4) !important;
	border: 0 !important;
	border-radius: 10px !important;
	color: var(--awb-color1) !important;
	font-size: 17px !important;
	padding: 16px 20px !important;
}
.alpas-pokladna-platba #place_order:hover {
	background: var(--awb-color5) !important;
}
.alpas-pokladna-platba .place-order {
	text-align: left !important;
}

/* ---- po objednávce ---- */
.alpas-po-objednavce {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
	margin: 8px 0 32px;
}
.alpas-po-objednavce-blok {
	padding: 22px 24px;
	border-radius: 15px;
	background: var(--awb-color2);
}
.alpas-po-objednavce-navrh {
	background: var(--awb-custom_color_7);
	border-left: 4px solid var(--awb-color4);
}
.alpas-po-objednavce-blok h3 {
	margin: 0 0 8px !important;
	font-size: 18px !important;
}
.alpas-po-objednavce-blok p {
	margin: 0 0 8px;
}
.alpas-po-objednavce-blok p:last-child {
	margin-bottom: 0;
}
/* ve shrnutí pokladny je úzko → popisek a hodnota pod sebou */
.alpas-pokladna-shrnuti dl.variation {
	display: block;
	font-size: 13px;
}
.alpas-pokladna-shrnuti dl.variation dt {
	display: block;
	margin-top: 4px !important;
}
.alpas-pokladna-shrnuti dl.variation dd {
	display: block;
	overflow-wrap: anywhere;
}
/* ÚKOL 054 — mobil: souhrn pokladny (mezisoučet, výběr dopravy, celkem) pod sebou, tabulka nevyjíždí z boxu */
@media only screen and (max-width: 1140px) {
	.alpas-pokladna-shrnuti table.shop_table,
	.alpas-pokladna-shrnuti table.shop_table tbody,
	.alpas-pokladna-shrnuti table.shop_table tfoot,
	.alpas-pokladna-shrnuti table.shop_table tr {
		display: block;
		width: 100% !important;
		margin: 0 !important;
	}
	.alpas-pokladna-shrnuti table.shop_table th,
	.alpas-pokladna-shrnuti table.shop_table td {
		display: block;
		width: auto !important;
		padding: 6px 0 !important;
		text-align: left !important;
		border: 0 !important;
	}
	.alpas-pokladna-shrnuti tr.cart-subtotal,
	.alpas-pokladna-shrnuti tr.order-total {
		display: flex !important;
		justify-content: space-between;
		align-items: baseline;
		border-top: 1px solid var(--alpas-linka);
	}
	.alpas-pokladna-shrnuti tr.woocommerce-shipping-totals {
		border-top: 1px solid var(--alpas-linka);
	}
	.alpas-pokladna-shrnuti #shipping_method {
		margin: 4px 0 0 !important;
		padding: 0 !important;
	}
	.alpas-pokladna-shrnuti #shipping_method li {
		padding: 6px 0;
	}
}
@media only screen and (max-width: 1140px) {
	.alpas-pokladna-shrnuti tr.cart-subtotal th,
	.alpas-pokladna-shrnuti tr.order-total th {
		flex: 1 1 auto;
	}
	.alpas-pokladna-shrnuti tr.cart-subtotal td,
	.alpas-pokladna-shrnuti tr.order-total td {
		flex: 0 0 auto;
		text-align: right !important;
		white-space: nowrap;
	}
	.alpas-pokladna-shrnuti #shipping_method li,
	.alpas-pokladna-shrnuti #shipping_method li label {
		white-space: normal !important;
		max-width: 100%;
	}
	.alpas-pokladna-shrnuti #shipping_method li label .woocommerce-Price-amount {
		white-space: nowrap;
		font-weight: 600;
	}
}
/* ÚKOL 054 — všechny šířky: dlouhé názvy dopravců se zalamují, tabulka shrnutí nevyjede z boxu */
.alpas-pokladna-shrnuti table.shop_table {
	width: 100% !important;
	table-layout: auto;
}
.alpas-pokladna-shrnuti #shipping_method li,
.alpas-pokladna-shrnuti #shipping_method li label {
	white-space: normal !important;
}
.alpas-pokladna-shrnuti #shipping_method li label .woocommerce-Price-amount {
	white-space: nowrap;
	font-weight: 600;
}
.alpas-pokladna-shrnuti tr.woocommerce-shipping-totals td {
	width: 100%;
}

/* ÚKOL 066 — výběr dopravy: každá volba na jednom řádku, vlevo název, vpravo cena (štítek rozdělí
   alpas_kosik_doprava_stitek() v inc/alpas-kosik.php na .alpas-doprava-nazev + .alpas-doprava-cena). */
.alpas-pokladna-shrnuti #shipping_method {
	width: 100%;
	text-align: left !important;
}
.alpas-pokladna-shrnuti #shipping_method li {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 8px;
}
.alpas-pokladna-shrnuti #shipping_method li > input {
	flex: 0 0 auto;
	margin: 0 !important;
}
.alpas-pokladna-shrnuti #shipping_method li > label {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	margin: 0 !important;
}
.alpas-pokladna-shrnuti .alpas-doprava-nazev {
	flex: 1 1 auto;
	text-align: left;
}
.alpas-pokladna-shrnuti .alpas-doprava-cena {
	flex: 0 0 auto;
	white-space: nowrap;
	font-weight: 600;
	text-align: right;
}
.alpas-pokladna-shrnuti #shipping_method li > .alpas-odber-detail {
	flex: 1 0 100%;
	padding-left: 24px;
}
/* položky: cena jen tak široká, jak potřebuje — zbytek řádku patří názvu, textu razítka a souboru */
.alpas-pokladna-shrnuti table.shop_table .product-total {
	width: 1% !important;
	white-space: nowrap;
}
.alpas-pokladna-shrnuti table.shop_table .product-name {
	width: auto !important;
}
/* řádek Doprava: nadpis nad volbami, volby přes celou šířku shrnutí (vedle nadpisu by se název dopravce lámal) */
.alpas-pokladna-shrnuti tr.woocommerce-shipping-totals > th,
.alpas-pokladna-shrnuti tr.woocommerce-shipping-totals > td {
	display: block;
	width: auto !important;
}
.alpas-pokladna-shrnuti tr.woocommerce-shipping-totals > th {
	padding-bottom: 0 !important;
	border-bottom: 0 !important;
}
/* Součty pod položkami (tabulka awb-cart-totals-table) i na počítači jako bloky — jinak by řádek Doprava
   zůstal ve sloupci tabulky a volby by nedosáhly k pravému okraji (cena by nebyla zarovnaná s mezisoučtem). */
.alpas-pokladna-shrnuti table.awb-cart-totals-table,
.alpas-pokladna-shrnuti table.awb-cart-totals-table > tbody,
.alpas-pokladna-shrnuti table.awb-cart-totals-table > tbody > tr {
	display: block;
	width: 100% !important;
}
.alpas-pokladna-shrnuti table.awb-cart-totals-table > tbody > tr:not(.woocommerce-shipping-totals) {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
}
.alpas-pokladna-shrnuti table.awb-cart-totals-table > tbody > tr:not(.woocommerce-shipping-totals) > td {
	text-align: right !important;
	white-space: nowrap;
}

/* ÚKOL 070 — košík: údaje položky (barva otisku, katalogové číslo, text razítka, soubor) VŽDY popisek nad hodnotou,
   na všech šířkách stejně (dřív dvě kolonky vedle sebe → na 1024 px zbylo na text ~80 px a adresa se lámala po slovech).
   Stejný vzor jako shrnutí pokladny; popisek drobně a šedě, hodnota běžně. Souhrn vpravo beze změny. */
.alpas-kosik-tabulka dl.variation {
	display: block;
}
.alpas-kosik-tabulka dl.variation dt {
	display: block;
	margin: 8px 0 0 !important;
	font-size: 12px;
	line-height: 1.3;
}
.alpas-kosik-tabulka dl.variation dt:first-child {
	margin-top: 0 !important;
}
.alpas-kosik-tabulka dl.variation dd {
	display: block;
	font-size: 14px;
	color: var(--awb-color6);
}
