/* ==========================================================================
   Nákup: košík, pokladna, platba, děkovná stránka a účet — jen vizuál.

   Načítá se po inline stylopisu (_head-eshop-style.latte). Obecné opravy
   z auditu (P2-1 rytmus polí, P2-2 tlačítko Packety) platí pro oba směry,
   protože jen srovnávají rozbité místo přes tokeny. Všechno ostatní je pod
   [data-smer="znacka"], aby směr „Půlnoc" zůstal, jak je.
   ========================================================================== */

/* ----- P2-1: rytmus polí pokladny ----- */
/* Popisek dalšího pole se lepil na předchozí input — mezera patří skupině
   (obal pole v šabloně je holý <div>), ne popisku. */
.eshop-checkout form > div,
.eshop-checkout :is(#checkout-order-part, #foreign-inquiry-panel) > div,
.eshop-ucet form > div,
.eshop-payment form > div {
	margin-bottom: var(--k5);
}

/* Náhled položky košíku: odkaz na detail (nebo <span>, když není kam vést)
   obalující fotku či zástupný obrázek. Obal drží rozměr i zaoblení náhledu,
   obrázek se mu jen přizpůsobí. Produkt bez fotky má decentní zástupný
   obrázek ve stejném poměru stran jako fotka — ne prázdné místo. */
.eshop-cart .kosik-radek .kosik-foto {
	display: block;
	width: 64px;
	overflow: hidden;
	line-height: 0;
}

.eshop-cart .kosik-radek .kosik-foto img {
	display: block;
	width: 100%;
	height: auto;
}

.kosik-foto-zastupny {
	display: grid;
	place-items: center;
	width: 100%;
	aspect-ratio: var(--pomer-produkt);
	background: var(--c-pozadi2);
	color: var(--c-slabe);
}

.kosik-foto-zastupny svg {
	width: 40%;
	height: auto;
}

/* Past na roboty v poptávce ze zahraničí: pole nesmí vidět člověk ani čtečka,
   robot ho ale v DOM najde a vyplní. */
.eshop-checkout .eshop-past {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Poptávka ze zahraničí (v1.5.3): obě části formuláře jsou fieldsety bez
   vlastního rámu; nadpis a úvod panelu v rytmu pokladny. */
.eshop-checkout :is(#checkout-order-part, #foreign-inquiry-panel) {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.eshop-checkout #foreign-inquiry-panel > h2 {
	margin: var(--k2) 0 var(--k2);
	font-size: 20px;
	font-weight: 500;
}

.eshop-checkout #foreign-inquiry-panel > p:first-of-type {
	margin: 0 0 var(--k5);
	color: var(--c-text-tlumene);
}

.eshop-checkout form > div:last-of-type {
	margin-bottom: var(--k5);
}

.eshop-checkout .pole-chyba,
.eshop-ucet .pole-chyba {
	margin-bottom: 0;
}

/* ----- Audit 30. 9. 2026 (bod 8): chyby pokladny jako chyby ----- */
/* Hláška dřív měla barvu akcentu a od běžného textu nešla rozeznat. Pole
   s chybou (`aria-invalid` doplňuje skript) dostane rámeček v barvě chyby. */
.eshop-checkout .pole-chyba:not(:empty),
.eshop-checkout .eshop-checkout__chyby {
	color: var(--c-chyba, #b3261e);
	font-weight: 500;
}

.eshop-checkout [aria-invalid="true"] {
	border-color: var(--c-chyba, #b3261e) !important;
	box-shadow: 0 0 0 1px var(--c-chyba, #b3261e);
}

.eshop-checkout__chyby p {
	margin: 0;
}

.eshop-checkout .nepovinne {
	color: var(--c-text-tlumene);
	font-weight: 400;
}

/* ----- Audit 30. 9. 2026 (body 1 a 2): rozpis ceny ----- */
/* Zboží, sleva, doprava a platba v souhrnu i v rekapitulaci u tlačítka. */
.eshop-checkout__rozpis {
	margin: var(--k3) 0 0;
}

.eshop-checkout__rozpis > div {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--k3);
	padding-block: var(--k1);
}

.eshop-checkout__rozpis dt,
.eshop-checkout__rozpis dd {
	margin: 0;
}

.eshop-checkout__rozpis dd {
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

/* ----- P2-2: tlačítko Packety jako ostatní tlačítka pokladny ----- */
/* Mělo vlastní písmo (600), text v barvě textu na akcentu (slabý kontrast)
   a jiné odsazení. Je to vedlejší akce → obrysové tlačítko v téže pilulce
   a témže písmu jako „Uplatnit kupón". */
#packeta-pick {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: var(--k2) var(--k5);
	border: 1px solid var(--c-akcent);
	border-radius: var(--r-pilulka);
	background: transparent;
	color: var(--c-akcent-text);
	font-family: var(--pismo-text);
	font-size: var(--t-drobne);
	font-weight: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	box-shadow: none;
	transform: none;
}

#packeta-pick:hover {
	background: var(--c-akcent-jemny);
}

#packeta-pick:focus-visible {
	outline: 2px solid var(--c-akcent);
	outline-offset: 2px;
}

/* ==========================================================================
   Směr „Značka"
   ========================================================================== */

/* ----- Společné: nadpisy a formuláře jako klidné karty ----- */
[data-smer="znacka"] .eshop-cart h1,
[data-smer="znacka"] .eshop-checkout h1,
[data-smer="znacka"] .eshop-payment h1,
[data-smer="znacka"] .eshop-order-status h1,
[data-smer="znacka"] .eshop-ucet h1 {
	margin-bottom: var(--k6);
	font-size: var(--t-h1);
}

[data-smer="znacka"] .eshop-checkout form,
[data-smer="znacka"] .eshop-payment form,
[data-smer="znacka"] .eshop-order-status form,
[data-smer="znacka"] .eshop-ucet form {
	padding: clamp(20px, 3vw, 32px);
	border: 1px solid var(--c-linka);
	border-radius: 12px;
	background: var(--c-povrch);
	box-shadow: var(--stin-karta);
}

[data-smer="znacka"] .eshop-checkout label,
[data-smer="znacka"] .eshop-payment label,
[data-smer="znacka"] .eshop-order-status label,
[data-smer="znacka"] .eshop-ucet label {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
}

[data-smer="znacka"] .eshop-checkout input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
[data-smer="znacka"] .eshop-checkout textarea,
[data-smer="znacka"] .eshop-payment input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
[data-smer="znacka"] .eshop-order-status input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
[data-smer="znacka"] .eshop-ucet input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
[data-smer="znacka"] .eshop-ucet textarea {
	min-height: 48px;
	border-radius: var(--r-ovladac);
	background: var(--c-pozadi);
}

[data-smer="znacka"] .eshop-checkout .pole-chyba,
[data-smer="znacka"] .eshop-ucet .pole-chyba,
[data-smer="znacka"] .eshop-payment .pole-chyba {
	color: var(--c-chyba);
}

[data-smer="znacka"] .eshop-checkout fieldset,
[data-smer="znacka"] .eshop-payment fieldset,
[data-smer="znacka"] .eshop-order-status fieldset {
	margin-block: var(--k6) var(--k5);
	padding: 0;
	border: 0;
}

[data-smer="znacka"] .eshop-checkout legend,
[data-smer="znacka"] .eshop-payment legend,
[data-smer="znacka"] .eshop-order-status legend {
	margin-bottom: var(--k3);
	padding: 0;
	font-family: var(--pismo-text);
	font-size: 18px;
	font-weight: 500;
}

/* Volby dopravy a platby jako dlaždice: celá plocha je cíl, vybraná má akcent. */
[data-smer="znacka"] .eshop-checkout fieldset label:has(input[type="radio"]) {
	display: flex;
	align-items: center;
	min-height: 56px;
	margin: 0 0 var(--k2);
	padding: var(--k3) var(--k4) var(--k3) calc(var(--k4) + 22px + var(--k3));
	border: 1px solid var(--c-linka);
	border-radius: var(--r-ovladac);
	background: var(--c-pozadi);
	font-weight: 400;
	transition: border-color var(--cas-rychle), background var(--cas-rychle);
}

[data-smer="znacka"] .checkout-payment-options {
	display: grid;
	gap: var(--k2);
}

[data-smer="znacka"] .eshop-checkout fieldset .checkout-payment-option {
	align-items: flex-start;
	margin-bottom: 0;
}

.checkout-payment-option__copy {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.checkout-payment-option__copy small,
.checkout-payment-option-note {
	color: var(--c-text-tlumene);
	font-size: var(--t-drobne);
	font-weight: 400;
	line-height: 1.4;
}

.checkout-payment-option-note {
	margin: 0 0 var(--k2);
}

[data-smer="znacka"] .eshop-checkout fieldset label:has(input[type="radio"]):hover {
	border-color: var(--c-text-tlumene);
}

[data-smer="znacka"] .eshop-checkout fieldset label:has(input[type="radio"]:checked) {
	border-color: var(--c-akcent);
	background: var(--c-akcent-jemny);
	box-shadow: inset 0 0 0 1px var(--c-akcent);
}

[data-smer="znacka"] .eshop-checkout fieldset label > input[type="radio"] {
	top: 50%;
	left: var(--k4);
	margin: 0;
	transform: translateY(-50%);
}

[data-smer="znacka"] .eshop-checkout fieldset br {
	display: none;
}

[data-smer="znacka"] #packeta-pickup {
	border-radius: var(--r-ovladac);
	background: var(--c-pozadi2);
}

[data-smer="znacka"] #packeta-pick {
	font-size: 15px;
	font-weight: 500;
}

