/*
 * WPlama Hotel: úpravy pro Divi a jiné šablony.
 * Styly pokojů a rezervací ze šablony Hotel Master jsou v hotel-theme.css (omezené na .wplama-hotel),
 * tady jsou úpravy pro nový web: písmo z webu, čitelnost, mobil, lightbox.
 * Barvy jdou přepsat proměnnými na :root (child šablona).
 */
:root {
	--wh-accent: #1a9e85;
	--wh-accent-dark: #137a67;
	--wh-text: #3d3d3d;
	--wh-muted: #6b6b6b;
	--wh-border: #e3e3e3;
	--wh-bg-soft: #f6f5f3;
	--wh-dark: #1f1a17;
	--wh-radius: 4px;
	--wh-container: 1140px;
}

/* písmo převezme z webu */
.wplama-hotel,
.wplama-hotel .gdlr-title-font,
.wplama-hotel .gdlr-info-font,
.wplama-hotel .gdlr-button,
.wplama-hotel .gdlr-navigation,
.wplama-hotel .gdlr-booking-contact-or,
.wplama-hotel .gdlr-reservation-room .gdlr-reservation-room-info a,
.wplama-hotel input,
.wplama-hotel select,
.wplama-hotel textarea,
#ui-datepicker-div {
	font-family: inherit !important;
}

.wplama-hotel {
	color: var(--wh-text);
	line-height: 1.6;
}
.wplama-hotel *:not(i):not(.fa) {
	font-family: inherit !important;
}

