/*
 * Bašta – styly, které theme.json neumí vyjádřit.
 * Breakpointy odpovídají Bootstrapu 3 z tématu Ark: 768 / 992 / 1200 px.
 */

/* Jako Bootstrap v Arku: šířky včetně paddingu a rámečku. */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* --------------------------------------------------------------------------
 * Šířka obsahu (Bootstrap .container: 750 / 970 / 1170 px vč. 2× 15px paddingu)
 * ------------------------------------------------------------------------ */
:root {
	--basta-content-size: 100%;
	--basta-hero-size: 40px;
	--basta-title-size: 30px;
	--basta-section-title-size: 24px;
	--basta-lead-size: 15px;
	--basta-h2-size: 24px;
	--basta-h3-size: 22px;
	--basta-card-title-size: 30px;
	--basta-header-height: 90px;
	--basta-header-height-scrolled: 70px;
	--basta-ease: cubic-bezier(0.7, 1, 0.7, 1);
}

@media (min-width: 768px) {
	:root {
		--basta-content-size: 720px;
		--basta-hero-size: 48px;
		--basta-section-title-size: 36px;
		--basta-lead-size: 17px;
		--basta-h2-size: 36px;
		--basta-h3-size: 32px;
	}
}

@media (min-width: 992px) {
	:root {
		--basta-content-size: 940px;
		--basta-hero-size: 64px;
		--basta-title-size: 40px;
		--basta-section-title-size: 40px;
		--basta-card-title-size: 28px;
	}
}

@media (min-width: 1200px) {
	:root {
		--basta-content-size: 1140px;
	}
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Odkaz v nadpisu má tučnost nadpisu (globální styl odkazu je 400). */
.wp-block-heading a {
	font-weight: inherit;
}

/* Nadpisy a texty tlačítek nikdy nedělit uprostřed slova. Blok Sloupec v jádru WordPressu
 * nastavuje word-break: break-word (dědí se), Název příspěvku také – na úzkém mobilu pak
 * např. „Ubytován-í“. Kde se slovo nevejde, je menší písmo (karty na úvodní stránce aj.). */
body :is(h1, h2, h3, h4, h5, h6, .wp-block-post-title, .wp-block-button__link) {
	word-break: normal;
	overflow-wrap: normal;
	hyphens: manual;
}

/* Ostatní text ve sloupcích: dělit jen slovo delší než celý řádek (např. dlouhou adresu). */
body .wp-block-column {
	word-break: normal;
}

/* Bootstrap v Arku: obrázky v textu zarovnané na střed řádku (bez mezery pod obrázkem). */
img {
	vertical-align: middle;
}

/* Bootstrap v Arku: tučné písmo je vždy 700 (ne relativní „bolder“ – z 300 by bylo jen 400). */
b,
strong {
	font-weight: 700;
}

/*
 * Strukturní skupiny hlavičky a patičky si rozestupy řídí samy (flex/grid),
 * proto u nich rušíme automatickou mezeru blockGap mezi sousedními bloky.
 */
.wp-site-blocks > *,
.basta-header .basta-header__inner > *,
.basta-footer .basta-footer__inner > *,
.basta-footer .basta-footer__row > *,
.basta-footer .basta-footer__col > * {
	margin-block: 0;
}

/* --------------------------------------------------------------------------
 * Hlavička
 * ------------------------------------------------------------------------ */
.basta-header {
	position: relative;
	z-index: 1041;
	padding-inline: 15px;
	background: var(--wp--preset--color--white);
}

/* Eliptický stín pod hlavičkou (ff-ark-header-circle-shadow v Arku): vidět je jen
 * pruh 15 px pod spodní hranou. Na desktopu se objeví až po odscrollování. */
.basta-header::after {
	content: "";
	position: absolute;
	top: calc(100% + 1px - 7.5px);
	left: 10px;
	right: 10px;
	z-index: -1;
	height: 7.5px;
	border-radius: 1000px / 30px;
	box-shadow: 0 0 15px rgba(0, 0, 50, 0.09);
	clip-path: inset(7.5px -10px -15px -10px);
	pointer-events: none;
}

@media (min-width: 992px) {
	.basta-header:not(.is-scrolled)::after {
		box-shadow: none;
	}
}

.basta-header__inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--basta-header-height);
	max-width: var(--basta-content-size);
	margin-inline: auto;
	transition: height 0.4s var(--basta-ease);
}

.basta-header__logo {
	display: block;
	flex: none;
	margin: 0;
	line-height: 1px;
}

.basta-header__logo img {
	display: block;
	width: auto;
	height: 45px;
}

/* Navigace (core/navigation s overlayMenu "never") */
.basta-header .basta-nav,
.basta-header .basta-nav ul {
	margin: 0;
	padding: 0;
	gap: 0;
	list-style: none;
}

.basta-header .basta-nav a {
	display: block;
	color: var(--wp--preset--color--heading);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 2px;
	text-transform: uppercase;
	transition: color 0.4s var(--basta-ease), line-height 0.4s var(--basta-ease);
}

.basta-header .basta-nav a:hover,
.basta-header .basta-nav a:focus-visible,
.basta-header .basta-nav a[aria-current="page"] {
	color: var(--wp--preset--color--primary);
}