/* Kupón: pole a tlačítko v jednom řádku, tlačítko jako vedlejší akce. */
[data-smer="znacka"] .eshop-checkout__coupon {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: var(--k2) var(--k3);
}

[data-smer="znacka"] .eshop-checkout__coupon label,
[data-smer="znacka"] .eshop-checkout__coupon .pole-chyba,
[data-smer="znacka"] .eshop-checkout__coupon-applied {
	grid-column: 1 / -1;
}

[data-smer="znacka"] .eshop-checkout__coupon label {
	margin-bottom: 0;
}

[data-smer="znacka"] .eshop-checkout__coupon button {
	grid-row: 2;
	grid-column: 2;
	min-height: 48px;
	padding-inline: var(--k5);
	border: 1px solid var(--c-linka);
	background: transparent;
	color: var(--c-text);
	font-size: 15px;
}

[data-smer="znacka"] .eshop-checkout__coupon button:hover {
	border-color: var(--c-text);
	background: transparent;
}

/* Souhlasy: čitelné písmo, odkaz podtržený, velká cílová plocha. */
[data-smer="znacka"] .eshop-checkout__consent {
	margin-bottom: var(--k3);
}

[data-smer="znacka"] .eshop-checkout__consent label {
	margin-block: 0;
	padding-block: 2px;
	color: var(--c-text);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
}

