/*
Theme Name: Slovanka
Theme URI: http://www.penzion-slovanka.cz/
Author: Penzion Slovanka
Description: Vlastní šablona pro Penzion Slovanka — vizuálně 1:1 s původním webem (fivestarhotel), doplněná o plnou responzivitu.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: slovanka
*/

/* =========================================================
   Design tokens — barvy a fonty převzaté 1:1 z originálu
   ========================================================= */
:root {
	--slovanka-bg:          #37271c;
	--slovanka-box:         #1d110b;
	--slovanka-text:        #bca695;
	--slovanka-accent:      #c30000;
	--slovanka-accent-dark: #ad0000;
	--slovanka-light:       #e3dad2;
	--slovanka-lighter:     #e7e7e7;
	--slovanka-rule:        #4d3525;
	--slovanka-rule-alt:    #57473c;
	--slovanka-field-brd:   #5d3825;
	--slovanka-table-brd:   #412e21;

	--slovanka-font:        Tahoma, Geneva, sans-serif;
	--slovanka-font-head:   "Trebuchet MS", Arial, Helvetica, sans-serif;

	--slovanka-width:       976px;
	--slovanka-gutter:      40px;
}

/* =========================================================
   Reset / základ
   ========================================================= */
* { margin: 0; padding: 0; }
*, *::before, *::after { box-sizing: content-box; }

html, body { height: 100%; }

body {
	background: url('assets/images/body-bg.gif') center top var(--slovanka-bg);
	font-family: var(--slovanka-font);
	font-size: 100%;
	line-height: 1.125em;
	color: var(--slovanka-text);
	-webkit-text-size-adjust: 100%;
}

input, select, textarea { font-family: var(--slovanka-font); font-size: 1em; }
img { border: 0; vertical-align: top; text-align: left; }
object { vertical-align: top; outline: none; }
ul { list-style: none; }
p { margin-bottom: 18px; }

.fleft   { float: left; }
.fright  { float: right; }
.clear   { clear: both; }
.alignright  { text-align: right; }
.aligncenter { text-align: center; }
.wrapper   { width: 100%; overflow: hidden; }
.container { width: 100%; }
.extra-wrap { overflow: hidden; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	position: fixed; top: 8px; left: 8px;
	z-index: 1000;
	width: auto; height: auto;
	margin: 0; padding: 10px 18px;
	clip: auto;
	background: var(--slovanka-box);
	color: var(--slovanka-light);
	border: 2px solid var(--slovanka-accent);
}

/* =========================================================
   Typografie, odkazy, linky
   ========================================================= */
a { color: var(--slovanka-text); outline: none; }
a:hover { text-decoration: none; }

h1 {
	font-family: var(--slovanka-font-head);
	font-size: 60px; line-height: 1em;
	color: var(--slovanka-accent);
	text-transform: uppercase;
	font-weight: normal;
	letter-spacing: -2px;
}
h1 a { color: var(--slovanka-accent); text-decoration: none; }
h2 {
	font-family: var(--slovanka-font-head);
	color: var(--slovanka-accent);
	font-size: 30px; line-height: 1em;
	font-weight: normal; margin-bottom: 12px;
	letter-spacing: -1px;
}
h3 {
	font-family: var(--slovanka-font-head);
	color: var(--slovanka-accent);
	font-size: 25px; line-height: 1em;
	font-weight: normal; margin-bottom: 16px;
}
h4 { font-size: .91em; }
h5 { font-size: 1.33em; color: var(--slovanka-accent); padding-top: 10px; margin-bottom: 26px; }
h6 { font-size: 1em; color: var(--slovanka-lighter); }

.txt1 { font-size: .91em; }
.txt2 { color: var(--slovanka-accent); font-size: 1.33em; text-transform: uppercase; }

.line-hor { background: var(--slovanka-rule); height: 1px; overflow: hidden; font-size: 0; line-height: 0; margin: 21px 0 16px 0; }
.line-ver { background-image: url('assets/images/line-ver.gif'); background-repeat: repeat-y; width: 100%; }
.title { margin-bottom: 20px; }

