.hb-editorial {
	max-width: 1140px;
	margin: 0 auto;
	color: #132019;
}

.hb-editorial-hero {
	padding: clamp(2rem, 6vw, 5rem) clamp(1.25rem, 7vw, 6rem);
	background: #f1ede4;
}

.hb-editorial-hero h1 {
	max-width: 900px;
	margin: .35rem 0 1rem;
	font-family: Georgia, serif;
	font-size: clamp(2.6rem, 6vw, 5rem);
	line-height: .98;
}

.hb-editorial-hero > p {
	max-width: 760px;
	font-size: 1.12rem;
}

.hb-editorial .hb-eyebrow {
	display: block;
	color: #526b5d;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.hb-editorial-featured,
.hb-editorial-body,
.hb-ferry-facts,
.hb-ferry-journey,
.hb-editorial-action,
.hb-editorial-related {
	max-width: 880px;
	margin-left: auto;
	margin-right: auto;
}

.hb-editorial-featured {
	margin-top: 3rem;
}

.hb-editorial-featured img {
	display: block;
	width: 100%;
	height: auto;
}

.hb-editorial-body {
	padding: 2.5rem 1.25rem;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1rem;
	line-height: 1.65;
}

.hb-editorial-body h2,
.hb-editorial-body h3 {
	color: #132019;
	font-family: Georgia, 'Times New Roman', serif;
	line-height: 1.08;
}

.hb-editorial-body h2 {
	font-size: clamp(2rem, 4vw, 3rem);
}

.hb-editorial-body .wp-block-media-text {
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
}

.hb-editorial-body .wp-block-media-text__content {
	padding: 0;
}

.hb-editorial-body p {
	margin-top: 0;
	margin-bottom: 1.25rem;
}

.hb-ferry-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .75rem;
	padding: 4rem 1.25rem 1.5rem;
}

.hb-ferry-facts > div {
	padding: 1.35rem;
	border-top: 3px solid #e9a135;
	background: #f1ede4;
}

.hb-ferry-facts small,
.hb-ferry-facts strong {
	display: block;
}

.hb-ferry-facts strong {
	margin-top: .5rem;
	font-family: Georgia, serif;
	font-size: 1.35rem;
	line-height: 1.05;
}

.hb-ferry-journey {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(150px, .65fr) minmax(0, 1fr);
	gap: 1.5rem;
	align-items: start;
	padding: 2rem 1.25rem 2.5rem;
	border-top: 1px solid #d9d0bf;
	border-bottom: 1px solid #d9d0bf;
}

.hb-ferry-journey h2 {
	font-family: Georgia, serif;
	font-size: 1.55rem;
}

.hb-ferry-journey__crossing {
	text-align: center;
	color: #526b5d;
}

.hb-ferry-journey__crossing > span {
	color: #e9a135;
	font-size: 1.8rem;
	font-weight: 700;
}

.hb-editorial-action {
	margin-top: 2rem;
	margin-bottom: 2rem;
	padding: 2rem;
	border-left: 4px solid #e9a135;
	background: #f1ede4;
}

.hb-editorial-action a,
.hb-editorial-related a {
	color: #123f32;
	font-weight: 700;
	text-decoration-color: #e9a135;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.hb-editorial-related {
	padding: 0 1.25rem 3rem;
	font-weight: 700;
}

.hb-affiliate-note {
	font-size: .84rem;
}

/* Automatisch erzeugte Reiseziel-Seiten */
.hb-destination-generated .hb-country-hero .hb-page-intro-inner > h1,
.hb-destination-generated .hb-country-hero .hb-page-intro-inner > p,
.hb-recommendations-generated .hb-page-intro-inner > h1,
.hb-recommendations-generated .hb-page-intro-inner > p {
	width: 100%;
	max-width: none;
}

.hb-destination-generated .hb-country-content {
	display: grid;
	gap: 4.4rem;
	width: min(1090px, calc(100% - 2.5rem));
	max-width: 1090px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 0;
	padding-left: 0;
}

.hb-destination-generated .hb-country-intro {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(260px, .75fr);
	gap: 2.6rem;
	align-items: start;
}

.hb-destination-generated .hb-country-intro h2,
.hb-destination-generated .hb-country-section h2,
.hb-destination-generated .hb-country-closing h2 {
	margin: .5rem 0 1rem;
	font-family: Georgia, serif;
	font-size: clamp(2.15rem, 4vw, 3.25rem);
	line-height: 1.04;
}

.hb-destination-generated .hb-country-title {
	display: flex;
	gap: 1.25rem;
	align-items: center;
}

.hb-country-flag-large {
	position: relative;
	display: inline-block;
	width: 76px;
	height: 46px;
	flex: 0 0 auto;
	overflow: hidden;
	border-radius: 4px 12px 4px 12px;
	box-shadow: 0 7px 18px rgba(23, 32, 25, .08);
	transform: skewY(-4deg);
}

.hb-country-flag-large--se {
	background: rgba(44, 115, 156, .64);
}

.hb-country-flag-large--se::before {
	content: "";
	position: absolute;
	top: 20px;
	left: 0;
	width: 100%;
	height: 7px;
	background: rgba(224, 184, 62, .75);
}

.hb-country-flag-large--se::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 25px;
	width: 7px;
	background: rgba(224, 184, 62, .75);
}

.hb-destination-generated .hb-country-intro aside {
	padding: 1.6rem;
	border-top: 3px solid #e9a135;
	background: #f1ede4;
}

.hb-destination-generated .hb-country-intro aside strong {
	display: block;
	margin-bottom: .5rem;
	font-family: Georgia, serif;
	font-size: 1.5rem;
}

