/*
Theme Name: reSTART Light
Theme URI: https://hotelrestart.cz/
Author: Hotel reSTART / Semtix
Description: Lightweight custom theme for Hotel reSTART without a page-builder dependency.
Version: 1.0.0
Text Domain: restart-light
Requires at least: 6.4
Requires PHP: 7.4
*/

:root {
	--restart-accent: #a88b6b;
	--restart-dark: #0a0a0a;
	--restart-text: #626262;
	--restart-muted: #f2ede9;
	--restart-shell: 1374px;
	--restart-header-height: 92px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

html.navigation-open {
	overflow: hidden;
}

body {
	background: #fff;
	color: var(--restart-text);
	font-family: "Poppins", Arial, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	margin: 0;
	overflow-x: hidden;
}

body.admin-bar .site-header {
	top: 32px;
}

img,
svg,
video {
	height: auto;
	max-width: 100%;
}

iframe {
	max-width: 100%;
}

a {
	color: var(--restart-accent);
	text-decoration: none;
}

a:hover,
a:focus-visible {
	color: #000;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: #202020;
	font-family: "Poppins", Arial, sans-serif;
	font-weight: 300;
	line-height: 1.15;
	margin: 0 0 20px;
}

h1 { font-size: clamp(34px, 4vw, 55px); }
h2 { font-size: clamp(30px, 3.3vw, 45px); }
h3 { font-size: clamp(23px, 2.2vw, 28px); }
h4 { font-size: 21px; }

p {
	margin: 0 0 18px;
}

ul,
ol {
	margin: 0 0 20px;
	padding-left: 24px;
}

button,
input,
select,
textarea {
	font: inherit;
}

button,
input[type="submit"],
input[type="button"],
.restart-button,
.wp-element-button,
.button {
	background: var(--restart-accent);
	border: 0;
	border-radius: 0;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	padding: 14px 24px;
	text-transform: uppercase;
}

button:hover,
input[type="submit"]:hover,
.restart-button:hover,
.wp-element-button:hover,
.button:hover {
	background: #000;
	color: #fff;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="date"],
select,
textarea {
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 0;
	color: #333;
	max-width: 100%;
	padding: 11px 12px;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
}

.skip-link {
	background: #fff;
	color: #000;
	left: 12px;
	padding: 12px 16px;
	position: fixed;
	top: -100px;
	z-index: 100001;
}

.skip-link:focus {
	top: 12px;
}

.site-shell,
.container,
.section_wrapper {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--restart-shell);
	padding-left: 24px;
	padding-right: 24px;
	width: 100%;
}

.site-header {
	background: #fff;
	box-shadow: 0 1px 8px rgba(0, 0, 0, .06);
	position: sticky;
	top: 0;
	z-index: 10000;
}

.header-contact {
	background: #fff;
	border-bottom: 1px solid #eee;
	height: 54px;
}

.header-contact-inner,
.header-actions,
.contact-links {
	align-items: center;
	display: flex;
}

.header-contact-inner {
	height: 100%;
	justify-content: space-between;
}

.contact-links {
	gap: 28px;
}

.contact-links a {
	align-items: center;
	color: #2f2f2f;
	display: flex;
	font-size: 14px;
	gap: 8px;
}

.contact-links img {
	height: 17px;
	width: 17px;
}

.header-actions {
	height: 100%;
}

.social-link {
	align-items: center;
	color: #0a0a0a;
	display: flex;
	font-size: 19px;
	font-weight: 600;
	height: 54px;
	justify-content: center;
	width: 48px;
}

.social-play {
	font-size: 13px;
}

.header-book {
	align-items: center;
	align-self: stretch;
	background: var(--restart-accent);
	color: #fff;
	display: flex;
	font-size: 14px;
	font-weight: 500;
	justify-content: center;
	margin-left: 16px;
	min-width: 240px;
	padding: 0 28px;
	text-transform: uppercase;
}

.header-book:hover {
	background: #000;
	color: #fff;
}

.header-main {
	background: #fff;
}

.header-main-inner {
	align-items: center;
	display: flex;
	min-height: var(--restart-header-height);
}

.site-logo {
	flex: 0 0 auto;
	line-height: 0;
}

.site-logo img {
	display: block;
	height: auto;
	width: 143px;
}

.primary-navigation {
	margin-left: auto;
}

.primary-menu,
.primary-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.primary-menu {
	align-items: stretch;
	display: flex;
}

.primary-menu > li {
	position: relative;
}

.primary-menu > li > a {
	align-items: center;
	color: #292929;
	display: flex;
	font-size: 12.5px;
	font-weight: 500;
	height: var(--restart-header-height);
	padding: 0 9px;
	text-transform: uppercase;
	white-space: nowrap;
}

.primary-menu > li.current-menu-item > a,
.primary-menu > li.current-menu-ancestor > a,
.primary-menu > li > a:hover {
	color: var(--restart-accent);
}

.primary-menu .sub-menu {
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
	left: 0;
	min-width: 250px;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 100%;
	transform: translateY(8px);
	transition: opacity 150ms ease, transform 150ms ease;
	z-index: 20;
}

.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.primary-menu .sub-menu a {
	border-bottom: 1px solid #eee;
	color: #4b4b4b;
	display: block;
	font-size: 13px;
	padding: 11px 18px;
}

.primary-menu .sub-menu a:hover {
	background: #f7f4f1;
	color: #000;
}

.primary-menu .sub-menu .sub-menu {
	left: 100%;
	top: 0;
}

.primary-menu .wpml-ls-item img {
	display: block;
	height: auto;
	width: 22px;
}

.menu-toggle,
.submenu-toggle {
	display: none;
}

.site-content {
	background: #fff;
	min-height: 55vh;
	overflow: clip;
}

.site-article,
.entry-content {
	width: 100%;
}

.entry-content::after {
	clear: both;
	content: "";
	display: table;
}

.entry-content > :where(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote):not(.alignwide):not(.alignfull),
.single-content > article,
.content-list {
	margin-left: auto;
	margin-right: auto;
	max-width: 1220px;
}

.entry-content > .wp-block-group:not(.alignfull):not(.restart-pilot-section):not(.restart-native-row),
.entry-content > .wp-block-columns:not(.alignfull) {
	margin-left: auto;
	margin-right: auto;
	max-width: 1220px;
}

.entry-content .alignwide {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--restart-shell);
}