.img-indent { margin: 0 10px 0 -8px; float: left; }
.img-indent.alt { margin-right: 25px; }
.img-box { width: 100%; overflow: hidden; padding-bottom: 20px; }
.img-box img { float: left; margin: 0 20px 0 0; }
.p1 { margin-bottom: 9px; }
.p2 { margin-bottom: 18px; }
.p3 { margin-bottom: 27px; }
.alt-top { padding-top: 9px; }

/* tlačítka z originálu */
.button, .button1 { text-align: center; font-size: .91em; }
.button span, .button1 span { display: inline-block; background: url('assets/images/button-side.gif') no-repeat left top; padding-left: 1px; }
.button span span, .button1 span span { background: url('assets/images/button-side.gif') no-repeat right top; padding-right: 1px; padding-left: 0; }
.button span span a {
	display: inline-block;
	background: url('assets/images/button-bg.gif') left top repeat-x;
	padding: 0 0 3px 0; color: #d5c6bb; width: 152px;
	text-decoration: none; text-transform: uppercase; font-weight: bold;
}
.button1 span span a {
	display: inline-block;
	background: url('assets/images/button-bg.gif') left top repeat-x;
	padding: 0 20px 3px 20px; color: #d5c6bb;
	text-decoration: none; text-transform: uppercase; font-weight: bold;
}
.button span span a:hover, .button1 span span a:hover { text-decoration: underline; }

/* =========================================================
   Layout — desktop 1:1 s originálem
   ========================================================= */
#main { width: var(--slovanka-width); margin: 0 auto; position: relative; }

#header { height: 526px; background: url('assets/images/header-bg-top.jpg') no-repeat left top; }
#header.small { height: 414px; }
#header, #content, #footer { font-size: 0.75em; }

#header .row-1 { height: 136px; }
#header .row-2 { height: 390px; background: url('assets/images/header-bg.png') no-repeat left bottom; }
#header .row-2.alt { height: 278px; background: url('assets/images/header-bg1.png') no-repeat left bottom; width: 100%; padding: 0; margin: 0; }
#header .row-2 .indent { padding: 13px 0 0 13px; }

#header .logo { float: left; padding: 40px 0 0 45px; }
#header .logo em {
	position: absolute; top: 25px;
	text-transform: uppercase; font-style: normal;
	font-size: 16px; font-family: var(--slovanka-font-head);
	font-weight: bold; padding-left: 5px;
}
#header .logo strong { color: var(--slovanka-accent-dark); font-size: .91em; padding-left: 5px; }
#header .phones {
	float: right; font-family: var(--slovanka-font-head);
	font-size: 25px; line-height: 1em; color: var(--slovanka-accent);
	padding: 43px 48px 0 0; letter-spacing: -1px;
}
#header .links { float: right; }

#header-box {
	background: url('assets/images/header-bg1.jpg') no-repeat left top;
	background-size: cover;
	width: 950px; height: 364px;
}
#header-box .inner { padding: 307px 0 0 2px; }

#header-box-small { background: url('assets/images/header-bg-small.jpg') no-repeat left top; width: 950px; height: 252px; }
#header-box-small .inner { padding: 195px 0 0 2px; }

/* hlavní navigace */
#header .nav { width: 100%; overflow: hidden; }
#header .nav li { display: inline; }
#header .nav li a {
	display: block; float: left;
	width: 103px; height: 55px; line-height: 52px;
	font-size: 16px; text-transform: uppercase; font-weight: bold;
	color: #fff; text-decoration: none;
	font-family: var(--slovanka-font-head);
	text-align: center; margin-right: 2px;
	background: url('assets/images/nav-bg1.png') no-repeat left top;
	overflow: hidden;
}
#header .nav li a:hover,
#header .nav li a.current,
#header .nav li.current-menu-item > a { background: url('assets/images/nav-bg2.png') no-repeat left top; }