[data-smer="znacka"] .eshop-checkout__consent a {
	color: var(--c-akcent-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Hlavní tlačítko objednávky. */
[data-smer="znacka"] .eshop-checkout form > button[type="submit"],
[data-smer="znacka"] .eshop-checkout :is(#checkout-order-part, #foreign-inquiry-panel) > button[type="submit"],
[data-smer="znacka"] .eshop-checkout form > input[type="submit"] {
	width: 100%;
	min-height: 52px;
	font-size: 16px;
}

/* Shrnutí objednávky: karta vpravo, drží se při posunu (desktop). */
/* Dva sloupce jen tam, kde je základní stylopis má (> 1024 px). Bez media
   dotazu přebíjelo toto pravidlo mobilní 1fr a shrnutí se na 390 px
   zmáčklo do 40px sloupce PŘES formulář. */
[data-smer="znacka"] .eshop-checkout__layout {
	gap: clamp(24px, 3vw, 48px);
}

@media (min-width: 1025px) {
	[data-smer="znacka"] .eshop-checkout__layout {
		grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
	}
}

.eshop-checkout .checkout-line-description {
	display: flex;
	min-width: 0;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 6px;
}

.eshop-checkout .checkout-line-title {
	min-width: 0;
	overflow-wrap: anywhere;
}

.eshop-checkout .checkout-line-variant {
	flex: 0 0 auto;
	white-space: nowrap;
	color: var(--c-text-tlumene);
	font-size: 13px;
}

.eshop-checkout .checkout-event-date {
	flex: 1 1 100%;
	color: var(--c-text-tlumene);
	font-size: var(--t-drobne);
	line-height: 1.4;
}

[data-smer="znacka"] .eshop-checkout__summary {
	top: calc(var(--k8) + var(--k5));
	padding: var(--k5);
	border: 1px solid var(--c-linka);
	border-radius: 12px;
	background: var(--c-povrch);
	box-shadow: var(--stin-karta);
}

[data-smer="znacka"] .eshop-checkout__summary h2 {
	font-family: var(--pismo-text);
	font-size: 18px;
	font-weight: 500;
}

[data-smer="znacka"] .eshop-checkout__summary li {
	padding-bottom: var(--k3);
	border-bottom: 1px solid var(--c-linka);
	font-size: 15px;
}

[data-smer="znacka"] .eshop-checkout__summary .mnozstvi {
	color: var(--c-text-tlumene);
	white-space: nowrap;
}

[data-smer="znacka"] .eshop-checkout__summary small {
	color: var(--c-slabe);
	font-size: 13px;
}

[data-smer="znacka"] .eshop-checkout__summary .total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--k3);
	margin: var(--k4) 0 0;
	font-size: 16px;
}

[data-smer="znacka"] .eshop-checkout__summary .total strong {
	font-size: 22px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}

/* Režim poptávky ze zahraničí přepíná atributem `hidden` součet, poznámku
   i upozornění; `display: flex` u `.total` by ho jinak přebil. */
.eshop-checkout [hidden] {
	display: none !important;
}

[data-smer="znacka"] .eshop-checkout__poznamka {
	margin: var(--k2) 0 0;
	color: var(--c-text-tlumene);
	font-size: 14px;
}

[data-smer="znacka"] #checkout-warnings {
	margin: 0 0 var(--k4);
}

