/* u2kvetinek.cz – veřejný web. Barvy z loga: tmavá #2B2A29, oranžová #E68632, zelená #81C124. */
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/plus-jakarta-sans-latin-ext-400-normal.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/plus-jakarta-sans-latin-400-normal.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/plus-jakarta-sans-latin-ext-600-normal.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/plus-jakarta-sans-latin-600-normal.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/plus-jakarta-sans-latin-ext-700-normal.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/plus-jakarta-sans-latin-700-normal.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 800; font-display: swap; src: url(../fonts/plus-jakarta-sans-latin-ext-800-normal.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: 'Plus Jakarta Sans'; font-style: normal; font-weight: 800; font-display: swap; src: url(../fonts/plus-jakarta-sans-latin-800-normal.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: 'Caveat'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/caveat-latin-ext-700-normal.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: 'Caveat'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/caveat-latin-700-normal.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 {
  --tmava: #2B2A29; --oranzova: #E68632; --oranzova-text: #A9521A; --zelena: #81C124; --zelena-text: #4A7A0E;
  --tepla: #FBF3EA; --zelenkava: #F2F7E9; --seda: #F1EEEA; --linka: #D8D4CF; --zluta: #F2C14E;
  --pismo: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif; --rukopis: 'Caveat', cursive;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--pismo); font-size: 17px; line-height: 1.6; color: var(--tmava); background: #fff; }
img, video { max-width: 100%; height: auto; display: block; }
a { color: var(--zelena-text); text-underline-offset: 3px; }
a:hover { color: var(--tmava); }
h1, h2, h3 { line-height: 1.12; letter-spacing: -0.01em; margin: 0 0 0.4em; }
h1 { font-size: clamp(2.1rem, 4.4vw, 3.75rem); font-weight: 800; letter-spacing: -0.02em; }
h2 { font-size: clamp(1.7rem, 3vw, 2.6rem); font-weight: 800; }
h3 { font-size: 1.15rem; font-weight: 700; }
p { margin: 0 0 1em; }
h1, h2, h3, h4 { text-wrap: balance; }
p, li, dd, figcaption, blockquote { text-wrap: pretty; }
.mail-at::before { content: "@"; }
.js-mail { cursor: pointer; }
.mensi { font-size: 0.88rem; }
.obal { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.obal--uzky { max-width: 760px; }
.preskocit { position: absolute; left: -9999px; top: 0; background: #fff; padding: 8px 12px; z-index: 100; }
.preskocit:focus { left: 8px; }
:focus-visible { outline: 3px solid var(--oranzova); outline-offset: 2px; }

/* pruh s výjimkou / upozorněním */
.pruh { display: block; padding: 10px 24px; font-size: 15px; font-weight: 600; text-align: center; background: var(--oranzova); color: var(--tmava); }
.pruh--plus { background: var(--zelena); color: #1E2A08; }
.pruh--info { background: var(--zelenkava); }
.pruh svg { display: inline-block; vertical-align: -3px; margin-right: 6px; }
.pruh a { color: inherit; margin-left: 8px; }

/* hlavička */
.hlavicka__obal { display: flex; align-items: center; justify-content: space-between; gap: 20px 28px; flex-wrap: wrap; padding-top: 18px; padding-bottom: 18px; }
.logo img { height: 56px; width: auto; }
.menu { display: flex; gap: 24px; flex-wrap: wrap; font-weight: 600; }
.menu a { color: var(--tmava); text-decoration: none; padding: 8px 0; }
.menu a:hover { color: var(--oranzova-text); }
.hlavicka__akce { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.stav { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: var(--zelenkava); font-size: 14px; font-weight: 600; }
.stav__tecka { width: 10px; height: 10px; border-radius: 50%; background: #C2410C; }
.stav--otevreno .stav__tecka { background: var(--zelena-text); }

/* tlačítka */
.tlacitko { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 999px; font: inherit; font-weight: 700; font-size: 15px; text-decoration: none; border: 2px solid transparent; cursor: pointer; }
.tlacitko--velke { min-height: 52px; padding: 0 26px; font-size: 17px; }
.tlacitko--cele { width: 100%; }
.tlacitko--hlavni { background: var(--oranzova); color: var(--tmava); font-weight: 800; }
.tlacitko--hlavni:hover { background: #D8762A; color: var(--tmava); }
.tlacitko--tmave { background: var(--tmava); color: #fff; }
.tlacitko--tmave:hover { background: #45433F; color: #fff; }
.tlacitko--obrys { border-color: var(--tmava); color: var(--tmava); background: transparent; }
.tlacitko--obrys:hover { background: var(--tmava); color: #fff; }
.tlacitko:disabled { opacity: 0.6; cursor: wait; }
.radek-tlacitek { display: flex; gap: 12px; flex-wrap: wrap; }
.odkaz-silny { font-weight: 700; }

.rukopis { font-family: var(--rukopis); font-weight: 700; font-size: 32px; line-height: 1.1; margin: 0 0 4px; }
.rukopis--zelena { color: var(--zelena-text); }
.rukopis--oranzova { color: var(--oranzova-text); }
.sekce--tmava .rukopis--oranzova { color: var(--oranzova); }

/* úvod */
.uvod { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr) minmax(250px, 0.75fr); gap: 36px; align-items: stretch; padding-top: 28px; padding-bottom: 64px; }
/* tři sloupce zarovnané nahoře (nadpis · podpis · lajk) i dole (kartičky · fotka · otevírací doba) */
.uvod__stred { display: flex; flex-direction: column; gap: 14px; }
.uvod__podpis { margin: 0; }
.uvod__stred .uvod__foto { flex: 1 1 auto; min-height: 320px; }
.uvod__kontakt { display: flex; flex-direction: column; gap: 10px; }
.uvod__lajk { font-size: 15px; text-align: center; }
.uvod__tecky { display: flex; align-items: center; gap: 10px; }
.uvod__tecky .uvod__tel { flex: 1 1 auto; }
.uvod__tecky .soc__a { flex: none; width: 52px; height: 52px; }
.doba__pozn { margin: 0; font-size: 13px; color: #5b5a58; }
.kontakt-mrizka { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.9fr); gap: 48px; align-items: stretch; }
.kontakt-mapa { display: flex; flex-direction: column; }
.kontakt-mapa .mapa { flex: 1 1 auto; min-height: 340px; --mapa-tmava: #2B2A29; }
.uvod__text { display: flex; flex-direction: column; gap: 20px; }
.uvod__text .duvery { margin-top: auto; }
.uvod__text h1 { margin: 0; }
.uvod__perex { font-size: 1.12rem; max-width: 34em; margin: 0; }
.duvody { display: flex; gap: 28px; flex-wrap: wrap; font-size: 15px; padding-top: 6px; }
.duvody div { display: flex; flex-direction: column; }
.duvody strong { font-size: 28px; font-weight: 800; line-height: 1.2; }
.uvod__foto { position: relative; }
.uvod__foto img { width: 100%; aspect-ratio: 1 / 1.05; object-fit: cover; object-position: 50% 40%; border-radius: 28px; }
.uvod__stred .uvod__foto img { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
.uvod__stitek { position: absolute; left: 14px; right: 14px; bottom: -22px; justify-content: flex-start; background: #fff; border-radius: 20px; padding: 14px 18px; box-shadow: 0 10px 30px rgb(43 42 41 / 0.14); display: flex; gap: 12px; align-items: center; color: var(--zelena-text); max-width: 85%; }
.uvod__stitek div { display: flex; flex-direction: column; color: var(--tmava); font-size: 14px; }
.uvod__stitek strong { font-size: 15px; }
.uvod__nadpis { font-size: clamp(1.9rem, 2.55vw, 2.5rem); line-height: 1.12; letter-spacing: -0.02em; }
.uvod__nadpis span { display: block; }

/* otevírací doba v úvodu (v0.2.5) */
.uvod__doba { background: var(--zelena-svetla, #EEF3E6); border-radius: 24px; padding: 20px 22px 16px; display: flex; flex-direction: column; gap: 10px; }
.duvery { list-style: none; margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.duvera__in { display: flex; flex-direction: column; gap: 1px; padding: 10px 14px; border-radius: 16px; background: #fff; border: 1px solid rgb(43 42 41 / 0.1); color: var(--tmava); text-decoration: none; height: 100%; }
a.duvera__in:hover { border-color: var(--zelena-text); color: var(--tmava); }
.duvera__in strong { font-size: 20px; font-weight: 800; line-height: 1.2; }
.duvera__in span { font-size: 13px; line-height: 1.3; color: #5b5a58; }
.duvera__in strong { display: inline-flex; align-items: center; gap: 4px; }
.duvera__hv { color: #E3A008; flex: none; }
.duvera--odznak .duvera__in { background: #18A33A; border-color: #18A33A; color: #fff; }
a.duvera--odznak .duvera__in:hover, .duvera--odznak a.duvera__in:hover { background: #128A30; border-color: #128A30; color: #fff; }
.duvera--odznak .duvera__in strong { color: #fff; }
.duvera--odznak .duvera__in span { color: #fff; font-weight: 600; }
.duvera--google .duvera__in { position: relative; overflow: hidden; padding-top: 14px; }
.duvera--google .duvera__in::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px;
  background: linear-gradient(90deg, #4285F4 0 25%, #EA4335 25% 50%, #FBBC05 50% 75%, #34A853 75% 100%); }
.duvera--facebook .duvera__in { background: #1877F2; border-color: #1877F2; color: #fff; }
.duvera--facebook a.duvera__in:hover { background: #0F63D1; border-color: #0F63D1; color: #fff; }
.duvera--facebook .duvera__in strong { color: #fff; }
.duvera--facebook .duvera__in span { color: #fff; font-weight: 600; }
.duvera__fb { flex: none; }
.duvera--ocenen .duvera__in { background: #FFF7EC; border-color: #F1D3AE; }
.uvod__soc { margin: 0; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 15px; }
.soc { display: inline-flex; gap: 8px; vertical-align: middle; }
.soc__a { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: var(--tmava); color: #fff; }
.soc__a:hover { color: #fff; background: var(--zelena-text); }
.soc--velke .soc__a { width: 44px; height: 44px; }
.soc--pata .soc__a { width: 34px; height: 34px; }
.pulka__soc { display: flex; align-items: center; gap: 10px; }
.uvod__vpravo { display: flex; flex-direction: column; gap: 14px; }
.uvod__vpravo .uvod__doba { margin-top: auto; }
.uvod__tel { justify-content: center; }
.uvod__vpravo .uvod__doba { align-self: stretch; }
.hlavicka__tel { display: none; }
.uvod__doba h2 { font-size: 1.35rem; margin: 0; }
.doba__ted { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; }
.doba__ted::before { content: ""; width: 9px; height: 9px; border-radius: 50%; flex: none; }
.doba__ted--otevreno { color: var(--zelena-text); } .doba__ted--otevreno::before { background: #3F8F2F; }
.doba__ted--zavreno { color: #9A3412; } .doba__ted--zavreno::before { background: #C2410C; }
.doba__dny { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.doba__dny li { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px solid rgb(43 42 41 / 0.1); font-size: 15px; }
.doba__dny li:last-child { border-bottom: 0; }
.doba__kdy { font-weight: 600; white-space: nowrap; }
.doba__datum { font-weight: 400; font-size: 13px; opacity: .7; }
.doba__casy { text-align: right; }
.doba__casy small { display: block; font-size: 12px; color: var(--oranzova-text); font-weight: 600; }
.doba__den--dnes { font-weight: 800; }
.doba__den--dnes .doba__kdy { color: var(--zelena-text); }
.doba__den--vyjimka .doba__casy { color: var(--oranzova-text); font-weight: 700; }
.doba__odkaz { font-size: 14px; font-weight: 700; color: var(--zelena-text); }

/* sekce */
.sekce { padding: 72px 0; }
.obal.sekce { padding: 72px 24px; }   /* .sekce by jinak vynulovala boční odsazení .obal */
.sekce--tepla { background: var(--tepla); }
.sekce--zelena { background: var(--zelenkava); }
.sekce--tmava { background: var(--tmava); color: #fff; }
.sekce--tmava p { color: #E9E6E1; }
.sekce__hlava { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px 24px; flex-wrap: wrap; margin-bottom: 28px; }
.sekce__hlava p { max-width: 40em; margin: 0; }
.sekce__pozn { font-size: 15px; font-weight: 600; }
.prazdne { padding: 24px; background: #fff; border-radius: 18px; }
.mrizka { display: grid; gap: 24px; }
.mrizka--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mrizka--reels { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }

/* úvod: nabídka a reely vedle sebe (v0.2.0) */
.sekce--hlavni { padding: 56px 0; }
.pulky { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; align-items: start; }
.pulka { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.pulka__hlava { min-height: 132px; display: flex; flex-direction: column; justify-content: flex-end; }
.pulka__hlava h2 { font-size: clamp(1.6rem, 2.4vw, 2.2rem); margin: 0; }
.pulka__perex { margin: 6px 0 0; font-size: 15px; }
.pulka__dal { align-self: flex-start; }
.pulka__dal--mobil { display: none; }
.akcent { display: inline; font-size: 0.6em; font-weight: 800; color: var(--oranzova-text); white-space: nowrap; }
.mrizka--nabidka { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.mrizka--nabidka-cela { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
.mkarta { display: flex; flex-direction: column; gap: 3px; background: #fff; border-radius: 16px; overflow: hidden; color: var(--tmava); text-decoration: none; padding-bottom: 10px; transition: transform .2s, box-shadow .2s; }
.mkarta:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgb(43 42 41 / 0.12); color: var(--tmava); }
.mkarta__foto { position: relative; display: block; margin-bottom: 6px; }
.mkarta__foto img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.mkarta .odznak { top: 8px; left: 8px; padding: 3px 9px; font-size: 12px; }
.mkarta .kdy, .mkarta__nazev, .mkarta__cena { padding: 0 10px; }
.mkarta .kdy { font-size: 11px; }
.mkarta__nazev { font-size: 14px; font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mkarta__cena { font-size: 16px; font-weight: 800; }
.mrizka--reels .reel { gap: 6px; }
.mrizka--reels .reel figcaption { font-size: 13px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mrizka--reels .reel__ram { border-radius: 14px; }
.mrizka--reels .reel__play svg { width: 40px; height: 40px; padding: 12px 10px 12px 14px; }
.filtry--uvod { margin-bottom: 18px; }
.filtr__pocet { margin-left: 6px; font-size: 13px; font-weight: 700; color: var(--oranzova-text); }
.galerie__polozka { position: relative; }
.galerie__popis { position: absolute; left: 8px; bottom: 8px; padding: 3px 9px; border-radius: 999px; background: rgb(255 255 255 / 0.9); font-size: 12px; font-weight: 600; color: var(--tmava); }

/* karta nabídky */
.karta { background: #fff; border-radius: 22px; overflow: hidden; display: flex; flex-direction: column; }
.karta__foto { position: relative; display: block; }
.karta__foto img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.karta__telo { padding: 18px; display: flex; flex-direction: column; gap: 10px; flex-grow: 1; }
.karta__telo h3 { margin: 0; }
.karta__telo h3 a { color: var(--tmava); text-decoration: none; }
.karta__telo .tlacitko, .karta__stav { margin-top: auto; }
.karta__stav { min-height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--seda); font-weight: 600; font-size: 15px; margin-bottom: 0; }
.cena { font-size: 20px; font-weight: 800; margin: 0; }
.cena--velka { font-size: 30px; }
.odznak { position: absolute; top: 12px; left: 12px; padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; background: var(--zelena); color: #1E2A08; }
.odznak--rezervovano { background: var(--zluta); color: var(--tmava); }
.odznak--prodano { background: var(--tmava); color: #fff; }
.odznak--vlozeny { position: static; display: inline-block; margin-bottom: 12px; }

/* reely */
.reel { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.reel__ram { position: relative; display: block; border-radius: 18px; overflow: hidden; background: var(--seda); aspect-ratio: 9 / 16; }
.reel__ram img, .reel__ram video { width: 100%; height: 100%; object-fit: cover; }
.reel__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.reel__play svg { width: 52px; height: 52px; padding: 16px 14px 16px 18px; border-radius: 50%; background: rgb(255 255 255 / 0.92); fill: var(--tmava); }
.kdy { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: 0.02em; color: var(--zelena-text); }
.kdy::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: var(--zelena); vertical-align: 1px; }
.reel figcaption { font-size: 14px; line-height: 1.4; }

/* o nás */
.dva-sloupce { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; align-items: center; }
.onas__foto { width: 100%; max-width: 480px; justify-self: center; border-radius: 24px; }
.onas__text h2 { font-size: clamp(1.8rem, 3.2vw, 2.75rem); }
.stitky { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 8px 0 0; }
.stitky li { padding: 10px 16px; border-radius: 999px; border: 1px solid #6B6865; font-size: 15px; }

/* galerie */
.galerie__polozka { display: block; border-radius: 18px; overflow: hidden; }
.galerie__img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; transition: transform .3s; }
.galerie__polozka:hover .galerie__img { transform: scale(1.03); }
.filtry, .strankovani { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 24px; }
.strankovani { margin-top: 28px; }
.filtr { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 2px solid var(--linka); color: var(--tmava); text-decoration: none; font-weight: 600; }
.filtr--aktivni { background: var(--tmava); border-color: var(--tmava); color: #fff; }

/* kontakt */
.tri-sloupce { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.hodiny { margin: 0 0 12px; }
.hodiny__radek { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; padding: 4px 0; border-bottom: 1px solid rgb(43 42 41 / 0.08); }
.hodiny__radek dt, .hodiny__radek dd { margin: 0; }
.hodiny__radek--dnes { font-weight: 800; }
.hodiny__radek--vyjimka dd { color: var(--oranzova-text); font-weight: 700; }
.mapa { --mapa-tmava: #2B2A29; min-height: 260px; background: #DDE6CE; }
.mapa-nahrada { min-height: 220px; border-radius: 18px; background: #DDE6CE; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 16px; text-align: center; font-weight: 600; }

/* detail a formulář */
.detail { padding-top: 16px; padding-bottom: 72px; }
.drobky { margin-bottom: 20px; }
.dva-sloupce--detail { align-items: start; gap: 40px; }
.detail__foto video { width: 100%; border-radius: 24px; aspect-ratio: 3 / 4; object-fit: cover; background: #000; display: block; }
.detail__hlava { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 20px; flex-wrap: wrap; }
.detail__cena { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: right; }
.detail__cena .cena { margin: 0; }
/* foto a formulář vedle sebe, stejně vysoké: fotka vyplní výšku formuláře */
.dva-sloupce--s-formularem { align-items: stretch; }
.dva-sloupce--s-formularem .detail__foto { position: relative; min-height: 360px; }
.dva-sloupce--s-formularem .detail__foto img, .dva-sloupce--s-formularem .detail__foto video { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
.formular.formular--vedle { margin-top: 0; }
.detail__radek { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.detail__radek .odznak--vlozeny { margin: 0; }
.detail__radek--cena { justify-content: space-between; margin: 2px 0 0; }
.detail__radek--cena .cena { margin: 0; }
.detail__fb { font-size: 15px; font-weight: 600; }
.detail__nazev { font-size: clamp(1.6rem, 2.4vw, 2.2rem); line-height: 1.1; margin: 10px 0 4px; }
.detail__popis { margin: 8px 0 0; }
/* kompaktní formulář vedle fotky */
.formular--kompakt { margin-top: 16px; padding: 18px 20px; gap: 10px; }
.formular--kompakt h2 { font-size: 1.25rem; }
.formular--kompakt > .mensi { margin: -4px 0 0; font-size: 13px; }
.formular--kompakt .pole { gap: 4px; }
.formular--kompakt .pole label, .formular--kompakt .pole legend { font-size: 14px; }
.formular--kompakt .pole input:not([type=radio]):not([type=checkbox]), .formular--kompakt .pole select, .formular--kompakt .pole textarea { padding: 8px 12px; min-height: 42px; font-size: 15px; }
.formular--kompakt .pole-radek { gap: 10px; }
.formular--kompakt .napoveda { font-size: 12.5px; margin: -2px 0 0; }
.formular--kompakt .pole--volby { flex-direction: row; flex-wrap: wrap; column-gap: 18px; row-gap: 2px; }
.formular--kompakt .pole--volby legend { width: 100%; margin-bottom: 2px; }
.formular--kompakt .volba { font-size: 15px; padding: 2px 0; }
.formular--kompakt .volba--souhlas { font-size: 13px; }
/* adresa jen při rozvozu (prohlížeč bez :has ji ukáže vždy) */
.formular--kompakt:not(:has(input[name="prevzeti"][value="rozvoz"]:checked)) .pole--adresa { display: none; }
.detail__foto img { width: 100%; border-radius: 24px; aspect-ratio: 3 / 4; object-fit: cover; }
.formular { margin-top: 28px; padding: 24px; border-radius: 22px; background: var(--tepla); display: flex; flex-direction: column; gap: 14px; }
.formular h2 { font-size: 1.6rem; margin: 0; }
.pole { display: flex; flex-direction: column; gap: 6px; border: 0; padding: 0; margin: 0; min-width: 0; }
.pole[hidden] { display: none; }
.pole-radek { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.pole label, .pole legend { font-weight: 700; font-size: 15px; }
.pole input:not([type=radio]):not([type=checkbox]), .pole select, .pole textarea { font: inherit; font-size: 16px; padding: 11px 14px; border: 2px solid var(--linka); border-radius: 12px; background: #fff; color: var(--tmava); width: 100%; min-height: 48px; }
.pole input:focus, .pole select:focus, .pole textarea:focus { border-color: var(--tmava); outline: none; }
.pole [aria-invalid="true"] { border-color: #B42318; }
.pole__chyba { color: #B42318; font-weight: 600; font-size: 14px; margin: 0; }
.napoveda { font-size: 14px; margin: -6px 0 0; color: #5E5A56; }
.volba, .pole .volba { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; font-size: 16px; padding: 4px 0; }
.volba input { width: 22px; height: 22px; margin-top: 2px; accent-color: var(--tmava); flex: 0 0 auto; }
.pole-skryte { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.hlaska { padding: 14px 18px; border-radius: 14px; background: var(--seda); }
.hlaska--ok { background: var(--zelenkava); font-weight: 600; }
.hlaska--chyba { background: #FDECEA; color: #8A1C12; font-weight: 600; }
.platba { display: flex; gap: 24px; flex-wrap: wrap; align-items: center; padding: 20px; border-radius: 18px; background: var(--tepla); margin: 20px 0; }
.platba img { width: 240px; height: auto; border-radius: 12px; background: #fff; }
.velky-text { font-size: 1.25rem; }
.text h2 { font-size: 1.4rem; margin-top: 1.6em; }

/* patička */
.paticka { padding: 32px 0 40px; font-size: 14px; border-top: 1px solid var(--linka); }
.paticka__obal { display: flex; justify-content: space-between; gap: 16px 32px; flex-wrap: wrap; }
.paticka nav { display: flex; flex-direction: column; gap: 6px; }
.paticka__verze { color: #5E5A56; }
.souhlas-zmena { font: inherit; color: var(--zelena-text); text-decoration: underline; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }

@media (max-width: 1000px) {
  .pulky { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .pulka__hlava { min-height: 0; }
  .mrizka--nabidka-cela { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mrizka--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tri-sloupce { grid-template-columns: minmax(0, 1fr); }
  .uvod { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: start; }
  .uvod__text { grid-column: 1 / -1; }
  .uvod__foto img { aspect-ratio: 4 / 3.4; }
  .uvod__stred .uvod__foto { min-height: 340px; }
  .kontakt-mrizka { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 760px) {
  body { font-size: 16px; }
  .obal { padding: 0 16px; }
  .dva-sloupce { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .uvod__stitek { left: 12px; bottom: -20px; }
  .uvod { padding-bottom: 48px; }
  .sekce { padding: 48px 0; }
  .obal.sekce { padding: 48px 16px; }
  .hlavicka__obal { gap: 10px; padding-top: 12px; padding-bottom: 8px; }
  .hlavicka__akce { display: contents; }
  .logo { order: 1; }
  .hlavicka__akce .tlacitko { order: 2; margin-left: auto; }
  .hlavicka__tel { display: inline-flex; }
  .uvod__tel { display: none; }
  .uvod__tecky { justify-content: center; }
  .uvod__vpravo { order: 1; }
  .stav { order: 3; width: 100%; justify-content: center; font-size: 13px; padding: 6px 12px; }
  .menu { order: 4; width: 100%; flex-wrap: nowrap; overflow-x: auto; gap: 18px; font-size: 15px; scrollbar-width: none; }
  .menu a { white-space: nowrap; padding: 6px 0; }
  .logo img { height: 42px; }
  .pruh { font-size: 14px; padding: 8px 16px; }
  .pole-radek { grid-template-columns: minmax(0, 1fr); }
  .detail__cena { align-items: flex-start; text-align: left; }
  .dva-sloupce--s-formularem .detail__foto { min-height: 0; aspect-ratio: 4 / 3; }
  .mrizka { gap: 12px; }
  .karta__telo { padding: 12px; }
  .formular { padding: 18px; }
  .uvod { grid-template-columns: minmax(0, 1fr); }
  .uvod__stred { order: 2; }
  .uvod__stred .uvod__foto { min-height: 0; aspect-ratio: 4 / 3; }
  .mrizka--nabidka, .mrizka--nabidka-cela { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mrizka--nabidka .mkarta:nth-child(n+7) { display: none; }
  .pulka__dal--mobil { display: inline-flex; }
  .mrizka--reels { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; padding-bottom: 6px; }
  .mrizka--reels .reel { flex: 0 0 42%; scroll-snap-align: start; }
  .akcent { white-space: normal; display: block; margin-top: 4px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .galerie__img { transition: none; } }