/* přepínač jazyků */
#language_selector { float: right; margin-top: 5px; }
#language_selector li { display: inline-block; width: 30px; height: 20px; background-repeat: no-repeat; background-position: 0 0; }
#language_selector li a { display: block; width: 30px; height: 20px; }
#language_selector li span { display: none; }
#language_selector li.lang_cs { background-image: url('/images/flags/30x20/cs.png'); }
#language_selector li.lang_en { background-image: url('/images/flags/30x20/uk.png'); }
#language_selector li.lang_de { background-image: url('/images/flags/30x20/de.png'); }
#language_selector li.lang_pl { background-image: url('/images/flags/30x20/pl.png'); }
#language_selector li.lang_ru { background-image: url('/images/flags/30x20/ru.png'); }
#language_selector li.lang_es { background-image: url('/images/flags/30x20/es.png'); }
#language_selector li.current-lang { opacity: 1; }

a.facebook { margin-top: 30px; display: block; width: 30px; height: 30px; background: url('assets/images/facebook.gif') 0 0 no-repeat; }
a.facebook span { display: none; }
a.webcams { margin-top: 10px; display: block; width: 30px; height: 30px; background: url('assets/images/webcams.png') 0 0 no-repeat; }
a.webcams span { display: none; }

/* =========================================================
   Obsah
   ========================================================= */
#content {
	background: url('assets/images/content-bg.png') left top;
	margin: 0 8px;
	padding: 11px var(--slovanka-gutter) 20px var(--slovanka-gutter);
}
#content .indent { padding: 17px 0 20px 0; }

#content ul { padding-bottom: 20px; }
#content ul li { background: url('assets/images/bull1.gif') no-repeat left 8px; padding: 0 0 0 13px; }

/* Sloupce stejné výšky — originál to řešil skriptem ElementMaxHeight. */
#content > .wrapper { display: flex; align-items: stretch; }
#content > .wrapper > .aside { flex: 0 0 236px; }
#content > .wrapper > .content { flex: 1 1 auto; }
#content > .wrapper > .aside .box { height: 100%; }

.aside   { float: left; width: 236px; margin-right: 50px; }
.content { float: left; width: 594px; position: relative; }

.box { background: var(--slovanka-box); width: 100%; }
.box .inner { padding: 21px 30px 30px 28px; }

#icons { float: left; width: 100%; }
#icons img { display: block; margin: 0 auto; }

.contacts-list dt { font-weight: bold; margin-bottom: 10px; }
.contacts-list dd { font-weight: bold; }

.dept-list { float: left; }
.dept-list dd { clear: both; text-align: right; }
.dept-list dd span { float: left; padding-right: 25px; }
.dept-list dd p { text-align: left; }

.list1 { font-size: .91em; padding: 4px 0 15px 0; }
.list1 dt { font-weight: bold; color: var(--slovanka-light); margin-bottom: 12px; padding: 0 0 0 4px; }
.list1 dd { border-bottom: 1px solid var(--slovanka-rule-alt); padding: 0 5px 7px 4px; margin-bottom: 4px; line-height: 1.45em; }
.list1 dd span { float: right; }
.list1 dd.alt { border-bottom: none; }
.list1 dd.last { font-weight: bold; color: var(--slovanka-accent); border-bottom: none; }

#content .list2 { padding-bottom: 8px; }
#content .list2 li { font-size: .91em; padding-bottom: 8px; }
#content .list3 li a { text-decoration: none; }
#content .list3 li a:hover { text-decoration: underline; }
#content .list4 li { width: 100%; overflow: hidden; padding: 0 0 15px 0; background: none; font-size: .91em; }
#content .list4 li img { float: left; margin: 0 13px 0 0; }
#content .img-list li { width: 100%; overflow: hidden; background: none; padding: 0 0 18px 0; }
#content .img-list li img { float: left; margin: 6px 9px 0 0; }
#content .aside ul { font-size: .91em; }

.extra-img { position: relative; margin: 0 -9px 0 -8px; }

/* obsah stránek — obrázky z původního CMS */
#content img { max-width: 100%; height: auto; }
#icons img { max-width: 100%; height: auto; }
.content .align_center, .content img.align_center { display: block; margin: 0 auto; }