/* Děkovná stránka: rekapitulace jako karta. */
[data-smer="znacka"] .eshop-thanks-recap {
	overflow: hidden;
	border: 1px solid var(--c-linka);
	border-radius: 12px;
	background: var(--c-povrch);
}

[data-smer="znacka"] .eshop-thanks-recap caption {
	padding-inline: var(--k2);
}

/* ----- Košík ----- */
[data-smer="znacka"] .eshop-cart > * {
	max-width: none;
}

@media (min-width: 1024px) {
	[data-smer="znacka"] .eshop-cart {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
		align-items: start;
		column-gap: clamp(24px, 3vw, 48px);
	}

	[data-smer="znacka"] .eshop-cart > * {
		grid-column: 1;
	}

	[data-smer="znacka"] .eshop-cart > h1,
	[data-smer="znacka"] .eshop-cart > .kosik-prazdno {
		grid-column: 1 / -1;
	}

	/* Pokladna v1.5.14: obsah košíku je ve snippetu (`.kosik-obsah`). Bez
	   `display: contents` byl obal snippetu jedinou položkou mřížky a souhrn
	   stál pod položkami místo vpravo. */
	[data-smer="znacka"] .eshop-cart > .kosik-obsah {
		display: contents;
	}

	[data-smer="znacka"] .eshop-cart > .kosik-obsah > * {
		grid-column: 1;
	}

	[data-smer="znacka"] .eshop-cart > .kosik-obsah > .kosik-prazdno {
		grid-column: 1 / -1;
	}

	[data-smer="znacka"] .eshop-cart > .kosik-shrnuti,
	[data-smer="znacka"] .eshop-cart > .kosik-obsah > .kosik-shrnuti {
		position: sticky;
		/* Hlavička košíku je lepivá i s řádkem menu (127 px změřeno na
		   stagingu 2. 10. 2026) — s `top` 88 px by souhrn zajel pod ni.
		   Pokladna má hlavičku bez menu (77 px), tam stačí původní hodnota. */
		top: calc(var(--eshop-hlavicka-vyska, 128px) + var(--k5));
		grid-column: 2;
		grid-row: 2 / span 20;
	}
}

[data-smer="znacka"] .eshop-cart .kosik-telo {
	display: grid;
	gap: var(--k3);
	padding: 0;
}

[data-smer="znacka"] .eshop-cart .kosik-radek {
	margin: 0;
	padding: var(--k4) var(--k5);
	border: 1px solid var(--c-linka);
	border-radius: 12px;
	background: var(--c-povrch);
	box-shadow: var(--stin-karta);
}

[data-smer="znacka"] .eshop-cart .kosik-radek .jmeno {
	color: var(--c-text);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
}

[data-smer="znacka"] .eshop-cart .kosik-radek .meta {
	margin-top: 2px;
	color: var(--c-text-tlumene);
	font-size: 14px;
}

[data-smer="znacka"] .eshop-cart .kosik-radek .mezisoucet {
	font-family: var(--pismo-text);
	font-size: 17px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}

[data-smer="znacka"] .eshop-cart .kosik-radek .cena-za-kus {
	font-size: 13px;
}

/* „Odebrat" je <button> ve formuláři (POST s tokenem). Vzhled tlačítek
   značky (pilulka, akcent, 48 px) se tu ruší: je to vedlejší textová akce
   řádku, dotyková plocha zůstává 44 px. */
[data-smer="znacka"] .eshop-cart .kosik-radek .pryc {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 var(--k2);
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--c-text-tlumene);
	font-size: 14px;
	font-weight: 400;
}

[data-smer="znacka"] .eshop-cart .kosik-radek .pryc:hover {
	background: none;
	color: var(--c-chyba);
}

[data-smer="znacka"] .eshop-cart .kosik-radek .kosik-foto {
	border-radius: 8px;
}

[data-smer="znacka"] .eshop-cart .kosik-radek a.jmeno {
	color: var(--c-text);
}

[data-smer="znacka"] .eshop-cart .kosik-mnozstvi label {
	font-size: 13px;
	font-weight: 400;
}

[data-smer="znacka"] .eshop-cart .kosik-mnozstvi input[type="number"] {
	width: 4.5rem;
	border-radius: var(--r-ovladac);
	text-align: center;
}