/* Hamburger (skrytý na desktopu) */
.basta-header__toggle {
	display: none;
	position: relative;
	width: 25px;
	height: 25px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: transparent;
	cursor: pointer;
}

.basta-header__toggle-icon,
.basta-header__toggle-icon::before,
.basta-header__toggle-icon::after {
	position: absolute;
	left: 5px;
	width: 15px;
	height: 1px;
	background-color: var(--wp--preset--color--heading);
	transition: 0.4s var(--basta-ease);
}

.basta-header__toggle-icon {
	top: 12px;
}

.basta-header__toggle-icon::before,
.basta-header__toggle-icon::after {
	content: "";
	left: 0;
}

.basta-header__toggle-icon::before {
	top: -5px;
}

.basta-header__toggle-icon::after {
	top: 5px;
}

.basta-header.is-open .basta-header__toggle-icon {
	background-color: transparent;
}

.basta-header.is-open .basta-header__toggle-icon::before {
	top: 0;
	transform: rotate(45deg);
}

.basta-header.is-open .basta-header__toggle-icon::after {
	top: 0;
	transform: rotate(-45deg);
}

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

@media (min-width: 992px) {
	/* Pevná hlavička, která se po odscrollování zmenší z 90 na 70 px. */
	.basta-header {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		transition: 0.4s var(--basta-ease);
	}

	.admin-bar .basta-header {
		top: var(--wp-admin--admin-bar--height, 32px);
	}

	body:has(.basta-header) {
		padding-top: var(--basta-header-height);
	}

	.basta-header.is-scrolled .basta-header__inner {
		height: var(--basta-header-height-scrolled);
	}

	.basta-header .basta-nav a {
		padding: 0 15px;
		line-height: var(--basta-header-height);
	}

	.basta-header.is-scrolled .basta-nav a {
		line-height: var(--basta-header-height-scrolled);
	}
}

@media (max-width: 991px) {
	/* Mobil a tablet: hamburger vlevo, logo uprostřed, menu se rozbalí pod lištou a odsune obsah. */
	.basta-header__inner {
		flex-wrap: wrap;
		justify-content: center;
		height: auto;
	}

	/* Logo na střed mezi okraji 70 px; když se nevejde, začíná vlevo (jako Ark). */
	.basta-header__logo {
		display: flex;
		flex: 1 1 0;
		align-items: center;
		justify-content: safe center;
		min-width: 0;
		height: var(--basta-header-height);
		margin-inline: 70px;
	}

	.basta-header__logo a {
		flex: none;
	}

	.basta-header__toggle {
		display: block;
		position: absolute;
		top: 32.5px;
		left: 0;
	}

	.basta-header__menu {
		display: none;
		flex-basis: 100%;
	}

	.basta-header.is-open .basta-header__menu {
		display: block;
	}

	.basta-header .basta-nav ul {
		flex-direction: column;
		align-items: stretch;
	}

	.basta-header .basta-nav li {
		border-top: 1px solid #ebeef6;
	}

	.basta-header .basta-nav a {
		padding: 12px 12px 12px 0;
		line-height: 1.4;
	}
}

/* --------------------------------------------------------------------------
 * Obsah – společné prvky převzaté z Arku
 * ------------------------------------------------------------------------ */

/* Zástupný text bloku v editoru */
.basta-block-placeholder {
	padding: 16px;
	border: 1px dashed #c4c4c4;
	color: var(--wp--preset--color--muted);
	font-size: 13px;
	text-align: center;
}

/*
 * WordPress nuluje spodní okraj posledního bloku (:last-child, specificita 0,2,0).
 * V Arku poslední odstavec / seznam své 10 px před patičkou má.
 */
body .basta-content > :is(p, ul, ol):last-child,
body .basta-content .wp-block-column > :is(p, ul, ol):last-child {
	margin-bottom: 10px;
}

/* Formulář WPForms v Arku dědil písmo Roboto Slab a zarovnání ze sekce „section-heading“. */
.basta-form {
	font-family: var(--wp--preset--font-family--roboto-slab);
	font-size: 14px;
	line-height: normal;
	text-align: center;
}

.basta-form label {
	text-align: left;
}

/* Widget Turnstile (iframe) bez mezery pod účařím. */
.basta-form .wpforms-turnstile > div {
	line-height: 0;
}

.basta-form li {
	color: var(--wp--preset--color--heading);
	font-weight: 300;
}

body .basta-content > .wp-block-accordion:last-child {
	margin-bottom: 30px;
}

body .basta-content > .wpforms-container:last-child {
	margin-bottom: 24px;
}

/* Nadpis „Slab“ (Ark fg-heading: Roboto Slab 700). */
.wp-block-heading.is-style-slab {
	font-family: var(--wp--preset--font-family--roboto-slab);
	font-weight: 700;
}

/* Nadpis „Zelený“ (Ark .nadpis: Roboto Slab 500, primární zelená). */
.wp-block-heading.is-style-green {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--roboto-slab);
	font-weight: 500;
}