/* rezervační lišta a postup rezervace: barva webu, čitelné písmo */
.wplama-hotel .gdlr-reservation-bar,
.wplama-hotel .gdlr-booking-process-bar {
	background-color: var(--wh-accent) !important;
	border-radius: var(--wh-radius);
}
.wplama-hotel .gdlr-reservation-bar .gdlr-reservation-bar-title {
	letter-spacing: .12em;
	font-size: 15px;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-reservation-field-title,
.wplama-hotel .gdlr-reservation-bar label {
	font-size: 12px;
	letter-spacing: .1em;
}
.wplama-hotel .gdlr-reservation-bar input[type="text"],
.wplama-hotel .gdlr-reservation-bar select,
.wplama-hotel .gdlr-datepicker-range-wrapper input {
	font-size: 14px !important;
	color: var(--wh-text) !important;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-reservation-bar-button {
	background: #fff !important;
	color: var(--wh-accent) !important;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-reservation-bar-button:hover {
	background: var(--wh-bg-soft) !important;
}
/* lišta kroků rezervace: šablona Hotel Master ji měla bez pozadí (jen text a čára dole), na barevném
   pozadí potřebuje vnitřní okraj (6. 11.: text byl nalepený nahoře a vlevo) */
.wplama-hotel .gdlr-booking-process-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	row-gap: 6px;
	padding: 15px 24px !important;
	border-bottom: 0 !important;
}
.wplama-hotel .gdlr-booking-process-bar .gdlr-booking-process {
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: .06em;
	color: rgba(255, 255, 255, .72);
}
@media (max-width: 767px) {
	.wplama-hotel .gdlr-booking-process-bar {
		padding: 12px 16px !important;
	}
	.wplama-hotel .gdlr-booking-process-bar .gdlr-booking-process {
		font-size: 12px;
	}
	.wplama-hotel .gdlr-booking-process-bar .gdlr-booking-process::after {
		margin: 0 10px !important;
	}
}
.wplama-hotel .gdlr-booking-process-bar .gdlr-booking-process.gdlr-active {
	color: #fff;
}
.wplama-hotel .gdlr-booking-content {
	overflow: visible;
}
.wplama-hotel .gdlr-booking-content .gdlr-medium-room .gdlr-medium-room-ux,
.wplama-hotel .gdlr-booking-content li.gdlr-medium-room {
	gap: 24px;
}
.wplama-hotel .gdlr-booking-content .gdlr-medium-room .gdlr-room-thumbnail {
	flex-basis: 34%;
	max-width: 34%;
}
.wplama-hotel .gdlr-booking-content .gdlr-room-content-wrapper {
	min-width: 0;
}
.wplama-hotel *,
.wplama-hotel *::before,
.wplama-hotel *::after {
	box-sizing: border-box;
}
.wplama-hotel img {
	max-width: 100%;
	height: auto;
	display: block;
}
.wplama-hotel ul.slides,
.wplama-hotel ul.gdlr-flex-thumbnail-control,
.wplama-hotel .flex-control-nav,
.wplama-hotel .flex-direction-nav {
	list-style: none !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
}
/* u ul.slides nastavuje Flexslider při posunu karuselu inline margin-left, !important by ho přebil
   (6. 11.: šipky karuselu pokojů na úvodní straně nic nedělaly) */
.wplama-hotel ul.slides {
	margin-left: 0;
	margin-right: 0;
}
.wplama-hotel ul.gdlr-flex-thumbnail-control,
.wplama-hotel .flex-control-nav,
.wplama-hotel .flex-direction-nav {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.wplama-hotel ul.slides > li::before {
	display: none;
}
.wplama-hotel h1,
.wplama-hotel h2,
.wplama-hotel h3,
.wplama-hotel h4 {
	padding-bottom: 0;
}

/* obal stránky pokoje a rezervace */
.wplama-hotel-container {
	width: 92%;
	max-width: var(--wh-container);
	margin: 0 auto;
	padding: 56px 0 72px;
}
.wplama-hotel-page-header {
	background: var(--wh-dark);
	color: #fff;
	text-align: center;
	padding: 72px 0 64px;
}
.wplama-hotel-page-header__inner {
	width: 92%;
	max-width: var(--wh-container);
	margin: 0 auto;
}
.wplama-hotel-page-header__title {
	color: #fff !important;
	font-size: clamp(26px, 3.4vw, 44px);
	font-weight: 400;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin: 0;
	padding: 0;
}

/* tlačítka */
.wplama-hotel .gdlr-button,
.wplama-hotel input[type="submit"].gdlr-button,
.wplama-hotel .gdlr-reservation-bar-button {
	background: var(--wh-accent) !important;
	border: 0 !important;
	color: #fff !important;
	border-radius: var(--wh-radius);
	font-size: 14px !important;
	font-weight: 600;
	letter-spacing: .02em;
	padding: 12px 22px !important;
	line-height: 1.3;
	cursor: pointer;
	transition: background-color .2s ease;
	text-decoration: none !important;
	display: inline-block;
}
.wplama-hotel .gdlr-button:hover,
.wplama-hotel input[type="submit"].gdlr-button:hover,
.wplama-hotel .gdlr-reservation-bar-button:hover {
	background: var(--wh-accent-dark) !important;
}
.wplama-hotel .gdlr-button i {
	margin-left: 8px;
}

/* výpis pokojů (styl medium na stránce Rezervace) */
.wplama-hotel .gdlr-medium-room {
	margin: 0 0 48px;
}
.wplama-hotel .gdlr-medium-room .gdlr-medium-room-ux,
.wplama-hotel li.gdlr-medium-room {
	display: flex;
	gap: 36px;
	align-items: flex-start;
}
.wplama-hotel .gdlr-medium-room .gdlr-medium-room-ux > .clear {
	display: none;
}
.wplama-hotel .gdlr-medium-room + .gdlr-medium-room {
	padding-top: 48px;
	border-top: 1px solid var(--wh-border);
}
.wplama-hotel .gdlr-medium-room .gdlr-room-content-wrapper .gdlr-button {
	float: left;
}
.wplama-hotel .gdlr-medium-room .gdlr-room-content-wrapper .gdlr-room-price {
	float: right;
	margin-top: 6px;
}
.wplama-hotel .gdlr-medium-room .gdlr-room-thumbnail {
	flex: 0 0 38%;
	max-width: 38%;
	margin: 0 !important;
	float: none !important;
	border-radius: var(--wh-radius);
	overflow: hidden;
}
/* jedna fotka bez slideru se ukazovala v přirozené velikosti (400 px), fotka ve slideru na celou šířku sloupce */
.wplama-hotel .gdlr-medium-room .gdlr-room-thumbnail img {
	display: block;
	width: 100%;
	height: auto;
}
.wplama-hotel .gdlr-medium-room .gdlr-room-content-wrapper {
	flex: 1 1 auto;
	overflow: visible;
	margin: 0 !important;
}
.wplama-hotel .gdlr-medium-room .gdlr-room-title {
	font-size: clamp(18px, 1.8vw, 22px);
	letter-spacing: .08em;
	line-height: 1.3; /* dřív 32 px, na mobilu název na dva řádky působil roztrhaně */
	margin: 4px 0 14px;
}
.wplama-hotel .gdlr-room-title a {
	color: var(--wh-accent) !important;
	text-decoration: none;
}
.wplama-hotel .gdlr-room-title a:hover {
	color: var(--wh-accent-dark) !important;
}
.wplama-hotel .gdlr-medium-room .gdlr-hotel-room-info {
	border: 1px solid var(--wh-border);
	border-radius: var(--wh-radius);
	padding: 10px 14px;
	margin-bottom: 18px;
}
.wplama-hotel .gdlr-hotel-room-info .gdlr-room-info {
	font-size: 14px;
	color: var(--wh-muted);
	line-height: 1.6;
	margin: 3px 18px 3px 0;
}
.wplama-hotel .gdlr-hotel-room-info .gdlr-head {
	color: var(--wh-text);
	font-weight: 600;
}
.wplama-hotel .gdlr-hotel-room-info .gdlr-room-info i {
	color: var(--wh-accent);
}

/* údaje pokoje ve výpisu a v rezervaci: přehledná tabulka (název vlevo, hodnota vpravo) místo řádku s lomítky */
.wplama-hotel .gdlr-medium-room .gdlr-hotel-room-info {
	border: 0 !important;
	background: var(--wh-bg-soft);
	border-radius: var(--wh-radius);
	padding: 4px 18px !important;
	margin: 0 0 22px !important;
}
.wplama-hotel .gdlr-medium-room .gdlr-hotel-room-info > .clear {
	display: none;
}
.wplama-hotel .gdlr-medium-room .gdlr-hotel-room-info .gdlr-room-info {
	float: none !important;
	display: grid;
	grid-template-columns: minmax(140px, 36%) minmax(0, 1fr);
	column-gap: 18px;
	margin: 0 !important;
	padding: 11px 0;
	border-bottom: 1px solid var(--wh-border);
	font-size: 15px;
	line-height: 1.5;
}
.wplama-hotel .gdlr-medium-room .gdlr-hotel-room-info .gdlr-room-info:not(:has(~ .gdlr-room-info)) {
	border-bottom: 0;
}
.wplama-hotel .gdlr-medium-room .gdlr-hotel-room-info .gdlr-room-info::before {
	content: none !important;
	display: none !important;
}
.wplama-hotel .gdlr-medium-room .gdlr-hotel-room-info .gdlr-head {
	margin: 0 !important;
	font-weight: 600;
	color: var(--wh-text);
}
.wplama-hotel .gdlr-medium-room .gdlr-hotel-room-info .gdlr-tail {
	font-style: normal !important;
	color: var(--wh-muted);
}
@media (max-width: 560px) {
	.wplama-hotel .gdlr-medium-room .gdlr-hotel-room-info .gdlr-room-info {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 2px;
	}
}
.wplama-hotel .gdlr-room-content {
	color: var(--wh-muted);
	margin-bottom: 18px;
}
.wplama-hotel .gdlr-room-price {
	font-size: 15px;
}
.wplama-hotel .gdlr-room-price .gdlr-head {
	color: var(--wh-muted);
	font-style: normal;
	margin-right: 6px;
}
.wplama-hotel .gdlr-room-price .gdlr-tail {
	color: var(--wh-accent) !important;
	font-size: 20px;
	font-weight: 600;
}

/* karusel pokojů na úvodní straně (styl modern-new) */
.wplama-hotel .gdlr-modern-room-new .gdlr-room-thumbnail-wrap {
	border-radius: var(--wh-radius) var(--wh-radius) 0 0;
	overflow: hidden;
}
.wplama-hotel .gdlr-modern-room-new .gdlr-room-title a {
	color: #fff !important;
}
.wplama-hotel .gdlr-hotel-room-info-new-style {
	background: rgba(255, 255, 255, .96);
	border-radius: 0 0 var(--wh-radius) var(--wh-radius);
	padding: 14px 16px 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
}
.wplama-hotel .gdlr-hotel-room-info-new-style .gdlr-room-info-new-style {
	float: none !important;
	width: auto !important;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	line-height: 1.45;
	color: var(--wh-text) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
.wplama-hotel .gdlr-hotel-room-info-new-style .gdlr-head img {
	width: 22px;
	height: auto;
	display: inline-block;
}

/* odkaz na detail pokoje na konci boxu s údaji (úvodní strana); margin-top:auto ho drží dole, u obou karet ve stejné výšce */
.wplama-hotel .gdlr-hotel-room-info-new-style .wplama-room-more {
	width: 100%;
	margin-top: auto;
	padding-top: 6px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--c-accent, #128272) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.wplama-hotel .gdlr-hotel-room-info-new-style .wplama-room-more::after {
	content: "→";
	display: inline-block;
	margin-left: 6px;
	text-decoration: none;
	transition: transform .2s ease;
}
.wplama-hotel .gdlr-hotel-room-info-new-style .wplama-room-more:hover,
.wplama-hotel .gdlr-hotel-room-info-new-style .wplama-room-more:focus-visible {
	text-decoration-thickness: 2px;
}
.wplama-hotel .gdlr-hotel-room-info-new-style .wplama-room-more:hover::after {
	transform: translateX(3px);
}
@media (prefers-reduced-motion: reduce) {
	.wplama-hotel .gdlr-hotel-room-info-new-style .wplama-room-more::after {
		transition: none;
	}
}

/* nadpis výpisu se šipkami karuselu */
.wplama-hotel .gdlr-item-title-wrapper {
	margin-bottom: 30px;
}
.wplama-hotel .gdlr-nav-container .gdlr-flex-prev,
.wplama-hotel .gdlr-nav-container .gdlr-flex-next {
	cursor: pointer;
}
/* najetí myší barvou webu (šablona měla napevno tyrkysovou #1abc9c) */
.wplama-hotel .gdlr-item-title-wrapper.gdlr-nav-container .gdlr-flex-prev:hover,
.wplama-hotel .gdlr-item-title-wrapper.gdlr-nav-container .gdlr-flex-next:hover,
.wplama-hotel .gdlr-item-title-wrapper.gdlr-nav-container .gdlr-flex-prev:focus-visible,
.wplama-hotel .gdlr-item-title-wrapper.gdlr-nav-container .gdlr-flex-next:focus-visible {
	background-color: var(--wh-accent);
	color: var(--wh-on-accent, #fff);
}

/* detail pokoje */
.wplama-hotel-single .gdlr-room-main-content {
	overflow: hidden;
}
.wplama-hotel-single .gdlr-room-title-wrapper .gdlr-room-title {
	color: var(--wh-accent);
	letter-spacing: .08em;
}
/* DETAIL POKOJE: vlevo fotky a vybavení, vpravo rezervační box, který při posouvání zůstává vidět */
.wplama-hotel-single .wplama-hotel-room {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	column-gap: 40px;
	align-items: start;
}
.wplama-hotel-single .wplama-hotel-room > .clear {
	display: none;
}
.wplama-hotel-single .wplama-hotel-room > .gdlr-room-main-content {
	grid-column: 1;
	grid-row: 1;
	margin: 0 !important;
	width: auto !important;
}
.wplama-hotel-single .wplama-hotel-room > form.gdlr-reservation-bar {
	grid-column: 2;
	grid-row: 1;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	position: sticky;
	top: calc(var(--adminbar-offset, 0px) + 24px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .12);
}
.admin-bar .wplama-hotel-single .wplama-hotel-room > form.gdlr-reservation-bar {
	top: 56px;
}

/* velká fotka 3:2 a mřížka stejných náhledů (dvě řady, zbytek po kliknutí na „Zobrazit všechny fotky“) */
.wplama-hotel .gdlr-single-room-thumbnail {
	margin: 0 !important;
	float: none !important;
	width: auto !important;
	max-width: none !important;
}
.wplama-hotel .gdlr-single-room-thumbnail .flexslider {
	border-radius: var(--wh-radius);
	overflow: hidden;
	margin: 0 0 8px !important;
	border: 0 !important;
	box-shadow: none !important;
	background: #eee;
}
.wplama-hotel .gdlr-single-room-thumbnail .flexslider .slides img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.wplama-hotel .gdlr-flex-thumbnail-control {
	display: grid !important;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible;
}
.wplama-hotel .gdlr-flex-thumbnail-control.is-collapsed li:nth-child(n+17) {
	display: none;
}
.wplama-hotel .gdlr-flex-thumbnail-control li {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}
.wplama-hotel .gdlr-flex-thumbnail-control img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	cursor: pointer;
	opacity: .6;
	border-radius: 3px;
	transition: opacity .2s;
}
.wplama-hotel .wplama-thumbs-toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 12px 0 0;
	padding: 0;
	background: none;
	border: 0;
	color: var(--wh-accent);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.wplama-hotel .wplama-thumbs-toggle:hover {
	color: var(--wh-accent-dark);
}
.wplama-hotel .gdlr-flex-thumbnail-control img.flex-active,
.wplama-hotel .gdlr-flex-thumbnail-control img:hover {
	opacity: 1;
}

/* vybavení pokoje na detailu: přehledný seznam ve dvou sloupcích */
.wplama-hotel-single .gdlr-room-main-content > .gdlr-hotel-room-info {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 32px;
	margin: 18px 0 30px !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
}
.wplama-hotel-single .gdlr-room-main-content > .gdlr-hotel-room-info > .clear {
	display: none;
}
.wplama-hotel-single .gdlr-room-main-content > .gdlr-hotel-room-info .gdlr-room-info {
	float: none !important;
	width: auto !important;
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	column-gap: 12px;
	align-items: start;
	margin: 0 !important;
	padding: 12px 0 !important;
	border-bottom: 1px solid var(--wh-border);
	background: none !important;
	font-size: 15px !important;
	line-height: 1.5;
	color: var(--wh-muted) !important;
}
.wplama-hotel-single .gdlr-hotel-room-info .gdlr-room-info i,
.wplama-hotel-single .gdlr-hotel-room-info .gdlr-room-info .wplama-fac-icon {
	margin: 1px 0 0 !important;
	color: var(--wh-accent) !important;
}
.wplama-hotel-single .gdlr-room-main-content > .gdlr-hotel-room-info .gdlr-room-info {
	grid-template-columns: 24px minmax(0, 1fr) !important;
}

/* ikony vybavení (SVG podle názvu údaje) */
.wplama-hotel .wplama-fac-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	color: var(--wh-accent);
	line-height: 0;
}
.wplama-hotel .wplama-fac-icon svg {
	width: 22px;
	height: 22px;
	display: block;
}
.wplama-hotel .gdlr-medium-room .gdlr-hotel-room-info .wplama-fac-icon {
	display: none;
}
.wplama-hotel-single .gdlr-hotel-room-info .gdlr-room-info .gdlr-head {
	display: block;
	margin: 0 !important;
	font-weight: 600;
	color: var(--wh-text);
}
.wplama-hotel-single .gdlr-hotel-room-info .gdlr-room-info .gdlr-tail {
	display: block;
	grid-column: 2;
	font-style: normal !important;
}
.wplama-hotel-single .gdlr-room-title-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 24px;
	margin-top: 26px;
}
.wplama-hotel-single .gdlr-room-title-wrapper > .clear {
	display: none;
}
.wplama-hotel-single .gdlr-room-title-wrapper .gdlr-room-title {
	margin: 0 !important;
	font-size: clamp(20px, 2vw, 26px) !important;
}
.wplama-hotel-single .gdlr-room-title-wrapper .gdlr-room-price {
	float: none !important;
	margin: 0 !important;
}

/* rezervační lišta: pole v mřížce na plnou šířku */
.wplama-hotel form.gdlr-reservation-bar {
	padding: 24px !important;
}
.wplama-hotel .gdlr-reservation-bar-title {
	margin: 0 0 20px !important;
	padding: 0 0 16px !important;
	border-bottom: 1px solid rgba(255, 255, 255, .25) !important;
	color: #fff !important;
	text-align: center;
	font-weight: 700;
}
.wplama-hotel .gdlr-reservation-bar-date-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 16px 14px;
	align-items: end;
}
.wplama-hotel .gdlr-reservation-bar-date-form > .clear,
.wplama-hotel .gdlr-reservation-people-amount > .clear {
	display: none !important;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-reservation-field {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-reservation-field-title {
	display: block !important;
	margin: 0 0 6px !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-datepicker-wrapper,
.wplama-hotel .gdlr-reservation-bar .gdlr-combobox-wrapper {
	position: relative;
	width: 100% !important;
	margin: 0 !important;
}
.wplama-hotel .gdlr-reservation-bar input.gdlr-datepicker,
.wplama-hotel .gdlr-reservation-bar select {
	width: 100% !important;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 12px !important;
	border: 0 !important;
	border-radius: 4px;
	background-color: #fff !important;
	color: var(--wh-text) !important;
	font-size: 15px !important;
	line-height: 44px;
	box-sizing: border-box;
}
.wplama-hotel .gdlr-reservation-people-amount-wrapper {
	grid-column: 1 / -1;
	margin: 0 !important;
}
.wplama-hotel .gdlr-reservation-people-amount {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr);
	gap: 10px 12px;
	align-items: end;
	margin: 0 0 8px !important;
}
.wplama-hotel .gdlr-reservation-people-title {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 0 12px !important;
	color: #fff !important;
	font-weight: 700;
	white-space: nowrap;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-reservation-field-title {
	min-height: 16px;
	line-height: 16px !important;
	padding: 0 !important;
}
.wplama-hotel .gdlr-reservation-bar-date-form {
	align-items: start;
	padding: 0 !important;
	margin: 0 !important;
}

/* všechna pole stejně: bílé, 44 px, zaoblené, ikona vpravo (šipka u výběru, kalendář u data) */
.wplama-hotel .gdlr-reservation-bar .gdlr-datepicker-wrapper,
.wplama-hotel .gdlr-reservation-bar .gdlr-combobox-wrapper {
	height: 44px !important;
	border: 0 !important;
	background: none !important;
	padding: 0 !important;
	box-shadow: none !important;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-datepicker-wrapper::after,
.wplama-hotel .gdlr-reservation-bar .gdlr-datepicker-wrapper::before,
.wplama-hotel .gdlr-reservation-bar .gdlr-combobox-wrapper::after,
.wplama-hotel .gdlr-reservation-bar .gdlr-combobox-wrapper::before {
	content: none !important;
	display: none !important;
}
.wplama-hotel .gdlr-reservation-bar input.gdlr-datepicker,
.wplama-hotel .gdlr-reservation-bar select {
	-webkit-appearance: none !important;
	appearance: none !important;
	padding: 0 36px 0 12px !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	background-size: 16px 16px !important;
	box-shadow: none !important;
	cursor: pointer;
	text-align: left;
}
.wplama-hotel .gdlr-reservation-bar select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
}
.wplama-hotel .gdlr-reservation-bar input.gdlr-datepicker {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") !important;
}
.wplama-hotel .gdlr-reservation-bar select::-ms-expand {
	display: none;
}
.wplama-hotel .gdlr-reservation-bar input.gdlr-datepicker:focus,
.wplama-hotel .gdlr-reservation-bar select:focus {
	outline: 2px solid #fff !important;
	outline-offset: 2px;
}

/* osoby: „Pokoj 1“ jako nadpis přes celou šířku, výběry ve stejných sloupcích jako pole nad nimi */
.wplama-hotel .gdlr-reservation-bar .gdlr-reservation-people-amount {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 8px 14px !important;
	margin: 0 !important;
	padding: 0 !important;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-reservation-people-title {
	grid-column: 1 / -1;
	padding: 4px 0 0 !important;
	font-size: 14px !important;
	line-height: 1.3;
	border-top: 1px solid rgba(255, 255, 255, .25);
	padding-top: 14px !important;
	text-align: left !important;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-reservation-people-title * {
	text-align: left !important;
}
.wplama-hotel form.gdlr-reservation-bar input.gdlr-reservation-bar-button,
.wplama-hotel form.gdlr-reservation-bar .gdlr-reservation-bar-button {
	grid-column: 1 / -1;
	float: none !important;
	width: 100% !important;
	height: 48px;
	margin: 10px 0 0 !important;
	padding: 0 16px !important;
	text-align: center;
	background: #fff !important;
	color: var(--wh-accent) !important;
	border: 0 !important;
	border-radius: var(--wh-radius);
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
	cursor: pointer;
}
.wplama-hotel form.gdlr-reservation-bar input.gdlr-reservation-bar-button:hover,
.wplama-hotel form.gdlr-reservation-bar .gdlr-reservation-bar-button:hover {
	background: var(--wh-bg-soft) !important;
	color: var(--wh-accent-dark) !important;
}

@media (max-width: 980px) {
	.wplama-hotel-single .wplama-hotel-room {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 32px;
	}
	.wplama-hotel-single .wplama-hotel-room > form.gdlr-reservation-bar {
		grid-column: 1;
		grid-row: 2;
		position: static;
	}
	.wplama-hotel .gdlr-flex-thumbnail-control {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
	.wplama-hotel .gdlr-flex-thumbnail-control.is-collapsed li:nth-child(n+13) {
		display: none;
	}
}
@media (max-width: 767px) {
	.wplama-hotel-single .gdlr-room-main-content > .gdlr-hotel-room-info {
		grid-template-columns: minmax(0, 1fr);
	}
	.wplama-hotel .gdlr-flex-thumbnail-control {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.wplama-hotel .gdlr-flex-thumbnail-control.is-collapsed li:nth-child(n+9) {
		display: none;
	}
}

/* šipky ve sliderech fotek pokoje: vždy vidět (i na dotykových zařízeních) */
.wplama-hotel .gdlr-room-thumbnail .flexslider,
.wplama-hotel .gdlr-room-thumbnail-inner .flexslider {
	position: relative;
}
.wplama-hotel .gdlr-room-thumbnail .flex-direction-nav,
.wplama-hotel .gdlr-room-thumbnail-inner .flex-direction-nav {
	display: block !important;
	position: static;
}
.wplama-hotel .flex-direction-nav li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.wplama-hotel .gdlr-room-thumbnail .flex-direction-nav a,
.wplama-hotel .gdlr-room-thumbnail-inner .flex-direction-nav a {
	position: absolute !important;
	top: 50% !important;
	bottom: auto !important;
	transform: translateY(-50%);
	z-index: 6;
	width: 32px !important;
	height: 32px !important;
	margin: 0 !important;
	border-radius: 50%;
	background: rgba(255, 255, 255, .55) !important;
	color: #333 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	opacity: 1 !important;
	text-indent: 0 !important;
	overflow: hidden;
	box-shadow: none;
	font-size: 19px !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transition: background-color .2s ease;
}
.wplama-hotel .gdlr-room-thumbnail .flex-direction-nav a:hover,
.wplama-hotel .gdlr-room-thumbnail-inner .flex-direction-nav a:hover {
	background: rgba(255, 255, 255, .9) !important;
}
.wplama-hotel .flex-direction-nav a::before,
.wplama-hotel .flex-direction-nav a::after {
	content: none !important;
	display: none !important;
}
.wplama-hotel .flex-direction-nav .flex-prev {
	left: 12px !important;
	right: auto !important;
}
.wplama-hotel .flex-direction-nav .flex-next {
	right: 12px !important;
	left: auto !important;
}
.wplama-hotel .flex-direction-nav .flex-disabled {
	opacity: .35 !important;
	pointer-events: none;
}
.wplama-hotel .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
}

/* kalendář (jQuery UI je v body) */
#ui-datepicker-div {
	z-index: 100010 !important;
}

/* lightbox */
.wplama-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100020;
	background: rgba(12, 10, 9, .92);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 48px 64px;
}
.wplama-lightbox[hidden] {
	display: none !important;
}
.wplama-lightbox__figure {
	margin: 0;
	max-width: 100%;
	max-height: 100%;
	text-align: center;
}
.wplama-lightbox__img {
	max-width: 100%;
	max-height: calc(100vh - 120px);
	object-fit: contain;
	display: inline-block !important;
}
.wplama-lightbox__count {
	color: #ddd;
	font-size: 13px;
	margin-top: 10px;
}
.wplama-lightbox button {
	position: absolute;
	background: transparent;
	border: 0;
	color: #fff;
	font-size: 44px;
	line-height: 1;
	cursor: pointer;
	padding: 8px 14px;
}
.wplama-lightbox button[hidden] {
	display: none;
}
.wplama-lightbox__close { top: 10px; right: 14px; font-size: 38px !important; }
.wplama-lightbox__prev { left: 8px; top: 50%; transform: translateY(-50%); }
.wplama-lightbox__next { right: 8px; top: 50%; transform: translateY(-50%); }
body.wplama-lightbox-open { overflow: hidden; }

/* mobil */
@media (max-width: 767px) {
	.wplama-hotel .gdlr-medium-room .gdlr-medium-room-ux,
	.wplama-hotel li.gdlr-medium-room {
		flex-direction: column;
		gap: 16px;
	}
	.wplama-hotel .gdlr-medium-room .gdlr-room-content-wrapper .gdlr-room-price {
		float: none;
		margin: 14px 0 0;
		display: block;
	}
	.wplama-hotel .gdlr-booking-content .gdlr-medium-room .gdlr-room-thumbnail {
		flex-basis: auto;
		max-width: 100%;
		width: 100%;
	}
	.wplama-hotel .gdlr-medium-room .gdlr-room-thumbnail {
		flex-basis: auto;
		max-width: 100%;
		width: 100%;
	}
	.wplama-hotel .columns {
		width: 100% !important;
		float: none !important;
	}
	.wplama-hotel-container {
		padding: 36px 0 48px;
	}
	.wplama-lightbox {
		padding: 48px 8px;
	}
}

/* stránka rezervace: levý box a obsah ve dvou sloupcích (6. 11.: obsah tekl pod plovoucí box a šedé bloky přesahovaly doleva až k němu) */
.wplama-hotel-booking #gdlr-single-booking-content {
	display: grid;
	grid-template-columns: 340px minmax(0, 1fr);
	gap: 30px;
	align-items: start;
}
.wplama-hotel-booking #gdlr-single-booking-content > form.gdlr-reservation-bar {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}
.wplama-hotel-booking #gdlr-single-booking-content > .gdlr-booking-content {
	grid-column: 2;
	min-width: 0;
}
.wplama-hotel-booking #gdlr-single-booking-content > .clear {
	display: none;
}
.wplama-hotel .gdlr-room-selection-complete {
	border-radius: var(--wh-radius);
}
.wplama-hotel .gdlr-room-selection-complete .gdlr-room-selection-divider {
	border-bottom-color: #e0e0e0 !important;
}
@media (max-width: 767px) {
	.wplama-hotel-booking #gdlr-single-booking-content {
		grid-template-columns: minmax(0, 1fr);
	}
	.wplama-hotel-booking #gdlr-single-booking-content > .gdlr-booking-content {
		grid-column: 1;
	}
	.wplama-hotel .gdlr-room-selection-complete {
		padding: 28px 20px !important;
	}
}