/* tabulky v obsahu (počasí atd.) */
table.weather { border-collapse: collapse; }
table.weather th { text-align: left; border: 1px solid var(--slovanka-table-brd); background-color: var(--slovanka-table-brd); }
table.weather td { padding: 0 3px; border: 1px solid var(--slovanka-table-brd); white-space: nowrap; }

/* ceník — textová tabulka místo původního obrázku */
table.pricelist {
	width: 100%;
	border-collapse: collapse;
	margin: 4px 0 22px 0;
	font-size: .95em;
}
table.pricelist caption {
	font-family: var(--slovanka-font-head);
	font-size: 1.2em;
	font-weight: bold;
	color: var(--slovanka-light);
	text-align: center;
	padding: 0 0 10px 0;
}
table.pricelist th,
table.pricelist td {
	border: 1px solid var(--slovanka-rule);
	padding: 7px 8px;
	text-align: center;
	vertical-align: middle;
}
table.pricelist thead th {
	background: var(--slovanka-box);
	color: var(--slovanka-light);
	font-weight: bold;
	line-height: 1.35em;
}
table.pricelist .pricelist-sub { display: block; font-weight: normal; font-size: .85em; }
table.pricelist .pricelist-corner { border: none; background: none; }
table.pricelist tbody th {
	background: var(--slovanka-box);
	color: var(--slovanka-light);
	font-weight: bold;
	white-space: nowrap;
}
table.pricelist tbody td {
	font-size: 1.15em;
	font-weight: bold;
	color: var(--slovanka-light);
}
.pricelist-note { padding-bottom: 14px; }

/* přílohy ke stažení */
.files { margin-top: 1em; }
.files div { background: transparent url('/images/filetype/file.gif') 0 4px no-repeat; padding: 0 0 0 20px; }
.files a { padding-left: 25px; }
.files div.filetype_pdf { background-image: url('/images/filetype/pdf.gif'); }
.files div.filetype_zip { background-image: url('/images/filetype/zip.gif'); }
.files div.filetype_jpg { background-image: url('/images/filetype/jpg.gif'); }
.files div.filetype_png { background-image: url('/images/filetype/png.gif'); }
.files div.filetype_doc { background-image: url('/images/filetype/doc.gif'); }
.files div.filetype_rtf { background-image: url('/images/filetype/rtf.gif'); }
.files div.filetype_xls { background-image: url('/images/filetype/xls.gif'); }
.files div.filetype_ods { background-image: url('/images/filetype/ods.gif'); }
.files div.filetype_odt { background-image: url('/images/filetype/odt.gif'); }
.files div.filetype_mp3 { background-image: url('/images/filetype/mp3.gif'); }
.files div.filetype_rar { background-image: url('/images/filetype/rar.gif'); }

/* =========================================================
   Galerie
   ========================================================= */
#content .gallery { width: 100%; }
#content .gallery ul { overflow: hidden; margin: -7px -40px -11px -32px; position: relative; }
#content .gallery ul li {
	background: url('assets/images/img-wrapper.png') no-repeat left top;
	width: 155px; height: 110px; padding: 0; float: left; margin-right: 3px;
}
#content .gallery ul li img { margin: 13px 0 0 11px; }

#content .gallery-images { width: 100%; }
#content .gallery-images ul { overflow: hidden; margin: 0 -32px -14px 0; position: relative; padding-bottom: 0; }
#content .gallery-images ul li { float: left; padding: 0 0 14px 0; background: none; margin-right: 16px; }

.gallery-main { margin: 0; position: relative; }
.gallery-main .inner img.image { padding: 0; border: 4px solid var(--slovanka-lighter); max-width: 100%; height: auto; }
.gallery-main .prev { position: absolute; left: 0; top: 0; background-color: rgba(227, 227, 227, .3); height: 100%; }
.gallery-main .next { position: absolute; right: 3px; top: 0; background-color: rgba(227, 227, 227, .3); height: 100%; }
.gallery-main .prev a { background: url('assets/images/prev-arrow.png') center no-repeat; display: block; width: 40px; height: 100%; }
.gallery-main .next a { background: url('assets/images/next-arrow.png') center no-repeat; display: block; width: 40px; height: 100%; }
.gallery-main .prev a span, .gallery-main .next a span { display: none; }