/* „Přepočítat" je vedlejší akce řádku — ne druhé hlavní tlačítko vedle
   „Pokračovat k pokladně". */
[data-smer="znacka"] .eshop-cart .kosik-mnozstvi button {
	min-height: 44px;
	padding: 0 var(--k4);
	border: 1px solid var(--c-linka);
	background: transparent;
	color: var(--c-text);
	font-size: 14px;
}

[data-smer="znacka"] .eshop-cart .kosik-mnozstvi button:hover {
	border-color: var(--c-text);
	background: transparent;
}

.eshop-cart .kosik-zmenit-velikost {
	margin-top: var(--k2);
	font-size: var(--t-drobne);
}

.eshop-cart .kosik-udalost {
	margin: var(--k1) 0;
	color: var(--c-text-tlumene);
	font-size: var(--t-drobne);
	line-height: 1.4;
}

.eshop-cart .kosik-zmenit-velikost summary {
	min-height: 36px;
	color: var(--c-akcent-text);
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.eshop-cart form.kosik-zmenit-variantu {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: var(--k2);
	margin: var(--k2) 0 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.eshop-cart form.kosik-zmenit-variantu label {
	grid-column: 1 / -1;
	margin: 0;
}

.eshop-cart form.kosik-zmenit-variantu select {
	min-width: 0;
	width: 100%;
	min-height: 44px;
}

.eshop-cart form.kosik-zmenit-variantu button {
	min-height: 44px;
	padding-inline: var(--k3);
}

[data-smer="znacka"] .eshop-cart .kosik-shrnuti {
	display: grid;
	gap: var(--k4);
	margin-top: var(--k5);
	padding: var(--k5);
	border: 1px solid var(--c-linka);
	border-radius: 12px;
	background: var(--c-povrch);
	box-shadow: var(--stin-karta);
}

@media (min-width: 1024px) {
	[data-smer="znacka"] .eshop-cart .kosik-shrnuti {
		margin-top: 0;
	}
}

[data-smer="znacka"] .eshop-cart .kosik-shrnuti > * {
	margin: 0;
}

[data-smer="znacka"] .eshop-cart .kosik-prah {
	display: block;
	border: 0;
	border-radius: var(--r-ovladac);
	font-size: 14px;
}

[data-smer="znacka"] .eshop-cart .kosik-prah small {
	display: block;
	margin-top: 2px;
}

[data-smer="znacka"] .eshop-cart .kosik-prah--splneno {
	background: var(--c-akcent-jemny);
}

[data-smer="znacka"] .eshop-cart .kosik-soucet {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--k1) var(--k3);
	font-size: 16px;
}

[data-smer="znacka"] .eshop-cart .kosik-soucet .castka {
	order: 2;
	margin-left: auto;
	font-family: var(--pismo-text);
	font-size: 24px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}

[data-smer="znacka"] .eshop-cart .kosik-dph {
	font-size: 13px;
}

[data-smer="znacka"] .eshop-cart .kosik-shrnuti .btn {
	width: 100%;
	min-height: 52px;
	font-size: 16px;
}

[data-smer="znacka"] .eshop-cart-warnings {
	border-radius: var(--r-ovladac);
}

[data-smer="znacka"] .eshop-cart .kosik-prazdno-kategorie a {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

/* ----- Jack: sjednocení s ostatními stránkami (směr Značka) ----- */
[data-smer="znacka"] :is(.eshop-cart, .eshop-checkout, .eshop-payment, .eshop-order-status, .eshop-ucet) {
	padding-top: var(--stranka-nahore);
}

[data-smer="znacka"] :is(.eshop-cart, .eshop-checkout, .eshop-payment, .eshop-order-status, .eshop-ucet) > h1 {
	margin-top: 0;
}

/* Mobil: karta kolem formuláře ubírala polím 66 px šířky (284 z 350)
   a vnořovala rámeček do rámečku. Na úzkém displeji je formulář holý. */
@media (max-width: 700px) {
	[data-smer="znacka"] :is(.eshop-checkout, .eshop-payment, .eshop-order-status, .eshop-ucet) form {
		padding: 0;
		border: 0;
		background: none;
		box-shadow: none;
	}
}

/* Potvrzení poptávky ze zahraničí (v1.5.3): krátká stránka, další krok jako tlačítko. */
.eshop-poptavka-hotovo {
	max-width: 40rem;
}

.eshop-poptavka-hotovo p {
	margin: 0 0 var(--k3);
}

.eshop-poptavka-hotovo__dalsi {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	margin-top: var(--k4);
	padding: 0 var(--k6);
	border-radius: 999px;
	background: var(--c-akcent);
	color: var(--c-na-akcentu);
	font-weight: 500;
	text-decoration: none;
}

.eshop-poptavka-hotovo__dalsi:hover {
	filter: brightness(.92);
}

.eshop-poptavka-hotovo__dalsi:focus-visible {
	outline: 2px solid var(--c-akcent);
	outline-offset: 3px;
}

/* Pokladna: jedna rekapitulace, čitelné sekce a doplnění zvolené dopravy. */
.eshop-checkout__summary {
	position: sticky;
	top: 24px;
	align-self: start;
	min-width: 0;
}

.eshop-checkout__summary > div > #checkout-summary-details > summary {
	display: none;
}

.eshop-checkout #checkout-order-part > h2 {
	margin: 12px 0 20px;
	font-size: 22px;
}

