/* Ogárek – nabídky pobytů (úkol 09). Vše pod body .ogarek-nabidky, plochá pravidla. Tripster styluje tabulky, tlačítka a odkazy, proto reset a zdvojená třída u tlačítek a tabulek. */
@font-face { font-family: 'DM Sans'; font-weight: 100 1000; font-display: swap; src: url(../fonts/dm-sans-latin-ext-wght-normal.woff2) format('woff2'); unicode-range: U+0100-024F, U+1E00-1EFF, U+2C60-2C7F; }
@font-face { font-family: 'DM Sans'; font-weight: 100 1000; font-display: swap; src: url(../fonts/dm-sans-latin-wght-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+2000-206F, U+20AC; }
@font-face { font-family: 'Bricolage Grotesque'; font-weight: 200 800; font-display: swap; src: url(../fonts/bricolage-grotesque-latin-ext-wght-normal.woff2) format('woff2'); unicode-range: U+0100-024F, U+1E00-1EFF, U+2C60-2C7F; }
@font-face { font-family: 'Bricolage Grotesque'; font-weight: 200 800; font-display: swap; src: url(../fonts/bricolage-grotesque-latin-wght-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+2000-206F, U+20AC; }

body .ogarek-nabidky { --og-green: #1E5B43; --og-green-dark: #123A2A; --og-green-soft: #E6F0EA; --og-navy: #172A4A; --og-text: #1B1F1D; --og-text-2: #3A433E; --og-muted: #5B635F; --og-line: #E3E6E3; --og-line-2: #ECE7E1; --og-ph: #A9B9AE; --og-head: 'Bricolage Grotesque', system-ui, sans-serif; container: ognab / inline-size; box-sizing: border-box; width: 100%; margin: 0; padding: 0; font-family: 'DM Sans', system-ui, sans-serif; font-size: 16px; font-weight: 400; line-height: 1.5; letter-spacing: normal; text-transform: none; color: var(--og-text); }
body .ogarek-nabidky *, body .ogarek-nabidky *::before, body .ogarek-nabidky *::after { box-sizing: border-box; }
body .ogarek-nabidky :is(h2, h3, p, ul, li, a, button, summary, details, section, table, thead, tbody, tr, th, td, strong) { margin: 0; padding: 0; font-family: inherit; letter-spacing: normal; text-transform: none; }
body .ogarek-nabidky ul { list-style: none; }
body .ogarek-nabidky li::before, body .ogarek-nabidky li::after { content: none; }
body .ogarek-nabidky img { display: block; max-width: none; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
body .ogarek-nabidky .og-icon { flex: none; display: inline-block; vertical-align: middle; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body .ogarek-nabidky a:is(:link, :visited) { color: var(--og-green); }
body .ogarek-nabidky a:is(:hover, :focus) { color: var(--og-green-dark); }
body .ogarek-nabidky :is(a, button, summary):focus-visible { outline: 2px solid var(--og-green); outline-offset: 2px; }

/* ---------- Tlačítka ---------- */
body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; margin: 0; padding: 0 16px; border: 1.5px solid var(--og-green); border-radius: 10px; background: var(--og-green); box-shadow: none; font-family: inherit; font-size: 15px; font-weight: 700; line-height: 1.2; letter-spacing: normal; text-transform: none; text-decoration: none; text-align: center; color: #FFFFFF; cursor: pointer; }
body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__btn:is(:hover, :focus) { border-color: var(--og-green-dark); background: var(--og-green-dark); color: #FFFFFF; text-decoration: none; }
body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__btn--obrys { background: #FFFFFF; color: var(--og-green); }
body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__btn--obrys:is(:hover, :focus) { border-color: var(--og-green-dark); background: var(--og-green-soft); color: var(--og-green-dark); }

/* ---------- Filtr a lišta ---------- */
body .ogarek-nabidky .ogarek-nabidky__filtr { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__chip { min-height: 40px; margin: 0; padding: 0 16px; border: 1.5px solid #D6D0C8; border-radius: 999px; background: #FFFFFF; box-shadow: none; font-family: inherit; font-size: 15px; font-weight: 700; line-height: 1; letter-spacing: normal; text-transform: none; color: var(--og-text); cursor: pointer; }
body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__chip:hover { border-color: var(--og-green); background: #FFFFFF; color: var(--og-text); }
body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__chip[aria-pressed="true"] { border-color: var(--og-green); background: var(--og-green); color: #FFFFFF; }
body .ogarek-nabidky .ogarek-nabidky__chip-n { font-weight: 500; opacity: 0.75; }
body .ogarek-nabidky .ogarek-nabidky__lista { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; padding-bottom: 8px; border-bottom: 1px solid #DCD6CF; }
body .ogarek-nabidky .ogarek-nabidky__pocet { font-family: var(--og-head); font-size: 24px; font-weight: 700; line-height: 1.2; }
body .ogarek-nabidky .ogarek-nabidky__razeni { font-size: 14px; color: var(--og-muted); }
body .ogarek-nabidky .ogarek-nabidky__seznam { display: flex; flex-direction: column; gap: 20px; margin-top: 20px; }
body .ogarek-nabidky .ogarek-nabidky__prazdno { padding: 32px 16px; border: 1px solid var(--og-line); border-radius: 16px; background: #FFFFFF; text-align: center; color: var(--og-text-2); }

/* ---------- Karta ve výpisu ---------- */
body .ogarek-nabidky .ogarek-nabidky__karta { overflow: hidden; border: 1px solid var(--og-line); border-radius: 16px; background: #FFFFFF; scroll-margin-top: 96px; }
body .ogarek-nabidky .ogarek-nabidky__hlava { display: grid; grid-template-columns: 300px minmax(0, 1fr) 250px; gap: 24px; padding: 14px; }
body .ogarek-nabidky .ogarek-nabidky__foto { position: relative; display: block; overflow: hidden; height: 210px; border-radius: 12px; background: var(--og-ph); }
body .ogarek-nabidky .ogarek-nabidky__img { width: 100%; height: 100%; object-fit: cover; }
body .ogarek-nabidky .ogarek-nabidky__tema { position: absolute; top: 10px; left: 10px; padding: 4px 11px; border-radius: 999px; background: var(--og-navy); font-size: 12px; font-weight: 700; line-height: 1.4; color: #FFFFFF; }
body .ogarek-nabidky .ogarek-nabidky__termin { position: absolute; bottom: 10px; left: 10px; display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px 4px 8px; border-radius: 8px; background: #FFFFFF; font-size: 13px; font-weight: 700; line-height: 1.4; color: var(--og-text); }
body .ogarek-nabidky .ogarek-nabidky__telo { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; padding: 4px 0; }
body .ogarek-nabidky.ogarek-nabidky a.ogarek-nabidky__uby { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; text-decoration: none; }
body .ogarek-nabidky.ogarek-nabidky a.ogarek-nabidky__uby:is(:hover, :focus) span:last-child { text-decoration: underline; }
body .ogarek-nabidky .ogarek-nabidky__typ { padding: 2px 8px; border-radius: 999px; background: var(--og-green-soft); font-size: 12px; }
body .ogarek-nabidky .ogarek-nabidky__h2 { font-family: var(--og-head); font-size: 24px; font-weight: 700; line-height: 1.15; color: var(--og-text); }
body .ogarek-nabidky .ogarek-nabidky__perex { font-size: 15px; color: var(--og-text-2); }
body .ogarek-nabidky .ogarek-nabidky__body { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 4px; }
body .ogarek-nabidky .ogarek-nabidky__body li { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; }
body .ogarek-nabidky :is(.ogarek-nabidky__body, .ogarek-nabidky__obsahuje) .og-icon { color: var(--og-green); stroke-width: 2.2; }
body .ogarek-nabidky .ogarek-nabidky__cena { display: flex; flex-direction: column; gap: 6px; padding: 6px 4px 4px 20px; border-left: 1px solid var(--og-line-2); }
body .ogarek-nabidky .ogarek-nabidky__pred { font-size: 13px; color: var(--og-muted); }
body .ogarek-nabidky .ogarek-nabidky__castka { font-family: var(--og-head); font-size: 30px; font-weight: 700; line-height: 1.05; letter-spacing: -0.5px; color: var(--og-navy); white-space: nowrap; }
body .ogarek-nabidky .ogarek-nabidky__za { font-size: 14px; line-height: 1.35; color: var(--og-text-2); }
body .ogarek-nabidky .ogarek-nabidky__akce { display: flex; flex-direction: column; gap: 8px; margin-top: auto; padding-top: 10px; }
body .ogarek-nabidky .ogarek-nabidky__prepinac[aria-expanded="true"] .og-icon { transform: rotate(180deg); }

/* ---------- Detail (details) ---------- */
body .ogarek-nabidky .ogarek-nabidky__detail { border-top: 1px solid var(--og-line-2); background: #FDFBF8; }
body .ogarek-nabidky .ogarek-nabidky__detail:not([open]) { background: #FFFFFF; }
body .ogarek-nabidky .ogarek-nabidky__summary { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 0 16px; font-size: 15px; font-weight: 700; color: var(--og-green); list-style: none; cursor: pointer; }
body .ogarek-nabidky .ogarek-nabidky__summary::-webkit-details-marker { display: none; }
body .ogarek-nabidky .ogarek-nabidky__detail[open] .ogarek-nabidky__summary .og-icon { transform: rotate(180deg); }
.ogarek-js body .ogarek-nabidky .ogarek-nabidky__summary { display: none; }
.ogarek-js body .ogarek-nabidky .ogarek-nabidky__detail:not([open]) { border-top: 0; }
body .ogarek-nabidky .ogarek-nabidky__obsah { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 40px; padding: 24px 28px 22px; }
body .ogarek-nabidky .ogarek-nabidky__sloupec { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
body .ogarek-nabidky .ogarek-nabidky__h3 { margin-bottom: 10px; font-family: var(--og-head); font-size: 18px; font-weight: 700; line-height: 1.25; color: var(--og-text); }
body .ogarek-nabidky .ogarek-nabidky__sloupec > .ogarek-nabidky__h3 { margin-bottom: 0; }
body .ogarek-nabidky .ogarek-nabidky__obsahuje { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 20px; }
body .ogarek-nabidky .ogarek-nabidky__obsahuje li { display: flex; gap: 8px; font-size: 14px; line-height: 1.4; }
body .ogarek-nabidky .ogarek-nabidky__obsahuje .og-icon { margin-top: 1px; }
body .ogarek-nabidky .ogarek-nabidky__terminy li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; padding: 7px 0; border-top: 1px solid var(--og-line-2); font-size: 15px; }
body .ogarek-nabidky .ogarek-nabidky__terminy span { color: var(--og-text-2); }
body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__odrazky { padding-left: 18px; list-style: disc; font-size: 14px; color: var(--og-text-2); }
body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__odrazky li { display: list-item; margin: 0 0 4px; }

/* ---------- Ceny ---------- */
body .ogarek-nabidky .ogarek-nabidky__skupina { padding: 14px 16px 6px; border: 1px solid var(--og-line); border-radius: 12px; background: #FFFFFF; }
body .ogarek-nabidky .ogarek-nabidky__skupina-hlava { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; margin-bottom: 8px; }
body .ogarek-nabidky .ogarek-nabidky__skupina-hlava span { font-size: 13px; color: var(--og-muted); }
body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__tabulka { width: 100%; margin: 0; border: 0; border-collapse: collapse; background: transparent; font-size: 15px; font-variant-numeric: tabular-nums; }
body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__tabulka :is(th, td) { padding: 8px 0 8px 12px; border: 0; border-top: 1px solid var(--og-line-2); background: transparent; font-size: 15px; font-weight: 400; line-height: 1.35; text-align: right; white-space: nowrap; color: var(--og-text); }
body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__tabulka thead th { padding-top: 0; padding-bottom: 6px; border-top: 0; font-size: 12px; font-weight: 700; letter-spacing: 0.4px; text-transform: uppercase; color: var(--og-muted); }
body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__tabulka :is(th, td):first-child { padding-left: 0; text-align: left; white-space: normal; }
body .ogarek-nabidky .ogarek-nabidky__zdroj { display: flex; align-items: flex-start; gap: 8px; padding: 10px 12px; border-radius: 10px; background: #F1F4F2; font-size: 13px; line-height: 1.45; color: var(--og-text-2); }
body .ogarek-nabidky .ogarek-nabidky__zdroj .og-icon { margin-top: 1px; }
body .ogarek-nabidky .ogarek-nabidky__zdroj a { font-weight: 700; }
body .ogarek-nabidky .ogarek-nabidky__pata { padding: 12px 28px; border-top: 1px solid var(--og-line-2); }
body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__pata a { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; font-size: 14px; font-weight: 700; text-decoration: none; }

/* ---------- Box pod výpisem ---------- */
body .ogarek-nabidky .ogarek-nabidky__dalsi { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-top: 40px; padding: 28px 32px; border: 1px dashed #CFC8BF; border-radius: 16px; background: #FFFFFF; }
body .ogarek-nabidky .ogarek-nabidky__dalsi-h { font-family: var(--og-head); font-size: 20px; font-weight: 700; }
body .ogarek-nabidky .ogarek-nabidky__dalsi-text { font-size: 15px; color: var(--og-text-2); }

/* ---------- Malá karta (homepage, stránka ubytování) ---------- */
body .ogarek-nabidky .ogarek-nabidky__mrizka { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
body .ogarek-nabidky .ogarek-nabidky__polozka { display: flex; min-width: 0; }
body .ogarek-nabidky--homepage .ogarek-nabidky__mrizka { grid-template-columns: repeat(auto-fit, minmax(0, 370px)); justify-content: center; }
body .ogarek-nabidky.ogarek-nabidky a.ogarek-nabidky__mala { display: flex; flex-direction: column; width: 100%; overflow: hidden; border-radius: 16px; background: #FFFFFF; box-shadow: 0 1px 2px rgba(23, 42, 74, 0.08), 0 6px 18px rgba(23, 42, 74, 0.08); color: var(--og-text); text-decoration: none; transition: box-shadow 0.15s ease; }
body .ogarek-nabidky.ogarek-nabidky a.ogarek-nabidky__mala:is(:hover, :focus) { box-shadow: 0 2px 4px rgba(23, 42, 74, 0.12), 0 10px 26px rgba(23, 42, 74, 0.14); color: var(--og-text); }
body .ogarek-nabidky .ogarek-nabidky__mala .ogarek-nabidky__foto { height: auto; aspect-ratio: 16 / 9; border-radius: 0; }
body .ogarek-nabidky .ogarek-nabidky__mala-telo { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 16px 18px 18px; }
body .ogarek-nabidky .ogarek-nabidky__mala-uby { font-size: 14px; font-weight: 700; color: var(--og-green); }
body .ogarek-nabidky .ogarek-nabidky__mala-h3 { font-family: var(--og-head); font-size: 21px; font-weight: 700; line-height: 1.2; color: var(--og-text); }
body .ogarek-nabidky :is(.ogarek-nabidky__mala-termin, .ogarek-nabidky__mala-body) { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--og-text-2); }
body .ogarek-nabidky .ogarek-nabidky__mala-pata { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--og-line-2); }
body .ogarek-nabidky .ogarek-nabidky__mala-cena { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; }
body .ogarek-nabidky .ogarek-nabidky__mala .ogarek-nabidky__castka { font-size: 24px; }
body .ogarek-nabidky .ogarek-nabidky__mala .ogarek-nabidky__za { font-size: 13px; }
body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__vse { display: flex; width: fit-content; min-height: 48px; margin: 36px auto 0; padding: 0 24px; border-radius: 12px; font-size: 16px; }

/* Stránka ubytování: karty na řádek */
body .ogarek-nabidky--ubytovani .ogarek-nabidky__uvod { margin-bottom: 20px; font-size: 15px; color: var(--og-text-2); }
body .ogarek-nabidky--ubytovani .ogarek-nabidky__mrizka { grid-template-columns: minmax(0, 1fr); gap: 16px; }
body .ogarek-nabidky.ogarek-nabidky--ubytovani a.ogarek-nabidky__mala { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 20px; padding: 14px; border: 1px solid var(--og-line); box-shadow: none; }
body .ogarek-nabidky--ubytovani .ogarek-nabidky__mala .ogarek-nabidky__foto { height: 150px; aspect-ratio: auto; border-radius: 12px; }
body .ogarek-nabidky--ubytovani .ogarek-nabidky__mala-telo { padding: 0; }

/* ---------- Užší obsah a mobil: podle šířky bloku (container queries), ne okna ---------- */
@container ognab (max-width: 960px) {
	body .ogarek-nabidky .ogarek-nabidky__hlava { grid-template-columns: 240px minmax(0, 1fr); }
	body .ogarek-nabidky .ogarek-nabidky__cena { grid-column: 1 / -1; flex-flow: row wrap; align-items: baseline; padding: 14px 0 0; border-top: 1px solid var(--og-line-2); border-left: 0; }
	body .ogarek-nabidky .ogarek-nabidky__akce { flex-direction: row; flex-wrap: wrap; width: 100%; padding-top: 4px; }
	body .ogarek-nabidky .ogarek-nabidky__akce > * { flex: 1 1 220px; }
	body .ogarek-nabidky--homepage .ogarek-nabidky__mrizka { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
	body .ogarek-nabidky .ogarek-nabidky__obsah { gap: 28px; padding: 20px; }
}
@container ognab (max-width: 640px) {
	body .ogarek-nabidky .ogarek-nabidky__hlava { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 0 0 16px; }
	body .ogarek-nabidky .ogarek-nabidky__hlava > .ogarek-nabidky__foto { height: 190px; border-radius: 0; }
	body .ogarek-nabidky :is(.ogarek-nabidky__telo, .ogarek-nabidky__cena) { padding-right: 16px; padding-left: 16px; }
	body .ogarek-nabidky .ogarek-nabidky__h2 { font-size: 21px; }
	body .ogarek-nabidky .ogarek-nabidky__perex { display: none; }
	body .ogarek-nabidky .ogarek-nabidky__castka { font-size: 26px; }
	body .ogarek-nabidky .ogarek-nabidky__akce > * { flex-basis: 100%; }
	body .ogarek-nabidky .ogarek-nabidky__obsah { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 18px 16px; }
	body .ogarek-nabidky .ogarek-nabidky__obsahuje { grid-template-columns: minmax(0, 1fr); }
	body .ogarek-nabidky .ogarek-nabidky__pata { padding: 8px 16px; }
	body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__tabulka thead { display: none; }
	body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__tabulka :is(tbody, tr) { display: block; }
	body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__tabulka tr { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 10px; padding: 7px 0; border-top: 1px solid var(--og-line-2); }
	body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__tabulka :is(th, td) { padding: 0; border: 0; font-size: 14px; }
	body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__tabulka th { flex: 1 1 auto; }
	body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__tabulka td { font-weight: 700; }
	body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__tabulka td + td::before { content: '/ '; font-weight: 400; color: var(--og-muted); }
	body .ogarek-nabidky .ogarek-nabidky__dalsi { padding: 20px 16px; }
	body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__dalsi .ogarek-nabidky__btn { width: 100%; }
	body .ogarek-nabidky .ogarek-nabidky__mrizka { grid-template-columns: minmax(0, 1fr); }
	body .ogarek-nabidky.ogarek-nabidky a.ogarek-nabidky__mala { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 10px; }
	body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__vse { width: 100%; margin-top: 20px; }
}
@media (max-width: 767px) {
	body .ogarek-nabidky .ogarek-nabidky__filtr { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px 20px; padding: 2px 16px; scrollbar-width: none; }
	body .ogarek-nabidky.ogarek-nabidky .ogarek-nabidky__chip { flex: none; white-space: nowrap; font-size: 14px; }
	body .ogarek-nabidky .ogarek-nabidky__pocet { font-size: 20px; }
}

/* Atribut hidden musí vyhrát nad display u tříd výše – proto až na konci. */
body .ogarek-nabidky.ogarek-nabidky [hidden] { display: none; }
