/* Matcha Tea 2026 – vzhled webu (směr D). Barvy podle CID 2026. Mobil první, obsah max. 1440 px, plochy přes celou šířku. */

:root {
	--zelena: #76B729;
	--zelena-tmava: #387931;
	--lahev: #13451E;
	--noc: #0E2C14;
	--fuchsie: #B8338B;
	--ruzova: #F087B6;
	--podklad: #F6F7F1;
	--karta: #FFFFFF;
	--mech: #EEF3E6;
	--mech-svetly: #F3F6EE;
	--linka: #DDE6D3;
	--text: #13451E;
	--text-mekky: #4A6450;
	--radius-l: 32px;
	--radius-m: 24px;
	--radius-s: 16px;
	--obsah: 1440px;
	--okraj: max(24px, calc((100vw - var(--obsah)) / 2 + 24px));
	--pismo: Figtree, system-ui, -apple-system, "Segoe UI", sans-serif;
	--pismo-display: Outfit, Figtree, system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--podklad); color: var(--text); font-family: var(--pismo); font-size: 17px; line-height: 1.6; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--lahev); }
a:hover { color: var(--zelena-tmava); }
:focus-visible { outline: 3px solid var(--zelena); outline-offset: 2px; border-radius: 6px; }
h1, h2, h3, h4 { line-height: 1.15; margin: 0 0 .5em; }
.ikona { flex: none; vertical-align: middle; }
.u-skryte { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.preskocit { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--lahev); color: #fff; padding: 12px 18px; border-radius: 12px; }
.preskocit:focus { top: 12px; color: #fff; }

.obal { max-width: var(--obsah); margin: 0 auto; padding: 0 24px; }
.display { font-family: var(--pismo-display); font-weight: 900; text-transform: uppercase; letter-spacing: -0.01em; line-height: 1.06; }
/* Dlouhé nadpisy (celé věty) verzálkami nečitelné → běžné písmo */
.display.display--dlouhy { text-transform: none; font-weight: 800; letter-spacing: -0.01em; line-height: 1.12; font-size: clamp(30px, 3.4vw, 48px) !important; max-width: 920px; }
.zelena { color: var(--zelena-tmava); }
.nadtitulek { margin: 0; font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--zelena-tmava); }
.nadtitulek--ruzovy { color: var(--fuchsie); }

/* Tlačítka */
.tlacitko { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 28px; border-radius: 999px; font-weight: 700; font-size: 18px; line-height: 1.2; text-decoration: none; border: 1.5px solid var(--lahev); cursor: pointer; font-family: inherit; transition: background .15s, color .15s, border-color .15s; }
.tlacitko--plne { background: var(--lahev); color: #fff; }
.tlacitko--plne:hover { background: var(--zelena-tmava); border-color: var(--zelena-tmava); color: #fff; }
.tlacitko--obrys { background: transparent; color: var(--lahev); }
.tlacitko--obrys:hover { background: var(--lahev); color: #fff; }
.tlacitko--svetle { background: var(--zelena); border-color: var(--zelena); color: var(--noc); font-weight: 800; }
.tlacitko--svetle:hover { background: #fff; border-color: #fff; color: var(--noc); }
.tlacitko--obrys-svetle { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
.tlacitko--obrys-svetle:hover { background: #fff; color: var(--lahev); }
.tlacitko--male { min-height: 46px; font-size: 16px; padding: 0 22px; }
.odkaz-sipka { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; text-decoration: none; }
.odkaz-sipka:hover { text-decoration: underline; }

/* Hláška nad webem */
.hlaska { background: var(--fuchsie); color: #fff; text-align: center; font-size: 15px; font-weight: 600; padding: 8px 0; }
.hlaska p { margin: 0; }
.hlaska a { color: #fff; }

/* Hlavička */
.hlavicka { background: #fff; border-bottom: 1px solid #E3E8DA; position: sticky; top: 0; z-index: 40; }
.admin-bar .hlavicka { top: 32px; }
.hlavicka__radek { display: flex; align-items: center; gap: 24px; min-height: 76px; }
.hlavicka__logo img { height: 52px; width: auto; }
.hlavicka__logo-text { font-family: var(--pismo-display); font-weight: 900; font-size: 24px; text-transform: uppercase; }
.hlavicka__logo { text-decoration: none; flex: none; }
.menu { display: flex; align-items: center; gap: 4px 22px; flex: 1; font-weight: 600; flex-wrap: wrap; }
.menu__polozka, .menu__seznam > li > a { display: inline-flex; align-items: center; gap: 4px; padding: 10px 0; text-decoration: none; cursor: pointer; white-space: nowrap; }
.menu__seznam { display: contents; list-style: none; margin: 0; padding: 0; }
.menu__seznam > li { position: relative; list-style: none; }
.menu__seznam .sub-menu { display: none; position: absolute; left: -16px; top: 100%; min-width: 280px; background: #fff; border-radius: 16px; box-shadow: 0 18px 40px rgba(19,69,30,.16); padding: 8px; margin: 0; list-style: none; z-index: 5; }
.menu__seznam li:hover > .sub-menu, .menu__seznam li:focus-within > .sub-menu { display: block; }
.menu__seznam .sub-menu a { display: block; padding: 10px 12px; border-radius: 10px; text-decoration: none; font-weight: 600; }
.menu__seznam .sub-menu a:hover { background: #E8F3DB; }
.menu__seznam .current-menu-item > a, .menu__seznam .current-menu-ancestor > a { color: var(--zelena-tmava); box-shadow: inset 0 -3px var(--zelena); }
.menu__produkty summary { list-style: none; }
.menu__produkty summary::-webkit-details-marker { display: none; }
.menu__produkty[open] summary { color: var(--zelena-tmava); box-shadow: inset 0 -3px var(--zelena); }
.menu__produkty[open] summary .ikona { transform: rotate(180deg); }
.megamenu { position: absolute; left: 0; right: 0; top: 100%; background: #fff; box-shadow: 0 24px 48px rgba(19,69,30,.18); border-radius: 0 0 var(--radius-l) var(--radius-l); padding: 24px 0 28px; }
.megamenu__mrizka { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 6px 16px; }
.megamenu__rada { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 14px; text-decoration: none; }
.megamenu__rada:hover { background: #E8F3DB; }
.megamenu__rada strong { display: block; font-family: var(--pismo-display); font-weight: 800; font-size: 17px; }
.megamenu__rada small { display: block; font-size: 14px; color: var(--text-mekky); font-weight: 500; }
.megamenu__foto { width: 56px; height: 56px; flex: none; background: var(--mech-svetly); border-radius: 12px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.megamenu__foto img { width: 100%; height: 100%; object-fit: contain; }
.megamenu__vse { display: inline-flex; align-items: center; gap: 6px; margin: 16px 10px 0; font-weight: 700; text-decoration: none; }
.hlavicka__akce { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.hlavicka__hledat { display: inline-flex; width: 46px; height: 46px; align-items: center; justify-content: center; border-radius: 12px; text-decoration: none; }
.hlavicka__hledat:hover { background: var(--mech); }
.hamburger { display: none; width: 48px; height: 48px; border: 0; border-radius: 12px; background: var(--mech); color: var(--lahev); cursor: pointer; align-items: center; justify-content: center; }
.hledani { border-top: 1px solid #E3E8DA; padding: 14px 0; background: #fff; }
.hledani__radek, .hledani-velke { display: flex; gap: 10px; }
.hledani input, .hledani-velke input { flex: 1; min-width: 0; min-height: 52px; border: 1.5px solid var(--linka); border-radius: 999px; padding: 0 22px; font: inherit; color: var(--text); background: #fff; }
.hledani-velke { margin-top: 24px; max-width: 680px; }
.mobilni-menu { background: #fff; border-top: 1px solid #E3E8DA; padding: 4px 16px 20px; max-height: calc(100vh - 76px); overflow-y: auto; }
.mobilni-menu__nadpis { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--text-mekky); margin: 16px 0 4px; }
.mobilni-menu a { display: flex; align-items: center; gap: 12px; min-height: 48px; text-decoration: none; font-weight: 600; font-size: 18px; border-bottom: 1px solid #EEF1E8; }
.mobilni-menu__rady a { font-size: 16px; }
.mobilni-menu__rady .megamenu__foto { width: 40px; height: 40px; }
.mobilni-menu__seznam, .mobilni-menu__seznam .sub-menu { list-style: none; margin: 0; padding: 0; }
.mobilni-menu__seznam .sub-menu a { padding-left: 18px; font-size: 16px; font-weight: 500; }
.mobilni-menu .tlacitko { margin-top: 16px; width: 100%; color: #fff; border-bottom: 1.5px solid var(--lahev); }

/* Hlavní obsah */
.hlavni { display: block; padding-bottom: 88px; }
.stranka-hlava { padding-top: 20px; }
.drobecky { font-size: 14px; color: var(--text-mekky); }
.drobecky a { color: var(--text-mekky); }
.drobecky__oddel { margin: 0 4px; opacity: .6; }

/* Úvod (hero) – profesionální klíčová fotka celá (bez ořezu), přesahuje k pravému okraji obrazovky */
.hero { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: 56px; padding-left: var(--okraj); padding-top: 32px; padding-bottom: 32px; }
.hero__text { padding: 24px 0; }
.hero__titulek { font-size: clamp(40px, 4.4vw, 66px); line-height: 1.04; margin: 14px 0 20px; }
.hero__uvod { font-size: 19px; color: #2C4A33; max-width: 520px; }
.hero__uvod p { margin: 0 0 26px; }
.hero__tlacitka { display: flex; flex-wrap: wrap; gap: 12px; }
.hero__testy { display: inline-flex; align-items: center; gap: 10px; margin-top: 26px; padding: 10px 0; text-decoration: none; font-size: 15px; color: var(--text-mekky); border-top: 1px solid var(--linka); }
.hero__testy strong { color: var(--lahev); margin-right: 6px; }
.hero__testy .ikona:first-child { color: var(--zelena-tmava); }
.hero__testy:hover strong { text-decoration: underline; }
.hero__foto { margin: 0; }
.hero__foto img { width: 100%; height: auto; border-radius: var(--radius-l) 0 0 var(--radius-l); }
.pilulky { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; }
.pilulky span { background: #E8F3DB; border-radius: 999px; padding: 6px 12px; font-size: 14px; font-weight: 600; }

/* Výhody */
.vyhody { background: #fff; border-bottom: 1px solid #E3E8DA; }
.vyhody__seznam { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; list-style: none; padding-top: 28px; padding-bottom: 28px; margin: 0 auto; }
.vyhody__polozka { display: flex; align-items: center; gap: 12px; font-weight: 700; font-size: 16px; line-height: 1.3; }
.vyhody__polozka img { width: 48px; height: 48px; object-fit: contain; flex: none; }

/* Testy – tmavý pás přes celou šířku */
.testy { background: var(--lahev); color: #fff; display: grid; grid-template-columns: 2fr 3fr; }
.testy__foto { position: relative; min-height: 380px; background: var(--noc); }
.testy__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.testy__text { padding: 72px var(--okraj) 72px 64px; }
.testy h2 { font-size: 48px; margin-bottom: 14px; }
.testy h2 span { color: var(--zelena); }
.testy p { color: #DCE8D2; font-size: 18px; max-width: 560px; margin: 0 0 24px; }
.fakta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 26px; }
.fakta div { background: #1E5A2B; border-radius: 18px; padding: 16px; color: #DCE8D2; font-size: 15px; }
.fakta strong { display: block; font-family: var(--pismo-display); font-weight: 900; font-size: 28px; color: var(--zelena); line-height: 1.1; }

/* Sekce a mřížky */
.sekce { padding-top: 88px; }
.pas { margin-top: 88px; padding: 72px 0; }
.pas--bily { background: #fff; }
.hlavicka-sekce { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 28px; }
.hlavicka-sekce h2, h2.hlavicka-sekce { font-size: clamp(36px, 5vw, 56px); margin: 0; }
h2.hlavicka-sekce { display: block; margin-bottom: 28px; }
.hlavicka-sekce__popis { max-width: 720px; margin: 12px 0 0; color: var(--text-mekky); font-size: 18px; }
.mrizka { display: grid; gap: 18px; }
.mrizka--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mrizka--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mrizka--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

/* Karty */
.karta { display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: var(--text); }
.karta:hover { color: var(--text); }
.karta:hover .karta__nazev { color: var(--zelena-tmava); }
.karta__foto { position: relative; border-radius: var(--radius-m); overflow: hidden; aspect-ratio: 4 / 3; background: var(--mech); }
.karta__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.karta:hover .karta__foto img { transform: scale(1.03); }
.karta__foto--produkt { aspect-ratio: 1; background: #fff; padding: 8%; }
.pas--bily .karta__foto--produkt { border: 1.5px solid var(--linka); }
.karta__foto--produkt img { object-fit: contain; mix-blend-mode: multiply; }
.karta__stitky { position: absolute; left: 10px; top: 10px; display: flex; flex-wrap: wrap; gap: 4px; }
.karta__stitky--detail { position: static; margin: 0 0 12px; }
.stitek { display: inline-block; border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; color: #fff; background: var(--zelena-tmava); }
.stitek--primary { background: var(--zelena-tmava); }
.stitek--secondary { background: var(--fuchsie); }
.stitek--gray { background: #5C6B60; }
.stitek--purple { background: #6E3FA3; }
.karta__nazev { font-family: var(--pismo-display); font-weight: 800; font-size: 20px; line-height: 1.2; margin: 4px 0 0; }
.karta__popis { margin: 0; color: var(--text-mekky); font-size: 15px; line-height: 1.5; }
.karta__kategorie { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--zelena-tmava); margin-top: 4px; }
.karta--recept .karta__nazev, .karta--clanek .karta__nazev { font-size: 22px; }
.mrizka--6 .karta__popis { display: none; }
.mrizka--6 .karta__foto--produkt { padding: 4%; }
.mrizka--6 .karta__nazev { font-size: 17px; }

/* Produktové řady */
.rady { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.rada { display: flex; align-items: center; gap: 14px; background: #fff; border-radius: var(--radius-m); padding: 12px 18px 12px 12px; text-decoration: none; }
.rada:hover { box-shadow: 0 10px 28px rgba(19,69,30,.1); }
.rada__foto { width: 104px; height: 84px; flex: none; background: var(--mech-svetly); border-radius: var(--radius-s); overflow: hidden; }
.rada__foto img { width: 100%; height: 100%; object-fit: contain; }
.rada__text { flex: 1; min-width: 0; }
.rada__nazev { display: block; font-family: var(--pismo-display); font-weight: 800; font-size: 19px; margin: 0; }
.rada__popis { display: none; }
.rada .ikona { color: var(--zelena-tmava); }

/* Informace (texty z úvodní stránky) */
.info__titulek { font-family: var(--pismo-display); font-weight: 800; text-transform: none; letter-spacing: -0.01em; line-height: 1.15; font-size: clamp(28px, 3vw, 40px); max-width: 900px; margin-bottom: 28px; }
.info__sloupce { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 48px; }
.info__tlacitko { margin-top: 24px; }

.socialni-box { background: #fff; border-radius: 28px; padding: 32px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.socialni-box .obsah { max-width: 760px; }
.socialni { display: flex; gap: 10px; }
.socialni__odkaz { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 50%; background: var(--mech); text-decoration: none; }
.socialni__odkaz:hover { background: var(--lahev); color: #fff; }

/* Obsah z editoru a bloků */
.obsah { font-size: 18px; line-height: 1.65; }
.obsah > :first-child { margin-top: 0; }
.obsah > :last-child { margin-bottom: 0; }
.obsah h2 { font-family: var(--pismo-display); font-size: 30px; font-weight: 800; margin-top: 1.4em; }
.obsah h3 { font-family: var(--pismo-display); font-size: 22px; font-weight: 800; margin-top: 1.3em; }
.obsah h4, .obsah h5 { font-size: 18px; margin-top: 1.2em; }
.obsah ul, .obsah ol { padding-left: 1.3em; }
.obsah li { margin: .3em 0; }
.obsah ul li::marker { color: var(--zelena); }
.obsah img { border-radius: var(--radius-s); }
.obsah p:has(> :is(img, a:has(> img)) ~ :is(img, a:has(> img))) { display: flex; gap: 14px; align-items: flex-start; }
.obsah p:has(> :is(img, a:has(> img)) ~ :is(img, a:has(> img))) > * { flex: 1 1 0; min-width: 0; }
.obsah p:has(> :is(img, a:has(> img)) ~ :is(img, a:has(> img))) img { width: 100%; height: auto; margin: 0; }
.obsah p:has(> :is(img, a:has(> img)) ~ :is(img, a:has(> img))) > br { display: none; }
.obsah p > a:has(> img) { display: inline-block; }
.obsah img.alignleft, .obsah img.alignright { margin-bottom: 16px; }
.obsah a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.obsah blockquote { margin: 1.5em 0; padding: 18px 24px; background: var(--mech); border-radius: var(--radius-s); font-size: 19px; }
.obsah iframe, .obsah video { max-width: 100%; border-radius: var(--radius-s); }
.obsah iframe[src*="youtube"], .obsah iframe[src*="vimeo"] { width: 100%; height: auto; aspect-ratio: 16 / 9; }
.obsah table { border-collapse: collapse; width: 100%; }
.obsah td, .obsah th { border-bottom: 1px solid var(--linka); padding: 8px 10px; text-align: left; }
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.aligncenter { margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 14px; color: var(--text-mekky); }
.highlight { color: var(--zelena-tmava); font-weight: 700; }
.message { background: #E8F3DB; border-radius: var(--radius-s); padding: 18px 22px; margin: 1.5em 0; font-weight: 600; }
.message p { margin: 0; }

.blok { margin: 0 0 40px; }
.blok--pozadi { background: var(--blok-pozadi); border-radius: var(--radius-m); padding: 28px 32px; }
.blok__titulek { font-family: var(--pismo-display); font-weight: 800; font-size: clamp(24px, 3vw, 32px); margin-bottom: 14px; }
.blok--zeleny .obsah { color: var(--zelena-tmava); font-weight: 500; }
.blok--text-obrazek { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 48px; align-items: center; }
.blok--obrazek-vetsi { grid-template-columns: 2fr 3fr; }
.blok--obrazek-vlevo .blok__obrazek { order: -1; }
.blok--obrazek-vetsi.blok--obrazek-vpravo { grid-template-columns: 3fr 2fr; }
.blok__obrazek { margin: 0; }
.blok__obrazek img { border-radius: var(--radius-m); width: 100%; }
.blok--obrazek-cely { margin: 0 0 40px; }
.blok--obrazek-cely img { width: 100%; border-radius: var(--radius-m); }
.blok__poznamka { font-size: 15px; color: var(--text-mekky); }
.vice { background: #fff; border-radius: var(--radius-s); padding: 0 22px; }
.vice__prepinac { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; font-weight: 700; cursor: pointer; list-style: none; }
.vice__prepinac::-webkit-details-marker { display: none; }
.vice[open] .vice__prepinac .ikona { transform: rotate(180deg); }
.vice .obsah { padding-bottom: 20px; }
.tabulka-obal { overflow-x: auto; border-radius: var(--radius-s); background: #fff; }
.tabulka { width: 100%; border-collapse: collapse; font-size: 16px; }
.tabulka th, .tabulka td { text-align: left; padding: 12px 18px; border-bottom: 1px solid var(--linka); vertical-align: top; }
.tabulka th { font-weight: 600; color: var(--text-mekky); width: 45%; }
.tabulka tr:last-child th, .tabulka tr:last-child td { border-bottom: 0; }
.galerie { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.galerie__polozka { display: block; border-radius: var(--radius-s); overflow: hidden; background: #fff; }
.galerie__polozka img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; }
.galerie--certifikaty { grid-template-columns: repeat(auto-fill, minmax(140px, 180px)); }
.galerie--certifikaty img { object-fit: contain; padding: 12px; }

/* Detail produktu */
.produkt { padding-top: 24px; }
.produkt__horni { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.produkt__foto { background: #fff; border-radius: var(--radius-l); padding: 28px; position: sticky; top: 100px; }
.produkt__foto img { width: 100%; max-height: 560px; object-fit: contain; }
.produkt__nazev { font-size: clamp(38px, 5vw, 64px); margin: 0 0 20px; }
.produkt__udaje { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; margin: 0 0 18px; font-size: 16px; }
.produkt__udaje dt { color: var(--text-mekky); }
.produkt__udaje dd { margin: 0; font-weight: 600; }
.produkt__popis { margin-bottom: 20px; }
.produkt__vlastnosti { display: flex; flex-wrap: wrap; gap: 8px 18px; list-style: none; padding: 0; margin: 0 0 24px; font-weight: 600; }
.produkt__vlastnosti li { display: flex; align-items: center; gap: 6px; }
.produkt__vlastnosti .ikona { color: var(--zelena-tmava); }
.produkt__tlacitka { display: flex; flex-wrap: wrap; gap: 12px; }
.produkt__koupit-dole { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; background: var(--lahev); color: #fff; border-radius: var(--radius-m); padding: 24px 32px; margin-top: 24px; }
.produkt__koupit-dole .display { font-size: 32px; margin: 0; }
.produkt__koupit-dole .produkt__tlacitka { margin: 0; }

/* Záložky – bez JS jsou panely pod sebou */
.zalozky { margin-top: 56px; }
.zalozky__seznam { display: flex; flex-wrap: wrap; gap: 8px; border-bottom: 2px solid var(--linka); margin-bottom: 32px; }
.zalozky__seznam [role="tab"] { appearance: none; border: 0; background: none; font: inherit; font-weight: 700; font-size: 17px; color: var(--text-mekky); padding: 14px 18px; min-height: 48px; cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; }
.zalozky__seznam [role="tab"][aria-selected="true"] { color: var(--lahev); border-bottom-color: var(--zelena); }
.zalozky__titulek { font-family: var(--pismo-display); font-weight: 900; text-transform: uppercase; font-size: clamp(28px, 3.5vw, 40px); margin: 0 0 24px; }
.js .zalozky--aktivni .zalozky__titulek { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.zalozky__panel { max-width: none; }
.zalozky__panel .blok--text .obsah, .zalozky__panel > .blok--tabulka, .zalozky__panel > .blok--parametry { max-width: 900px; }
.zalozky__panel + .zalozky__panel { margin-top: 48px; }
.js .zalozky--aktivni .zalozky__panel + .zalozky__panel { margin-top: 0; }

/* Článek a recept */
.clanek { padding-top: 24px; }
.clanek__hlava { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; margin-bottom: 48px; }
.clanek__titulek { font-size: clamp(38px, 5vw, 64px); margin: 12px 0 18px; }
.clanek__perex { font-size: 20px; color: #2C4A33; }
.clanek__perex p { margin: 0; }
.clanek__foto { margin: 0; }
.clanek__foto img { width: 100%; height: auto; border-radius: var(--radius-l); max-height: 640px; object-fit: cover; } /* vlastní poměr stran – grafiky s textem se neořezávají */
.clanek__obsah { max-width: 860px; }
.clanek--recept .clanek__obsah { max-width: 1100px; }
.stitky-odkazy { display: flex; flex-wrap: wrap; gap: 6px 10px; margin: 0; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--text-mekky); }
.stitky-odkazy a { text-decoration: none; background: #E8F3DB; border-radius: 999px; padding: 4px 12px; }
.clanek--recept .blok--pozadi { padding: 28px 32px; }

/* Stránky */
.stranka { padding-top: 24px; }
.stranka__uvod { display: grid; grid-template-columns: 1fr; gap: 32px; align-items: center; margin-bottom: 32px; }
.stranka__uvod--obrazek { grid-template-columns: 3fr 2fr; }
.stranka__uvod--obrazek .stranka__obrazek { justify-self: end; }
.stranka__titulek { font-size: clamp(36px, 4.6vw, 64px); margin: 10px 0 16px; }
.stranka__podtitulek { font-size: 20px; color: #2C4A33; max-width: 860px; margin: 0; }
.stranka__podtitulek p { margin: 0 0 .6em; }
.stranka__obrazek { margin: 0; }
.stranka__obrazek img { width: auto; max-width: 100%; max-height: 320px; object-fit: contain; mix-blend-mode: multiply; }
.stranka__obrazek--vyrez { padding: 0; }

.stranka__sloupce { margin-bottom: 32px; }
.stranka__obsah { margin-bottom: 40px; }
.stranka__obsah > :not([style*="center"]) { max-width: 900px; }
.obsah a[style*="background-color"] { display: inline-flex !important; align-items: center; min-height: 52px; padding: 0 28px !important; border-radius: 999px !important; background: var(--lahev) !important; color: #fff !important; font-family: var(--pismo) !important; font-weight: 700; font-size: 18px !important; line-height: 1.2 !important; text-decoration: none; }
.obsah a[style*="background-color"]:hover { background: var(--zelena-tmava) !important; }
.stranka--404 { padding-top: 64px; }
.vyzva { margin-top: 56px; background: var(--lahev); color: #fff; border-radius: var(--radius-l); padding: 40px; }
.vyzva h2 { font-size: clamp(30px, 4vw, 44px); }
.vyzva p { color: #DCE8D2; font-size: 18px; max-width: 720px; }

.filtr { display: flex; flex-wrap: wrap; gap: 8px; }
.filtr__polozka { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; background: #fff; text-decoration: none; font-weight: 600; font-size: 15px; border: 1.5px solid var(--linka); }
.filtr__polozka--hlavni { font-weight: 800; }
.filtr__polozka:hover { border-color: var(--zelena-tmava); }
.filtr__polozka.je-aktivni { background: var(--lahev); border-color: var(--lahev); color: #fff; }
.katalog { scroll-margin-top: 100px; }
.stranka + .sekce { padding-top: 24px; }
.strankovani { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-top: 40px; }
.strankovani .page-numbers { display: inline-flex; min-width: 46px; min-height: 46px; align-items: center; justify-content: center; padding: 0 14px; border-radius: 999px; background: #fff; text-decoration: none; font-weight: 700; }
.strankovani .current { background: var(--lahev); color: #fff; }
.prazdno { font-size: 19px; }

/* Patička */
.paticka { background: var(--noc); color: #DCE8D2; }
.paticka a { color: #DCE8D2; text-decoration: none; }
.paticka a:hover { color: #fff; text-decoration: underline; }
.paticka__mrizka { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; padding-top: 64px; padding-bottom: 40px; }
.paticka__znacka { font-family: var(--pismo-display); font-size: 28px; font-weight: 900; text-transform: uppercase; color: #fff; margin: 0 0 10px; }
.paticka__firma p { margin: 0 0 14px; max-width: 420px; }
.paticka address { font-style: normal; margin-bottom: 18px; line-height: 1.7; }
.paticka__nadpis { font-weight: 700; color: #fff; margin: 0 0 12px; }
.paticka__odkazy { display: flex; flex-direction: column; gap: 8px; }
.paticka .socialni__odkaz { background: #1E3F25; color: #DCE8D2; }
.paticka .socialni__odkaz:hover { background: var(--zelena); color: var(--noc); }
.paticka__spodek { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; border-top: 1px solid #23462A; padding-top: 18px; padding-bottom: 28px; font-size: 14px; }
.paticka__spodek p { margin: 0; }

/* Tablet a menší notebooky */
@media (max-width: 1180px) {
	.menu { display: none; }
	.hamburger { display: inline-flex; }
	.hlavicka__eshop { display: none; }
	.mobilni-menu:not([hidden]) { display: block; }
	.mrizka--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rady { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vyhody__seznam { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.paticka__mrizka { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 960px) {
	.hero { grid-template-columns: 1fr; padding: 0; gap: 0; }
	.hero__text { padding: 32px 24px 28px; }
	.hero__foto { order: -1; }
	.hero__foto img { border-radius: 0; }
	.hero__text { padding-top: 24px; }
	.testy { grid-template-columns: 1fr; }
	.testy__foto { display: none; }
	.testy__text { padding: 48px 24px; }
	.mrizka--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mrizka--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.info__sloupce, .produkt__horni, .clanek__hlava, .stranka__uvod--obrazek, .blok--text-obrazek, .blok--obrazek-vetsi, .blok--obrazek-vetsi.blok--obrazek-vpravo { grid-template-columns: 1fr; }
	.blok--obrazek-vlevo .blok__obrazek { order: 0; }
	.produkt__foto { position: static; }
	.clanek__hlava { gap: 24px; }
}
@media (max-width: 782px) { .admin-bar .hlavicka { top: 46px; } }
@media (max-width: 600px) {
	body { font-size: 16px; }
	.obal { padding: 0 16px; }
	.hero__text { padding: 32px 16px; }
	.hero__uvod { font-size: 17px; }
	.hero__testy-detail { display: none; }
	.hero__titulek { font-size: 38px; }
	.sekce { padding-top: 64px; }
	.pas { margin-top: 64px; padding: 48px 0; }
	.testy__text { padding: 40px 16px; }
	.testy h2 { font-size: 38px; }
	.fakta { grid-template-columns: 1fr; }
	.tlacitko-dlouhy { display: none; }
	.mrizka--6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mrizka--4, .mrizka--3 { grid-template-columns: 1fr; }
	.rady { grid-template-columns: 1fr; }
	.mrizka--4 .karta--produkt { display: grid; grid-template-columns: 112px 1fr; grid-template-rows: auto auto; align-content: center; gap: 2px 14px; align-items: start; }
	.mrizka--4 .karta--produkt .karta__nazev { align-self: end; margin: 0; }
	.mrizka--4 .karta--produkt .karta__foto { grid-row: span 2; padding: 8px; }
	.vyhody__seznam { grid-template-columns: 1fr 1fr; padding-top: 20px; padding-bottom: 20px; }
	.vyhody__polozka { font-size: 14px; }
	.vyhody__polozka img { width: 36px; height: 36px; }
	.socialni-box, .vyzva, .blok--pozadi { padding: 24px 20px; }
	.produkt__foto { padding: 16px; }
	.produkt__koupit-dole { padding: 22px 20px; }
	.tabulka th, .tabulka td { padding: 10px 12px; }
	.tabulka th { width: 50%; }
	.zalozky__seznam { flex-wrap: nowrap; overflow-x: auto; }
	.zalozky__seznam [role="tab"] { white-space: nowrap; padding: 12px 14px; }
	.paticka__mrizka { grid-template-columns: 1fr; }
	.hledani-velke { flex-direction: column; }
	.obsah p:has(> :is(img, a:has(> img)) ~ :is(img, a:has(> img))) { flex-wrap: wrap; }
	.obsah p:has(> :is(img, a:has(> img)) ~ :is(img, a:has(> img))) > * { flex-basis: 100%; }
	.stranka__obrazek { display: none; }
	.clanek__foto { order: -1; }
	.clanek__perex { font-size: 17px; }
	.clanek__hlava { margin-bottom: 32px; }
	.stranka__uvod { gap: 12px; margin-bottom: 20px; }
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; scroll-behavior: auto !important; }
}

/* Karusel nejprodávanějších produktů – posun šipkami, tažením i prstem; začíná zarovnaný s obsahem, doprava běží k okraji obrazovky */
.karusel { display: grid; grid-auto-flow: column; grid-auto-columns: calc((min(100vw, var(--obsah)) - 48px - 3 * 18px) / 4); gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: var(--okraj); padding: 4px var(--okraj) 12px; scrollbar-width: none; }
.karusel::-webkit-scrollbar { display: none; }
.karusel > .karta { scroll-snap-align: start; }
.karusel__ovladani { display: flex; align-items: center; gap: 10px; }
.karusel__ovladani .odkaz-sipka { margin-left: 14px; }
.karusel__sipka { width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid var(--lahev); background: #fff; color: var(--lahev); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.karusel__sipka:hover:not(:disabled) { background: var(--lahev); color: #fff; }
.karusel__sipka:disabled { opacity: .3; cursor: default; }
.karusel__sipka[data-karusel-zpet] .ikona { transform: rotate(180deg); }
@media (max-width: 960px) { .karusel { grid-auto-columns: 42%; } }
@media (max-width: 600px) { .karusel { grid-auto-columns: 72%; padding-left: 16px; padding-right: 16px; scroll-padding-left: 16px; } .karusel__sipka { display: none; } .karusel__ovladani .odkaz-sipka { margin-left: 0; } }

/* Recepty: sezónní výběr a řazení */
.sezona { margin-top: 40px; background: #fff; border-radius: var(--radius-l); padding: 32px; }
.sezona__hlava { margin-bottom: 24px; }
.sezona__hlava h2 { font-size: clamp(30px, 3.6vw, 44px); margin: 6px 0 8px; }
.sezona__hlava p:last-child { margin: 0; color: var(--text-mekky); }
.sekce--tesna { padding-top: 56px; }
.hlavicka-sekce__pocet { font-size: .5em; color: var(--text-mekky); font-weight: 700; vertical-align: middle; }
.razeni { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.razeni__popis { color: var(--text-mekky); font-size: 15px; margin-right: 4px; }
.razeni__volba { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; text-decoration: none; font-weight: 600; font-size: 15px; }
.razeni__volba:hover { background: #fff; }
.razeni__volba.je-aktivni { background: var(--lahev); color: #fff; }
@media (max-width: 600px) { .sezona { padding: 22px 16px; } }

/* Blog: sekce podle témat, zvýrazněná „Koho podporujeme“ */
.podpora { background: var(--lahev); color: #fff; border-radius: var(--radius-l); padding: 36px 32px; }
.podpora .display, .podpora .karta, .podpora .karta__nazev, .podpora .odkaz-sipka { color: #fff; }
.podpora .karta__popis, .podpora .hlavicka-sekce__popis { color: #DCE8D2; }
.podpora .karta__kategorie { color: var(--zelena); }
.podpora .karta:hover .karta__nazev { color: var(--zelena); }
.blog__vse { text-align: center; margin: 0; }
@media (max-width: 600px) { .podpora { padding: 24px 16px; } }
/* Víc obrázků v jednom odkazu (starší články): vedle sebe s mezerou */
.obsah a:has(> img + img) { display: flex; flex-wrap: wrap; gap: 14px; align-items: flex-start; }
.obsah a:has(> img + img) > img { margin: 0; max-width: calc(50% - 7px); height: auto; }
/* Řada fotek z textu (kyo_srovnej_obrazky) */
.obrazky-rada { display: flex; gap: 14px; margin: 1.4em 0; align-items: flex-start; }
.obrazky-rada + .obrazky-rada { margin-top: -1.4em; padding-top: 14px; }
.obrazky-rada__polozka { margin: 0; flex: var(--pomer, 1.5) 1 0; min-width: 0; }
.obrazky-rada__polozka img { display: block; width: 100% !important; height: auto !important; aspect-ratio: var(--pomer, 1.5); object-fit: cover; margin: 0 !important; float: none !important; max-width: none; }
.obrazky-rada__polozka a { display: block; }
@media (max-width: 600px) {
  .obrazky-rada { gap: 8px; }
  .obrazky-rada + .obrazky-rada { padding-top: 8px; }
  .obrazky-rada--4 { flex-wrap: wrap; }
  .obrazky-rada--4 .obrazky-rada__polozka { flex: 1 1 calc(50% - 4px); }
  .obrazky-rada--4 img { aspect-ratio: 4 / 3; }
}

#obsah[aria-busy="true"] .mrizka { opacity: .5; transition: opacity .15s; }