.checkout-shipping-cards {
	display: grid;
	gap: 12px;
}

.checkout-shipping-card {
	border: 1px solid var(--c-linka);
	border-radius: 12px;
	padding: 16px;
}

.checkout-shipping-card:has(input:checked) {
	border-color: var(--c-akcent);
	background: var(--c-pozadi2);
}

.eshop-checkout .checkout-shipping-card > label {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	margin: 0;
	padding: 0;
	cursor: pointer;
}

/* Překryje původní absolutní umístění rádia uvnitř labelu. */
.eshop-checkout .checkout-shipping-card > label > input[type="radio"] {
	position: static;
	margin: 0;
}

.checkout-shipping-card #packeta-pickup,
.checkout-shipping-card #checkout-address {
	margin-top: 20px;
}

/* Výdejní místo uvnitř karty dopravy sdílí její rámeček a pozadí. */
.eshop-checkout .checkout-shipping-card #packeta-pickup {
	border: 0;
	border-radius: 0;
	background: transparent;
	padding: 0;
	margin-bottom: 0;
}

#checkout-address > div {
	margin-bottom: 20px;
}

#checkout-address[hidden],
#packeta-pickup[hidden] {
	display: none;
}

.eshop-checkout .checkout-pickup-card {
	font-size: 16px;
	color: var(--c-text);
	padding: 12px 0;
}

.checkout-country {
	margin-bottom: 24px;
}

.checkout-country summary,
.eshop-checkout #checkout-order-part > details > summary {
	cursor: pointer;
	min-height: 44px;
	padding-block: 12px;
}

.checkout-country-hint {
	font-size: 14px;
}

.checkout-geo-attribution {
	font-size: 12px;
	opacity: .75;
}

.checkout-payable {
	margin-block: 24px 12px;
}

.eshop-checkout .eshop-checkout__summary li {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 8px 12px;
	margin-bottom: 20px;
}

.checkout-line-photo {
	grid-row: span 5;
	width: 64px;
	height: 85px;
	object-fit: cover;
	border-radius: 6px;
}

.eshop-checkout__summary li > :not(.checkout-line-photo) {
	grid-column: 2;
}

.checkout-line-actions,
.cart-step-buttons {
	display: flex;
	align-items: center;
	gap: 8px;
}

.eshop-checkout .checkout-line-actions button,
.eshop-cart .cart-step-buttons button {
	min-width: 44px;
	min-height: 44px;
	padding: 8px;
}

.eshop-checkout :is(button, input, select, textarea),
.eshop-cart button {
	min-height: 44px;
}

.eshop-checkout input:is([type="radio"], [type="checkbox"]) {
	min-height: 20px;
}

.eshop-checkout :is(button, input, select, textarea, summary, a):focus-visible,
.eshop-cart :is(button, input, a):focus-visible {
	outline: 3px solid var(--c-akcent);
	outline-offset: 3px;
}

.eshop-checkout .checkout-discounts {
	margin-top: 20px;
	border-top: 1px solid var(--c-linka);
	border-bottom: 1px solid var(--c-linka);
}

.eshop-checkout .checkout-discounts > summary {
	min-height: 44px;
	padding-block: 12px;
	color: var(--c-text-tlumene);
	font-size: 14px;
	cursor: pointer;
}

.eshop-checkout .checkout-discounts[open] > summary {
	margin-bottom: 12px;
	color: var(--c-text);
}

.eshop-checkout .checkout-discounts .eshop-checkout__coupon {
	margin-top: 12px;
}

.eshop-checkout .eshop-checkout__coupon {
	display: block;
	margin-top: 20px;
}

.eshop-checkout__coupon input {
	width: 100%;
}

.eshop-checkout__coupon button {
	margin-top: 8px;
}

.eshop-cart #cart-undo {
	margin-bottom: 20px;
}

.eshop-cart #cart-share {
	margin-top: 20px;
}

.eshop-cart .kosik-ovladani {
	grid-area: mnozstvi;
}