.hb-destination-generated .hb-country-intro aside p {
	margin: 0;
}

.hb-destination-generated .hb-country-jump {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
	gap: .75rem;
}

.hb-destination-generated .hb-country-jump a {
	display: grid;
	min-width: 0;
	padding: 1.25rem;
	border: 1px solid #d9d0bf;
	border-bottom: 3px solid #e9a135;
	background: #fff;
	color: #172019;
	text-decoration: none;
}

.hb-destination-generated .hb-country-jump a:hover,
.hb-destination-generated .hb-country-jump a:focus-visible {
	background: #f1ede4;
	color: #172019;
	outline: 2px solid #123f32;
}

.hb-destination-generated .hb-country-jump span,
.hb-destination-generated .hb-eyebrow {
	color: #526b5d;
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.hb-destination-generated .hb-country-jump strong {
	margin: .4rem 0;
	font-family: Georgia, serif;
	font-size: 1.5rem;
}

.hb-destination-generated .hb-country-section {
	scroll-margin-top: 2.5rem;
}

.hb-destination-generated .hb-country-section > header {
	width: 100%;
	max-width: none;
	margin-bottom: 1.75rem;
}

.hb-destination-generated .hb-country-section--tint {
	padding: 2.6rem;
	border-top: 3px solid #e9a135;
	background: #f1ede4;
}

.hb-destination-generated .hb-country-cards,
.hb-destination-generated .hb-country-region-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.1rem;
}

.hb-destination-generated .hb-country-fact-row,
.hb-destination-generated .hb-country-next-grid,
.hb-destination-generated .hb-country-access-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.1rem;
}

.hb-destination-generated .hb-country-cards article,
.hb-destination-generated .hb-country-region-grid article,
.hb-destination-generated .hb-country-fact-row article {
	min-width: 0;
	padding: 1.6rem;
	border: 1px solid #d9d0bf;
	background: #fff;
}

.hb-destination-generated .hb-country-cards h3,
.hb-destination-generated .hb-country-region-grid h3,
.hb-destination-generated .hb-country-fact-row h3 {
	margin: 0 0 .75rem;
	font-family: Georgia, serif;
	font-size: 1.7rem;
	line-height: 1.12;
}

.hb-destination-generated .hb-country-cards p,
.hb-destination-generated .hb-country-region-grid p,
.hb-destination-generated .hb-country-fact-row p {
	margin: 0;
}

.hb-destination-generated .hb-country-stay-card {
	display: flex;
	min-height: 100%;
	flex-direction: column;
	box-sizing: border-box;
}

.hb-destination-generated .hb-country-stay-action {
	margin-top: auto;
	padding-top: 1.5rem;
}

.hb-destination-generated .hb-country-stay-action .hb-button {
	display: flex;
	width: 100%;
	margin-top: 0;
	box-sizing: border-box;
	align-items: center;
	justify-content: space-between;
}

.hb-destination-generated .hb-country-stay-affiliate-note {
	margin: 1rem 0 0;
	padding: .9rem 1rem;
	border-left: 3px solid #e9a135;
	background: #f1ede4;
	font-size: .92rem;
}

.hb-destination-generated .hb-country-card-action {
	display: flex;
	min-height: 100%;
	flex-direction: column;
	box-sizing: border-box;
	border-top: 4px solid #e9a135 !important;
}

.hb-destination-generated .hb-country-card-action .hb-button {
	display: flex;
	width: 100%;
	margin-top: auto;
	box-sizing: border-box;
	align-items: center;
	justify-content: space-between;
}

.hb-destination-generated .hb-country-cost-action {
	margin-top: 1.5rem;
}

.hb-destination-generated .hb-country-cost-action .hb-button {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
}