.gallery_thumbs { margin-left: 8px; }
.gallery_thumbs a { border: 4px solid #dadadc; margin: 7px 0 7px 15px; display: block; width: 80px; float: left; }
.gallery_thumbs a img { display: block; width: 100%; height: auto; }
.gallery_thumbs::after { content: ""; display: block; clear: both; }

/* =========================================================
   Patička
   ========================================================= */
#footer { font-family: Arial, Helvetica, sans-serif; padding: 28px var(--slovanka-gutter) 35px var(--slovanka-gutter); }
#footer a { color: var(--slovanka-light); }
/* Položky patičky na jedné řádce, rovnoměrně rozprostřené.
   (Originál měl pevný padding 45/48 px, kvůli kterému se menu lámalo na dva řádky.) */
#footer .nav {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: baseline;
	text-align: center;
	padding-bottom: 25px;
}
#footer .nav li { display: block; flex: 0 1 auto; }
#footer .nav li a { display: block; padding: 0 6px; color: var(--slovanka-light); white-space: nowrap; }

/* =========================================================
   Formuláře (Contact Form 7 ve stylu originálu)
   ========================================================= */
#reservation-form { font-size: .91em; font-weight: bold; }
#reservation-form fieldset { border: none; }
#reservation-form .field { display: block; height: 55px; }
#reservation-form label { display: block; padding-bottom: 4px; }
#reservation-form select { border: 1px solid var(--slovanka-field-brd); background: var(--slovanka-box); color: var(--slovanka-text); }
#reservation-form select.select1 { width: 40px; margin-right: 10px; }
#reservation-form select.select2 { width: 127px; }
#reservation-form input { width: 23px; text-align: center; border: 1px solid var(--slovanka-field-brd); background: var(--slovanka-box); color: var(--slovanka-text); }
#reservation-form .button { font-size: 1em; }

.form_errors { }
tr.has-error td label { color: red; }
tr.has-error td input { border: 2px solid red; }

/* Stránky bez levého sloupce (rezervace): podtéct plovoucí pruh #icons
   a držet stejné vnitřní odsazení jako .indent na ostatních stránkách. */
.content-full { clear: both; padding: 17px 0 20px 0; }

/* Svislá mezera nad formulářem. */
.contact_us_form { clear: both; padding: 24px 0 20px 0; }
.contact_us_form table { border-collapse: collapse; width: 100%; max-width: 560px; }
.contact_us_form td { padding: 0 0 12px 0; vertical-align: top; }
.contact_us_form td:first-child { width: 170px; padding-right: 14px; }
.contact_us_form label { display: block; padding-top: 4px; font-weight: bold; color: var(--slovanka-light); }