.eshop-cart .cart-step-buttons form {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

.eshop-cart .cart-step-buttons {
	margin-top: 8px;
}

/* Krokování počtu je vedlejší akce řádku: obrys jako „Přepočítat", ne dvě
   plná akcentová kolečka, která na mobilu přebíjela „Pokračovat k pokladně".
   V pokladně navíc „×" (odebrat) nesmí vypadat stejně jako „+". */
[data-smer="znacka"] .eshop-cart .cart-step-buttons button,
[data-smer="znacka"] .eshop-checkout .checkout-line-actions button {
	width: 44px;
	padding: 0;
	border: 1px solid var(--c-linka);
	border-radius: var(--r-ovladac);
	background: transparent;
	color: var(--c-text);
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
}

[data-smer="znacka"] .eshop-cart .cart-step-buttons button:hover:not(:disabled),
[data-smer="znacka"] .eshop-checkout .checkout-line-actions button:hover:not(:disabled) {
	border-color: var(--c-text);
	background: transparent;
}

[data-smer="znacka"] .eshop-cart .cart-step-buttons button:disabled,
[data-smer="znacka"] .eshop-checkout .checkout-line-actions button:disabled {
	opacity: .4;
	cursor: not-allowed;
}

[data-smer="znacka"] .eshop-checkout .checkout-line-actions button:last-child {
	margin-left: auto;
	border-color: transparent;
	color: var(--c-text-tlumene);
}

[data-smer="znacka"] .eshop-checkout .checkout-line-actions button:last-child:hover {
	border-color: transparent;
	color: var(--c-chyba);
}

.eshop-cart.has-js .kosik-mnozstvi button {
	display: none;
}

.eshop-checkout .eshop-checkout__summary[aria-busy="true"] {
	opacity: .65;
}

@media (max-width: 1024px) {
	.eshop-checkout__summary {
		position: static;
	}
}

@media (max-width: 767px) {
	.eshop-checkout__summary {
		order: -1;
	}

	.eshop-checkout__summary > div > #checkout-summary-details > summary {
		display: block;
		cursor: pointer;
		min-height: 44px;
		padding-block: 12px;
	}

	.eshop-checkout__summary > div > #checkout-summary-details:not([open]) > :not(summary),
	.eshop-checkout__summary h2 {
		display: none;
	}
}

/* ----- Pokladna v1.5.14: opravy po nasazení ----- */

/* Záložní „Přepočítat" je jen pro prohlížeč bez JS. Třídu `eshop-js` dává
   layout ještě v <head>, takže tlačítko po načtení neproblikne (`has-js`
   zůstává jako pojistka pro layout childa bez téhle třídy). */
.eshop-js .eshop-cart .kosik-mnozstvi button {
	display: none;
}

/* Upozornění nad pokladnou (poslední kus, zboží na objednávku): obecné
   `.cms-flash` je stavěné pro hlášky layoutu na ose stránky — drobné písmo
   a levé odsazení o celý okraj stránky. Uvnitř pokladny je to karta. */
.eshop-checkout .cms-flash {
	width: auto;
	margin: 0 0 var(--k3);
	padding: var(--k4) var(--k5);
	border-radius: var(--r-ovladac);
	font-size: 15px;
	line-height: 1.5;
}

/* Volba dopravy: rámeček nese karta, label uvnitř je holý (dřív dostal ještě
   rámeček dlaždice voleb → rámeček v rámečku). Rádio stojí v řádku ve flexu,
   uprostřed výšky; obecné pravidlo dlaždic ho posouvalo `translateY(-50%)`. */
.eshop-checkout .checkout-shipping-cards .checkout-shipping-card > label:has(input[type="radio"]),
.eshop-checkout .checkout-shipping-cards .checkout-shipping-card > label:has(input[type="radio"]:checked),
.eshop-checkout .checkout-shipping-cards .checkout-shipping-card > label:has(input[type="radio"]):hover {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
}

.eshop-checkout .checkout-shipping-cards .checkout-shipping-card > label > input[type="radio"] {
	position: static;
	top: auto;
	left: auto;
	flex: 0 0 auto;
	margin: 0;
	transform: none;
}

/* Souhrn košíku: sdílení je vedlejší akce uvnitř karty — bez šedého boxu
   obecného `.eshop-cart form`, tlačítka jako obrysová. */
.eshop-cart .kosik-sdileni {
	display: grid;
	gap: var(--k3);
	padding-top: var(--k3);
	border-top: 1px solid var(--c-linka);
}