.hb-destination-generated .hb-button {
	display: inline-block;
	margin-top: 1.25rem;
	padding: .8rem 1rem;
	background: #123f32;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

.hb-destination-generated .hb-country-source {
	margin: 1.4rem 0 0;
	color: #526b5d;
	font-size: .88rem;
}

.hb-destination-generated .hb-country-region-grid article > span,
.hb-destination-generated .hb-country-next-grid article > span {
	display: block;
	margin-bottom: .5rem;
	color: #526b5d;
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.hb-destination-generated .hb-country-image {
	min-width: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid #d9d0bf;
	background: #fff;
}

.hb-destination-generated .hb-country-image img {
	display: block;
	width: 100%;
	height: auto;
	max-height: none;
}

.hb-destination-generated .hb-country-image--hero figcaption {
	display: flex;
	gap: .45rem 1rem;
	align-items: center;
	flex-wrap: wrap;
	min-height: 0;
	margin: 0;
	padding: 1rem;
	color: #526b5d;
	font-size: .88rem;
	line-height: 1.45;
}

.hb-destination-generated .hb-country-image--hero img {
	margin: 0;
	width: 100%;
	height: auto;
	object-fit: contain;
}

/* Override theme figure spacing around the wide destination image. */
.hb-destination-generated figure.hb-country-image.hb-country-image--hero {
	display: block !important;
	gap: 0 !important;
	grid-template-rows: none !important;
	align-items: initial !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0;
}

.hb-destination-generated figure.hb-country-image.hb-country-image--hero > img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	aspect-ratio: auto !important;
	object-fit: initial !important;
	object-position: initial !important;
	vertical-align: top !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.hb-destination-generated figure.hb-country-image.hb-country-image--hero > figcaption {
	display: flex !important;
	align-items: center !important;
	align-content: center !important;
	justify-content: flex-start;
	flex: 0 0 auto !important;
	box-sizing: border-box;
	gap: .45rem 1rem;
	flex-wrap: wrap;
	width: auto !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: .85rem 1rem !important;
	line-height: 1.45;
}

.hb-back-to-top {
	position: fixed;
	z-index: 50;
	right: clamp(18px, 3vw, 42px);
	bottom: clamp(18px, 3vw, 42px);
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--hb-forest, #17351f);
	color: #fff;
	box-shadow: 0 10px 28px rgba(0, 0, 0, .24);
	font: 700 25px/1 Arial, sans-serif;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity .2s, visibility .2s, transform .2s, background .2s;
}

.hb-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.hb-back-to-top:hover,
.hb-back-to-top:focus-visible {
	background: #0e3025;
	outline: 3px solid rgba(230, 165, 69, .65);
	outline-offset: 3px;
}

.hb-destination-generated .hb-country-image--personal {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
	align-items: stretch;
	background: #f1ede4;
}

.hb-destination-generated .hb-country-image--personal img {
	width: 100%;
	height: 100%;
	min-height: 360px;
	max-height: 560px;
	object-fit: cover;
	object-position: center;
}

.hb-destination-generated .hb-country-image--personal figcaption {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	justify-content: center;
	gap: .75rem;
	padding: 1.75rem;
	border-left: 3px solid #e9a135;
	color: #526b5d;
}

.hb-destination-generated .hb-country-image--personal figcaption p {
	margin: 0;
}

.hb-destination-generated .hb-country-caption-title {
	color: #172019;
	font-family: Georgia, serif;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.08;
}

.hb-destination-generated .hb-country-access {
	margin-top: 1.75rem;
	padding: 2.25rem;
	border-top: 4px solid #e9a135;
	background: #f1ede4;
}

.hb-destination-generated .hb-country-stay-images {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.1rem;
	margin-top: 1.75rem;
}

.hb-destination-generated .hb-country-region-images {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 0;
}

.hb-destination-generated .hb-country-region-images figure {
	border-top: 0;
}

.hb-destination-generated .hb-country-stay-images figure {
	display: grid;
	grid-template-rows: auto 1fr;
	min-width: 0;
	margin: 0;
	border: 1px solid #d9d0bf;
	background: #f1ede4;
}

.hb-destination-generated .hb-country-stay-images img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.hb-destination-generated .hb-country-stay-images figcaption {
	padding: 1.4rem;
}

.hb-destination-generated .hb-country-stay-images figcaption strong {
	display: block;
	margin-bottom: .6rem;
	font-family: Georgia, serif;
	font-size: 1.45rem;
	line-height: 1.1;
}

.hb-destination-generated .hb-country-stay-images figcaption p {
	margin: 0;
}

.hb-destination-generated .hb-country-access h3 {
	margin: .5rem 0 1rem;
	font-family: Georgia, serif;
	font-size: clamp(1.9rem, 3.5vw, 2.75rem);
}

.hb-destination-generated .hb-country-access-grid article {
	padding: 1.5rem;
	border: 1px solid #d9d0bf;
	background: #fff;
}

.hb-destination-generated .hb-country-experience {
	margin: 1.4rem 0 0;
	padding: 1.4rem 1.5rem;
	border-left: 4px solid #e9a135;
	background: #fff;
}

.hb-destination-generated .hb-country-next-grid {
	margin-top: 1.75rem;
}

.hb-destination-generated .hb-country-region-grid article:has(> .hb-country-region-copy) {
	padding: 0;
	overflow: hidden;
	background: #fff;
}

.hb-destination-generated .hb-country-region-grid figure {
	margin: 0;
}

.hb-destination-generated .hb-country-region-grid figure img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.hb-destination-generated .hb-country-region-grid figure figcaption {
	padding: .55rem 1.4rem 0;
	color: #526b5d;
	font-size: .8rem;
}

.hb-destination-generated .hb-country-region-copy {
	padding: 1.6rem;
}

.hb-destination-generated .hb-country-region-copy > span {
	display: block;
	margin-bottom: .5rem;
	color: #526b5d;
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.hb-destination-generated .hb-country-next-grid article {
	padding: 1.75rem;
	border-top: 4px solid #e9a135;
	background: #f1ede4;
}

.hb-destination-generated .hb-country-next-grid h3 {
	margin: .5rem 0 .75rem;
	font-family: Georgia, serif;
	font-size: 1.75rem;
}

.hb-destination-generated .hb-country-closing {
	padding: 3rem;
	border-top: 4px solid #e9a135;
	background: #f1ede4;
	color: #172019;
}

.hb-destination-generated .hb-country-closing > h2,
.hb-destination-generated .hb-country-closing > p,
.hb-destination-generated .hb-travel-currency-notice > p {
	width: 100%;
	max-width: none;
}

.hb-destination-generated .hb-country-closing > strong {
	display: block;
	margin-top: 1.5rem;
	color: #123f32;
	font-family: Georgia, serif;
	font-size: clamp(1.75rem, 4vw, 2.6rem);
}

/* Optionale Vorschau persönlicher Empfehlungen auf einer Reisezielseite. */
.hb-destination-recommendation-teaser {
	display: grid;
	grid-template-columns: minmax(280px, .9fr) minmax(0, 1.35fr);
	gap: 2rem;
	align-items: center;
	padding: 2.25rem;
	border: 1px solid #d9d0bf;
	border-top: 4px solid #e9a135;
	background: #fff;
}

.hb-destination-recommendation-teaser h2 {
	margin: .5rem 0 1rem;
	font-family: Georgia, serif;
	font-size: clamp(2rem, 3.5vw, 2.8rem);
	line-height: 1.06;
}

.hb-destination-recommendation-teaser p {
	margin: 0 0 1rem;
}

.hb-destination-recommendation-teaser a,
.hb-recommendation-link a,
.hb-recommendations-back a {
	color: #123f32;
	font-weight: 800;
	text-decoration-color: #e9a135;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.hb-destination-recommendation-cta {
	display: inline-block;
	padding: .8rem 1rem;
	background: #123f32;
	border-bottom: 4px solid #e89a2f;
	color: #fffdf8 !important;
	text-decoration: none;
}

.hb-destination-recommendation-cta:hover,
.hb-destination-recommendation-cta:focus,
.hb-destination-recommendation-cta:active,
.hb-destination-recommendation-cta:visited {
	color: #fffdf8 !important;
}

.hb-destination-recommendation-cta:hover,
.hb-destination-recommendation-cta:focus-visible {
	background: #123f32;
}

.hb-destination-recommendation-cta:focus-visible,
.hb-destination-recommendation-images:focus-visible {
	outline: 3px solid #d85c18;
	outline-offset: 4px;
}

.hb-destination-recommendation-images {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .65rem;
	text-decoration: none;
}

.hb-destination-recommendation-images img {
	display: block;
	width: 100%;
	height: 230px;
	object-fit: cover;
	transition: filter .18s ease, transform .18s ease;
}

.hb-destination-recommendation-images:hover img,
.hb-destination-recommendation-images:focus-visible img {
	filter: brightness(.82);
	transform: translateY(-2px);
}

/* Eigenständige, für jedes Reiseziel wiederverwendbare Empfehlungsseite. */
.hb-recommendations-content {
	width: 100%;
	max-width: none;
}

.hb-recommendations-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
	width: 100%;
	max-width: 1090px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 0;
	padding-left: 0;
}

.hb-recommendation-card {
	--hb-recommendation-padding: clamp(1.5rem, 3.5vw, 2.5rem);
	min-width: 0;
	overflow: hidden;
	border: 1px solid #d9d0bf;
	background: #fff;
}

.hb-recommendation-card--with-image {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	align-items: start;
}

.hb-recommendation-card figure {
	margin: var(--hb-recommendation-padding) 0 0;
}

.hb-recommendation-card--with-image:nth-child(even) figure {
	grid-column: 2;
	grid-row: 1;
}

.hb-recommendation-card--with-image:nth-child(even) > div {
	grid-column: 1;
	grid-row: 1;
}

.hb-recommendation-card figure img {
	display: block;
	width: 100%;
	height: auto;
}

.hb-recommendation-card > div {
	padding: var(--hb-recommendation-padding);
}

.hb-recommendation-card h2 {
	margin: 0 0 .8rem;
	font-family: Georgia, serif;
	font-size: 1.75rem;
	line-height: 1.08;
}

.hb-recommendation-card p {
	margin-top: 0;
}

.hb-recommendation-season {
	margin: 1.2rem 0 0;
	color: #526b5d;
}

.hb-recommendation-season span {
	display: block;
	margin-bottom: .2rem;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.hb-recommendation-collection {
	width: 100%;
	max-width: 1090px;
	margin: clamp(3rem, 7vw, 5rem) auto 0;
	padding-top: clamp(2rem, 4vw, 3rem);
	border-top: 4px solid #e9a135;
}

.hb-recommendation-collection > header {
	width: 100%;
	max-width: none;
	margin-bottom: 1.5rem;
}

.hb-recommendation-collection > header > p {
	width: 100%;
	max-width: none;
}

.hb-recommendation-collection h2 {
	margin: .5rem 0 1rem;
	font-family: Georgia, Cambria, "Times New Roman", serif;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.08;
}

.hb-external-embed {
	min-height: 420px;
	border: 1px solid #c9c1b1;
	background: #18261d;
}

.hb-external-embed-placeholder {
	display: flex;
	min-height: 420px;
	padding: clamp(2rem, 6vw, 4.5rem);
	box-sizing: border-box;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	background: linear-gradient(120deg, rgba(24, 38, 29, .98), rgba(41, 76, 43, .9));
	color: #fffdf8;
}

.hb-external-embed-placeholder > strong {
	font-family: Georgia, Cambria, "Times New Roman", serif;
	font-size: clamp(1.7rem, 3.5vw, 2.6rem);
}

.hb-external-embed-placeholder > p {
	max-width: 68ch;
	margin: 1rem 0 1.5rem;
}

.hb-external-embed-load {
	margin: 0 0 1rem;
	padding: .9rem 1.2rem;
	border: 0;
	background: #d85c18;
	color: #fff;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.hb-external-embed-load:hover,
.hb-external-embed-load:focus-visible {
	background: #f0782e;
}

.hb-external-embed-load:focus-visible {
	outline: 3px solid #fffdf8;
	outline-offset: 4px;
}

.hb-external-embed-placeholder a,
.hb-external-embed-placeholder a:visited,
.hb-external-embed-placeholder a:hover,
.hb-external-embed-placeholder a:focus {
	color: #fffdf8;
	font-weight: 700;
}

.hb-external-embed.is-loaded {
	min-height: 580px;
	background: #fff;
}

.hb-external-embed > iframe {
	display: block;
	width: 100%;
	height: 580px;
	border: 0;
}

.hb-komoot-embed-frame,
.hb-komoot-embed-frame > * {
	width: 100%;
	max-width: none;
}

.hb-komoot-embed-frame {
	position: relative;
	overflow: hidden;
}

.hb-komoot-embed-frame:has(iframe),
.hb-komoot-embed-frame:has(iframe) > * {
	min-height: 620px;
}

.hb-komoot-embed-frame iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 620px !important;
	min-height: 620px;
	border: 0;
}

.hb-komoot-direct-link {
	margin: 1rem 0 0;
}

.hb-komoot-direct-link a {
	color: #123f32;
	font-weight: 800;
}

.hb-recommendations-back {
	width: 100%;
	max-width: 1090px;
	margin: 2.5rem auto 0;
}

@media (max-width: 900px) {
	.hb-recommendation-card--with-image {
		grid-template-columns: minmax(0, 1fr);
	}

	.hb-recommendation-card figure,
	.hb-recommendation-card--with-image:nth-child(even) figure,
	.hb-recommendation-card--with-image:nth-child(even) > div {
		grid-column: 1;
		grid-row: auto;
	}

	.hb-recommendation-card figure {
		margin-top: 0;
	}
}

@media (max-width: 720px) {
	.hb-back-to-top {
		right: 14px;
		width: 48px;
		height: 48px;
	}

	.hb-ferry-facts,
	.hb-ferry-journey {
		grid-template-columns: 1fr;
	}

	.hb-ferry-journey__crossing {
		text-align: left;
	}

	.hb-destination-generated .hb-country-content {
		gap: 3rem;
	}

	.hb-destination-generated .hb-country-intro,
	.hb-destination-generated .hb-country-jump,
	.hb-destination-generated .hb-country-cards,
	.hb-destination-generated .hb-country-fact-row,
	.hb-destination-generated .hb-country-region-grid,
	.hb-destination-generated .hb-country-next-grid,
	.hb-destination-generated .hb-country-access-grid,
	.hb-destination-generated .hb-country-stay-images,
	.hb-destination-generated .hb-country-image--personal {
		grid-template-columns: 1fr;
	}

	.hb-destination-generated .hb-country-section--tint,
	.hb-destination-generated .hb-country-access,
	.hb-destination-generated .hb-country-closing {
		padding: 1.75rem 1.4rem;
	}

	.hb-destination-generated .hb-country-image--personal figcaption {
		border-top: 3px solid #e9a135;
		border-left: 0;
	}

	.hb-destination-generated .hb-country-image--personal img {
		height: auto;
		min-height: 0;
		max-height: none;
		object-fit: contain;
	}

	.hb-destination-generated .hb-country-title {
		align-items: flex-start;
		flex-direction: column;
		gap: .75rem;
	}

	.hb-destination-recommendation-teaser,
	.hb-recommendations-grid {
		grid-template-columns: 1fr;
	}

	.hb-destination-recommendation-teaser {
		padding: 1.75rem 1.4rem;
	}

	.hb-destination-recommendation-images img {
		height: auto;
		aspect-ratio: 4 / 3;
	}
}

/* Maut- und Gebührenseiten: bewusst ruhige, textorientierte Orientierung. */
.hb-toll-content {
	display: grid;
	gap: clamp(2rem, 5vw, 4rem);
	width: min(1090px, calc(100% - 2.5rem));
	max-width: 1090px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 0;
	padding-left: 0;
}

.hb-toll-guide .hb-travel-currency-notice > p {
	width: 100%;
	max-width: none;
}

.hb-toll-hero .hb-page-intro-inner > p {
	width: 100%;
	max-width: none;
}

.hb-toll-quick,
.hb-toll-section,
.hb-toll-sources {
	margin: 0;
}

.hb-toll-quick {
	padding: clamp(1.4rem, 3vw, 2rem);
	border-top: 4px solid #d85c18;
	background: #f3efe5;
}

.hb-toll-quick h2,
.hb-toll-section > h2,
.hb-toll-sources > h2 {
	margin-top: 0;
}

.hb-toll-quick ul {
	margin: 1.1rem 0 0;
	padding-left: 1.35rem;
}

.hb-toll-quick li + li {
	margin-top: .6rem;
}

.hb-toll-topics {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: 1.4rem;
}

.hb-toll-topic {
	display: flex;
	flex-direction: column;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	border: 1px solid #c9c1b1;
	background: #fbf8f0;
}

.hb-toll-internal-cta-wrap {
	margin-top: auto;
	padding-top: 1.25rem;
}

.hb-toll-internal-cta {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: .8rem 1rem;
	background: #123f32;
	color: #fffdf8 !important;
	font-weight: 700;
	text-decoration: none;
}

.hb-toll-internal-cta:hover,
.hb-toll-internal-cta:focus-visible {
	background: #123f32;
	color: #fffdf8 !important;
}

/* Einheitliches Verhalten aller internen Hauptaktionen. */
.hb-destination-generated .hb-button,
.hb-destination-recommendation-cta,
.hb-toll-internal-cta,
.hb-country-information-offer .hb-button {
	box-sizing: border-box;
	border: 2px solid transparent;
	border-bottom: 4px solid #e89a2f;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.hb-destination-generated .hb-button:hover,
.hb-destination-generated .hb-button:focus-visible,
.hb-destination-recommendation-cta:hover,
.hb-destination-recommendation-cta:focus-visible,
.hb-toll-internal-cta:hover,
.hb-toll-internal-cta:focus-visible,
.hb-country-information-offer .hb-button:hover,
.hb-country-information-offer .hb-button:focus-visible {
	background: #123f32;
	border-color: #e89a2f;
	color: #fffdf8 !important;
	box-shadow: 0 8px 18px rgba(18, 63, 50, .16);
	transform: translateY(-2px);
}

.hb-toll-internal-cta:visited,
.hb-toll-internal-cta:active {
	color: #fffdf8 !important;
}

.hb-toll-internal-cta:focus-visible {
	outline: 3px solid #d85c18;
	outline-offset: 4px;
}

.hb-toll-image-pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: 1.4rem;
}

.hb-toll-image-pair figure {
	margin: 0;
	background: #f3efe5;
}

.hb-toll-image-pair img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.hb-toll-image-pair figcaption {
	padding: 1rem 1.15rem 1.15rem;
}

.hb-toll-image-pair figcaption strong {
	display: block;
	margin-bottom: .35rem;
	font-family: Georgia, Cambria, "Times New Roman", serif;
	font-size: 1.2rem;
}

.hb-toll-image-pair figcaption p:last-child {
	margin-bottom: 0;
}

.hb-toll-topic > h3,
.hb-toll-billing > h3 {
	margin: 0 0 .7rem;
	font-family: Georgia, Cambria, "Times New Roman", serif;
}

.hb-toll-topic > p:last-of-type {
	margin-bottom: 0;
}

.hb-toll-notice {
	margin-top: 1rem;
	padding: 1rem 1.15rem;
	border-left: 4px solid #d85c18;
	background: #f3efe5;
}

.hb-toll-notice > strong {
	display: block;
	margin-bottom: .3rem;
}

.hb-toll-notice p:last-child {
	margin-bottom: 0;
}

.hb-toll-source-link {
	display: inline-block;
	margin-top: 1rem;
	color: #294c2b;
	font-weight: 700;
}

.hb-toll-source-link:visited {
	color: #294c2b;
}

.hb-toll-source-link:hover,
.hb-toll-source-link:focus-visible {
	color: #17351f;
	text-decoration-thickness: 2px;
	text-underline-offset: .2em;
}

.hb-toll-source-link:focus-visible {
	outline: 3px solid #d85c18;
	outline-offset: 4px;
}

.hb-toll-billing,
.hb-toll-vehicles,
.hb-toll-sources {
	padding: clamp(1.4rem, 3vw, 2rem);
	background: #fbf8f0;
	border: 1px solid #c9c1b1;
}

.hb-toll-section--domestic {
	padding: clamp(1.4rem, 3vw, 2rem);
	background: #f3efe5;
}

.hb-toll-section--domestic .hb-toll-topic {
	background: #fbf8f0;
}

.hb-toll-billing-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: 1.5rem;
}

.hb-toll-billing-part {
	padding: 1.25rem;
	background: #f3efe5;
}

.hb-toll-billing-image {
	margin: 1.5rem 0 0;
	background: #f3efe5;
}

.hb-toll-billing-image img {
	display: block;
	width: 100%;
	height: clamp(260px, 29vw, 320px);
	object-fit: cover;
	object-position: center 72%;
}

.hb-toll-billing-image figcaption {
	padding: 1rem 1.25rem 1.2rem;
}

.hb-toll-billing-image figcaption strong {
	display: block;
	margin-bottom: .35rem;
	font-family: Georgia, Cambria, "Times New Roman", serif;
	font-size: 1.2rem;
}

.hb-toll-billing-image figcaption p:last-child {
	margin-bottom: 0;
}

.hb-toll-billing-part h3,
.hb-toll-rental h3 {
	margin-top: 0;
}

.hb-toll-rental {
	margin-top: 1.5rem;
	padding: 1.25rem 1.4rem;
	border-left: 4px solid #294c2b;
	background: #f3efe5;
}

.hb-toll-vehicles {
	border-left: 4px solid #294c2b;
}

.hb-toll-sources a,
.hb-toll-sources a:visited {
	color: #294c2b;
	font-weight: 700;
}

.hb-toll-sources a:hover,
.hb-toll-sources a:focus-visible {
	color: #17351f;
	text-decoration-thickness: 2px;
	text-underline-offset: .2em;
}

.hb-toll-sources a:focus-visible {
	outline: 3px solid #d85c18;
	outline-offset: 4px;
}

.hb-toll-billing > h3 {
	margin-top: 1.5rem;
}

.hb-toll-affiliate-note {
	margin-top: 1rem;
	font-size: .9rem;
}

@media (max-width: 720px) {
	.hb-toll-topics,
	.hb-toll-image-pair,
	.hb-toll-billing-grid {
		grid-template-columns: 1fr;
	}

	.hb-toll-billing-image img {
		height: auto;
		aspect-ratio: 16 / 9;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hb-back-to-top,
	.hb-destination-recommendation-images img {
		transition: none;
	}
}

/* Brotkrümelnavigation auch dann verlässlich darstellen, wenn die Akademie-CSS
 * auf einem redaktionell erzeugten Seitentyp nicht separat geladen wird. */
.hb-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem .55rem;
	align-items: center;
	margin: 0 0 1.35rem;
	color: #5f675f;
	font-size: .86rem;
	line-height: 1.5;
}

.hb-breadcrumbs a {
	color: #294c2b;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .18em;
}

.hb-breadcrumbs > span[aria-hidden="true"] {
	color: #9c9588;
}

/* Zentrale Aktualitätskomponente für sachliche Reiseinformationen. */
.hb-travel-currency-notice,
.hb-destination-country-information-teaser {
	margin: clamp(2rem, 5vw, 4rem) 0 0;
	padding: clamp(1.4rem, 3vw, 2rem);
	border: 1px solid #c9c1b1;
	border-top: 3px solid #d85c18;
	background: #fbf8f0;
}

.hb-travel-currency-notice h2,
.hb-destination-country-information-teaser h2 {
	margin: 0 0 .75rem;
	color: #20251f;
	font-family: Georgia, Cambria, "Times New Roman", serif;
	font-size: clamp(1.35rem, 2vw, 1.7rem);
}

.hb-travel-currency-notice p,
.hb-destination-country-information-teaser p {
	max-width: 76ch;
	margin: 0;
}

.hb-destination-country-information-teaser a {
	display: inline-block;
	margin-top: .9rem;
	color: #294c2b;
	font-weight: 700;
}

.hb-destination-country-information-teaser {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, auto);
	column-gap: clamp(1.5rem, 4vw, 3rem);
	background: #18261d;
	color: #fffdf8;
}

.hb-destination-country-information-teaser > .hb-eyebrow,
.hb-destination-country-information-teaser > h2,
.hb-destination-country-information-teaser > p {
	grid-column: 1;
}

.hb-destination-country-information-teaser > .hb-eyebrow {
	color: #f0b07a;
}

.hb-destination-country-information-teaser > h2 {
	color: #fffdf8;
	font-size: clamp(1.7rem, 3vw, 2.35rem);
}

.hb-destination-country-information-teaser > a {
	grid-column: 2;
	grid-row: 1 / 5;
	align-self: center;
	margin: 0;
	padding: .9rem 1.2rem;
	background: #d85c18;
	color: #fff;
	text-align: center;
	text-decoration: none;
}

/* Generische Länderinformationsseite. */
.hb-country-information-generated .hb-country-information-hero .hb-page-intro-inner {
	width: min(1090px, calc(100% - 2.5rem));
	max-width: 1090px;
	margin-right: auto;
	margin-left: auto;
}

.hb-country-information-generated .hb-country-information-hero h1,
.hb-country-information-generated .hb-country-information-hero .hb-page-intro-inner > p,
.hb-country-information-generated .hb-travel-currency-notice > p {
	width: 100%;
	max-width: none;
}

.hb-country-information-content {
	display: grid;
	gap: clamp(2.5rem, 6vw, 4.5rem);
	width: 100%;
	max-width: 1242px;
	margin: 0 auto;
	padding-right: clamp(20px, 5vw, 76px);
	padding-left: clamp(20px, 5vw, 76px);
	box-sizing: border-box;
}

.hb-country-information-section {
	position: relative;
}

.hb-country-information-section > h2,
.hb-country-information-currency > h2 {
	margin: 0 0 1.25rem;
	font-family: Georgia, Cambria, "Times New Roman", serif;
	font-size: clamp(1.75rem, 3vw, 2.45rem);
	line-height: 1.12;
}

.hb-country-information-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2.2vw, 1.5rem);
}