.contact_us_form input[type="text"],
.contact_us_form input[type="email"],
.contact_us_form input[type="tel"],
.contact_us_form input[type="number"],
.contact_us_form input[type="date"],
.contact_us_form textarea {
	width: 100%;
	max-width: 340px;
	padding: 5px 7px;
	border: 1px solid var(--slovanka-field-brd);
	background: var(--slovanka-box);
	color: var(--slovanka-text);
	font-family: var(--slovanka-font);
	font-size: 1em;
	box-sizing: border-box;
}
.contact_us_form textarea { min-height: 110px; resize: vertical; }
.contact_us_form input:focus, .contact_us_form textarea:focus {
	outline: 2px solid var(--slovanka-accent);
	outline-offset: 1px;
}
.contact_us_form input[type="submit"],
.contact_us_form .wpcf7-submit {
	/* button-bg.gif je 1x20 px; roztáhneme ho na celou výšku tlačítka,
	   jinak by se gradient opakoval jen nahoře a dole prosvítal podklad. */
	background: url('assets/images/button-bg.gif') center center / 100% 100% no-repeat var(--slovanka-box);
	border: 1px solid var(--slovanka-field-brd);
	color: #d5c6bb;
	text-transform: uppercase;
	font-weight: bold;
	font-family: var(--slovanka-font);
	padding: 6px 26px 8px;
	cursor: pointer;
}
.contact_us_form input[type="submit"]:hover,
.contact_us_form .wpcf7-submit:hover { text-decoration: underline; color: #fff; }

/* CF7 hlášky */
.wpcf7 form .wpcf7-response-output {
	margin: 14px 0 0; padding: 8px 12px;
	border: 1px solid var(--slovanka-field-brd);
	color: var(--slovanka-light);
}
.wpcf7 form.sent .wpcf7-response-output { border-color: #3c7a3c; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output { border-color: var(--slovanka-accent); }
.wpcf7-not-valid-tip { color: #ff6b6b; font-size: .95em; display: block; padding-top: 3px; }
.wpcf7 .wpcf7-not-valid { border-color: var(--slovanka-accent) !important; }
.wpcf7-spinner { background-color: var(--slovanka-text); }

/* =========================================================
   Hamburger — jen pro menší displeje
   ========================================================= */
#nav-toggle {
	display: none;
	margin: 0 0 0 13px;
	padding: 11px 14px;
	background: var(--slovanka-box);
	border: 1px solid var(--slovanka-field-brd);
	color: #fff;
	font-family: var(--slovanka-font-head);
	font-size: 15px; font-weight: bold; text-transform: uppercase;
	cursor: pointer;
	align-items: center;
	gap: 10px;
}
#nav-toggle .bars { display: inline-block; width: 22px; height: 16px; position: relative; }
#nav-toggle .bars span {
	display: block; position: absolute; left: 0;
	width: 100%; height: 3px; background: #fff;
	transition: transform .2s ease, opacity .2s ease, top .2s ease;
}
#nav-toggle .bars span:nth-child(1) { top: 0; }
#nav-toggle .bars span:nth-child(2) { top: 6.5px; }
#nav-toggle .bars span:nth-child(3) { top: 13px; }
#nav-toggle[aria-expanded="true"] .bars span:nth-child(1) { top: 6.5px; transform: rotate(45deg); }
#nav-toggle[aria-expanded="true"] .bars span:nth-child(2) { opacity: 0; }
#nav-toggle[aria-expanded="true"] .bars span:nth-child(3) { top: 6.5px; transform: rotate(-45deg); }

/* =========================================================
   RESPONZIVITA — jediná odchylka od originálu.
   Desktop (>= 1000px) zůstává pixel po pixelu stejný.
   ========================================================= */
@media screen and (max-width: 999px) {
	#main { width: auto; max-width: 760px; }

	#header {
		height: auto;
		background-size: cover;
		background-position: center top;
	}
	#header.small { height: auto; }
	#header .row-1 { height: auto; overflow: hidden; padding-bottom: 10px; }
	#header .row-2 { height: auto; background: none; }
	#header .row-2 .indent { padding: 10px; }

	#header .logo { float: none; padding: 22px 10px 0 14px; }
	#header .logo h1 { font-size: 40px; letter-spacing: -1px; }
	#header .logo em { position: static; display: block; padding: 6px 0 0 3px; font-size: 14px; }
	#header .logo strong { display: block; padding-left: 3px; }

	#header .links { float: none; overflow: hidden; padding: 12px 14px 0; }
	#language_selector { float: left; margin: 0 0 8px; }
	a.facebook { float: left; clear: both; margin: 4px 10px 0 0; }
	a.webcams  { float: left; margin: 4px 0 0 0; }

	#header-box {
		width: auto; height: auto; min-height: 200px;
		background-size: cover; background-position: center center;
	}
	#header-box .inner { padding: 150px 0 0 0; }

	/* navigace -> hamburger */
	#nav-toggle { display: inline-flex; }
	#header .nav {
		display: none;
		background: var(--slovanka-box);
		border: 1px solid var(--slovanka-field-brd);
		margin: 10px 13px 0;
		width: auto;
	}
	#header .nav.is-open { display: block; }
	#header .nav li { display: block; }
	#header .nav li + li { border-top: 1px solid var(--slovanka-field-brd); }
	#header .nav li a {
		float: none; display: block;
		width: auto; height: auto; line-height: 1.2;
		padding: 14px 18px; margin: 0;
		background: none; text-align: left;
	}
	#header .nav li a:hover,
	#header .nav li a.current,
	#header .nav li.current-menu-item > a { background: var(--slovanka-accent-dark); color: #fff; }

	#content { margin: 0; padding: 11px 20px 20px; background-size: cover; }

	/* jednosloupcové skládání */
	#content > .wrapper { display: block; }
	.aside, .content { float: none; width: auto; margin: 0; }
	.aside { margin-bottom: 22px; }
	.box .inner { padding: 18px 20px 22px; text-align: center; }
	.box .inner img { display: inline-block; float: none; margin: 0 auto; }
	.box .inner div { margin: 0 auto; }

	#content .gallery ul { margin: 0; }
	#content .gallery ul li { margin: 0 3px 3px 0; }
	.gallery_thumbs { margin-left: 0; text-align: center; }
	.gallery_thumbs a { float: none; display: inline-block; margin: 6px; }
	.gallery-main .inner { text-align: center; }

	#footer { padding: 22px 20px 28px; }
	#footer .nav { padding-bottom: 16px; }
	#footer .fleft, #footer .fright { float: none; text-align: center; }

	.contact_us_form table, .contact_us_form tbody, .contact_us_form tr, .contact_us_form td { display: block; width: auto; }
	.contact_us_form td:first-child { width: auto; padding: 0 0 3px; }
	.contact_us_form input[type="text"],
	.contact_us_form input[type="email"],
	.contact_us_form input[type="tel"],
	.contact_us_form input[type="number"],
	.contact_us_form input[type="date"],
	.contact_us_form textarea { max-width: 100%; }
}