/* Blok „Nadpis sekce“ v Arku (section-heading): nadpisy 13 px, odstavce 18 px, pod blokem 80 px. */
body .basta-section-heading {
	margin-bottom: 80px;
}

body .basta-section-heading > .wp-block-heading {
	margin-bottom: 13px;
}

body .basta-section-heading.basta-section-heading > p {
	margin-bottom: 18px;
	color: var(--wp--preset--color--heading);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.4;
}

/* Úvodní text stránky (Ark: odstavec bez <p>, pod ním 20 px, od 992 px 40 px). */
body .basta-content > p.basta-intro {
	margin-bottom: 0;
	padding-bottom: 20px;
}

@media (min-width: 992px) {
	body .basta-content > p.basta-intro {
		padding-bottom: 40px;
	}
}

/* Výzva tučně (Ark: odstavec font-weight bold, 1,3em z 14 px). */
body .basta-section-heading.basta-section-heading > p.basta-callout {
	color: var(--wp--preset--color--body);
	font-size: 18.2px;
	font-weight: 700;
	line-height: 1.4;
}

/* Seznam „Se zaškrtnutím“ (Ark .seznam-row: odsazení 32 px, 18 px, zelená fajfka). */
body .wp-block-list.is-style-checklist {
	padding: 32px;
	list-style: none;
}

.wp-block-list.is-style-checklist li {
	margin: 0 0 12px;
	color: var(--wp--preset--color--heading);
	font-size: 18px;
	font-weight: 300;
	line-height: 1.3;
}

.wp-block-list.is-style-checklist li::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 8px;
	vertical-align: -2px;
	background-color: var(--wp--preset--color--primary);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1792 1792'%3E%3Cpath d='M1671 566q0 40-28 68l-724 724-136 136q-28 28-68 28t-68-28l-136-136-362-362q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 295 656-657q28-28 68-28t68 28l136 136q28 28 28 68z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1792 1792'%3E%3Cpath d='M1671 566q0 40-28 68l-724 724-136 136q-28 28-68 28t-68-28l-136-136-362-362q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 295 656-657q28-28 68-28t68 28l136 136q28 28 28 68z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Seznamy „Se šipkou“ a „Bez odrážek“ (Ark: ffb_list .lists-base, ikona FontAwesome angle-right). */
body .wp-block-list:is(.is-style-arrow, .is-style-plain) {
	padding-left: 0;
	list-style: none;
}

.wp-block-list:is(.is-style-arrow, .is-style-plain) li {
	margin: 0 0 5px;
	color: var(--wp--preset--color--muted);
	font-size: 14px;
	font-weight: 300;
	line-height: 1.4286;
}

.wp-block-list.is-style-arrow li {
	position: relative;
	padding-left: 25px;
}

.wp-block-list.is-style-arrow li::before {
	content: "";
	position: absolute;
	top: 7px;
	left: 3px;
	width: 5px;
	height: 5px;
	border-top: 1px solid var(--wp--preset--color--primary);
	border-right: 1px solid var(--wp--preset--color--primary);
	transform: rotate(45deg);
}

/* Řádek přes šířku mřížky Bootstrapu (Ark .row: −15 px po stranách). */
body .basta-row-bleed {
	margin-inline: -15px;
}

/* Dlaždice s obrázkem (Ark: sloupec s pozadím, rámeček 4 px v barvě stránky, zaoblení 8 px). */
body .wp-block-cover.basta-card {
	min-height: 0;
	padding: 24px;
	border: 4px solid var(--wp--preset--color--background);
	border-radius: 8px;
	text-align: center;
}

body .wp-block-cover.basta-card .wp-block-cover__image-background,
body .wp-block-cover.basta-card .wp-block-cover__background {
	border-radius: 4px;
}

body .wp-block-cover.basta-card .wp-block-heading {
	margin-bottom: 32px;
	color: var(--wp--preset--color--heading);
	font-size: var(--wp--preset--font-size--card-title);
}

.wp-block-cover.basta-card .wp-block-heading a {
	color: inherit;
}

@media (min-width: 992px) {
	body .wp-block-cover.basta-card {
		padding: 32px;
	}

	body .wp-block-cover.basta-card .wp-block-heading {
		margin-bottom: 64px;
	}
}

/* Ikona plavce za textem tlačítka (vlastní font basta_icons). */
.wp-block-button.basta-icon-swimmer .wp-block-button__link::after {
	content: "\e906";
	margin-left: 10px;
	font-family: "basta_icons";
	font-weight: 400;
	line-height: 14px;
}

/* Ikony tlačítek: kalendář, šipka (basta_icons). */
.wp-block-button.basta-icon-calendar .wp-block-button__link::after,
.wp-block-button.basta-icon-chevron .wp-block-button__link::after {
	margin-left: 10px;
	font-family: "basta_icons";
	font-weight: 400;
	line-height: 14px;
}

.wp-block-button.basta-icon-calendar .wp-block-button__link::after {
	content: "\e901";
}

.wp-block-button.basta-icon-chevron .wp-block-button__link::after {
	content: "\e903";
}