/* box s vybraným pokojem v rezervační liště: odstup od polí pod ním, čitelný bílý text na tmavším podkladu
   (původně světle zelený s hnědým nadpisem), šipka u právě vybíraného pokoje, fajfka u vybraného */
.wplama-hotel .gdlr-reservation-bar .gdlr-reservation-bar-room-form {
	margin: 0 0 20px !important;
	padding: 14px 16px !important;
	border-radius: var(--wh-radius);
	background-color: rgba(0, 0, 0, .18) !important;
}
.wplama-hotel .gdlr-reservation-bar-room-form .gdlr-reservation-room {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 12px !important;
	color: #fff !important;
}
.wplama-hotel .gdlr-reservation-bar-room-form .gdlr-reservation-room:last-child {
	margin-bottom: 0 !important;
}
.wplama-hotel .gdlr-reservation-bar-room-form .gdlr-reservation-room i {
	display: block !important;
	float: none !important;
	flex: 0 0 16px;
	width: 16px !important;
	height: auto !important;
	margin: 0 !important;
	background: none !important;
	color: #fff;
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
}
.wplama-hotel .gdlr-reservation-bar-room-form .gdlr-reservation-room i::before {
	display: inline-block !important;
	content: "\f105";
}
.wplama-hotel .gdlr-reservation-bar-room-form .gdlr-reservation-room:not(.gdlr-active) i::before {
	content: "\f00c";
	font-size: 13px;
}
.wplama-hotel .gdlr-reservation-bar-room-form .gdlr-reservation-room-content {
	flex: 1 1 auto;
	min-width: 0;
	overflow: visible;
	font-size: 14px;
	line-height: 1.5;
}
.wplama-hotel .gdlr-reservation-bar-room-form .gdlr-reservation-room-title {
	margin: 0 0 4px !important;
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
}
.wplama-hotel .gdlr-reservation-bar-room-form .gdlr-reservation-room-info {
	margin: 0 !important;
	color: #fff !important;
	font-weight: 600;
}
.wplama-hotel .gdlr-reservation-bar-room-form .gdlr-reservation-room-info span {
	display: inline-block;
	margin-right: 14px;
}
.wplama-hotel .gdlr-reservation-bar-room-form .gdlr-reservation-change-room {
	display: block;
	float: none !important;
	margin: 6px 0 0 !important;
	color: #fff !important;
	font-style: normal !important;
	font-weight: 400;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* krok 3, kontaktní formulář: mřížka na celou šířku obsahu, pole jako formulář na stránce Kontakt
   (6. 11.: pole měla šířku 94 % a vpravo mezeru, kód kupónu byl zarovnaný jinak) */
.wplama-hotel .gdlr-booking-contact-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 18px 24px;
	align-items: start;
}
.wplama-hotel .gdlr-booking-contact-form > .clear {
	display: none;
}
.wplama-hotel .gdlr-booking-contact-form > p {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
}
.wplama-hotel .gdlr-booking-contact-form > p > span {
	display: block !important;
	margin: 0 0 6px !important;
	font-size: 14px;
	font-weight: 600;
	color: var(--c-heading, #262626);
}
.wplama-hotel .gdlr-booking-contact-form input[type="text"],
.wplama-hotel .gdlr-booking-contact-form input[type="email"],
.wplama-hotel .gdlr-booking-contact-form textarea {
	display: block;
	width: 100% !important;
	margin: 0 !important;
	padding: 11px 14px !important;
	border: 1px solid #cfcfcf !important;
	border-radius: var(--wh-radius);
	background: #fff !important;
	color: var(--wh-text) !important;
	font-size: 16px !important;
	line-height: 1.4;
	box-shadow: none !important;
}
.wplama-hotel .gdlr-booking-contact-form textarea {
	height: 110px !important;
	resize: vertical;
}
.wplama-hotel .gdlr-booking-contact-form input:focus,
.wplama-hotel .gdlr-booking-contact-form textarea:focus {
	outline: none;
	border-color: var(--c-accent, #128272) !important;
	box-shadow: 0 0 0 3px rgba(18, 130, 114, .18) !important;
}
.wplama-hotel .gdlr-booking-contact-form .gdlr-form-coupon .gdlr-coupon-message {
	position: static !important;
	display: block;
	margin: 6px 0 0 !important;
	font-size: 13px;
}
.wplama-hotel .gdlr-booking-contact-form .gdlr-form-term-and-agreement,
.wplama-hotel .gdlr-booking-contact-form .gdlr-error-message,
.wplama-hotel .gdlr-booking-contact-form .gdlr-booking-contact-or,
.wplama-hotel .gdlr-booking-contact-form .gdlr-payment-method,
.wplama-hotel .gdlr-booking-contact-form .gdlr-booking-payment-submit {
	grid-column: 1 / -1;
}
.wplama-hotel .gdlr-booking-contact-form .gdlr-booking-contact-submit {
	grid-column: 1 / -1;
	justify-self: start;
	margin: 6px 0 0 !important;
}
.wplama-hotel .gdlr-booking-contact-form .gdlr-error-message {
	border-radius: var(--wh-radius);
}
@media (max-width: 767px) {
	.wplama-hotel .gdlr-booking-contact-form {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* krok 3, souhrn ceny v levém boxu: stejný okraj jako zbytek boxu, cena pokoje na řádku s osobami,
   oddělovač s odstupem nad celkovou cenou (6. 11.: velké odsazení nahoře a čára hned pod cenou) */
.wplama-hotel .gdlr-reservation-bar .gdlr-price-summary-wrapper {
	padding: 0 !important;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-price-summary-head {
	margin: 0 0 14px !important;
	color: #fff;
	font-size: 16px;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-price-room-summary {
	margin: 0 0 12px !important;
	color: #fff !important;
	font-size: 14px;
	line-height: 1.5;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-price-room-summary-title {
	margin: 0 0 4px !important;
	font-size: 13px;
	letter-spacing: .06em;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-price-room-summary-info {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 12px;
	margin: 0 !important;
	color: #fff !important;
	font-weight: 600;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-price-room-summary-info span {
	margin: 0 !important;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-price-room-summary-info .gdlr-price-room-summary-price {
	float: none !important;
	margin-left: auto !important;
	font-size: 16px;
	font-weight: 700;
	white-space: nowrap;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-price-summary-grand-total-wrapper-2 {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-price-summary-grand-total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	margin: 16px 0 0 !important;
	padding: 14px 0 0 !important;
	border-top: 1px solid rgba(255, 255, 255, .3) !important;
	color: #fff !important;
	font-size: 18px;
}
.wplama-hotel .gdlr-reservation-bar .gdlr-price-summary-grand-total .gdlr-head,
.wplama-hotel .gdlr-reservation-bar .gdlr-price-summary-grand-total .gdlr-tail {
	float: none !important;
	font-size: inherit !important;
	white-space: nowrap;
}

/* krok 2 rezervace: cena za celý pobyt u pokoje a rozpis ceny jako rozbalovací seznam
   (6. 11.: vyskakovací okno šablony Hotel Master nemělo pozadí a překrývalo výpis pokoje) */
.wplama-hotel .gdlr-medium-room .gdlr-room-content-wrapper .wplama-stay-price {
	float: right;
	margin-top: 0;
	min-width: 240px;
	max-width: 100%;
	text-align: right;
}
.wplama-hotel .wplama-stay-price .gdlr-head {
	display: block;
	margin: 0 0 2px;
	font-size: 14px;
}
.wplama-hotel .wplama-stay-price .gdlr-tail {
	display: block;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
}
.wplama-hotel .wplama-price-breakdown {
	margin-top: 6px;
	text-align: left;
}
.wplama-hotel .wplama-price-breakdown summary {
	display: block;
	cursor: pointer;
	list-style: none;
	text-align: right;
	font-size: 14px;
	color: var(--wh-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.wplama-hotel .wplama-price-breakdown summary::-webkit-details-marker {
	display: none;
}
.wplama-hotel .wplama-price-breakdown summary::after {
	content: " ▾";
	text-decoration: none;
	display: inline-block;
	margin-left: 4px;
}
.wplama-hotel .wplama-price-breakdown[open] summary::after {
	content: " ▴";
}
.wplama-hotel .wplama-price-breakdown .price-breakdown-wrapper {
	position: static !important;
	display: block !important;
	top: auto !important;
	left: auto !important;
	transform: none !important;
	z-index: auto !important;
	width: auto !important;
	margin: 10px 0 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
.wplama-hotel .wplama-price-breakdown .price-breakdown-close {
	display: none !important;
}
.wplama-hotel .wplama-price-breakdown .price-breakdown-content {
	width: auto !important;
	padding: 12px 14px !important;
	border: 1px solid var(--wh-border);
	border-radius: var(--wh-radius);
	background: var(--c-surface, #fff) !important;
}
.wplama-hotel .wplama-price-breakdown .price-breakdown-info,
.wplama-hotel .wplama-price-breakdown .price-breakdown-total {
	display: flex !important;
	justify-content: space-between;
	align-items: baseline;
	gap: 14px;
	margin: 0 0 6px !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: visible !important;
}
.wplama-hotel .wplama-price-breakdown .gdlr-head,
.wplama-hotel .wplama-price-breakdown .gdlr-tail {
	float: none !important;
	margin: 0 !important;
	font-size: 14px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	color: var(--wh-text) !important;
}
.wplama-hotel .wplama-price-breakdown .gdlr-head span {
	display: block;
	margin: 0 !important;
	font-size: 13px !important;
	color: var(--wh-muted) !important;
}
.wplama-hotel .wplama-price-breakdown .gdlr-tail {
	white-space: nowrap;
}
.wplama-hotel .wplama-price-breakdown .price-breakdown-total {
	margin: 10px 0 0 !important;
	padding-top: 10px !important;
	border-top: 1px solid var(--wh-border) !important;
}
.wplama-hotel .wplama-price-breakdown .price-breakdown-total .gdlr-head,
.wplama-hotel .wplama-price-breakdown .price-breakdown-total .gdlr-tail {
	font-weight: 700 !important;
}
@media (max-width: 767px) {
	.wplama-hotel .gdlr-medium-room .gdlr-room-content-wrapper .wplama-stay-price {
		float: none;
		min-width: 0;
		margin: 0 0 16px;
		text-align: left;
	}
	.wplama-hotel .wplama-price-breakdown summary {
		text-align: left;
	}
}

/* potvrzení rezervace (krok 4): mezera mezi ikonou a telefonem / e-mailem */
.wplama-hotel .gdlr-booking-complete .gdlr-booking-complete-additional i {
	margin-right: 6px;
}