.entry-content .alignfull {
	margin-left: calc(50% - 50vw);
	max-width: none;
	width: 100vw;
}

.wp-block-columns {
	gap: 24px;
}

.wp-block-image {
	margin-bottom: 24px;
}

.wp-block-image img {
	display: block;
}

.content-list,
.single-content,
.shop-content > .site-shell,
.error-page {
	padding-bottom: 80px;
	padding-top: 70px;
}

.content-list {
	display: grid;
	gap: 36px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.content-card {
	background: #f7f7f7;
	padding: 24px;
}

.content-card h2 {
	font-size: 26px;
}

.entry-header {
	margin-bottom: 34px;
	text-align: center;
}

.entry-featured {
	margin-bottom: 35px;
}

.entry-featured img {
	width: 100%;
}

.site-footer {
	background: var(--restart-dark);
	color: #ccc;
}

.footer-photo-strip {
	display: grid;
	grid-auto-columns: 240px;
	grid-auto-flow: column;
	overflow: hidden;
	width: 100%;
}

.footer-photo-strip img {
	display: block;
	height: 160px;
	object-fit: cover;
	width: 100%;
}

.footer-main {
	padding: 65px 0 30px;
}

.footer-widgets {
	display: grid;
	gap: 40px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.footer-widget h3,
.footer-column h3 {
	color: #fff;
	font-size: 19px;
	font-weight: 400;
	margin-bottom: 18px;
}

.footer-widget ul,
.footer-column ul {
	list-style: none;
	padding: 0;
}

.footer-widget a,
.footer-column a,
.footer-bottom a {
	color: #fff;
}

.footer-widget a:hover,
.footer-column a:hover,
.footer-bottom a:hover {
	color: var(--restart-accent);
}

.partner-logos {
	padding-top: 35px;
}

.partner-logos picture,
.partner-logos img {
	display: block;
	margin: 0 auto 30px;
	width: 100%;
}

.partner-logos picture:first-child img {
	max-width: 1280px;
}

.partner-logos picture:last-child img {
	max-width: 1200px;
}

.footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, .12);
}