/* Ikona dárku za textem tlačítka (třída basta-icon-gift u bloku Tlačítko). Ikona fa-gift
 * z Font Awesome Free 6 (licence CC BY 4.0, https://fontawesome.com/license/free) jako maska,
 * barva podle textu. V ::before s order: 1, protože ::after může mít odkaz obsazený
 * (např. roztažení odkazu přes celý banner). */
.wp-block-button.basta-icon-gift .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
}

.wp-block-button.basta-icon-gift .wp-block-button__link::before {
	content: "";
	order: 1;
	flex: 0 0 auto;
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M190.5 68.8L225.3 128H224 152c-22.1 0-40-17.9-40-40s17.9-40 40-40h2.2c14.9 0 28.8 7.9 36.3 20.8zM64 88c0 14.4 3.5 28 9.6 40H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H438.4c6.1-12 9.6-25.6 9.6-40c0-48.6-39.4-88-88-88h-2.2c-31.9 0-61.5 16.9-77.7 44.4L256 85.5l-24.1-41C215.7 16.9 186.1 0 154.2 0H152C103.4 0 64 39.4 64 88zm336 0c0 22.1-17.9 40-40 40H288h-1.3l34.8-59.2C329.1 55.9 342.9 48 357.8 48H360c22.1 0 40 17.9 40 40zM32 288V464c0 26.5 21.5 48 48 48H224V288H32zM288 512H432c26.5 0 48-21.5 48-48V288H288V512z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M190.5 68.8L225.3 128H224 152c-22.1 0-40-17.9-40-40s17.9-40 40-40h2.2c14.9 0 28.8 7.9 36.3 20.8zM64 88c0 14.4 3.5 28 9.6 40H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H438.4c6.1-12 9.6-25.6 9.6-40c0-48.6-39.4-88-88-88h-2.2c-31.9 0-61.5 16.9-77.7 44.4L256 85.5l-24.1-41C215.7 16.9 186.1 0 154.2 0H152C103.4 0 64 39.4 64 88zm336 0c0 22.1-17.9 40-40 40H288h-1.3l34.8-59.2C329.1 55.9 342.9 48 357.8 48H360c22.1 0 40 17.9 40 40zM32 288V464c0 26.5 21.5 48 48 48H224V288H32zM288 512H432c26.5 0 48-21.5 48-48V288H288V512z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Sloupce „Pod sebou pod 992 px“ (Ark: col-md-*). Core je skládá až pod 782 px. */
@media (max-width: 991px) {
	.wp-block-columns.is-style-stack-md {
		flex-wrap: wrap !important;
	}

	.wp-block-columns.is-style-stack-md > .wp-block-column {
		flex-basis: 100% !important;
	}
}

@media (min-width: 992px) {
	.wp-block-columns.is-style-stack-md {
		flex-wrap: nowrap !important;
	}

	.wp-block-columns.is-style-stack-md > .wp-block-column {
		flex-basis: 0 !important;
		flex-grow: 1;
	}
}

/*
 * Šířky sloupců podle mřížky Bootstrapu: (kontejner + 30) × n/12 − 30.
 * Třída basta-col-N na bloku Column, platí od 992 px (stack-md) nebo 768 px (ostatní).
 */
.basta-col-3 { --basta-cols: 3; }
.basta-col-4 { --basta-cols: 4; }
.basta-col-6 { --basta-cols: 6; }
.basta-col-8 { --basta-cols: 8; }
.basta-col-9 { --basta-cols: 9; }

@media (min-width: 992px) {
	.wp-block-columns.is-style-stack-md > .wp-block-column[class*="basta-col-"] {
		flex: 0 0 calc((100% + 30px) * var(--basta-cols) / 12 - 30px) !important;
	}
}

/* Úzký kontejner (Ark fg-container-small: 750 px od 992 px). */
@media (min-width: 992px) {
	body .basta-narrow {
		max-width: 750px;
		margin-inline: auto;
	}
}

/* Poměr stran 16 : 9 pro vložené mapy a videa (Ark embed-responsive). */
.basta-embed-16x9 {
	position: relative;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
}

.basta-embed-16x9 iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Obrázek „S odsazením“ (Ark fg-image s paddingem 10 px / 30 px). */
.wp-block-image.is-style-padded img {
	box-sizing: border-box;
	width: 100%;
	padding: 10px 30px;
}

/* --------------------------------------------------------------------------
 * Akordeon (Ark: accordion-v5 – bílé řádky, „+“ / „–“ vlevo, šedý panel)
 * ------------------------------------------------------------------------ */
body .wp-block-accordion {
	margin-bottom: 30px;
}

body .wp-block-accordion-heading {
	margin: 0;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--heading);
	font-family: var(--wp--preset--font-family--roboto);
	font-size: 15px;
	font-weight: 300;
	line-height: 21px;
}

.wp-block-accordion-heading__toggle {
	position: relative;
	padding: 15px 15px 15px 50px;
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
	text-decoration: none;
}

.wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
	position: absolute;
	top: 50%;
	left: 20px;
	width: auto;
	height: 30px;
	font-size: 24px;
	line-height: 30px;
	transform: translateY(-50%);
}

.wp-block-accordion-item.is-open > .wp-block-accordion-heading {
	color: var(--wp--preset--color--primary);
}

