body {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	color: #5B5B5B;
	font-size: 18px;
}

a, a:hover {
	color: #9E0054
}

a, a:hover, a:active, a:focus {
	outline: none;
	text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
	font-size: 24px;
	color: #9E0054
}

h1, .h1, h2, .h2, h3, .h3,
h4, .h4, h5, .h5, h6, .h6 {
	margin: 0 0 0.5em 0;
}

/* colors */
.c1{color:#000000}.bg1{background-color:#000000}
.c2{color:#ffffff}.bg2{background-color:#ffffff}
.c3{color:#EDEDED}.bg3{background-color:#EDEDED}
.c4{color:#9E0054}.bg4{background-color:#9E0054}
.c5{color:#610442}.bg5{background-color:#610442}
.c6{color:#FECC00}.bg6{background-color:#FECC00}
.c7{color:#E6E6E6}.bg7{background-color:#E6E6E6}
/* END colors */

.fs-14{
	font-size: 14px;
}

/* header */
.header {
	background-color: #fff;
}

.header:after {
	display: table;
	content: ' ';
	clear: both;
}

.header-block {
	display: block;
	width: 100%;
	height: 100px;
	background: #9E0054;
}

.head-left {
	float: left;
}

.head-right {
	float: right;
}

.head-logo {
	display: block;
	margin: 16px 16px 16px 0;
	height: 58px;
	overflow: hidden;
}

.head-logo img {
	height: 100%;
	width: auto;
}

.navbar-toggle {
	margin: 15px 15px 15px 0;
	padding: 0px;
	line-height: 0;
	height: 30px;
	color: #fff;
	font-size: 30px;
	line-height: 30px;
}

.navbar-toggle:hover {
	color: #e6b5cf;
}

.head-menu {
	float: right;
	margin-top: 50px;
}

.head-menu:after {}

.head-menu .nav {
	margin: 0;
	list-style: none;
}

.head-menu .nav li {
	float: left;
	color: #fff;
}

.head-menu .nav li a {
	display: block;
	background: #F68B1E;
	color: #fff;
	padding: 11px 16px;
	font-size: 18px;
	line-height: 1;
	margin: 0 5px;
	border-radius: 7px 7px 0 0;
}

.head-menu .nav li a span {
	line-height: 1;
	display: inline-block;
}

.head-menu .nav li a span.glyphicon-home {
	line-height: 0;
}

.head-menu .nav li:first-child a {
	margin-left: 0;
}

.head-menu .nav li:last-child a {
	margin-right: 0;
}

.head-menu .nav li.active a,
.head-menu .nav li a:active,
.head-menu .nav li a:hover {
	background: rgb(172, 30, 160);
	color: #fff;
}


/*
Extra small    <576px
Small          ≥576px
Medium         ≥768px
Large          ≥992px
Extra large    ≥1200px
*/
@media (max-width:1200px) {
	.header-block {
		height: 70px;
	}

	.head-logo {
		margin: 10px 10px 10px 0;
		height: 50px;
	}

	.head-menu {
		margin-top: 30px;
	}
}

@media (max-width:992px) {
	.header-block {
		height: 60px;
	}

	.head-logo {
		margin: 10px 10px 10px 0;
		height: 40px;
	}

	.head-menu {
		margin-top: 20px;
	}

}

@media (max-width:767px) {
	.header-block {
		height: 55px;
	}

	.head-logo {
		margin: 10px 10px 5px 0;
		height: 40px;
	}

	.head-menu {
		display: none;
	}

	.head-menu .nav li a {
		padding: 8px 10px;
		font-size: 16px;
		margin: 0 3px;
		border-radius: 7px 7px 0 0;
	}
}



/* END header */


.header-after {
	background-image: linear-gradient(rgb(172, 30, 160), rgb(141, 34, 103));
	min-height: 43px;
	margin-bottom: 1em;
}


.btn-1 {
	background: #fff;
	color: #8e2269;
	border: 2px solid #8e2269;
}

.btn-1:hover {
	background: #8e2269;
	color: #fff;
}

.list-1 {}

.list-1>ul {
	list-style: none;
	padding: 0;
}

.list-1>ul>li {
	margin: 15px 0;
}

.list-1>ul>li>a {
	display: block;
	overflow: hidden;
	background: #fff;
	border-radius: 15px;
	border: 2px solid #fff;
}

.list-1>ul>li>a:hover {
	border-color: rgb(172, 30, 160);
}

.list-1>ul>li>a>img {
	display: inline-block;
	width: 30%;
	border-radius: 5px;
	vertical-align: middle;
	margin: -2px;
	max-width: 100px;
}

.list-1>ul>li>a>span {
	display: inline-block;
	width: 70%;
	vertical-align: middle;
	font-size: 16px;
	padding-left: 5px;
}



#c24pp-rentalcar-iframe {
	width: 100%;
	min-height: 600px;
}





/* ############################### */
.searchform {
	padding: 1em 0;
}

.searchform .btn {
	background: #F68B1E;
	color: #fff;
}

.searchform .btn:hover {
	background: #FEAB57;
	color: #fff;
}

.searchresults {
	background: #fff;
}

.searchresults .items {
	overflow: hidden;
}

.searchresults .items .row {
	margin-top: -1px;
}

.searchresults .items .item {
	position: relative;
	margin-bottom: 15px;
	padding: 15px 0;
	border-top: 1px solid #ddd;
	height: 100%;
}

.searchresults .items .item .img {
	display: block;
	position: relative;
	width: 100%;
	padding-top: 100%;
	background: #ffffff url('../images/ajax-loader.gif') no-repeat center;
}

.searchresults .items .item .img img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.searchresults .items .item .customerreviews {
	display: flex;
}

.searchresults .items .item .customerreviews .ratingstar {
	margin-right: 5px;
}

.searchresults .items .item .title {
	display: block;
	font-size: 16px;
	text-overflow: clip;
	overflow: hidden;

	margin: 1em 0;
	color: #5B5B5B;
	height: 5em;
	line-height: 1.25em;
}

.contentstable{
	border: 1px solid #ccc;
	border-radius: 10px;
	overflow: hidden;
}
.contentstable summary{
	padding: 0.5em 1em;
	margin: 0;
	background-color: #efefef;
    color: #5B5B5B;
	font-weight: bold;
}

.contentstable summary:hover{
	background-color: #fafafa;
}

.contentstable ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.contentstable ul li{
	padding: 0.5em 1em;
	border-top: 1px solid #ddd;
	background-color: #fafafa;
}


.pricetable {
	border: 1px solid #ccc;
	border-radius: 10px;
	overflow: hidden;
	background-color: #fafafa;
	margin-bottom: 1em;
}

.pricetable table {
	margin: 0;
	color: #5B5B5B;
}


.vorteile {}

.vorteile ul {
	list-style: none;
	margin: 0 0 1em 0;
	padding: 0;
}

.vorteile ul li {}

.vorteile ul li::before {
	display: inline-block;
	font-family: 'icons' !important;
	content: "\f00c";
	color: #147b80;
	margin: 0 10px 0 0;
}

.item-detail {}

.item-detail .img {
	text-align: center;
}

.item-detail .btn {
	display: block;
	width: 100%;
	color: #fff;
	background-color: #eb7f25;
	margin: 1em 0;
}

.item-detail .btn:hover {
	background-color: #B45607;
	color: #fff;
}

.item-detail .cat {
	color: #eb7f25;
}

.item-detail ul li {
	word-wrap: break-word;
}

.item-detail .features {
	margin-bottom: 1em;
}

.item-detail .features ul {
	margin: 0;
	padding: 0 0 0 1.2em;
}

.item-detail .features ul li {
	word-wrap: break-word;
	margin-bottom: 1em;
}

.item-detail .features ul li::marker {
	color: #9e0054;
}

.item-detail .keywords-links {
	margin-bottom: 1em;
}

.item-detail .keywords-links ul {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 16px;
}

.item-detail .keywords-links ul li {
	word-wrap: break-word;
	margin-bottom: 1em;
}

.item-detail .carousel-item img {
	width: 100%;
	height: auto;
}

.item-detail .carousel-indicators {
	position: static;
	margin: 0;
	flex-wrap: wrap;
}

.item-detail .carousel-indicators li {
	width: 60px;
	height: 60px;
	border: 1px solid #888;
	border-radius: 5px;
	overflow: hidden;
	margin: 5px;
}

.item-detail .carousel-indicators li.active {
	border-color: #147b80;
	outline: 1px solid #147b80;
}

.item-detail .carousel-indicators li img {
	display: block;
	width: 100%;
	border-radius: 5px;
}

.price {
	color: #eb7f25;
	font-size: 20px;
}

.price small {
	color: #808184;
	font-size: 0.8em;
}

/* ############################### */



.ratingstar{
	display: inline-block;
	position: relative;
	color: #eb7f25;
	width: 5em;
	height: 1em;
	line-height: 1;
	font-size: 20px;
}
.ratingstar::before,
.ratingstar::after{
	position: absolute;
	font-family: 'icons' !important;
	overflow: hidden;
	top: 0;
	left: 0;
	height: 100%;
}
.ratingstar::before{
	content: 'AAAAA';
	z-index: 1;
}
.ratingstar::after{
	content: 'BBBBB';
	z-index: 2;
	width: 0%;
}
.ratingstar.w1::after{
	width: 10%;
}
.ratingstar.w2::after{
	width: 20%;
}
.ratingstar.w3::after{
	width: 30%;
}
.ratingstar.w4::after{
	width: 40%;
}
.ratingstar.w5::after{
	width: 50%;
}
.ratingstar.w6::after{
	width: 60%;
}
.ratingstar.w7::after{
	width: 70%;
}
.ratingstar.w8::after{
	width: 80%;
}
.ratingstar.w9::after{
	width: 90%;
}
.ratingstar.w10::after{
	width: 100%;
}





.item-image img{ max-width: 100%; height: auto; }


/* footer */
.foot2 {
	height: 100%;
	position: fixed;
	width: 100%;
	z-index: 3;
}

.footer, .foot2 {
	background-color: #9e0054
}

.footer {
	padding: 0;
	color: #FEFEFE;
}

.menu-foot {
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 0;
	text-align: left;
}

.menu-foot, .menu-foot a {
	color: #FEFEFE;
}

.menu-foot a {
	display: inline-block;
}

.menu-foot>li {
	display: inline-block;
    font-size: 16px;
    vertical-align: top;
    margin: 0 1em 1em 0;
}

/* END footer */


.cd-top {
	display: inline-block;
	position: fixed;
	bottom: 40px;
	right: 40px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
	overflow: hidden;
	white-space: nowrap;
	background: #5B5A55;
	color: #fff;
	text-align: center;
	font-size: 30px;
	padding: 10px;
	border-radius: 40px;
	line-height: 1;
	visibility: hidden;
	opacity: 0;
	-webkit-transition: opacity .3s 0s, visibility 0s .3s;
	-moz-transition: opacity .3s 0s, visibility 0s .3s;
	transition: opacity .3s 0s, visibility 0s .3s;
}

.cd-top.cd-is-visible, .cd-top.cd-fade-out, .cd-top:hover {
	color: #fff;
	-webkit-transition: opacity .3s 0s, visibility 0s 0s;
	-moz-transition: opacity .3s 0s, visibility 0s 0s;
	transition: opacity .3s 0s, visibility 0s 0s;
}

.cd-top.cd-is-visible {
	visibility: visible;
	opacity: 1;
}

.cd-top.cd-fade-out {
	opacity: .5;
}

@media (max-width:767px) {
	.cd-top {
		bottom: 20px;
		right: 20px;
		font-size: 20px;
		padding: 5px;
		border-radius: 30px;
	}
}



/* =========================================================
   HOTELS-BOOKING.AT HOMEPAGE
   Corporate palette:
   Primary: #9E0054
   Dark:    #610442
   Accent:  #F68B1E
   Yellow:  #FECC00
   Text:    #5B5B5B
========================================================= */

.hb-home {
    --hb-text: #5B5B5B;
    --hb-heading: #610442;
    --hb-primary: #9E0054;
    --hb-primary-dark: #610442;
    --hb-primary-light: #F8EDF3;
    --hb-accent: #F68B1E;
    --hb-accent-dark: #B45607;
    --hb-accent-light: #FFF2E5;
    --hb-yellow: #FECC00;
    --hb-bg: #FAF8F9;
    --hb-soft: #F7EEF3;
    --hb-border: #E8D9E1;
    --hb-white: #FFFFFF;

    width: 100%;
    max-width: none;
    color: var(--hb-text);
    font-size: 18px;
    line-height: 1.7;
}

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

.hb-home h1,
.hb-home h2,
.hb-home h3 {
    color: var(--hb-heading);
    line-height: 1.18;
    margin-top: 0;
}

.hb-home h1 {
    font-size: clamp(2.35rem, 4.4vw, 4.6rem);
    letter-spacing: -0.04em;
    margin-bottom: 24px;
}

.hb-home h2 {
    font-size: clamp(1.9rem, 3vw, 3rem);
    letter-spacing: -0.025em;
    margin-bottom: 18px;
}

.hb-home h3 {
    font-size: 1.3rem;
    margin-bottom: 12px;
}

.hb-home p {
    margin-top: 0;
}

.hb-home a {
    color: var(--hb-primary);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.hb-home img {
    max-width: 100%;
    height: auto;
}


/* Full-width homepage layout
--------------------------------------------------------- */

.hb-hero,
.hb-trust,
.hb-search-placeholder,
.hb-section,
.hb-about {
    width: 100%;
    max-width: none;
}

.hb-section,
.hb-about {
    padding-left: clamp(22px, 4vw, 72px);
    padding-right: clamp(22px, 4vw, 72px);
}


/* Hero + HRS affiliate
--------------------------------------------------------- */

.hb-hero {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
    gap: 0;
    align-items: stretch;
    margin: 0 0 28px;
    border-top: 4px solid var(--hb-primary);
    border-bottom: 1px solid var(--hb-border);
    background: #fff;
    overflow: hidden;
}

.hb-hero__content {
    padding: clamp(38px, 4.5vw, 68px) clamp(30px, 4vw, 62px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    background:
        radial-gradient(circle at 10% 10%, rgba(246, 139, 30, .10), transparent 28%),
        linear-gradient(135deg, #FFFFFF 0%, #FBF5F8 100%);
}

.hb-eyebrow {
    margin: 0 0 12px;
    color: var(--hb-primary);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.hb-hero h1 {
    max-width: 690px;
    font-size: clamp(2.25rem, 3.45vw, 3.55rem);
    line-height: 1.08;
    margin-bottom: 22px;
}

.hb-lead {
    max-width: 720px;
    margin-bottom: 28px;
    color: var(--hb-text);
    font-size: 1.05rem;
    line-height: 1.75;
}

.hb-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.hb-hero__affiliate-note {
    max-width: 690px;
    margin: 18px 0 0;
    color: #777;
    font-size: .78rem;
    line-height: 1.5;
}

.hb-hero__affiliate-note span {
    color: var(--hb-accent-dark);
}


/* HRS partner panel
--------------------------------------------------------- */

.hb-hero__partner {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(26px, 3.2vw, 46px);
    background:
        linear-gradient(145deg, var(--hb-primary) 0%, var(--hb-primary-dark) 100%);
    color: #fff;
}

.hb-hero__partner-head {
    margin-bottom: 18px;
}

.hb-hero__partner-head > span,
.hb-hero__partner-head > strong {
    display: block;
}

.hb-hero__partner-kicker {
    margin-bottom: 6px;
    color: #FFD3A1;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.hb-hero__partner-head strong {
    margin-bottom: 5px;
    color: #fff;
    font-size: clamp(1.25rem, 2vw, 1.7rem);
    line-height: 1.25;
}

.hb-hero__partner-head > span:last-child {
    color: #F4E6EE;
    font-size: .93rem;
}

.hb-hrs-banner {
    display: block;
    position: relative;
    width: 100%;
    border: 3px solid rgba(255, 255, 255, .92);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 14px 34px rgba(40, 0, 25, .22);
    transition: transform .2s ease, box-shadow .2s ease;
}

.hb-hrs-banner:hover,
.hb-hrs-banner:focus {
    transform: translateY(-2px);
    box-shadow: 0 18px 42px rgba(40, 0, 25, .30);
}

.hb-hrs-banner img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 940 / 492;
    object-fit: cover;
}

.hb-hero__partner-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-top: 15px;
    font-size: .84rem;
}

.hb-hero__partner-foot > span {
    color: #E7C9D9;
}

.hb-hero__partner-foot a {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.hb-hero__partner-foot a:hover,
.hb-hero__partner-foot a:focus {
    color: #FFD3A1;
}


/* Buttons
--------------------------------------------------------- */

.hb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 12px 22px;
    border-radius: 7px;
    font-weight: 700;
    text-decoration: none !important;
    transition: background-color .2s ease, color .2s ease,
                border-color .2s ease, transform .2s ease;
}

.hb-btn--primary {
    background: var(--hb-primary);
    border: 2px solid var(--hb-primary);
    color: #fff !important;
}

.hb-btn--primary:hover,
.hb-btn--primary:focus {
    background: var(--hb-primary-dark);
    border-color: var(--hb-primary-dark);
    color: #fff !important;
    transform: translateY(-1px);
}

.hb-btn--secondary {
    border: 2px solid var(--hb-primary);
    background: #fff;
    color: var(--hb-primary) !important;
}

.hb-btn--secondary:hover,
.hb-btn--secondary:focus {
    background: var(--hb-primary);
    color: #fff !important;
}


/* Trust bar
--------------------------------------------------------- */

.hb-trust {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0 0 90px;
    background: #fff;
    border-top: 1px solid var(--hb-border);
    border-bottom: 1px solid var(--hb-border);
}

.hb-trust__item {
    position: relative;
    padding: 25px clamp(22px, 3vw, 48px);
}

.hb-trust__item::before {
    content: "";
    position: absolute;
    top: 0;
    left: clamp(22px, 3vw, 48px);
    width: 42px;
    height: 4px;
    background: var(--hb-accent);
}

.hb-trust__item + .hb-trust__item {
    border-left: 1px solid var(--hb-border);
}

.hb-trust strong,
.hb-trust span {
    display: block;
}

.hb-trust strong {
    margin-bottom: 4px;
    color: var(--hb-primary-dark);
}

.hb-trust span {
    color: var(--hb-text);
    font-size: .94rem;
}


/* HRS / Awin placeholder
--------------------------------------------------------- */

.hb-search-placeholder {
    display: grid;
    grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr);
    gap: 36px;
    align-items: center;
    margin: 0 0 95px;
    padding: 40px clamp(24px, 5vw, 78px);
    background: linear-gradient(135deg, var(--hb-primary) 0%, var(--hb-primary-dark) 100%);
    color: #fff;
    border-top: 4px solid var(--hb-accent);
}

.hb-search-placeholder h2 {
    color: #fff;
    margin-bottom: 8px;
}

.hb-search-placeholder .hb-eyebrow {
    color: #FFD7A8;
}

.hb-search-placeholder p:last-child {
    margin-bottom: 0;
    color: #F6EAF0;
}


/* Generic sections
--------------------------------------------------------- */

.hb-section {
    margin: 0 auto 105px;
}

.hb-section--soft {
    padding-top: 74px;
    padding-bottom: 74px;
    background:
        linear-gradient(180deg, #FBF7F9 0%, #F5EBF0 100%);
    border-top: 1px solid var(--hb-border);
    border-bottom: 1px solid var(--hb-border);
}

.hb-section__head {
    max-width: 900px;
    margin-bottom: 40px;
}

.hb-section__head > p:last-child {
    color: var(--hb-text);
}


/* Destination and topic cards
--------------------------------------------------------- */

.hb-card-grid {
    display: grid;
    gap: 22px;
}

.hb-card-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hb-card-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hb-destination-card,
.hb-topic-card {
    position: relative;
    min-width: 0;
    padding: 30px;
    border: 1px solid var(--hb-border);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(97, 4, 66, .05);
    transition: transform .2s ease, box-shadow .2s ease,
                border-color .2s ease;
}

.hb-destination-card:hover,
.hb-topic-card:hover {
    transform: translateY(-3px);
    border-color: rgba(158, 0, 84, .42);
    box-shadow: 0 14px 34px rgba(97, 4, 66, .10);
}

.hb-destination-card {
    padding-top: 62px;
}

.hb-card-number {
    position: absolute;
    top: 21px;
    right: 24px;
    color: var(--hb-accent);
    font-size: .82rem;
    font-weight: 800;
}

.hb-destination-card p,
.hb-topic-card p {
    color: var(--hb-text);
    font-size: .96rem;
}

.hb-destination-card a,
.hb-topic-card a {
    display: inline-block;
    margin-top: 5px;
    color: var(--hb-primary);
    font-weight: 700;
    text-decoration: none;
}

.hb-destination-card a:hover,
.hb-topic-card a:hover {
    color: var(--hb-primary-dark);
}

.hb-topic-card__tag {
    display: inline-block;
    margin-bottom: 16px;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--hb-accent-light);
    color: var(--hb-accent-dark);
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}


/* Link cloud
--------------------------------------------------------- */

.hb-link-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 34px;
}

.hb-link-cloud a {
    padding: 9px 14px;
    border: 1px solid #DCC3D0;
    border-radius: 999px;
    background: #fff;
    color: var(--hb-primary);
    font-size: .92rem;
    font-weight: 600;
    text-decoration: none;
    transition: .2s ease;
}

.hb-link-cloud a:hover,
.hb-link-cloud a:focus {
    border-color: var(--hb-primary);
    background: var(--hb-primary);
    color: #fff;
}


/* Hotel-selection guide / GEO answer block
--------------------------------------------------------- */

.hb-guide {
    display: grid;
    grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
    gap: clamp(38px, 5vw, 80px);
    align-items: start;
}

.hb-guide__intro {
    position: sticky;
    top: 30px;
}

.hb-check-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.hb-check-grid article {
    position: relative;
    padding: 28px;
    border: 1px solid var(--hb-border);
    border-top: 4px solid var(--hb-primary);
    background: #fff;
}

.hb-check-grid article:nth-child(even) {
    border-top-color: var(--hb-accent);
}

.hb-check-grid article > span {
    display: block;
    margin-bottom: 16px;
    color: var(--hb-accent);
    font-size: .8rem;
    font-weight: 800;
}

.hb-check-grid p {
    margin-bottom: 0;
    color: var(--hb-text);
    font-size: .95rem;
}


/* Austria authority block
--------------------------------------------------------- */

.hb-austria {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
    gap: clamp(40px, 5vw, 75px);
    padding-top: 72px;
    padding-bottom: 72px;
    background:
        radial-gradient(circle at 85% 20%, rgba(246, 139, 30, .23), transparent 28%),
        linear-gradient(135deg, var(--hb-primary) 0%, var(--hb-primary-dark) 100%);
    color: #FCEFF6;
}

.hb-austria h2,
.hb-austria h3 {
    color: #fff;
}

.hb-austria .hb-eyebrow {
    color: #FFD4A5;
}

.hb-austria__content {
    max-width: 920px;
}

.hb-austria__box {
    padding: 32px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 12px;
    background: rgba(255, 255, 255, .09);
}

.hb-austria__box ul {
    margin: 0;
    padding-left: 20px;
}

.hb-austria__box li {
    padding: 5px 0;
}

.hb-austria__box li::marker {
    color: var(--hb-yellow);
}


/* Blog block
--------------------------------------------------------- */

.hb-blog-teaser {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: 28px;
    align-items: stretch;
}

.hb-blog-teaser__main {
    padding: clamp(32px, 4vw, 56px);
    border: 1px solid var(--hb-border);
    border-radius: 14px;
    background: #fff;
}

.hb-blog-teaser__tip {
    padding: clamp(30px, 3vw, 44px);
    border-radius: 14px;
    border-top: 4px solid var(--hb-accent);
    background: var(--hb-accent-light);
}

.hb-blog-teaser__tip h3 {
    color: var(--hb-primary-dark);
}

.hb-tip-label {
    display: inline-block;
    margin-bottom: 20px;
    color: var(--hb-accent-dark);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}


/* FAQ
--------------------------------------------------------- */

.hb-faq {
    max-width: none;
}

.hb-faq .hb-section__head {
    max-width: 850px;
}

.hb-faq details {
    border-top: 1px solid var(--hb-border);
}

.hb-faq details:last-child {
    border-bottom: 1px solid var(--hb-border);
}

.hb-faq summary {
    position: relative;
    padding: 24px 52px 24px 0;
    cursor: pointer;
    color: var(--hb-primary-dark);
    font-weight: 700;
    list-style: none;
}

.hb-faq summary::-webkit-details-marker {
    display: none;
}

.hb-faq summary::after {
    content: "+";
    position: absolute;
    top: 15px;
    right: 5px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--hb-primary-light);
    color: var(--hb-primary);
    font-size: 1.35rem;
    font-weight: 400;
}

.hb-faq details[open] summary::after {
    content: "–";
    background: var(--hb-primary);
    color: #fff;
}

.hb-faq details > div {
    max-width: 950px;
    padding: 0 45px 25px 0;
    color: var(--hb-text);
}


/* About / editorial trust
--------------------------------------------------------- */

.hb-about {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 60px;
    align-items: end;
    margin: 0 auto 55px;
    padding-top: 48px;
    padding-bottom: 48px;
    background: var(--hb-bg);
    border-top: 1px solid var(--hb-border);
    border-bottom: 1px solid var(--hb-border);
}

.hb-about > div:first-child {
    max-width: 920px;
}

.hb-about__links {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.hb-about__links a {
    font-weight: 700;
}


/* Responsive
--------------------------------------------------------- */

@media (max-width: 1199px) {
    .hb-card-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {

    .hb-hero {
        grid-template-columns: 1fr;
    }

    .hb-hero__partner {
        padding: 30px;
    }

    .hb-hero__partner-head {
        max-width: 720px;
    }

    .hb-trust {
        grid-template-columns: 1fr;
    }

    .hb-trust__item + .hb-trust__item {
        border-top: 1px solid var(--hb-border);
        border-left: 0;
    }

    .hb-card-grid--3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hb-guide,
    .hb-austria,
    .hb-blog-teaser,
    .hb-search-placeholder {
        grid-template-columns: 1fr;
    }

    .hb-guide__intro {
        position: static;
    }

    .hb-about {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

@media (max-width: 640px) {

    .hb-home {
        font-size: 16px;
    }

    .hb-hero__content {
        padding: 36px 22px;
    }

    .hb-hero__partner {
        padding: 24px 20px;
    }

    .hb-hero__partner-foot {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .hb-section {
        margin-bottom: 72px;
    }

    .hb-section--soft {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .hb-card-grid--4,
    .hb-card-grid--3,
    .hb-check-grid {
        grid-template-columns: 1fr;
    }

    .hb-austria {
        padding-top: 42px;
        padding-bottom: 42px;
    }

    .hb-blog-teaser__main,
    .hb-blog-teaser__tip {
        padding: 28px 22px;
    }

    .hb-hero__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .hb-btn {
        width: 100%;
    }

    .hb-faq details > div {
        padding-right: 0;
    }
}

/*
LAYOUT NOTE:
The homepage is designed to sit inside the same Bootstrap .container width
used by the site header. In layout/home.php, use col-12 when the
component-right module position is empty; do not switch the page wrapper
to container-fluid.
*/



/* =========================================================
   DESTINATION PAGES
   Shared by Wien / Salzburg / Graz / Linz
   Append once to template.css
========================================================= */

.hb-destination-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 14px;
    color: #777;
    font-size: .82rem;
}

.hb-destination-breadcrumb a {
    color: #777;
}

.hb-destination-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
    margin-bottom: 0;
    border-top: 4px solid var(--hb-primary);
    border-bottom: 1px solid var(--hb-border);
    background: #fff;
    overflow: hidden;
}

.hb-destination-hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(38px, 4vw, 68px);
    background: linear-gradient(135deg, #fff 0%, #FBF5F8 100%);
}

.hb-destination-hero h1 {
    max-width: 720px;
    font-size: clamp(2.3rem, 4vw, 4rem);
    line-height: 1.08;
}

.hb-destination-hero__media {
    position: relative;
    min-height: 540px;
    overflow: hidden;
}

.hb-destination-hero__media > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hb-destination-hero__caption {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    padding: 17px 19px;
    border-radius: 10px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 12px 30px rgba(49,0,31,.18);
}

.hb-destination-hero__caption span,
.hb-destination-hero__caption strong {
    display: block;
}

.hb-destination-hero__caption span {
    color: var(--hb-accent-dark);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.hb-destination-hero__caption strong {
    color: var(--hb-primary-dark);
}

.hb-destination-hero__caption p {
    margin: 4px 0 0;
    font-size: .83rem;
    line-height: 1.45;
}

.hb-destination-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 26px;
}

.hb-destination-facts span {
    padding: 7px 11px;
    border: 1px solid var(--hb-border);
    border-radius: 999px;
    background: #fff;
    font-size: .8rem;
}

.hb-destination-facts strong {
    color: var(--hb-primary-dark);
}

.hb-quicknav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 76px;
    padding: 16px 0;
    border-bottom: 1px solid var(--hb-border);
}

.hb-quicknav > span {
    margin-right: 4px;
    color: var(--hb-primary-dark);
    font-size: .8rem;
    font-weight: 800;
}

.hb-quicknav a {
    padding: 7px 11px;
    border: 1px solid var(--hb-border);
    border-radius: 999px;
    background: #fff;
    color: var(--hb-primary);
    font-size: .8rem;
    font-weight: 700;
}

.hb-location-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.hb-location-card {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 16px;
    padding: 24px;
    border: 1px solid var(--hb-border);
    border-radius: 12px;
    background: #fff;
}

.hb-location-card__number {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--hb-primary-light);
    color: var(--hb-primary);
    font-size: .8rem;
    font-weight: 800;
}

.hb-location-card p {
    margin-bottom: 10px;
    font-size: .92rem;
}

.hb-location-card strong {
    color: var(--hb-accent-dark);
    font-size: .76rem;
}

.hb-location-card--accent {
    border-color: rgba(246,139,30,.45);
    background: var(--hb-accent-light);
}

.hb-location-card--accent .hb-location-card__number {
    background: var(--hb-accent);
    color: #fff;
}

.hb-content-split {
    display: grid;
    grid-template-columns: minmax(320px, .85fr) minmax(0, 1.15fr);
    gap: clamp(32px, 5vw, 68px);
    align-items: center;
}

.hb-content-split--reverse {
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
}

.hb-content-split__media {
    overflow: hidden;
    border-radius: 12px;
    min-height: 360px;
}

.hb-content-split__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hb-destination-note {
    margin: 22px 0 0;
    padding: 17px 19px;
    border-left: 4px solid var(--hb-accent);
    background: #fff;
}

.hb-destination-points {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.hb-destination-points span {
    padding: 11px 14px;
    border-left: 4px solid var(--hb-primary);
    background: var(--hb-bg);
    color: var(--hb-primary-dark);
    font-weight: 700;
}

@media (max-width: 991px) {
    .hb-destination-hero,
    .hb-content-split,
    .hb-content-split--reverse {
        grid-template-columns: 1fr;
    }

    .hb-destination-hero__media {
        min-height: 390px;
    }
}

@media (max-width: 680px) {
    .hb-location-grid {
        grid-template-columns: 1fr;
    }

    .hb-destination-hero__content {
        padding: 34px 22px;
    }

    .hb-destination-hero__media {
        min-height: 300px;
    }

    .hb-destination-hero__caption {
        left: 14px;
        right: 14px;
        bottom: 14px;
    }
}