.hb-country-information-cards article {
	padding: clamp(1.25rem, 2.4vw, 1.75rem);
	border: 1px solid #c9c1b1;
	border-left: 4px solid #d85c18;
	background: #fffdf8;
}

#hb-laenderinfo-schnellueberblick .hb-country-information-cards,
#hb-laenderinfo-gesundheit .hb-country-information-cards {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

#hb-laenderinfo-schnellueberblick .hb-country-information-cards article {
	border-left: 1px solid #c9c1b1;
	border-top: 4px solid #d85c18;
	background: #fbf8f0;
}

.hb-country-information-cards--count-5 article:last-child,
.hb-country-information-cards--count-7 article:last-child {
	grid-column: 1 / -1;
}

#hb-laenderinfo-bezahlen,
#hb-laenderinfo-einreise {
	padding: clamp(1.5rem, 4vw, 2.5rem);
	background: #f3efe5;
}

#hb-laenderinfo-bezahlen .hb-country-information-cards article,
#hb-laenderinfo-einreise .hb-country-information-cards article {
	background: #fff;
}

#hb-laenderinfo-gesundheit .hb-country-information-cards article {
	border-color: #a9b7a6;
	border-top: 4px solid #294c2b;
	border-left: 1px solid #a9b7a6;
	background: #f4f7f1;
}

