/* Ogárek – výpis ubytování. Vše pod body .ogarek-vypis, plochá pravidla bez vnořování. Stránka je Elementor + Tripster, proto reset prvků a explicitní barvy odkazů. */
@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 100 1000;
	font-display: swap;
	src: url(../fonts/dm-sans-latin-ext-wght-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: 'DM Sans';
	font-style: normal;
	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+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: 'Bricolage Grotesque';
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url(../fonts/bricolage-grotesque-latin-ext-wght-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: 'Bricolage Grotesque';
	font-style: normal;
	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+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;
}

/* ---------- Tokeny a základ ---------- */
.ogarek-vypis {
	--og-green: #1E5B43;
	--og-green-dark: #123A2A;
	--og-green-soft: #E6F0EA;
	--og-amber: #7A4A0B;
	--og-amber-soft: #FBEFD9;
	--og-text: #1B1F1D;
	--og-text-2: #3A433E;
	--og-muted: #5B635F;
	--og-count: #6B7370;
	--og-off: #9AA19D;
	--og-line: #E3E6E3;
	--og-line-bar: #DCD6CF;
	--og-line-input: #B9C0BA;
	--og-bg: #FFFFFF;
	--og-ph: #A9B9AE;
	--og-font-head: 'Bricolage Grotesque', system-ui, sans-serif;
	--og-font-body: 'DM Sans', system-ui, sans-serif;
}
body .ogarek-vypis {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0;
	font-family: var(--og-font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: normal;
	text-transform: none;
	color: var(--og-text);
}
body .ogarek-vypis *,
body .ogarek-vypis *::before,
body .ogarek-vypis *::after { box-sizing: border-box; }

/* ---------- Reset prvků (Tripster stylují h1–h6, p, ul, li, a, button, img…) ---------- */
body .ogarek-vypis :is(h2, h3, p, ul, li, a, button, summary, details, nav, aside, section, fieldset, legend, figure) { margin: 0; padding: 0; font-family: inherit; letter-spacing: normal; text-transform: none; }
body .ogarek-vypis ul { list-style: none; }
body .ogarek-vypis li::before,
body .ogarek-vypis li::after { content: none; }
body .ogarek-vypis img { display: block; max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
body .ogarek-vypis .og-icon { flex: none; display: inline-block; vertical-align: middle; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- Rozložení: mobil = jeden sloupec, summary „Filtry“ vedle počtu ---------- */
body .ogarek-vypis .ogarek-vypis__rozlozeni { position: relative; display: flex; flex-direction: column; gap: 16px; }
body .ogarek-vypis .ogarek-vypis__lista { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; min-height: 40px; padding: 0 104px 14px 0; border-bottom: 1px solid var(--og-line-bar); }
body .ogarek-vypis .ogarek-vypis__rozlozeni--solo .ogarek-vypis__lista { padding-right: 0; }
body .ogarek-vypis .ogarek-vypis__pocet { font-family: var(--og-font-head); font-size: 24px; font-weight: 700; line-height: 1.2; color: var(--og-text); }
body .ogarek-vypis .ogarek-vypis__lokalit { margin-left: 8px; font-size: 14px; color: var(--og-muted); }
body .ogarek-vypis .ogarek-vypis__zrusit { font-size: 14px; font-weight: 600; text-decoration: underline; cursor: pointer; }
body .ogarek-vypis .ogarek-vypis__zrusit:is(:link, :visited) { color: var(--og-green); }
body .ogarek-vypis .ogarek-vypis__zrusit:is(:hover, :focus) { color: var(--og-green-dark); text-decoration: underline; }
body .ogarek-vypis .ogarek-vypis__box { display: block; min-width: 0; }
body .ogarek-vypis .ogarek-vypis__summary { position: absolute; top: 0; right: 0; display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1px solid var(--og-text); border-radius: 10px; background: var(--og-bg); font-size: 14px; font-weight: 600; line-height: 1; color: var(--og-text); list-style: none; cursor: pointer; }
body .ogarek-vypis .ogarek-vypis__summary::-webkit-details-marker { display: none; }
body .ogarek-vypis .ogarek-vypis__vysledky { display: flex; flex-direction: column; gap: 24px; min-width: 0; }

/* ---------- Levý sloupec: skupiny filtrů ---------- */
body .ogarek-vypis .ogarek-vypis__filtry { padding: 16px; border: 1px solid var(--og-line); border-radius: 16px; background: var(--og-bg); }
body .ogarek-vypis .ogarek-vypis__sk { display: block; min-width: 0; margin: 12px 0 0; padding: 12px 0 0; border: 0; border-top: 1px solid var(--og-line); }
body .ogarek-vypis .ogarek-vypis__fs { min-width: 0; margin: 0; padding: 0; border: 0; }
body .ogarek-vypis .ogarek-vypis__filtry > .ogarek-vypis__sk:first-child,
body .ogarek-vypis .ogarek-vypis__filtry > .ogarek-vypis__js:first-child > .ogarek-vypis__sk:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
body .ogarek-vypis.ogarek-vypis .ogarek-vypis__legend { display: block; float: none; position: static; width: auto; max-width: 100%; margin: 0 0 4px; padding: 0; border: 0; background: none; box-shadow: none; font-family: var(--og-font-head); font-size: 17px; font-style: normal; font-weight: 700; line-height: 1.3; letter-spacing: normal; text-transform: none; text-indent: 0; color: var(--og-text); }
body .ogarek-vypis.ogarek-vypis .ogarek-vypis__volba { display: flex; position: static; padding: 0; background: none; text-indent: 0; font-style: normal; align-items: center; gap: 8px; min-height: 32px; font-size: 14px; line-height: 1.3; text-decoration: none; cursor: pointer; }
body .ogarek-vypis .ogarek-vypis__nazev { flex: 1; min-width: 0; }
body .ogarek-vypis .ogarek-vypis__n { flex: none; font-size: 12px; color: var(--og-count); }
body .ogarek-vypis.ogarek-vypis .ogarek-vypis__vstup { flex: none; display: inline-block; position: static; float: none; min-width: 18px; margin: 0; padding: 0; opacity: 1; visibility: visible; clip: auto; clip-path: none; transform: none; pointer-events: auto; cursor: pointer; box-sizing: border-box; width: 18px !important; height: 18px !important; -webkit-appearance: none; appearance: none; border: 2px solid var(--og-line-input) !important; border-radius: 50%; background: var(--og-bg) center / 12px no-repeat; }
body .ogarek-vypis.ogarek-vypis .ogarek-vypis__volba::before,
body .ogarek-vypis.ogarek-vypis .ogarek-vypis__volba::after { content: none; display: none; }
body .ogarek-vypis .ogarek-vypis__kruh { flex: none; width: 18px; height: 18px; border: 2px solid var(--og-line-input); border-radius: 50%; background: var(--og-bg); }
body .ogarek-vypis a.ogarek-vypis__volba:is(:link, :visited, :hover, :focus) { color: var(--og-text); text-decoration: none; }
body .ogarek-vypis a.ogarek-vypis__volba:is(:hover, :focus) .ogarek-vypis__kruh { border-color: var(--og-green); }
body .ogarek-vypis a.ogarek-vypis__volba[aria-current] .ogarek-vypis__kruh { border-color: var(--og-green); background: var(--og-green); box-shadow: inset 0 0 0 3px var(--og-bg); }
body .ogarek-vypis a.ogarek-vypis__volba[aria-current] .ogarek-vypis__nazev { font-weight: 700; color: var(--og-green); }
body .ogarek-vypis .ogarek-vypis__nula .ogarek-vypis__nazev,
body .ogarek-vypis .ogarek-vypis__nula .ogarek-vypis__n { color: var(--og-off); }
body .ogarek-vypis .ogarek-vypis__nula .ogarek-vypis__vstup { cursor: default; }
body .ogarek-vypis.ogarek-vypis .ogarek-vypis__vstup[type=checkbox] { border-radius: 4px; }
body .ogarek-vypis.ogarek-vypis .ogarek-vypis__vstup:checked { border-color: var(--og-green) !important; background-color: var(--og-green); }
body .ogarek-vypis.ogarek-vypis .ogarek-vypis__vstup[type=radio]:checked { box-shadow: inset 0 0 0 3px var(--og-bg); }
body .ogarek-vypis.ogarek-vypis .ogarek-vypis__vstup[type=checkbox]:checked { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.5 2.5L10 3.5' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E"); }
body .ogarek-vypis label.ogarek-vypis__volba:not(.ogarek-vypis__nula):hover .ogarek-vypis__vstup { border-color: var(--og-green) !important; }

/* ---------- Pravý sloupec: skupiny ---------- */
body .ogarek-vypis .ogarek-vypis__skupina { display: flex; flex-direction: column; gap: 16px; scroll-margin-top: 80px; }
body .ogarek-vypis .ogarek-vypis__hlavicka { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; }
body .ogarek-vypis .ogarek-vypis__h2 { font-family: var(--og-font-head); font-size: 22px; font-weight: 700; line-height: 1.2; color: var(--og-text); }
body .ogarek-vypis .ogarek-vypis__h2-n { font-size: 17px; font-weight: 500; color: var(--og-muted); }
body .ogarek-vypis .ogarek-vypis__vse { font-size: 15px; font-weight: 600; text-decoration: none; }
body .ogarek-vypis .ogarek-vypis__vse:is(:link, :visited) { color: var(--og-green); }
body .ogarek-vypis .ogarek-vypis__vse:is(:hover, :focus) { color: var(--og-green-dark); text-decoration: underline; }
body .ogarek-vypis .ogarek-vypis__seznam { display: flex; flex-direction: column; gap: 16px; }

/* ---------- Karta ---------- */
body .ogarek-vypis .ogarek-vypis__karta { display: grid; grid-template-columns: 260px 1fr; gap: 22px; padding: 14px; border: 1px solid var(--og-line); border-radius: 16px; background: var(--og-bg); text-decoration: none; transition: box-shadow 0.15s ease; }
body .ogarek-vypis .ogarek-vypis__karta:is(:link, :visited, :hover, :focus) { color: var(--og-text); text-decoration: none; }
body .ogarek-vypis .ogarek-vypis__karta:is(:hover, :focus) { box-shadow: 0 6px 24px rgba(20, 30, 25, 0.10); }
body .ogarek-vypis .ogarek-vypis__foto { position: relative; display: block; align-self: start; aspect-ratio: 260 / 180; overflow: hidden; border-radius: 12px; background: var(--og-ph); }
body .ogarek-vypis .ogarek-vypis__img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
body .ogarek-vypis .ogarek-vypis__telo { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; }
body .ogarek-vypis .ogarek-vypis__stitky { display: flex; flex-wrap: wrap; gap: 6px; }
body .ogarek-vypis .ogarek-vypis__stitek { display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--og-amber-soft); font-size: 12px; font-weight: 700; line-height: 1.4; color: var(--og-amber); }
body .ogarek-vypis .ogarek-vypis__stitek--typ { background: var(--og-green-soft); color: var(--og-green); }
body .ogarek-vypis .ogarek-vypis__h3 { font-family: var(--og-font-head); font-size: 22px; font-weight: 700; line-height: 1.2; color: var(--og-text); }
body .ogarek-vypis .ogarek-vypis__lokace { display: flex; align-items: center; gap: 6px; font-size: 14px; color: var(--og-muted); }
body .ogarek-vypis .ogarek-vypis__perex { font-size: 15px; line-height: 1.55; color: var(--og-text-2); }
body .ogarek-vypis .ogarek-vypis__odznak { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; line-height: 1.4; color: var(--og-green); }
body .ogarek-vypis .ogarek-vypis__odznak--foto { position: absolute; top: 10px; left: 10px; padding: 4px 10px; border-radius: 999px; background: var(--og-bg); box-shadow: 0 2px 8px rgba(20, 30, 25, 0.18); }
body .ogarek-vypis .ogarek-vypis__odznak--radek { display: none; }
body .ogarek-vypis .ogarek-vypis__tlacitko { display: inline-flex; align-items: center; min-height: 44px; margin-top: auto; padding: 0 20px; border-radius: 10px; background: var(--og-green); font-size: 15px; font-weight: 600; line-height: 1; color: #FFFFFF; }
body .ogarek-vypis .ogarek-vypis__karta:is(:hover, :focus) .ogarek-vypis__tlacitko { background: var(--og-green-dark); }

/* ---------- Prázdný stav ---------- */
body .ogarek-vypis .ogarek-vypis__prazdno { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 32px 16px; border: 1px solid var(--og-line); border-radius: 16px; text-align: center; }
body .ogarek-vypis .ogarek-vypis__prazdno-text { font-size: 16px; color: var(--og-text-2); }
body .ogarek-vypis .ogarek-vypis__reset { display: inline-flex; align-items: center; min-height: 44px; margin: 0; padding: 0 20px; border: 0; border-radius: 10px; background: var(--og-green); box-shadow: none; font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1; letter-spacing: normal; text-transform: none; color: #FFFFFF; cursor: pointer; }
body .ogarek-vypis .ogarek-vypis__reset:is(:hover, :focus) { background: var(--og-green-dark); color: #FFFFFF; }

body .ogarek-vypis :is(a, button, summary, input):focus-visible { outline: 2px solid var(--og-green); outline-offset: 2px; }

/* ---------- Desktop: dva sloupce, filtry vlevo (sticky) ---------- */
@media (min-width: 1024px) {
	body .ogarek-vypis .ogarek-vypis__rozlozeni { display: grid; grid-template-columns: 264px minmax(0, 1fr); grid-template-rows: auto 1fr; grid-template-areas: "box lista" "box vysledky"; column-gap: 32px; row-gap: 16px; align-items: start; }
	body .ogarek-vypis .ogarek-vypis__rozlozeni--solo { grid-template-columns: minmax(0, 1fr); grid-template-areas: "lista" "vysledky"; }
	body .ogarek-vypis .ogarek-vypis__lista { grid-area: lista; padding-right: 0; }
	body .ogarek-vypis .ogarek-vypis__box { grid-area: box; position: sticky; top: var(--og-sticky-top, 24px); overflow-x: hidden; transition: top 0.2s ease; }
	body .ogarek-vypis.ogarek-vypis--bez-sticky .ogarek-vypis__box { position: static; }
	body .ogarek-vypis .ogarek-vypis__vysledky { grid-area: vysledky; }
	body .ogarek-vypis .ogarek-vypis__summary { display: none; }
}
/* Bez JS jsou filtry na desktopu vidět i v zavřeném details (prohlížeče s ::details-content). */
@media (min-width: 1024px) {
	body .ogarek-vypis .ogarek-vypis__box:not([open])::details-content { content-visibility: visible; display: block; }
}

/* ---------- Mobil ---------- */
@media (max-width: 767px) {
	body .ogarek-vypis .ogarek-vypis__karta { grid-template-columns: 112px 1fr; gap: 12px; padding: 10px; }
	body .ogarek-vypis .ogarek-vypis__foto { aspect-ratio: 1; }
	body .ogarek-vypis .ogarek-vypis__odznak--foto { display: none; }
	body .ogarek-vypis .ogarek-vypis__odznak--radek { display: inline-flex; }
	body .ogarek-vypis .ogarek-vypis__telo { gap: 4px; }
	body .ogarek-vypis .ogarek-vypis__h3 { font-size: 17px; }
	body .ogarek-vypis .ogarek-vypis__perex { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; font-size: 13px; }
	body .ogarek-vypis .ogarek-vypis__tlacitko { display: none; }
}

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