.eshop-cart form.kosik-sdileni-form {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

.eshop-cart .kosik-sdileni .kosik-vedlejsi {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 var(--k4);
	border: 1px solid var(--c-linka);
	border-radius: 999px;
	background: transparent;
	color: var(--c-text);
	cursor: pointer;
	font-family: var(--pismo-text);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: normal;
	text-transform: none;
}

.eshop-cart .kosik-sdileni .kosik-vedlejsi:hover {
	transform: none;
	border-color: var(--c-text);
	background: transparent;
	box-shadow: none;
}

.eshop-cart .kosik-sdileni #cart-share {
	display: grid;
	gap: var(--k2);
	margin: 0;
}

.eshop-cart .kosik-sdileni #cart-share[hidden] {
	display: none;
}

.eshop-cart .kosik-sdileni #cart-share .kosik-vedlejsi {
	justify-self: start;
}

.eshop-cart .kosik-sdileni #cart-share label {
	font-size: 13px;
	font-weight: 400;
}

.eshop-cart .kosik-sdileni #cart-share input {
	width: 100%;
	min-height: 44px;
	font-size: 14px;
}

.eshop-cart .kosik-sdileni #cart-share-status:empty {
	display: none;
}

.growth-cart-help { min-width:0; }
/* Blok pomoci v košíku: `.obal` uvnitř `.eshop-cart` přidával druhý okraj
   (karty odsazené o 40 px vedle řádku košíku) a strop 860 px je zužoval
   proti mřížce košíku. */
.eshop-cart > .growth-cart-help { max-width:none; }
.growth-cart-help > .obal { padding-inline:0; }

.eshop-withdrawal form > p { margin-block: 16px; }
.eshop-withdrawal form > button { margin-top: 8px; max-width: 100%; white-space: normal; }
.eshop-withdrawal form + p { margin-top: 24px; }

/* Approved checkout density: keep the brand and full-size controls, remove
   repeated vertical spacing from the one-page form only. Loaded after base. */
[data-smer="znacka"] .eshop-checkout {
	padding-top: 20px;
}
[data-smer="znacka"] .eshop-checkout > h1 {
	margin-bottom: 16px;
}
[data-smer="znacka"] .eshop-checkout #checkout-form {
	padding: 20px;
	min-width: 0;
}
.eshop-checkout #checkout-order-part {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}
.eshop-checkout #checkout-order-part > h2 {
	margin: 4px 0 12px;
}
.eshop-checkout #checkout-order-part > div {
	margin-bottom: 12px;
}
.eshop-checkout .checkout-country {
	margin-bottom: 8px;
}
.eshop-checkout .checkout-contact-pair {
	display: grid;
	gap: 12px;
	min-width: 0;
}
.eshop-checkout .checkout-contact-pair > div {
	min-width: 0;
}
.eshop-checkout .checkout-contact-pair > div:only-child {
	grid-column: 1 / -1;
}
.eshop-checkout #checkout-order-part > fieldset,
.eshop-checkout #snippet--paymentSection fieldset {
	margin-block: 20px 12px;
}
.eshop-checkout .checkout-shipping-cards {
	gap: 8px;
}
.eshop-checkout .checkout-shipping-card {
	padding: 8px 12px;
}
.eshop-checkout .checkout-delivery-estimate {
	margin: 8px 0 0;
	overflow-wrap: anywhere;
}
.eshop-checkout .checkout-delivery-estimate[hidden] {
	display: none;
}
.eshop-checkout .checkout-payment-option:not(:has(input:checked)) .checkout-payment-explanation {
	display: none;
}
.eshop-checkout .checkout-payment-option__copy,
.eshop-checkout .checkout-shipping-card span {
	min-width: 0;
	overflow-wrap: anywhere;
}
.eshop-checkout .cms-flash {
	padding: 12px 16px;
	margin-bottom: 12px;
}
.eshop-checkout #checkout-ajax-error:empty,
.eshop-checkout [data-summary-pickup]:empty {
	display: none;
}
@media (min-width: 701px) {
	.eshop-checkout .checkout-contact-pair {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}
@media (max-width: 1024px) {
	[data-smer="znacka"] .eshop-checkout__layout {
		gap: 16px;
	}
	.eshop-checkout .eshop-checkout__summary {
		padding: 0 12px;
	}
	.eshop-checkout__summary > div > #checkout-summary-details > summary {
		display: list-item;
		cursor: pointer;
		min-height: 44px;
		padding-block: 10px;
		overflow-wrap: anywhere;
	}
	.eshop-checkout__summary #checkout-summary-details:not([open]) > :not(summary) {
		display: none;
	}
}
@media (max-width: 700px) {
	[data-smer="znacka"] .eshop-checkout #checkout-form {
		padding: 0;
		border: 0;
		background: none;
		box-shadow: none;
	}
}