.hb-country-information-cards h3 {
	margin: 0 0 .55rem;
	font-family: Georgia, Cambria, "Times New Roman", serif;
	font-size: 1.15rem;
}

.hb-country-information-cards p:last-child,
.hb-country-information-practical p:last-child {
	margin-bottom: 0;
}

.hb-country-information-practical {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .75fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
}

.hb-country-information-practical figure {
	margin: 0;
	border: 1px solid #c9c1b1;
	background: #fbf8f0;
}

.hb-country-information-practical img {
	display: block;
	width: 100%;
	height: auto;
}

.hb-country-information-practical figcaption {
	padding: 1rem 1.2rem;
}

.hb-country-information-practical figcaption strong {
	display: block;
	margin-bottom: .35rem;
}

.hb-country-information-activity {
	display: flow-root;
	margin-top: 1.5rem;
	border: 1px solid #c9c1b1;
	background: #fffdf8;
}

.hb-country-information-activity:first-of-type {
	margin-top: 0;
}

.hb-country-information-activity > figure {
	float: left;
	width: min(38%, 400px);
	margin: 0 clamp(1.4rem, 3vw, 2.25rem) 1.25rem 0;
	background: #18261d;
}

.hb-country-information-activity > figure img {
	display: block;
	width: 100%;
	height: auto;
}