/* Otevřená položka: místo otočeného „+“ (core) pomlčka jako v Arku. */
.wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
	font-size: 0;
	transform: translateY(-50%);
}

.wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon::before {
	content: "\2013";
	font-size: 24px;
}

body .wp-block-accordion-panel {
	padding: 50px;
	background: var(--wp--preset--color--background);
	color: #5d5d5d;
	font-size: 15px;
	font-weight: 300;
	line-height: 1.4286;
}

body .wp-block-accordion-panel > p:last-child {
	margin-bottom: 0;
}

body .wp-block-accordion-panel p,
body .wp-block-accordion-panel li {
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}

/* Videa a mapy vložené v textu příspěvku na celou šířku 16 : 9 (Ark: FitVids na všechny iframy). */
.basta-post-box .basta-content iframe,
.basta-blog-card .basta-content iframe,
.basta-content iframe:is([src*="youtube.com"], [src*="youtube-nocookie.com"], [src*="vimeo.com"], [data-src*="youtube.com"], [data-src*="youtube-nocookie.com"], [data-src*="vimeo.com"]) {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

/* Líné načítání Smush dává iframu do načtení zástupnou velikost 100 × 100 (!important). */
.basta-post-box .basta-content iframe:is(.lazyload, .lazyloading),
.basta-blog-card .basta-content iframe:is(.lazyload, .lazyloading),
.basta-content iframe:is([data-src*="youtube.com"], [data-src*="youtube-nocookie.com"], [data-src*="vimeo.com"]):is(.lazyload, .lazyloading) {
	width: 100% !important;
	aspect-ratio: 16 / 9 !important;
}

/* Oddělovač v textu (Ark: hr 2 px šedá, okraje 20 px). */
body .wp-block-separator:not(.is-style-arrow) {
	margin: 20px 0;
	border-top: 2px solid;
	color: #808080;
	opacity: 1;
}

/* Detail příspěvku: sekce s odsazením 60 px a bílý box s 20 px (Ark blog single). */
body .basta-post-section {
	padding: 60px 0;
}

body .basta-post-box {
	padding: 20px;
	background: var(--wp--preset--color--white);
}

body .basta-post-box > .basta-breadcrumbs--small {
	margin: 0;
}

/* Seznamy v textu příspěvku (Ark ff-richtext: odsazení 20 px). */
body .basta-post-box .basta-content .wp-block-list,
body .basta-blog-card .basta-content .wp-block-list {
	padding-left: 20px;
}

/* ---------- Výpis příspěvků (Ark blog-masonry-1 + postranní panel) ---------- */
body .basta-blog {
	padding: 60px 0;
}

body .basta-blog-list .basta-blog-card {
	margin-bottom: 50px;
}

/* Ark: pod mřížkou příspěvků ještě 50 px (sečte se s okrajem poslední karty). */
body .basta-blog-list {
	padding-bottom: 50px;
}

body .basta-blog-card {
	background: var(--wp--preset--color--white);
	box-shadow: 0 2px 5px 3px #eff1f8;
}

body .basta-blog-card .wp-block-post-featured-image {
	margin: 0;
}

body .basta-blog-card .wp-block-post-featured-image img {
	display: block;
	width: 100%;
}

body .basta-blog-card__body {
	padding: 20px;
}

body .basta-blog-card .wp-block-post-title {
	margin: 0 0 15px;
	color: var(--wp--preset--color--heading);
	font-size: 24px;
	font-weight: 300;
	line-height: 1.4;
}

.basta-blog-card .wp-block-post-title a {
	color: inherit;
}

body .basta-blog-card__meta {
	padding: 20px;
	border-top: 1px solid #ebeef6;
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--roboto-slab);
	font-size: 12px;
	line-height: 20px;
}

.basta-blog-card__meta .wp-block-post-date {
	font-style: italic;
}

body .basta-blog-card__meta > * {
	display: inline;
	margin: 0;
	font-size: inherit;
}

.basta-blog-card__meta .wp-block-post-terms a {
	color: var(--wp--preset--color--primary);
	font-weight: 400;
}

/* Postranní panel */
body .basta-widget {
	margin-bottom: 30px;
	padding: 15px 20px 15px 15px;
	background: var(--wp--preset--color--white);
}

body .basta-widget .basta-widget__title {
	margin: -15px -20px 15px -15px;
	padding: 15px;
	border-bottom: 1px solid #ebeef6;
	font-size: 16px;
	font-weight: 300;
}

body .basta-widget .wp-block-search {
	margin: 15px 0 6px;
}

.basta-widget .wp-block-search__inside-wrapper {
	padding: 0;
	border: 1px solid #ebeef6;
	border-radius: 4px;
}

.basta-widget .wp-block-search__input {
	height: 38px;
	padding: 6px 12px;
	border: 0;
	color: var(--wp--preset--color--muted);
	font-size: 13px;
	font-weight: 300;
}

.basta-widget .wp-block-search__button {
	margin: 0;
	padding: 6px 12px;
	border: 0;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);
}

.basta-widget .wp-block-search__button svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

body .basta-widget .basta-widget__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.basta-widget .basta-widget__list li {
	position: relative;
	padding: 8px 0 0 15px;
	color: var(--wp--preset--color--heading);
	font-size: 14px;
	font-weight: 300;
	line-height: 20px;
}