/* Patička se stohuje teprve tam, kde se jedna řádka nevejde. */
@media screen and (max-width: 699px) {
	#footer .nav { display: block; }
	#footer .nav li { display: block; }
	#footer .nav li a { display: block; padding: 8px 0; }
}

@media screen and (max-width: 600px) {
	#main { max-width: 100%; }
	#header .logo h1 { font-size: 30px; }
	#header .logo em { font-size: 12px; }
	#header-box { min-height: 150px; }
	#header-box .inner { padding: 110px 0 0 0; }
	#content { padding: 11px 14px 18px; }
	#content .indent { padding: 12px 0 14px; }
	h2 { font-size: 24px; }
	h3 { font-size: 20px; }
	.box .inner { padding: 16px 14px 18px; }
	.gallery-main .prev a, .gallery-main .next a { width: 30px; }
	#content .gallery ul li { margin: 0 auto 6px; float: none; }
	table.weather td { white-space: normal; }
}

/* obsah nesmí nikdy přetéct do horizontálního scrollu */
@media screen and (max-width: 999px) {
	#content table { max-width: 100%; }
	#content .indent > div,
	#content .indent p { overflow-wrap: break-word; }
	iframe { max-width: 100%; }
}

/* Ceník: pod 600 px se tabulka rozpadne na řádky "popis — cena",
   dvouúrovňová hlavička se skryje a nahradí ji data-label u buněk. */
@media screen and (max-width: 600px) {
	table.pricelist caption { display: block; width: auto; text-align: left; padding-bottom: 8px; }
	table.pricelist thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
	table.pricelist,
	table.pricelist tbody,
	table.pricelist tr,
	table.pricelist th,
	table.pricelist td { display: block; width: auto; }
	table.pricelist tr { border: 1px solid var(--slovanka-rule); margin-bottom: 12px; }
	table.pricelist tbody th { border: none; border-bottom: 1px solid var(--slovanka-rule); padding: 9px 12px; white-space: normal; }
	table.pricelist tbody td {
		border: none;
		border-bottom: 1px solid var(--slovanka-rule);
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: 12px;
		text-align: left;
		padding: 8px 12px;
	}
	table.pricelist tbody tr td:last-child { border-bottom: none; }
	table.pricelist tbody td::before {
		content: attr(data-label);
		font-size: .8em;
		font-weight: normal;
		color: var(--slovanka-text);
	}
}