.hb-country-information-activity > figure figcaption {
	padding: 1rem 1.2rem;
	color: #fffdf8;
}

.hb-country-information-activity-copy {
	padding: clamp(1.4rem, 3vw, 2.25rem);
}

.hb-country-information-activity-copy > h3,
.hb-country-information-offer > h3 {
	margin: 0 0 .75rem;
	font-family: Georgia, Cambria, "Times New Roman", serif;
	font-size: clamp(1.4rem, 2.3vw, 1.9rem);
}

.hb-country-information-offer > h3 {
	color: #fffdf8;
}

.hb-country-information-personal {
	clear: both;
	margin-top: 1.25rem;
	padding: 1.15rem 1.3rem;
	border-left: 4px solid #294c2b;
	background: #f3efe5;
}

.hb-country-information-personal > strong {
	display: block;
	margin-bottom: .4rem;
	font-family: Georgia, Cambria, "Times New Roman", serif;
}

.hb-country-information-sources {
	margin: 1.35rem 0 0;
	padding-left: 1.35rem;
}

.hb-country-information-sources li + li {
	margin-top: .35rem;
}

.hb-country-information-activity-copy > .hb-country-information-sources,
.hb-country-information-activity-copy > .hb-country-information-offer {
	clear: both;
}

.hb-country-information-connectivity {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: start;
}