.basta-widget .basta-widget__list li::before {
	content: "";
	position: absolute;
	top: 15px;
	left: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
}

.basta-widget .basta-widget__list a {
	color: inherit;
	font-weight: inherit;
}

@media (min-width: 992px) {
	body .basta-post-box > .basta-breadcrumbs--small {
		margin: 20px 0;
	}
}

/* Sekce s obsahem (Ark: fg-section s horním odsazením 30 px). */
.basta-section {
	padding-top: 30px;
}

/* Záhlaví stránek: zelený banner jako hero na úvodní stránce (home.css) – nadpis bílý
 * Roboto 700, drobečková navigace zlatá jako podnadpis hero, symbol Bašty vpravo
 * (pod 768 px nad textem). Symbol je pozadí pseudoprvku, cesta se bere z tématu. */
body .basta-hero {
	--basta-hero-bg: #2b5342;
	--basta-hero-gold: #b59553;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-block: 24px;
	padding: 24px 20px;
	border-radius: 14px;
	background-color: var(--basta-hero-bg);
	text-align: center;
}

/* Odsazení od hlavičky webu stejné jako hero na úvodní stránce: 24 px, od 992 px 44 px.
 * Zdvojená třída přebije :root :where(.is-layout-flow) > :first-child (margin 0). */
body .basta-hero.basta-hero {
	margin-top: 24px;
}

@media (min-width: 992px) {
	body .basta-hero.basta-hero {
		margin-top: 44px;
	}
}

/* Detail apartmánu končí tlačítkem Rezervovat – odsadit od patičky stejně jako záhlaví
 * od hlavičky (padding: okraj posledního bloku WordPress nuluje). */
body .basta-section > .wp-block-basta-apartman-reserve:last-child {
	padding-bottom: 24px;
}

@media (min-width: 992px) {
	body .basta-section > .wp-block-basta-apartman-reserve:last-child {
		padding-bottom: 44px;
	}
}

/* SVG má nad kresbou i pod ní ~8,5 % volného místa – nezapočítávat ho do výšky. */
.basta-hero::before {
	content: "";
	flex: 0 0 auto;
	width: 110px;
	aspect-ratio: 1;
	margin-block: -9px;
	background: url("../images/basta-symbol.svg") center / contain no-repeat;
}

body .basta-hero .basta-hero__text {
	margin: 0;
}

body .basta-hero .wp-block-post-title,
body .basta-hero h1 {
	/* Ark dlouhá slova nedělí (core Post Title má word-break: break-word). */
	word-break: normal;
	overflow-wrap: normal;
	margin: 0 0 10px;
	color: #fff;
	font-family: var(--wp--preset--font-family--roboto);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
}