.footer-bottom-inner {
	align-items: center;
	display: flex;
	justify-content: space-between;
	min-height: 72px;
}

.footer-bottom p {
	margin: 0;
}

.back-to-top {
	align-items: center;
	border: 1px solid #444;
	display: flex;
	font-size: 20px;
	height: 38px;
	justify-content: center;
	width: 38px;
}

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb {
	color: #888;
	font-size: 12px;
	margin-bottom: 30px;
}

.woocommerce .woocommerce-products-header {
	margin-bottom: 36px;
	text-align: center;
}

.woocommerce ul.products {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 30px 0;
	padding: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product {
	float: none !important;
	margin: 0 !important;
	text-align: center;
	width: auto !important;
}

.woocommerce ul.products li.product img {
	margin: 0 0 18px !important;
	width: 100%;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: #222;
	font-size: 20px;
	font-weight: 400;
	padding: 0;
}

.woocommerce .price {
	color: var(--restart-accent) !important;
	font-weight: 500;
}

.woocommerce div.product {
	margin-top: 20px;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	margin-bottom: 50px;
}

.woocommerce div.product .product_title {
	font-size: clamp(30px, 3vw, 44px);
}

.woocommerce div.product form.cart .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background: var(--restart-accent);
	border-radius: 0;
	color: #fff;
	font-weight: 500;
	padding: 14px 22px;
}

.woocommerce div.product form.cart .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: #000;
	color: #fff;
}

.woocommerce span.onsale {
	background: var(--restart-accent);
	border-radius: 0;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top-color: var(--restart-accent);
}

