/* Ogárek – detail ubytování. Vše pod .ogarek-uby (a .ogarek-uby-lista), bez @layer a bez !important (jediná výjimka: šířka .content_wrap Tripsteru). */
@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 ---------- */
.ogarek-uby,
.ogarek-uby-lista {
	--og-green: #1E5B43;
	--og-green-dark: #123A2A;
	--og-green-soft: #E6F0EA;
	--og-amber: #7A4A0B;
	--og-amber-soft: #FBEFD9;
	--og-chip: #F1F3F1;
	--og-text: #1B1F1D;
	--og-text-2: #3A433E;
	--og-muted: #5B635F;
	--og-line: #E3E6E3;
	--og-line-box: #DDE1DD;
	--og-line-input: #B9C0BA;
	--og-line-soft: #EEF0EE;
	--og-bg: #FFFFFF;
	--og-bg-soft: #F4F6F3;
	--og-map: #DCE5DD;
	--og-ph-1: #A9B9AE;
	--og-ph-2: #C9D3C4;
	--og-ph-3: #D8CFC0;
	--og-ph-4: #B7C4BE;
	--og-ph-5: #CFC6B8;
	--og-font-head: 'Bricolage Grotesque', system-ui, sans-serif;
	--og-font-body: 'DM Sans', system-ui, sans-serif;
	--og-radius-gallery: 16px;
	--og-radius-box: 16px;
	--og-radius-card: 14px;
	--og-radius-btn: 10px;
	--og-shadow-box: 0 6px 24px rgba(20, 30, 25, 0.10);
	--og-sticky-top: 0px;
	box-sizing: border-box;
	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);
}
.admin-bar .ogarek-uby { --og-sticky-top: 32px; }