.hb-country-information-connectivity > h2 {
	grid-column: 1 / -1;
}

.hb-country-information-offer {
	padding: clamp(1.35rem, 3vw, 2rem);
	border-top: 4px solid #d85c18;
	background: #18261d;
	color: #fffdf8;
}

.hb-country-information-offer .hb-eyebrow {
	color: #f0b07a;
}

.hb-country-information-offer .hb-button {
	display: inline-block;
	margin-top: .5rem;
	padding: .75rem 1rem;
	background: #d85c18;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

.hb-country-information-offer code {
	padding: .15rem .4rem;
	background: #fffdf8;
	color: #18261d;
}

.hb-country-information-ad-disclosure {
	margin-top: 1rem;
	font-size: .82rem;
	line-height: 1.45;
	opacity: .84;
}

.hb-country-information-currency {
	padding: clamp(1.4rem, 3vw, 2rem);
	background: #f3efe5;
}

.hb-return-navigation {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: center;
	padding: clamp(1.35rem, 3vw, 2rem);
	border-left: 4px solid #d85c18;
	background: #18261d;
	color: #fffdf8;
}

.hb-return-navigation > span {
	color: #f0b07a;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.hb-return-navigation > a,
.hb-return-navigation > a:visited,
.hb-return-navigation > a:hover,
.hb-return-navigation > a:focus,
.hb-return-navigation > a:active {
	color: #fffdf8;
	font-family: Georgia, Cambria, "Times New Roman", serif;
	font-size: clamp(1.25rem, 2.3vw, 1.75rem);
	font-weight: 700;
}

.hb-return-navigation > a:hover,
.hb-return-navigation > a:focus-visible {
	color: #fffdf8;
	text-decoration-color: #f0b07a;
	text-decoration-thickness: 2px;
	text-underline-offset: .2em;
}

.hb-return-navigation > a:focus-visible {
	outline: 3px solid #f0b07a;
	outline-offset: 5px;
}

@media (max-width: 720px) {
	.hb-country-information-cards,
	#hb-laenderinfo-schnellueberblick .hb-country-information-cards,
	#hb-laenderinfo-gesundheit .hb-country-information-cards {
		grid-template-columns: 1fr;
	}

	.hb-country-information-cards--count-5 article:last-child,
	.hb-country-information-cards--count-7 article:last-child {
		grid-column: auto;
	}

	#hb-laenderinfo-bezahlen,
	#hb-laenderinfo-einreise {
		padding: 1.25rem;
	}

	.hb-destination-country-information-teaser {
		grid-template-columns: 1fr;
	}

	.hb-external-embed,
	.hb-external-embed-placeholder {
		min-height: 360px;
	}

	.hb-external-embed.is-loaded,
	.hb-external-embed > iframe {
		height: 620px;
		min-height: 620px;
	}

	.hb-komoot-embed-frame:has(iframe),
	.hb-komoot-embed-frame:has(iframe) > *,
	.hb-komoot-embed-frame iframe {
		height: 1100px !important;
		min-height: 1100px;
	}

	.hb-destination-country-information-teaser > a {
		grid-column: 1;
		grid-row: auto;
		margin-top: 1.1rem;
	}

	.hb-return-navigation {
		align-items: flex-start;
		flex-direction: column;
	}

	.hb-country-information-practical {
		grid-template-columns: 1fr;
	}

	.hb-country-information-activity,
	.hb-country-information-connectivity {
		grid-template-columns: 1fr;
	}

	.hb-country-information-activity > figure {
		float: none;
		width: 100%;
		margin: 0;
	}
}

/* Abschließende Priorität: interne CTA bleiben auf allen Vorlagen identisch. */
.hb-destination-generated .hb-button,
.hb-destination-recommendation-cta,
.hb-toll-internal-cta,
.hb-country-information-offer .hb-button {
	background: #123f32;
	border: 2px solid transparent;
	border-bottom: 4px solid #e89a2f;
	color: #fffdf8 !important;
}

.hb-destination-generated .hb-button:hover,
.hb-destination-generated .hb-button:focus-visible,
.hb-destination-recommendation-cta:hover,
.hb-destination-recommendation-cta:focus-visible,
.hb-toll-internal-cta:hover,
.hb-toll-internal-cta:focus-visible,
.hb-country-information-offer .hb-button:hover,
.hb-country-information-offer .hb-button:focus-visible {
	background: #123f32;
	border-color: #e89a2f;
	color: #fffdf8 !important;
	box-shadow: 0 8px 18px rgba(18, 63, 50, .16);
	transform: translateY(-2px);
}