@media (max-width: 1320px) {
	:root { --restart-header-height: 82px; }

	.site-shell,
	.container,
	.section_wrapper {
		padding-left: 22px;
		padding-right: 22px;
	}

	.header-main-inner {
		justify-content: space-between;
	}

	.menu-toggle {
		align-items: center;
		background: transparent;
		display: flex;
		height: 48px;
		justify-content: center;
		padding: 10px;
		width: 48px;
	}

	.menu-toggle:hover {
		background: #f4f4f4;
	}

	.menu-toggle-lines,
	.menu-toggle-lines span {
		display: block;
		width: 28px;
	}

	.menu-toggle-lines span {
		background: #111;
		height: 2px;
		margin: 6px 0;
		transition: transform 160ms ease, opacity 160ms ease;
	}

	.menu-open .menu-toggle-lines span:first-child { transform: translateY(8px) rotate(45deg); }
	.menu-open .menu-toggle-lines span:nth-child(2) { opacity: 0; }
	.menu-open .menu-toggle-lines span:last-child { transform: translateY(-8px) rotate(-45deg); }

	.primary-navigation {
		background: #fff;
		border-top: 1px solid #eee;
		display: none;
		left: 0;
		margin: 0;
		max-height: calc(100vh - 136px);
		overflow: auto;
		position: absolute;
		top: 100%;
		width: 100%;
	}

	.menu-open .primary-navigation {
		display: block;
	}

	.primary-menu {
		display: block;
		padding: 10px 22px 30px;
	}

	.primary-menu > li {
		border-bottom: 1px solid #eee;
	}

	.primary-menu > li > a {
		height: auto;
		padding: 14px 48px 14px 6px;
	}

	.primary-menu .sub-menu,
	.primary-menu .sub-menu .sub-menu {
		box-shadow: none;
		display: none;
		left: auto;
		min-width: 0;
		opacity: 1;
		padding: 0 0 8px 18px;
		pointer-events: auto;
		position: static;
		transform: none;
	}

	.primary-menu .submenu-open > .sub-menu {
		display: block;
	}

	.primary-menu .sub-menu a {
		border: 0;
		padding: 9px 10px;
	}

	.submenu-toggle {
		background: transparent;
		color: #222;
		display: block;
		font-size: 24px;
		height: 44px;
		padding: 0;
		position: absolute;
		right: 0;
		top: 3px;
		width: 44px;
	}

	.submenu-toggle:hover {
		background: #f4f4f4;
		color: #000;
	}

	.footer-widgets {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.footer-photo-strip {
		grid-auto-columns: 25%;
	}
}

@media (max-width: 782px) {
	body.admin-bar .site-header { top: 46px; }

	.header-contact,
	.header-contact-inner {
		height: 46px;
	}

	.contact-links a:last-child,
	.social-link {
		display: none;
	}

	.contact-links a {
		font-size: 12px;
	}

	.header-book {
		font-size: 12px;
		margin-left: 0;
		min-width: 130px;
		padding: 0 16px;
	}

	.site-logo img {
		width: 128px;
	}

	.entry-content > :where(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote):not(.alignwide):not(.alignfull) {
		padding-left: 20px;
		padding-right: 20px;
	}

	.wp-block-columns {
		gap: 0;
	}

	.content-list,
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.footer-photo-strip {
		grid-auto-columns: 50%;
	}

	.footer-widgets {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 520px) {
	.site-shell,
	.container,
	.section_wrapper {
		padding-left: 16px;
		padding-right: 16px;
	}

	.content-list,
	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	.footer-bottom-inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 18px;
		padding-bottom: 20px;
		padding-top: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

/* Pixel-aligned compatibility with the former public Hotel reSTART layout. */
body.restart-gutenberg-pilot .restart-pilot-section {
	margin-left: auto;
	margin-right: auto;
	max-width: 1374px;
}

body.restart-gutenberg-pilot .entry-content h1,
body.restart-gutenberg-pilot .entry-content h2,
body.restart-gutenberg-pilot .entry-content h3 {
	margin-bottom: 15px;
}

body.restart-gutenberg-pilot .entry-content p {
	margin-bottom: 15px;
}

body.restart-gutenberg-pilot .restart-pilot-packages p {
	margin-bottom: 15px;
}

body.restart-gutenberg-pilot .restart-pilot-packages .intoppackage {
	box-sizing: content-box;
}

body.restart-gutenberg-pilot .toppackages .intoppackage {
	box-sizing: content-box;
}

.site-header {
	box-shadow: none;
	position: relative;
}

.header-contact,
.header-contact-inner {
	height: 45px;
	margin-top: 0;
}

.header-contact-inner,
.header-main-inner {
	padding-left: 0;
	padding-right: 0;
}

.contact-links {
	gap: 29px;
	margin-left: 13.7px;
}

.contact-links a {
	font-size: 14px;
	gap: 0;
	line-height: 21px;
}

.social-link {
	font-size: 14px;
	font-weight: 400;
	height: 21px;
	line-height: 21px;
	margin-top: 12px;
	margin-right: 6px;
	width: 21px;
}

.header-book {
	height: 60px;
	margin-left: 40px;
	min-width: 200px;
	padding: 15px;
	width: 200px;
}

.header-actions {
	margin-right: 13.7px;
	position: relative;
	width: 301px;
}

.header-book {
	position: absolute;
	right: 0;
	top: 0;
}

:root {
	--restart-header-height: 81px;
}

.header-main-inner {
	min-height: 81px;
}

.site-logo {
	padding: 15px;
	width: 146.7px;
}

.site-logo img {
	width: 116.6px;
}

.primary-menu > li > a {
	font-size: 16px;
	height: 81px;
	line-height: 60px;
	padding-left: 15px;
	padding-right: 15px;
}

.primary-menu > li.wpml-ls-item > a {
	padding-left: 13px;
	padding-right: 13px;
}

.primary-navigation {
	margin-right: 13.7px;
}

.site-footer {
	font-size: 15px;
	line-height: 21px;
	margin: 30px 0 80px;
}

.footer-main {
	box-sizing: border-box;
	height: 954px;
	padding: 0;
}

.footer-widgets {
	box-sizing: border-box;
	height: 460px;
	padding-bottom: 80px;
	padding-top: 80px;
}

.footer-widget h3,
.footer-column h3 {
	font-size: 26px;
}

.partner-logos {
	box-sizing: border-box;
	height: 494px;
	padding-top: 0;
}

.footer-bottom-inner {
	height: 83px;
	min-height: 83px;
}

@media (max-width: 1320px) {
	:root { --restart-header-height: 71px; }

	.primary-navigation {
		margin-right: 0;
	}

	.header-main-inner {
		min-height: 71px;
	}

	.site-logo {
		padding: 10px 0;
		width: auto;
	}

	.site-logo img {
		width: 116.6px;
	}
}

@media (max-width: 782px) {
	body.restart-gutenberg-pilot .restart-native-row__inner {
		margin-left: auto;
		margin-right: auto;
		width: calc(100% - 30px);
	}

	body.restart-gutenberg-pilot .restart-native-row__inner .restart-native-row__inner {
		width: 100%;
	}

	body.restart-gutenberg-pilot .restart-native-full > .restart-native-row__inner {
		width: 100%;
	}

	body.restart-gutenberg-pilot .restart-native-full > .wp-block-group__inner-container > .restart-native-row__inner {
		width: 100%;
	}

	body.restart-gutenberg-pilot .restart-pilot-section {
		max-width: calc(100% - 30px);
	}

	.header-contact,
	.header-contact-inner {
		height: 80px;
	}

	.header-contact-inner {
		padding: 0 10px;
		position: relative;
	}

	.contact-links {
		align-items: flex-start;
		flex-direction: column;
		gap: 0;
		margin-left: 0;
		width: 100%;
	}

	.contact-links a,
	.contact-links a:last-child {
		display: flex;
		font-size: 15.4px;
		height: 35px;
		line-height: 35px;
	}

	.contact-links a:last-child {
		align-self: center;
	}

	.contact-links a[href^="tel:"] {
		width: 210px;
	}

	.header-actions {
		height: 21px;
		margin-right: 0;
		position: absolute;
		right: 10px;
		top: 12px;
		width: 220px;
	}

	.social-link {
		display: block;
		height: 21px;
		margin: 0;
		position: absolute;
		width: 21px;
	}

	.header-actions .social-link:nth-child(1) { left: 144px; }
	.header-actions .social-link:nth-child(2) { left: 194px; }
	.header-actions .social-link:nth-child(3) { left: 164px; }

	.header-book {
		display: none;
	}

	.header-main,
	.header-main-inner {
		height: 71px;
		min-height: 71px;
	}

	.header-main-inner {
		padding: 0 16px;
		position: relative;
	}

	.site-logo {
		height: 49px;
		margin: 10px auto;
		padding: 0;
		width: 250px;
	}

	.site-logo img {
		margin: 0 auto;
		width: 116.6px;
	}

	.menu-toggle {
		position: absolute;
		right: 10px;
		top: 11px;
	}

	.site-footer {
		font-size: 13px;
		line-height: 22px;
	}

	.footer-main {
		height: 4200px;
	}

	.footer-widgets {
		display: block;
		height: 1192px;
		padding: 80px 33px;
	}

	.footer-column {
		margin-bottom: 30px;
	}

	.partner-logos {
		height: 3008px;
		padding: 0 33px;
	}

	.partner-logos picture,
	.partner-logos img {
		margin: 0 auto;
		width: 100%;
	}

	.partner-logos picture:first-child img {
		height: 1088px;
		object-fit: contain;
	}

	.partner-logos picture:last-child img {
		height: 1920px;
		object-fit: contain;
	}

	.footer-bottom-inner {
		box-sizing: border-box;
		height: 185px;
		min-height: 185px;
		padding: 40px 33px;
	}

	body.page-id-10431.restart-gutenberg-pilot .hptext {
		margin-bottom: 15px;
	}
}