/* ---------- Pozadí a mezery obalů Tripsteru (jen stránky s novou šablonou) ---------- */
html body.ogarek-uby-page,
html body.ogarek-uby-page .page_content_wrap { background-color: #FFFFFF; }
html body.ogarek-uby-page .page_content_wrap { padding-top: 0; padding-bottom: 0; }

/* Tripster (__responsive.css) nastavuje pevné šířky s !important pod 1280 px, jinak ho nepřebijeme.
   Šířku a okraje pak řídí jen main.ogarek-uby. Jediná povolená výjimka z pravidla „bez !important“. */
html body.ogarek-uby-page .page_content_wrap > .content_wrap { width: auto !important; max-width: none !important; margin-inline: auto; padding-inline: 0; }

/* ---------- Reset prvků uvnitř šablony (Tripster stylují h1–h6, p, ul, li, hr…) ---------- */
body.ogarek-uby-page .ogarek-uby :is(h1, h2, h3, h4, p, ul, ol, li, hr, figure, blockquote, dl, dd),
body.ogarek-uby-page .ogarek-uby-lista :is(h1, h2, h3, h4, p, ul, ol, li, hr, figure, blockquote, dl, dd) { margin: 0; padding: 0; font-family: inherit; letter-spacing: normal; text-transform: none; }
body.ogarek-uby-page .ogarek-uby :is(ul, ol),
body.ogarek-uby-page .ogarek-uby-lista :is(ul, ol) { list-style: none; }
body.ogarek-uby-page .ogarek-uby li::before,
body.ogarek-uby-page .ogarek-uby li::after,
body.ogarek-uby-page .ogarek-uby-lista li::before,
body.ogarek-uby-page .ogarek-uby-lista li::after { content: none; }
body.ogarek-uby-page .ogarek-uby,
body.ogarek-uby-page .ogarek-uby-lista { font-family: var(--og-font-body); color: var(--og-text); }

/* ---------- Barvy odkazů (přebíjí Tripster i :visited, :hover, :focus) ---------- */
body.ogarek-uby-page .ogarek-uby .ogarek-uby__room-link:link,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__room-link:visited,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__map a:link,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__map a:visited,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__weblink:link,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__weblink:visited,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__item-text a:link,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__item-text a:visited { color: var(--og-green); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__room-link:hover,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__room-link:focus,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__map a:hover,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__map a:focus,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__weblink:hover,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__weblink:focus,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__item-text a:hover,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__item-text a:focus { color: var(--og-green-dark); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__place:link,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__place:visited,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__rating a:link,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__rating a:visited,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__tip-row a:link,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__tip-row a:visited,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__contact-row:link,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__contact-row:visited,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__phone:link,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__phone:visited { color: var(--og-text); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__place:hover,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__place:focus,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__rating a:hover,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__rating a:focus,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__tip-row a:hover,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__tip-row a:focus,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__contact-row:hover,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__contact-row:focus,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__phone:hover,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__phone:focus { color: var(--og-green-dark); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__card:link,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__card:visited,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__more:link,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__more:visited { color: var(--og-text); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__card:hover,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__card:focus,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__more:hover,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__more:focus { color: var(--og-text); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__crumbs a:link,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__crumbs a:visited,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__nav a:link,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__nav a:visited { color: var(--og-muted); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__crumbs a:hover,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__crumbs a:focus,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__nav a:hover,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__nav a:focus { color: var(--og-text); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__btn:link,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__btn:visited,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__badge:link,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__badge:visited { color: #fff; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__btn:hover,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__btn:focus,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__badge:hover,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__badge:focus { color: #fff; }
@media (prefers-reduced-motion: no-preference) {
	html:has(.ogarek-uby) { scroll-behavior: smooth; }
}

/* ---------- Základ ---------- */
body.ogarek-uby-page .ogarek-uby {
	container-type: inline-size;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 24px 64px;
	background: transparent;
}
body.ogarek-uby-page .ogarek-uby *,
body.ogarek-uby-page .ogarek-uby *::before,
body.ogarek-uby-page .ogarek-uby *::after { box-sizing: border-box; }
body.ogarek-uby-page .ogarek-uby :where(a) { color: var(--og-green); text-decoration: none; background: none; }
body.ogarek-uby-page .ogarek-uby :where(a:hover) { color: var(--og-green-dark); }
body.ogarek-uby-page .ogarek-uby :where(ul) { list-style: none; margin: 0; padding: 0; }
body.ogarek-uby-page .ogarek-uby :where(p) { margin: 0; }
body.ogarek-uby-page .ogarek-uby :where(img) { max-width: none; height: auto; border: 0; }
body.ogarek-uby-page .ogarek-uby a:focus-visible,
body.ogarek-uby-page .ogarek-uby input:focus-visible,
body.ogarek-uby-page .ogarek-uby select:focus-visible { outline: 2px solid var(--og-green); outline-offset: 2px; }

/* nadpisy a texty – vše explicitně kvůli Tripsteru */
body.ogarek-uby-page .ogarek-uby .ogarek-uby__title,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__h2,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__h3 { margin: 0; padding: 0; background: none; border: 0; text-transform: none; color: var(--og-text); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__title { font: 700 40px/1.1 var(--og-font-head); letter-spacing: -0.8px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__h2 { font: 700 26px/1.25 var(--og-font-head); letter-spacing: normal; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__h2--box { font-size: 24px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__h3 { font: 700 18px/1.3 var(--og-font-body); letter-spacing: normal; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__item-title { font: 700 16px/1.4 var(--og-font-body); color: var(--og-text); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__item-text { margin: 0; font: 400 14px/1.5 var(--og-font-body); color: var(--og-muted); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__item-text--dark { color: var(--og-text-2); }
body.ogarek-uby-page .ogarek-uby .og-icon { flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body.ogarek-uby-page .ogarek-uby .og-icon--fill { fill: currentColor; }
body.ogarek-uby-page .ogarek-uby .og-grid { display: grid; gap: 16px; }
body.ogarek-uby-page .ogarek-uby .og-g4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.ogarek-uby-page .ogarek-uby .og-g3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.ogarek-uby-page .ogarek-uby .og-g2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.ogarek-uby-page .ogarek-uby .og-g1 { grid-template-columns: minmax(0, 1fr); }
body.ogarek-uby-page .ogarek-uby [class*="og-ph-"] { background: var(--og-ph-1); }
body.ogarek-uby-page .ogarek-uby .og-ph-2 { background: var(--og-ph-2); }
body.ogarek-uby-page .ogarek-uby .og-ph-3 { background: var(--og-ph-3); }
body.ogarek-uby-page .ogarek-uby .og-ph-4 { background: var(--og-ph-4); }
body.ogarek-uby-page .ogarek-uby .og-ph-5 { background: var(--og-ph-5); }
@container (max-width: 680px) {
	body.ogarek-uby-page .ogarek-uby .og-g4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.ogarek-uby-page .ogarek-uby .og-g3 { grid-template-columns: minmax(0, 1fr); }
}
@container (max-width: 480px) {
	body.ogarek-uby-page .ogarek-uby .og-g4,
	body.ogarek-uby-page .ogarek-uby .og-g2 { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Záhlaví ---------- */
body.ogarek-uby-page .ogarek-uby .ogarek-uby__top { display: flex; flex-direction: column; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__head { display: flex; flex-direction: column; gap: 8px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 4px; font-size: 14px; color: var(--og-muted); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__tags { display: flex; flex-wrap: wrap; gap: 8px; }
body.ogarek-uby-page .ogarek-uby .og-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 999px;
	font: 700 13px/1.4 var(--og-font-body);
}
body.ogarek-uby-page .ogarek-uby .og-tag--type { background: var(--og-green-soft); color: var(--og-green); }
body.ogarek-uby-page .ogarek-uby .og-tag--label { background: var(--og-amber-soft); color: var(--og-amber); }
body.ogarek-uby-page .ogarek-uby .og-tag--chip { background: var(--og-chip); color: var(--og-text-2); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__meta { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 15px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__rating { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--og-text); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__place { display: inline-flex; align-items: center; gap: 6px; }

/* ---------- Galerie ---------- */
body.ogarek-uby-page .ogarek-uby .ogarek-uby__gallery { position: relative; margin-top: 20px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__mosaic { display: grid; gap: 8px; border-radius: var(--og-radius-gallery); overflow: hidden; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__gallery--5 .ogarek-uby__mosaic { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 210px 210px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__gallery--3 .ogarek-uby__mosaic { grid-template-columns: 2fr 1fr; grid-template-rows: 210px 210px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__gallery--2 .ogarek-uby__mosaic { grid-template-columns: 2fr 1fr; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__gallery--1 .ogarek-uby__mosaic { grid-template-columns: minmax(0, 1fr); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__gallery--2 .ogarek-uby__mosaic,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__gallery--1 .ogarek-uby__mosaic { grid-template-rows: 420px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__gallery--2 .ogarek-uby__tile:first-child,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__gallery--1 .ogarek-uby__tile:first-child { grid-row: auto; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__gallery--5 .ogarek-uby__tile:first-child,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__gallery--3 .ogarek-uby__tile:first-child { grid-row: 1 / 3; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__tile { display: block; height: 100%; min-width: 0; min-height: 0; overflow: hidden; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__tile:not(:has(img)) { background: var(--og-ph-1); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__tile img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }

/* Pojistka: kdyby Tripster (Magnific) přesto obalil obrázek, obal musí vyplnit dlaždici. */
body.ogarek-uby-page .ogarek-uby .magnific_wrap { display: block; width: 100%; height: 100%; }
body.ogarek-uby-page .ogarek-uby .magnific_wrap::before,
body.ogarek-uby-page .ogarek-uby .magnific_wrap::after { content: none; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__more {
	position: absolute;
	right: 16px;
	bottom: 16px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 0 14px;
	border: 1px solid var(--og-text);
	border-radius: 8px;
	background: #fff;
	color: var(--og-text);
	font: 700 14px/1 var(--og-font-body);
}
body.ogarek-uby-page .ogarek-uby .ogarek-uby__more:hover { color: var(--og-text); background: var(--og-bg-soft); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__badge { display: none; }

/* ---------- Navigace sekcí ---------- */
body.ogarek-uby-page .ogarek-uby .ogarek-uby__nav {
	position: sticky;
	top: var(--og-sticky-top);
	z-index: 5;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 28px;
	margin-top: 24px;
	background: var(--og-bg);
	border-bottom: 1px solid var(--og-line);
	font-size: 15px;
	font-weight: 500;
}
body.ogarek-uby-page .ogarek-uby .ogarek-uby__nav a { display: block; padding: 14px 0; border-bottom: 2px solid transparent; margin-bottom: -1px; color: var(--og-muted); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__nav a:hover { color: var(--og-text); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__nav a.is-active { color: var(--og-text); border-bottom-color: var(--og-text); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__section,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__similar,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__aside { scroll-margin-top: calc(var(--og-sticky-top) + 64px); }

/* ---------- Rozvržení ---------- */
body.ogarek-uby-page .ogarek-uby .ogarek-uby__layout { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; margin-top: 32px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__content { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 40px; container-type: inline-size; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__section { display: flex; flex-direction: column; gap: 18px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__aside {
	flex: 1 1 320px;
	max-width: 400px;
	position: sticky;
	top: calc(var(--og-sticky-top) + 64px);
	display: flex;
	flex-direction: column;
	gap: 14px;
}

/* ---------- Přehled ---------- */
body.ogarek-uby-page .ogarek-uby .ogarek-uby__overview { gap: 20px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__feature { display: flex; gap: 14px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__feature-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--og-green-soft);
	color: var(--og-green);
}
body.ogarek-uby-page .ogarek-uby .ogarek-uby__hr { height: 0; margin: 8px 0; border: 0; border-top: 1px solid var(--og-line); background: none; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__desc { max-width: 68ch; color: var(--og-text); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__desc p { margin: 0 0 1em; max-width: 68ch; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__desc p:last-child { margin-bottom: 0; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__tip { display: flex; gap: 14px; padding: 16px 18px; border-radius: 12px; background: var(--og-bg-soft); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__tip .og-icon { color: var(--og-green); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__tip-text { font-size: 15px; color: var(--og-text-2); }
@container (max-width: 480px) {
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__features {
		display: flex;
		flex-direction: column;
		gap: 14px;
		padding: 16px 0;
		border-top: 1px solid var(--og-line);
		border-bottom: 1px solid var(--og-line);
	}
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__feature-icon { flex: 0 0 auto; width: auto; height: auto; background: none; }
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__hr { display: none; }
}

/* ---------- Služby ---------- */
body.ogarek-uby-page .ogarek-uby .ogarek-uby__amenities { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px 24px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__amenity { display: flex; align-items: center; gap: 12px; min-height: 32px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__amenity .og-icon { stroke-width: 1.6; color: var(--og-text); }

/* ---------- Pokoje ---------- */
body.ogarek-uby-page .ogarek-uby .ogarek-uby__room {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--og-line);
	border-radius: var(--og-radius-card);
	background: var(--og-bg);
}
body.ogarek-uby-page .ogarek-uby .ogarek-uby__room-photo { height: 140px; overflow: hidden; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__room-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__room-body { display: flex; flex-direction: column; flex: 1; gap: 8px; padding: 16px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__room-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 14px; color: var(--og-muted); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__room-cap { display: inline-flex; align-items: center; gap: 6px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__room-text { font-size: 14px; color: var(--og-text-2); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__room-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 32px;
	margin-top: auto;
	font-size: 14px;
	font-weight: 700;
}
@container (max-width: 480px) {
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__rooms {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 20px;
		gap: 16px;
		margin: 0 -20px;
		padding: 0 20px 4px;
	}
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__room { flex: 0 0 250px; scroll-snap-align: start; }
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__room-photo { height: 130px; }
}

/* ---------- Speciální sekce ---------- */
body.ogarek-uby-page .ogarek-uby .ogarek-uby__special-item { display: flex; gap: 14px; padding: 16px; border-radius: 14px; background: var(--og-bg-soft); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__special-photo { flex: 0 0 72px; width: 72px; height: 72px; overflow: hidden; border-radius: 10px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__special-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
@container (max-width: 480px) {
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__special-photo { flex-basis: 56px; width: 56px; height: 56px; }
}

/* ---------- Okolí ---------- */
body.ogarek-uby-page .ogarek-uby .ogarek-uby__map {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 300px;
	padding: 16px;
	border-radius: 14px;
	background: var(--og-map);
	text-align: center;
	font-size: 14px;
}
body.ogarek-uby-page .ogarek-uby .ogarek-uby__map .og-icon { color: var(--og-green); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__subtitle { font: 700 16px/1.4 var(--og-font-body); color: var(--og-text); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__tips { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px 32px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__tip-row { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--og-line-soft); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__tip-dist { white-space: nowrap; color: var(--og-muted); }
@container (max-width: 480px) {
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__map { height: 200px; }
}

/* ---------- Hodnocení, pravidla, fotky ---------- */
body.ogarek-uby-page .ogarek-uby .ogarek-uby__rating-head { display: flex; align-items: center; gap: 14px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__rating-badge {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	border-radius: 12px 12px 12px 2px;
	background: var(--og-green);
	color: #fff;
	font: 700 20px/1 var(--og-font-body);
}
body.ogarek-uby-page .ogarek-uby .ogarek-uby__rules { gap: 20px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__rule-text { font-size: 15px; color: var(--og-text-2); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__photos a { display: block; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__photos img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; }

/* Musí být až za základním pravidlem .ogarek-uby__photos (stejná specificita). */
@container (max-width: 480px) {
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__photos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Box dostupnosti a kontakt ---------- */
body.ogarek-uby-page .ogarek-uby .ogarek-uby__box {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 24px;
	border: 1px solid var(--og-line-box);
	border-radius: var(--og-radius-box);
	background: var(--og-bg);
	box-shadow: var(--og-shadow-box);
}
body.ogarek-uby-page .ogarek-uby .ogarek-uby__box--contact { gap: 14px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__box-text { font-size: 14px; color: var(--og-muted); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__box-text--dark { color: var(--og-text-2); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__dates {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border: 1px solid var(--og-line-input);
	border-radius: 10px;
	overflow: hidden;
}
body.ogarek-uby-page .ogarek-uby .ogarek-uby__dates[hidden] { display: none; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__date-cell { display: flex; flex-direction: column; padding: 10px 12px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__date-cell:nth-child(1) { border-right: 1px solid var(--og-line-input); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__date-cell--wide { grid-column: 1 / -1; border-top: 1px solid var(--og-line-input); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__date-cell label { font: 700 11px/1.4 var(--og-font-body); letter-spacing: 0.4px; text-transform: uppercase; color: var(--og-text); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__date-cell input,
body.ogarek-uby-page .ogarek-uby .ogarek-uby__date-cell select {
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	font: 400 15px/1.5 var(--og-font-body);
	color: var(--og-text);
}
body.ogarek-uby-page .ogarek-uby .ogarek-uby__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	border-radius: var(--og-radius-btn);
	background: var(--og-green);
	color: #fff;
	font: 700 17px/1.2 var(--og-font-body);
}
body.ogarek-uby-page .ogarek-uby .ogarek-uby__btn:hover { background: var(--og-green-dark); color: #fff; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__disclaimer { font-size: 13px; color: var(--og-muted); text-align: center; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__phone {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 44px;
	color: var(--og-text);
	font: 700 18px/1.2 var(--og-font-body);
}
body.ogarek-uby-page .ogarek-uby .ogarek-uby__phone:hover { color: var(--og-green-dark); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__weblink { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 32px; font-size: 14px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__contact {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px 20px;
	border: 1px solid var(--og-line);
	border-radius: 16px;
	font-size: 15px;
}
body.ogarek-uby-page .ogarek-uby .ogarek-uby__contact-row { display: flex; align-items: center; gap: 10px; min-height: 32px; color: var(--og-text); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__contact-row:hover { color: var(--og-green-dark); }

/* ---------- Podobné ---------- */
body.ogarek-uby-page .ogarek-uby .ogarek-uby__similar {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-top: 64px;
	padding-top: 40px;
	border-top: 1px solid var(--og-line);
}
body.ogarek-uby-page .ogarek-uby .ogarek-uby__cards { gap: 20px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__card { display: flex; flex-direction: column; gap: 8px; color: var(--og-text); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__card:hover { color: var(--og-text); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__card-photo { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 14px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__card-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__card-row { display: flex; justify-content: space-between; gap: 8px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__card-rating { white-space: nowrap; font-size: 14px; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__card .ogarek-uby__item-text { display: block; }

/* ---------- Spodní lišta (mobil) ---------- */
.ogarek-uby-lista { display: none; }

/* ---------- Mobil ---------- */
@media (max-width: 767px) {
	body.ogarek-uby-page .ogarek-uby { padding: 0 20px 32px; font-size: 15px; line-height: 1.5; }
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__title { font-size: 30px; letter-spacing: -0.5px; }
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__h2 { font-size: 22px; }
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__h2--box { font-size: 24px; }
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__h3 { font-size: 17px; }
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__item-title { font-size: 15px; }
	body.ogarek-uby-page .ogarek-uby .og-tag { font-size: 12px; }
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__crumbs,
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__nav { display: none; }
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__gallery { order: -1; margin-inline: calc(50% - 50vw); width: 100vw; }
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__mosaic { display: flex; height: 300px; gap: 0; border-radius: 0; overflow-x: auto; scroll-snap-type: x mandatory; }
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__tile { flex: 0 0 100%; height: 300px; scroll-snap-align: start; }
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__more { display: none; }
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__badge {
		position: absolute;
		right: 12px;
		bottom: 12px;
		display: block;
		padding: 4px 10px;
		border-radius: 999px;
		background: rgba(20, 25, 22, 0.72);
		color: #fff;
		font: 700 12px/1.4 var(--og-font-body);
	}
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__badge:hover { color: #fff; }
	/* Bílý list pod galerií: od okraje k okraji okna, obsah v něm zůstává 20 px od okraje. */
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__head {
		position: relative;
		z-index: 1;
		margin-top: -20px;
		margin-inline: calc(50% - 50vw);
		padding: 24px 20px 0;
		border-radius: 20px 20px 0 0;
		background: var(--og-bg);
	}
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__layout { gap: 40px; margin-top: 24px; }
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__aside { position: static; flex-basis: 100%; max-width: none; width: 100%; }
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__similar { margin-top: 40px; padding-top: 32px; }
	body.ogarek-uby-page { padding-bottom: 88px; }
	body.ogarek-uby-page .ogarek-uby-lista {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 50;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 12px 20px calc(16px + env(safe-area-inset-bottom));
		background: #fff;
		border-top: 1px solid var(--og-line);
		font-size: 15px;
	}
	body.ogarek-uby-page .ogarek-uby-lista--kontakt,
	body.ogarek-uby-page .ogarek-uby-lista--web { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	body.ogarek-uby-page .ogarek-uby-lista--kontakt .ogarek-uby-lista__btn:only-child,
	body.ogarek-uby-page .ogarek-uby-lista--web .ogarek-uby-lista__btn:only-child { grid-column: 1 / -1; }
	body.ogarek-uby-page .ogarek-uby-lista .ogarek-uby-lista__title { font-weight: 700; color: var(--og-text); }
	body.ogarek-uby-page .ogarek-uby-lista .ogarek-uby-lista__note { font-size: 12px; color: var(--og-muted); }
	body.ogarek-uby-page .ogarek-uby-lista .ogarek-uby-lista__btn,
	body.ogarek-uby-page .ogarek-uby-lista .ogarek-uby-lista__btn:visited {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 48px;
		padding: 0 18px;
		border: 1px solid var(--og-green);
		border-radius: var(--og-radius-btn);
		background: var(--og-green);
		color: #fff;
		font: 700 15px/1.2 var(--og-font-body);
		text-decoration: none;
		white-space: nowrap;
	}
	body.ogarek-uby-page .ogarek-uby-lista .ogarek-uby-lista__btn:hover,
	body.ogarek-uby-page .ogarek-uby-lista .ogarek-uby-lista__btn:focus { background: var(--og-green-dark); color: #fff; }
	body.ogarek-uby-page .ogarek-uby-lista .ogarek-uby-lista__btn--outline,
	body.ogarek-uby-page .ogarek-uby-lista .ogarek-uby-lista__btn--outline:visited { background: #fff; border-color: var(--og-text); color: var(--og-text); }
	body.ogarek-uby-page .ogarek-uby-lista .ogarek-uby-lista__btn--outline:hover,
	body.ogarek-uby-page .ogarek-uby-lista .ogarek-uby-lista__btn--outline:focus { background: var(--og-bg-soft); color: var(--og-text); }
	body.ogarek-uby-page .ogarek-uby-lista .og-icon { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
	body.ogarek-uby-page .ogarek-uby-lista a:focus-visible { outline: 2px solid var(--og-green); outline-offset: 2px; }
}

/* ---------- JS vylepšení (vše jen pod .ogarek-js, bez JS se nic neskrývá) ---------- */
html.ogarek-js body.ogarek-uby-page .ogarek-uby .ogarek-uby__amenity.is-extra { display: none; }
html.ogarek-js body.ogarek-uby-page .ogarek-uby .ogarek-uby__amenities.is-open .ogarek-uby__amenity.is-extra { display: flex; }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__more-btn {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: 0;
	padding: 0 20px;
	border: 1px solid var(--og-text);
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	color: var(--og-text);
	font: 700 15px/1.2 var(--og-font-body);
	letter-spacing: normal;
	text-transform: none;
	cursor: pointer;
}
body.ogarek-uby-page .ogarek-uby .ogarek-uby__more-btn:hover { background: var(--og-bg-soft); color: var(--og-text); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__text-btn {
	align-self: flex-start;
	min-height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: var(--og-text);
	font: 700 15px/1.2 var(--og-font-body);
	letter-spacing: normal;
	text-transform: none;
	text-decoration: underline;
	cursor: pointer;
}
body.ogarek-uby-page .ogarek-uby .ogarek-uby__text-btn:hover { background: none; color: var(--og-green-dark); }
body.ogarek-uby-page .ogarek-uby .ogarek-uby__more-btn[hidden],
body.ogarek-uby-page .ogarek-uby .ogarek-uby__text-btn[hidden] { display: none; }
@media (max-width: 767px) {
	body.ogarek-uby-page .ogarek-uby .ogarek-uby__more-btn { align-self: stretch; min-height: 48px; border-radius: 10px; }
	/* Ořez popisu: max-height v lh + přechod do bílé (line-clamp přes víc odstavců není spolehlivý). */
	html.ogarek-js body.ogarek-uby-page .ogarek-uby .ogarek-uby__desc.is-clamped {
		max-height: 4lh;
		overflow: hidden;
		-webkit-mask-image: linear-gradient(#000 55%, transparent);
		mask-image: linear-gradient(#000 55%, transparent);
	}
}