.basta-hero .basta-breadcrumbs--large {
	color: var(--basta-hero-gold);
	font-family: var(--wp--preset--font-family--roboto);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.basta-hero .basta-breadcrumbs a {
	text-decoration: none;
}

.basta-hero .basta-breadcrumbs a:hover,
.basta-hero .basta-breadcrumbs a:focus-visible {
	color: #fff;
}

/* Aktuální stránka je podtržená. */
.basta-hero .basta-breadcrumbs [aria-current="page"] {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

@media (min-width: 768px) {
	body .basta-hero {
		flex-direction: row-reverse;
		justify-content: space-between;
		gap: 32px;
		padding: 32px 40px;
		text-align: left;
	}

	.basta-hero::before {
		width: 150px;
		margin-block: -13px;
	}

	body .basta-hero .wp-block-post-title,
	body .basta-hero h1 {
		font-size: 36px;
	}

	.basta-hero .basta-breadcrumbs--large {
		font-size: 16px;
	}
}

@media (min-width: 992px) {
	body .basta-hero {
		gap: 48px;
		margin-block: 40px;
		padding: 36px 80px 36px 56px;
	}

	.basta-hero::before {
		width: 200px;
		margin-block: -17px;
	}

	body .basta-hero .wp-block-post-title,
	body .basta-hero h1 {
		margin-bottom: 16px;
		font-size: 48px;
		line-height: 1.22;
	}

	.basta-hero .basta-breadcrumbs--large {
		font-size: 18px;
		letter-spacing: 0.01em;
	}
}

/* Nadpis sekce bezpatkovým písmem (Ark: Roboto 700, 32 px / 24 px). */
body .basta-heading-sans.wp-block-heading {
	margin: 0 0 15px;
}

.basta-heading-sans.wp-block-heading {
	font-family: var(--wp--preset--font-family--roboto);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

@media (min-width: 768px) {
	.basta-heading-sans.wp-block-heading {
		text-align: left;
	}
}

@media (min-width: 992px) {
	.basta-heading-sans.wp-block-heading {
		font-size: 32px;
	}
}

/* Tlačítka zarovnaná na střed */
.wp-block-buttons.basta-buttons-center {
	display: flex;
	justify-content: center;
}

/* Jednotný styl všech textových tlačítek webu: zaoblení 8 px, Roboto Slab, popisky
 * normálně (ne verzálkami, např. „Objednat“) – tlačítka bloků,
 * odeslání formulářů WPForms, „Číst více“, karty apartmánů i lišta cookies. !important přebije
 * zaoblení zapsané přímo v obsahu stránek (inline styl bloku) a styly pluginů. Ikonová tlačítka
 * (lupa vyhledávání, šipky a tečky karuselu) se nemění. */
body :is(.wp-block-button__link, .wpforms-submit, .basta-latest-posts__button, .basta-apartman-card__button, .cli-plugin-button) {
	border-radius: 8px !important;
	font-family: var(--wp--preset--font-family--roboto-slab) !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

/* Tlačítka: výchozí = Ark btn-base-md (theme.json), Malé = btn-base-sm. */
.wp-block-button .wp-block-button__link {
	display: inline-block;
	transition: background-color 0.3s, color 0.3s;
}

.wp-block-button.is-style-small .wp-block-button__link {
	padding: 9px 22px;
	font-size: 14px;
	line-height: 20.6px;
}

/* Velké tlačítko (Ark: btn-base-lg, zlaté → zelené při najetí). */
.wp-block-button.is-style-large .wp-block-button__link {
	display: inline-block;
	padding: 15px 30px;
	border: 1px solid transparent;
	border-radius: 10px;
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--roboto-slab);
	font-size: 20px;
	font-weight: 700;
	line-height: 29px;
	transition: background-color 0.3s;
}

.wp-block-button.is-style-large .wp-block-button__link:hover,
.wp-block-button.is-style-large .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
}

/* Oddělovač se šipkou (Ark: divider-v1 s ikonou „sort-desc“). */
body .wp-block-separator.is-style-arrow {
	position: relative;
	height: 34px;
	margin: 30px 0;
	border: 0;
	background: none;
	opacity: 1;
	overflow: visible;
}

.wp-block-separator.is-style-arrow::before {
	content: "";
	position: absolute;
	top: 17px;
	left: 0;
	right: 0;
	border-top: 1px solid #c4c4c4;
	-webkit-mask: linear-gradient(to right, #000 calc(50% - 24px), transparent calc(50% - 24px), transparent calc(50% + 24px), #000 calc(50% + 24px));
	mask: linear-gradient(to right, #000 calc(50% - 24px), transparent calc(50% - 24px), transparent calc(50% + 24px), #000 calc(50% + 24px));
}

.wp-block-separator.is-style-arrow::after {
	content: "";
	position: absolute;
	top: 13px;
	left: 50%;
	border-top: 9px solid var(--wp--preset--color--primary);
	border-right: 8.5px solid transparent;
	border-left: 8.5px solid transparent;
	transform: translateX(-50%);
}

/* Apartmán: mezera před druhým nadpisem (Ark: 20 px). */
body .basta-apartman-features + .basta-heading-sans {
	margin-top: 20px;
}

/*
 * Ark má nad seznamem vybavení (prázdný) nadpis H4 s okrajem 15 px uvnitř flex prvku,
 * takže okraje nesplývají s okolím – flow-root dělá totéž. Bez nadpisu doplníme 15 px.
 */
.basta-apartman-features {
	display: flow-root;
}

.basta-apartman-features:has(> ul:first-child) {
	padding-top: 15px;
}

/* Ark: sekce s místnostmi končí odsazením 30 px. */
body .basta-apartman-rooms {
	margin-bottom: 30px;
}

/* --------------------------------------------------------------------------
 * Patička
 * ------------------------------------------------------------------------ */
/* Obrázek na pozadí nastavuje blok (style.background), tady je jen překryv.
 * Od 992 px parallax jako v Arku: pevné pozadí, velikost a polohu dopočítává header.js. */
.basta-footer {
	position: relative;
	padding: 24px 15px;
	color: var(--wp--preset--color--light);
	background-color: var(--wp--preset--color--heading);
	isolation: isolate;
}

.basta-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(52, 52, 60, 0.85);
}

@media (min-width: 992px) {
	.basta-footer {
		padding: 40px 15px;
		background-attachment: fixed;
	}
}

.basta-footer__inner {
	max-width: var(--basta-content-size);
	margin-inline: auto;
}

.basta-footer__row {
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 30px;
}

@media (min-width: 768px) {
	.basta-footer__row--4 {
		grid-template-columns: repeat(4, 1fr);
	}

	.basta-footer__row--2 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 992px) {
	/* Bootstrap: col-md-3 + col-md-3 col-md-offset-6 */
	.basta-footer__row--2 {
		grid-template-columns: repeat(4, 1fr);
	}

	.basta-footer__row--2 > :last-child {
		grid-column: 4;
	}
}

.basta-footer__row--4 {
	padding-bottom: 24px;
}

@media (min-width: 992px) {
	.basta-footer__row--4 {
		padding-bottom: 32px;
	}
}

.basta-footer .basta-footer__col h3 {
	margin: 0 0 25px;
	color: var(--wp--preset--color--secondary);
	font-family: var(--wp--preset--font-family--roboto-slab);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
}

/* Specificita (0,2,1) přebíjí :root :where(.is-layout-flow) > :last-child. */
.basta-footer .basta-footer__col > ul {
	margin: 0 0 10px;
	padding: 0 0 30px;
	list-style: none;
}

@media (min-width: 992px) {
	.basta-footer .basta-footer__col > ul {
		padding-bottom: 0;
	}
}

/* Kompaktní seznam (adresa): bez odsazení pod seznamem a pod položkou. */
.basta-footer .basta-footer__col > .basta-list-compact {
	padding-bottom: 0;
}

.basta-footer .basta-list-compact li {
	margin-bottom: 0;
}

/* Barva textu jako u odkazů (Ark tu měl nečitelnou #606060). */
.basta-footer li {
	margin: 0 0 10px;
	color: var(--wp--preset--color--light);
	font-size: 15px;
	font-weight: 300;
	line-height: 26px;
}

.basta-footer li p {
	margin: 0;
	line-height: inherit;
}

.basta-footer a {
	color: var(--wp--preset--color--light);
	font-weight: inherit;
}

.basta-footer a:hover {
	color: var(--wp--preset--color--secondary);
}

/* Seznam se šipkami (Další odkazy) */
.basta-footer .basta-list-arrow li {
	position: relative;
	padding-left: 25px;
}

.basta-footer .basta-list-arrow li::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 5px;
	width: 5px;
	height: 5px;
	border-top: 1px solid var(--wp--preset--color--accent);
	border-right: 1px solid var(--wp--preset--color--accent);
	transform: rotate(45deg);
}

/* Sociální sítě (core/social-links, styl "jen loga") */
.basta-footer .basta-footer__col .basta-social {
	gap: 10px;
	margin: 0 0 20px;
	padding: 0 0 0 5px;
}

@media (min-width: 992px) {
	.basta-footer .basta-footer__col .basta-social {
		margin-bottom: -10px;
	}
}

.basta-footer .basta-social .wp-social-link {
	margin: 0 0 5px;
	padding: 0;
	line-height: 1;
	color: rgba(0, 0, 0, 0.8);
	background: none;
}

.basta-footer .basta-social .wp-block-social-link-anchor {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	padding: 0;
	border-radius: 6px;
	color: rgba(0, 0, 0, 0.8);
	background: var(--wp--preset--color--white);
}

.basta-footer .basta-social svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

/* Copyright */
.basta-copyright {
	padding: 10px 15px 20px;
	text-align: center;
}

@media (min-width: 992px) {
	.basta-copyright {
		padding: 30px 15px 40px;
	}
}

.basta-copyright > p:last-child {
	max-width: var(--basta-content-size);
	margin: 0 auto 10px;
	color: var(--wp--preset--color--heading);
	font-size: 15px;
	font-weight: 300;
	line-height: 21px;
}

.basta-copyright a {
	font-weight: 400;
	cursor: pointer;
}

/* --------------------------------------------------------------------------
 * Stránka 404 (Ark: celá obrazovka zelená, bez hlavičky a patičky)
 * ------------------------------------------------------------------------ */
body .basta-404 {
	box-sizing: border-box;
	min-height: 100vh;
	padding: 110px 15px 150px;
	background: var(--wp--preset--color--primary);
	text-align: center;
}

body .basta-404 > * {
	max-width: 750px;
	margin-right: auto;
	margin-left: auto;
}

body .basta-404 .basta-404__title {
	margin-bottom: 15px;
	color: var(--wp--preset--color--secondary);
	font-family: var(--wp--preset--font-family--roboto-slab);
	font-size: 70px;
	font-weight: 700;
	line-height: 98px;
}

.basta-404__code {
	font-size: 40px;
	line-height: 1.4;
}

body .basta-404 .basta-404__lead,
body .basta-404 .basta-404__text {
	margin-bottom: 50px;
	font-size: 18px;
	line-height: 1.4;
}

body .basta-404 .basta-404__lead {
	color: var(--wp--preset--color--white);
	font-weight: 700;
}

body .basta-404 .basta-404__text {
	color: var(--wp--preset--color--secondary);
	font-weight: 300;
}

@media (min-width: 768px) {
	.basta-404__code {
		font-size: 48px;
	}
}

@media (min-width: 992px) {
	body .basta-404 {
		padding-top: 270px;
	}

	body .basta-404 .basta-404__title {
		font-size: 120px;
		line-height: 168px;
	}

	.basta-404__code {
		font-size: inherit;
		line-height: inherit;
	}

	body .basta-404 .basta-404__lead,
	body .basta-404 .basta-404__text {
		font-size: 24px;
	}
}

/* Tlačítko „nahoru“ */
.basta-back-to-top {
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 9;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	color: #fff;
	background: var(--wp--preset--color--primary);
	border-radius: 3px;
	visibility: hidden;
	opacity: 0;
	transform: translate3d(0, 50px, 0);
	transition: all 0.3s cubic-bezier(0.7, 1, 0.7, 1);
}

.basta-back-to-top.is-visible {
	visibility: visible;
	opacity: 0.6;
	transform: translate3d(0, 0, 0);
}

.basta-back-to-top.is-faded {
	opacity: 0.4;
}

.basta-back-to-top.is-visible:hover,
.basta-back-to-top.is-visible:focus-visible {
	color: #fff;
	opacity: 1;
}
