/*
 * AŠVA — základ: písma, tokeny návrhu, typografie, tlačítka, štítky, hlášky, horní lišta,
 * hlavička a patička. Hodnoty jsou z návrhu (design/ostatni — „Prvky webu AŠVA®“, Základy).
 * Písma Bricolage Grotesque a Figtree: SIL Open Font License 1.1, variabilní řezy z Google Fonts.
 */

@font-face {
	font-family: 'Bricolage Grotesque';
	font-style: normal;
	font-weight: 600 800;
	font-display: swap;
	src: url('../fonts/bricolage-grotesque-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Bricolage Grotesque';
	font-style: normal;
	font-weight: 600 800;
	font-display: swap;
	src: url('../fonts/bricolage-grotesque-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Figtree';
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url('../fonts/figtree-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Figtree';
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url('../fonts/figtree-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	/* Barvy z návrhu (Základy): */
	--as-inkoust: #232B52;          /* nadpisy, rámečky karet, tmavé plochy */
	--as-inkoust-tmava: #121731;    /* „stín“ tmavého tlačítka */
	--as-terakota: #BE5B3E;         /* primární tlačítko, ceny, odkazy */
	--as-terakota-tmava: #8C3F2A;   /* „stín“ primárního tlačítka, odkaz při najetí */
	--as-merunka: #F5C09A;          /* štítky, stíny karet, tah fixou */
	--as-merunka-tmava: #B9825C;    /* stín sekundárního tlačítka */
	--as-merunka-svetla: #FBF0E9;
	--as-merunka-bleda: #FBE3CE;    /* záře za balením v hero */
	--as-levandule: #EEF1F9;
	--as-levandule-tmava: #C9D2EA;  /* stín levandulových karet */
	--as-text: #4A5164;
	--as-text-2: #5C6378;
	--as-sede: #8A90A5;             /* poznámky, popisky */
	--as-linka: #E5E8F1;
	--as-linka-2: #E0E4F0;
	--as-zelena: #5BBB7B;
	--as-zelena-text: #2F7D4A;      /* „poštovné zdarma“ na kartách balení */
	--as-zlata: #E8A93C;            /* hvězdičky hodnocení */
	--as-preskrtnuta: #AEB4C6;      /* přeškrtnutá cena */
	--as-pozadi-baleni: linear-gradient(135deg, #E2E7F3 0%, var(--as-levandule) 45%, #F7F8FC 100%); /* modré pozadí obrázků balení (karty, výběr, košík) */
	--as-bila: #FFFFFF;

	--as-pismo: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--as-pismo-nadpis: 'Bricolage Grotesque', 'Figtree', system-ui, sans-serif;

	/* Návrh počítá šířku bez okrajů (content-box): 1160 px je čistý obsah. Obaly s okrajem mají
	   border-box, takže max-width = obsah + 2 × okraj. */
	--as-obsah: 1160px;
	--as-okraj: 32px;
	--as-sirka: calc(var(--as-obsah) + 2 * var(--as-okraj));
	--as-ramecek: 2px solid var(--as-inkoust);
	--as-stin-8: 8px 8px 0 var(--as-merunka);
	--as-stin-6: 6px 6px 0 var(--as-merunka);
	--as-stin-5: 5px 5px 0 var(--as-merunka);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	font-family: var(--as-pismo);
	font-size: 15.5px;
	line-height: 1.7;
	color: var(--as-text);
	background: var(--as-bila);
	-webkit-font-smoothing: antialiased;
}

img, svg { max-width: 100%; }
img { height: auto; }

a { color: var(--as-terakota); text-decoration: none; }
a:hover { color: var(--as-terakota-tmava); }

input, select, button, textarea { font: inherit; color: inherit; }

/* Zaškrtávátka podle stránky košíku (David 23. 10.: „ty checkboxy sjednotit po vzoru /kosik/ – platí pro
   všechny checkboxy“): 24 px, rámeček inkoustem, zaškrtnuté terakotou s bílou fajfkou. `:where()` drží
   specificitu na nule — skrytá pole komponent (přepínač kódu v košíku, přepínače cookie lišty) a vlastní
   úpravy mají přednost. Pokladna a děkovačka mají totéž ve skinu (pokladna.css), průvodce v pruvodce.css:
   na stránkách modulu jádra se tenhle soubor nenačítá. */
:where(input[type="checkbox"]) {
	-webkit-appearance: none;
	appearance: none;
	flex: none;
	display: inline-block;
	width: 24px;
	height: 24px;
	margin: 0;
	box-sizing: border-box;
	border: 2px solid var(--as-inkoust);
	border-radius: 7px;
	background: var(--as-bila) center / 14px 14px no-repeat;
	vertical-align: middle;
	cursor: pointer;
}
:where(input[type="checkbox"]:checked) {
	border-color: var(--as-terakota);
	background-color: var(--as-terakota);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.2 6.4l2.4 2.4 5.2-5.6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
:where(input[type="checkbox"]:focus-visible) { outline: 3px solid var(--as-terakota); outline-offset: 3px; }
:where(input[type="checkbox"]:disabled) { opacity: .5; cursor: not-allowed; }

::selection { background: var(--as-merunka); }

h1, h2, h3, h4 {
	font-family: var(--as-pismo-nadpis);
	font-weight: 800;
	color: var(--as-inkoust);
	margin: 0 0 .5em;
}
h1 { font-size: 50px; line-height: 1.05; letter-spacing: -.02em; }
h2 { font-size: 40px; line-height: 1.1; letter-spacing: -.02em; }
h3 { font-size: 27px; line-height: 1.2; letter-spacing: -.015em; }
h4 { font-size: 20px; line-height: 1.3; }
p { margin: 0 0 1em; }
strong, b { font-weight: 700; }

.as-skip {
	position: absolute;
	left: -9999px;
	top: 8px;
	z-index: 100;
	background: var(--as-inkoust);
	color: var(--as-bila);
	padding: 8px 14px;
	border-radius: 999px;
}
.as-skip:focus { left: 8px; color: var(--as-bila); }

.as-wrap {
	max-width: var(--as-sirka);
	margin: 0 auto;
	padding-left: var(--as-okraj);
	padding-right: var(--as-okraj);
}

/* Tah fixou pod zvýrazněným slovem (`*slovo*` v textech z Customizeru). */
.as-hl {
	background: linear-gradient(transparent 62%, var(--as-merunka) 62%);
	padding: 0 4px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

/* Honeypot formulářů (registrace, hodnocení) mimo plátno, ne display:none — skrytá pole část botů přeskakuje. */
.as-reg-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Text jen pro čtečky (popisky hvězdiček ve formuláři hodnocení ap.). */
.as-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ===== Tlačítka ===== */

.as-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--as-pismo);
	font-weight: 800;
	font-size: 16px;
	line-height: 1.2;
	padding: 14px 30px;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	text-align: center;
	transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease;
}
.as-btn:hover { transform: translateY(2px); }
.as-btn:active { transform: translateY(4px); }

.as-btn--primarni { background: var(--as-terakota); color: var(--as-bila); box-shadow: 0 5px 0 var(--as-terakota-tmava); }
.as-btn--primarni:hover,
.as-btn--primarni:focus-visible { color: var(--as-bila); box-shadow: 0 3px 0 var(--as-terakota-tmava); }
.as-btn--primarni:active { box-shadow: 0 1px 0 var(--as-terakota-tmava); }

.as-btn--sekundarni { background: var(--as-merunka); color: var(--as-inkoust); box-shadow: 0 5px 0 var(--as-merunka-tmava); }
.as-btn--sekundarni:hover,
.as-btn--sekundarni:focus-visible { color: var(--as-inkoust); box-shadow: 0 3px 0 var(--as-merunka-tmava); }

/* Tmavé tlačítko — druhá hlavní akce vedle terakotové (registrace na Můj účet). */
.as-btn--tmave { background: var(--as-inkoust); color: var(--as-bila); box-shadow: 0 5px 0 var(--as-inkoust-tmava); }
.as-btn--tmave:hover,
.as-btn--tmave:focus-visible { color: var(--as-bila); box-shadow: 0 3px 0 var(--as-inkoust-tmava); }
.as-btn--tmave:active { box-shadow: 0 1px 0 var(--as-inkoust-tmava); }

.as-btn--obrysove { background: var(--as-bila); color: var(--as-inkoust); border: var(--as-ramecek); padding: 12px 28px; box-shadow: 0 4px 0 var(--as-inkoust); }
.as-btn--obrysove:hover,
.as-btn--obrysove:focus-visible { color: var(--as-inkoust); box-shadow: 0 2px 0 var(--as-inkoust); }

.as-btn:disabled,
.as-btn.is-neaktivni { background: var(--as-linka-2); color: var(--as-sede); box-shadow: none; cursor: not-allowed; transform: none; }

.as-btn--maly { font-size: 14.5px; padding: 11px 24px; }
.as-btn--maly.as-btn--primarni { box-shadow: 0 4px 0 var(--as-terakota-tmava); }
.as-btn--velky { font-size: 17px; padding: 16px 36px; }

/* Textový odkaz s podtržením meruňkou („Zjistit více ↓“, „Přečíst další zkušenosti →“). */
.as-odkaz {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 800;
	font-size: 15.5px;
	color: var(--as-inkoust);
	border-bottom: 2.5px solid var(--as-merunka);
}
.as-odkaz:hover { color: var(--as-terakota); border-bottom-color: var(--as-terakota); }

/* ===== Štítky ===== */

/* Štítek sekce nad nadpisem — meruňkový, verzálky, mírně natočený. */
.as-pill {
	display: inline-block;
	background: var(--as-merunka);
	color: var(--as-inkoust);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
	line-height: 1.5;
	text-transform: uppercase;
	padding: 6px 14px;
	border-radius: 999px;
	transform: rotate(1.5deg);
}
.as-pill--vlevo { transform: rotate(-1.5deg); }

.as-tag {
	display: inline-flex;
	align-items: center;
	font-size: 12.5px;
	font-weight: 800;
	line-height: 1.4;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--as-levandule);
	color: var(--as-inkoust);
}
.as-tag--tmavy { background: var(--as-inkoust); color: var(--as-merunka); }
.as-tag--sleva { background: var(--as-terakota); color: var(--as-bila); }
.as-tag--merunka { background: var(--as-merunka); color: var(--as-inkoust); }

/* ===== Hlášky ===== */

.as-alert {
	display: flex;
	gap: 10px;
	align-items: center;
	border-radius: 12px;
	padding: 12px 16px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
}
.as-alert__ikona {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--as-bila);
	font-size: 12px;
}
.as-alert--ok { background: #E6F4EA; color: #24603A; }
.as-alert--ok .as-alert__ikona { background: var(--as-zelena); }
.as-alert--chyba { background: #F7E5DD; color: #A4472F; }
.as-alert--chyba .as-alert__ikona { background: var(--as-terakota); }
.as-alert--info { background: var(--as-levandule); color: var(--as-inkoust); }
.as-alert--info .as-alert__ikona { background: var(--as-inkoust); }

/* Kolečko s fajfkou (odrážky hero, pruh výhod). Ikona je SVG, ne znak ✓. */
.as-fajfka {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--as-merunka);
	color: var(--as-inkoust);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.as-fajfka svg { width: 11px; height: 11px; }

/* Pět hvězdiček hodnocení (asva_hvezdy) */
.as-hvezdy { display: block; height: 15px; width: 80px; fill: var(--as-zlata); }

/* Zelená tečka „skladem / jsme online“ */
.as-tecka { width: 7px; height: 7px; border-radius: 50%; background: var(--as-zelena); display: inline-block; flex-shrink: 0; }

/* Drobečková navigace (asva_drobky) */
.as-drobky {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--as-sede);
	margin-bottom: 22px;
}
.as-drobky a { display: inline-flex; align-items: center; color: var(--as-text-2); }
.as-drobky a:hover { color: var(--as-terakota); }
.as-drobky [aria-current] { color: var(--as-inkoust); font-weight: 700; }
.as-drobky svg { fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

/* Text jen pro desktop/tablet nebo jen pro mobil (kratší znění z mobilního návrhu). */
.as-jen-mobil { display: none; }

/* ===== Horní lišta ===== */

.as-lista {
	position: relative;
	z-index: 70;
	background: var(--as-merunka);
	color: var(--as-inkoust);
	font-size: 13px;
	line-height: 1.5;
	padding: 8px var(--as-okraj);
}
.as-lista--svetla { background: var(--as-levandule); color: var(--as-inkoust); }
.as-lista--terakotova { background: var(--as-terakota); color: var(--as-bila); }
.as-lista--tmava { background: var(--as-inkoust); color: var(--as-bila); }
.as-lista__in {
	max-width: var(--as-obsah);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px 24px;
	flex-wrap: wrap;
}
.as-lista a { color: inherit; }
.as-lista__tel { display: inline-flex; gap: 8px; align-items: center; font-weight: 800; white-space: nowrap; }
/* Tečka „jsme online“ jen v pracovní době (zapíná ji asva.js). Mimo ni se nekreslí vůbec a číslo se
   posune doleva — šedá tečka působila jako chyba (David 23. 10.). Platí v liště, patičce i u poradny. */
.as-lista__tecka { width: 7px; height: 7px; border-radius: 50%; background: var(--as-zelena); display: inline-block; }
.as-lista__tecka:not(.is-online) { display: none; }
.as-lista__hodiny { font-weight: 500; opacity: .75; }
.as-lista__text { font-weight: 800; }
.as-lista__vpravo { display: flex; align-items: center; gap: 14px; }
.as-lista__oddelovac { opacity: .35; }
.as-lista__tecka-oddel { opacity: .55; font-weight: 800; margin: 0 -4px; }
.as-lista__odkaz { font-weight: 700; text-decoration: underline; text-underline-offset: 2.5px; white-space: nowrap; }
.as-lista__odkaz:hover { color: inherit; opacity: .8; }

/* Přepínač jazyků (CZ/SK) */
.as-jazyk { position: relative; }
.as-jazyk__tlacitko {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-weight: 800;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	color: inherit;
}
.as-jazyk__vlajka { width: 18px; height: 12px; object-fit: cover; border-radius: 2px; display: block; }
.as-jazyk__sipka { display: block; }
.as-jazyk__menu {
	position: absolute;
	top: calc(100% + 8px);
	left: -10px;
	z-index: 80;
	background: var(--as-bila);
	border: var(--as-ramecek);
	border-radius: 12px;
	box-shadow: var(--as-stin-5);
	padding: 6px;
	min-width: 84px;
}
.as-jazyk__menu:not([hidden]) { display: grid; }
.as-jazyk__polozka {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 10px;
	border-radius: 8px;
	font-weight: 800;
	color: var(--as-inkoust);
}
.as-lista .as-jazyk__polozka { color: var(--as-inkoust); }
.as-jazyk__polozka:hover { background: var(--as-levandule); }

/* ===== Hlavička ===== */

/* V barvě patičky s bílým textem a logem (David 23. 10.); horní lišta nad ní zůstává meruňková. */
.as-hlavicka {
	position: sticky;
	top: 0;
	z-index: 60;
	background: var(--as-inkoust);
	border-bottom: var(--as-ramecek);
}
.as-hlavicka__in {
	max-width: var(--as-sirka);
	margin: 0 auto;
	padding: 18px var(--as-okraj);
	display: flex;
	align-items: center;
	gap: 32px;
}
.as-hlavicka__logo { display: flex; align-items: center; flex-shrink: 0; }
.as-hlavicka__logo img { height: 32px; width: auto; display: block; }
.as-nav { display: flex; gap: 26px; flex: 1 1 0%; justify-content: center; }
.as-nav__odkaz {
	font-size: 14.5px;
	font-weight: 700;
	color: var(--as-bila);
	padding: 4px 0;
	border-bottom: 2.5px solid transparent;
}
.as-nav__odkaz:hover { color: var(--as-merunka); }
.as-nav__odkaz.is-aktivni { color: var(--as-merunka); border-bottom-color: var(--as-merunka); }
.as-hlavicka__vpravo { display: flex; align-items: center; gap: 18px; flex-shrink: 0; }
.as-hlavicka__tel { text-align: right; line-height: 1.25; }
.as-hlavicka__tel a { display: block; font-size: 14px; font-weight: 800; color: var(--as-bila); }
.as-hlavicka__tel a:hover { color: var(--as-merunka); }
.as-hlavicka__tel span { display: block; font-size: 11.5px; color: rgba(255, 255, 255, .68); }

/* Tlačítko košíku: ikona + částka terakotou, s položkami kolečko s počtem (návrh detailu produktu). */
.as-kosik {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.4;
	color: var(--as-inkoust);
	background: var(--as-bila);
	border: var(--as-ramecek);
	border-radius: 999px;
	padding: 8px 14px;
	box-shadow: 0 3px 0 var(--as-inkoust);
	white-space: nowrap;
	transition: transform .12s ease, box-shadow .12s ease;
}
.as-kosik strong { color: var(--as-terakota); font-weight: 800; }
.as-kosik:hover { color: var(--as-inkoust); transform: translateY(2px); box-shadow: 0 1px 0 var(--as-inkoust); }
/* V tmavé hlavičce: bílé tlačítko zůstává, rámeček a stín splývají s pozadím — stín o tón tmavší. */
.as-hlavicka .as-kosik { border-color: var(--as-bila); box-shadow: 0 3px 0 var(--as-inkoust-tmava); }
.as-hlavicka .as-kosik:hover { box-shadow: 0 1px 0 var(--as-inkoust-tmava); }
.as-kosik__ikona { display: block; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.as-kosik__pocet {
	position: absolute;
	top: -9px;
	right: -9px;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--as-terakota);
	color: var(--as-bila);
	border: 2px solid var(--as-bila);
	font-size: 12px;
	font-weight: 800;
	line-height: 18px;
	text-align: center;
}

/* Hamburger (tablet a mobil) — tři čárky, otevřené menu z nich složí křížek. */
.as-menu-tlacitko {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 2px solid var(--as-bila);
	background: transparent;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 0;
	cursor: pointer;
	flex-shrink: 0;
}
.as-menu-tlacitko span {
	display: block;
	width: 16px;
	height: 2px;
	border-radius: 2px;
	background: var(--as-bila);
	transition: transform .2s ease, opacity .2s ease;
}
.as-menu-tlacitko[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.as-menu-tlacitko[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.as-menu-tlacitko[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Doplňky panelu menu (telefon, odkazy z lišty, jazyky) — kreslí se jen v panelu na tabletu a mobilu. */
.as-nav__tel {
	display: grid;
	gap: 2px;
	padding: 16px 20px;
	border: var(--as-ramecek);
	border-radius: 18px;
	background: var(--as-merunka-svetla);
	box-shadow: var(--as-stin-5);
	color: var(--as-inkoust);
}
.as-nav__tel:hover { color: var(--as-inkoust); }
.as-nav__tel-popisek {
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--as-sede);
}
.as-nav__tel-cislo { font-family: var(--as-pismo-nadpis); font-size: 24px; font-weight: 800; line-height: 1.25; color: var(--as-terakota); }
.as-nav__tel-hodiny { font-size: 13px; color: var(--as-sede); }
.as-nav__male { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.as-nav__male a { font-weight: 700; color: var(--as-inkoust); text-decoration: underline; text-underline-offset: 2.5px; }
.as-nav__jazyky { display: flex; flex-wrap: wrap; gap: 8px; }
.as-nav__jazyk {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px;
	border: 2px solid var(--as-linka-2);
	border-radius: 999px;
	font-size: 14px;
	font-weight: 800;
	color: var(--as-inkoust);
}
.as-nav__jazyk.is-aktivni { border-color: var(--as-inkoust); background: var(--as-levandule); }

/* Prvky jen pro tablet a mobil — na desktopu skryté. */
.as-lista__text-mobil,
.as-nav__navic,
.as-menu-tlacitko { display: none; }

/* Při otevřeném menu se stránka pod panelem neposouvá. */
html.as-bez-posunu { overflow: hidden; }

.as-main { display: block; }

/* ===== Patička ===== */

.as-paticka { background: var(--as-inkoust); color: rgba(255, 255, 255, .75); }
.as-paticka a { color: rgba(255, 255, 255, .78); }
.as-paticka a:hover { color: var(--as-merunka); }
.as-paticka__in {
	max-width: var(--as-sirka);
	margin: 0 auto;
	padding: 64px var(--as-okraj) 0;
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr 1.1fr;
	gap: 48px;
}
.as-paticka__logo {
	display: inline-block;
	font-family: var(--as-pismo-nadpis);
	font-size: 28px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .04em;
	color: var(--as-bila);
	margin-bottom: 14px;
}
.as-paticka__logo img { display: block; width: 132px; height: auto; }
.as-paticka__logo span { color: var(--as-merunka); }
.as-paticka__znacka p { font-size: 15px; line-height: 1.65; margin: 0; max-width: 260px; }
/* Jazykové verze s vlajkou pod textem, jedna na řádek. */
.as-paticka__jazyky { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 10px; }
.as-paticka__jazyky a { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 700; }
.as-paticka__jazyky img { width: 22px; height: auto; border-radius: 3px; display: block; }
.as-paticka__nadpis {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--as-merunka);
	margin-bottom: 16px;
}
/* Texty a odkazy patičky o 1 px větší než dřív (David 23. 10.: „odkazy v patičce jsou maličké“), nadpisy beze změny. */
.as-paticka__odkazy { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 15px; line-height: 1.5; }
/* Loga plateb a dopravců na bílých dlaždicích, tři v řadě (jako Vlasimo). Stín webu jako u vybrané
   velikosti balení (David 23. 10.); mezera je o stín větší, aby dlaždice nesplývaly. */
.as-paticka__loga { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; max-width: 300px; }
.as-paticka__loga li {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	padding: 8px 10px;
	border-radius: 10px;
	background: var(--as-bila);
	box-shadow: 4px 4px 0 var(--as-merunka);
}
.as-paticka__loga img { display: block; max-width: 100%; max-height: 30px; width: auto; height: auto; object-fit: contain; }
.as-paticka__loga span { font-size: 11.5px; font-weight: 800; color: var(--as-inkoust); text-align: center; line-height: 1.2; }
.as-paticka__spodek {
	max-width: var(--as-sirka);
	margin: 0 auto;
	padding: 24px var(--as-okraj) 32px;
}
.as-paticka__spodek-in {
	border-top: 1px solid rgba(255, 255, 255, .12);
	padding-top: 22px;
	display: flex;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	font-size: 13px;
	line-height: 1.5;
	color: rgba(255, 255, 255, .55);
}
.as-paticka__spodek strong { color: rgba(255, 255, 255, .8); }
.as-paticka__tel { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; color: rgba(255, 255, 255, .78); }
.as-paticka__tel strong { color: var(--as-bila); font-weight: 800; }
.as-paticka__hodiny { opacity: .75; }

/* ===== Užší desktop: telefon z hlavičky zmizí dřív než menu (v liště zůstává) ===== */

@media (max-width: 1180px) {
	.as-hlavicka__tel { display: none; }
}

/* ===== Tablet (769–1024 px): mezi desktopem a mobilem — rozvržení desktopu, menu za hamburgerem ===== */

@media (max-width: 1024px) {
	h1 { font-size: 42px; }
	h2 { font-size: 34px; }
	h3 { font-size: 24px; }

	.as-lista__hodiny { display: none; }

	/* O 5 px nahoře i dole vyšší je jen desktop (David 23. 10.), tablet zůstává na původních 13 px. */
	.as-hlavicka__in { padding-top: 13px; padding-bottom: 13px; gap: 16px; }
	.as-hlavicka__vpravo { margin-left: auto; gap: 14px; }
	.as-hlavicka__tel { display: block; }
	.as-menu-tlacitko { display: inline-flex; }

	/* Menu jako panel pod hlavičkou; výšku do spodního okraje okna dosadí skript (--as-menu-top). */
	.as-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		height: calc(100vh - var(--as-menu-top, 110px));
		height: calc(100dvh - var(--as-menu-top, 110px));
		overflow-y: auto;
		overscroll-behavior: contain;
		flex-direction: column;
		justify-content: flex-start;
		gap: 0;
		background: var(--as-bila);
		border-top: var(--as-ramecek);
		padding: 6px var(--as-okraj) 40px;
	}
	.as-hlavicka.is-menu .as-nav { display: flex; }
	.as-nav__odkaz {
		display: flex;
		justify-content: space-between;
		align-items: center;
		font-family: var(--as-pismo-nadpis);
		font-size: 22px;
		font-weight: 800;
		line-height: 1.3;
		padding: 14px 0;
		border-bottom: 1px solid var(--as-linka);
		color: var(--as-inkoust);
	}
	/* Panel menu je bílý — odkazy v něm inkoustem jako dřív (hlavička nad ním je tmavá). */
	.as-nav__odkaz:hover,
	.as-nav__odkaz.is-aktivni { color: var(--as-terakota); }
	.as-nav__odkaz::after { content: '→'; font-family: var(--as-pismo); font-size: 18px; color: var(--as-terakota); }
	.as-nav__odkaz.is-aktivni { border-bottom-color: var(--as-linka); }
	.as-nav__navic { display: grid; gap: 22px; margin-top: 26px; }

	.as-paticka__in { grid-template-columns: 1fr 1fr; gap: 40px 48px; }
}

/* ===== Mobil (≤ 768 px), návrh 390 px ===== */

@media (max-width: 768px) {
	:root {
		--as-okraj: 20px;
		--as-stin-8: 6px 6px 0 var(--as-merunka);
	}
	body { font-size: 15px; line-height: 1.65; }
	.as-jen-desktop { display: none; }
	span.as-jen-mobil { display: inline; }
	.as-drobky { font-size: 12.5px; margin-bottom: 14px; }
	.as-drobky svg { width: 16px; height: 16px; }
	h1 { font-size: 34px; }
	h2 { font-size: 28px; }
	h3 { font-size: 21px; }
	h4 { font-size: 18px; }

	.as-lista { font-size: 12.5px; padding: 8px 16px; }
	.as-lista__in { flex-wrap: nowrap; gap: 10px; }
	.as-lista__text,
	.as-lista__vpravo { display: none; }
	.as-lista__text-mobil {
		display: block;
		order: -1;
		min-width: 0;
		font-weight: 800;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.as-lista__tel { gap: 6px; }

	.as-hlavicka__in { padding: 12px 16px; gap: 12px; }
	.as-hlavicka__logo img { height: 28px; }
	.as-hlavicka__tel { display: none; }
	.as-hlavicka__vpravo { gap: 8px; }
	.as-hlavicka__cta { font-size: 14px; padding: 9px 16px; }
	.as-hlavicka__cta,
	.as-hlavicka__cta:hover { box-shadow: 0 3px 0 var(--as-terakota-tmava); }
	.as-kosik__pocet { top: -9px; right: -8px; min-width: 20px; height: 20px; padding: 0 5px; font-size: 11px; line-height: 16px; }
	.as-nav { padding: 4px 16px 40px; }
	.as-nav__odkaz { font-size: 20px; }

	.as-paticka__in { gap: 24px 16px; padding: 40px var(--as-okraj) 0; }
	.as-paticka__znacka,
	.as-paticka__sloupec:last-child { grid-column: 1 / -1; }
	.as-paticka__logo { font-size: 26px; margin-bottom: 6px; }
	.as-paticka__nadpis { font-size: 11.5px; margin-bottom: 12px; }
	.as-paticka__odkazy { gap: 9px; }
	.as-paticka__loga { max-width: none; gap: 10px; }
	.as-paticka__loga li { height: 46px; }
	.as-paticka__spodek { padding: 24px var(--as-okraj) 28px; }
	.as-paticka__spodek-in { gap: 8px 24px; padding-top: 16px; font-size: 12.5px; }
}
