/* Desktop header buttons */
.header-bar .locations-toggle,
.header-bar .btn.btn-primary {
    font-size: var(--paragraph-font-size) !important;
    font-family: var(--font-ui);
    text-decoration: none;
    text-transform: capitalize;
    font-weight: 600 !important;
    border: none;
	background:#f0b32e;
	border-radius: 30px;
	padding:10px 20px;
}

/* Desktop dropdown animation */

.primary-nav .submenu {
	opacity: 0;
	transform: translateY(8px);
	pointer-events: none;
	transition: opacity .18s ease, transform .18s ease;
	will-change: transform, opacity;
}

.primary-nav .nav-item:hover .submenu,
.primary-nav .nav-item:focus-within .submenu {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

/* Active trail */

.primary-nav .nav-item.is-active > .nav-link {
	font-weight: 600;
}

/* Drawer helpers */

.drawer[aria-hidden="true"] {
	display: none;
}
.primary-nav {
	position: relative;
}

.primary-nav .nav-item {
	position: relative;
}
.primary-nav .nav-item.is-active {
	background:#F0B32E !important;
}
.primary-nav .nav-item.is-active  a{
	color:#12103A;
}
.mega-menu {
	position				: absolute;
	top						: 0;
	left					: 50%;
	transform				: translateX(-50%);
	width					: 100vw;
	/*background			: #1f3144;*/
	padding					: 1.5rem 0;
	z-index					: 40;
	transition				: opacity 140ms ease;
	box-shadow				: 0 20px 40px rgba(0,0,0,0.25);
}
body[data-mega-menu="open"] .mega-menu {
	opacity					: 1;
	position				: relative;
}
.mega-menu[hidden],
body[data-mega-menu="open"] .mega-menu[hidden] {
	opacity					: 0;
	pointer-events			: none;
}
.mega-menu-links {
	width					: 100%;
	z-index					: 2;
	display					: flex;
	align-items				: center;
	justify-content			: center;
	height					: 100%;
}

.mega-menu__panel--right {
	position				: relative;
}
.mega-menu__panel--right:before {
	position				: absolute;
	content					: "";
	top						: 15px;
	left					: 15px;
	right					: 15px;
	bottom					: 15px;
	border-radius			: 10px;
}
.mega-menu-links__list {
	margin					: 0;
	padding					: 0;
}
.mega-menu-links__item {
	list-style				: none;
	margin					: 0;
	padding					: 0;
}

.primary-nav .nav-item.has-mega-menu:hover > .mega-menu,
.primary-nav .nav-item.has-mega-menu:focus-within > .mega-menu {
	pointer-events			: auto;
	opacity					: 1;
}
.mega-menu__grid {
	display					: grid;
	grid-template-columns	: 66% 33%;
	grid-template-areas		:
		"feature right"
		"bottom  bottom";
	gap						: 20px;
	max-width				: 1200px;
	margin					: 0 auto;
	padding					: 0 1rem;
	align-items				: stretch;
}

.mega-menu__grid--no-bottom {
	grid-template-areas		: "feature right";
}

/* Assign areas */
.mega-menu__panel--feature {
	grid-area				: feature;
	min-height				: 260px;
	background				: #f3ead7;
	border-radius			: 15px;
	overflow				: hidden;
	display					: flex;
	align-items				: center;
	justify-content			: center;
	color					: #1f3144;
	font-weight				: 700;
	text-align				: center;
 position:relative;
}
/*.mega-promo-card:before {
	position				: absolute;
	top						: 15px;
	left					: 15px;
	right					: 15px;
	bottom					: 15px;
	border					: 2px solid #ef9a2f;
	border-radius			: 5px;
	z-index					: 3;
	pointer-events			: none;
	content					: "";
}*/
.mega-menu__panel--feature:before {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	box-shadow:inset 0px 0px 0px 4px #f7f5f5;
	content:"";
	border-radius:15px;
	z-index: 2;

	pointer-events:none;
}
.mega-menu__panel--right {
	grid-area				: right;
	background			: #F0B32E;
	padding					: 1.5rem 1.5rem 1.25rem;
	border-radius		: 15px;
	display					: flex;
	align-items			: flex-start;
	overflow				: hidden;
}
.mega-menu__panel--right:after {
	content					: "";
	background			: url(/wp-content/themes/barbaras/assets/images/Barbaras-Bier-Haus-Emblem-crop.png);
	position				: absolute;
	background-size	: cover;
	z-index					: 1;
	bottom: -10px;
	right: -40px;
	width: 150px;
	height: 150px;
}

.mega-menu__panel--bottom {
	grid-area				: bottom;
	background				: transparent;
}
.mega-menu__panel--bottom {
}

.mega-menu-links__item + .mega-menu-links__item {
	margin-top				: 0;
}

.mega-menu-links__link {
	display					: block;
	text-decoration			: none;
	color					: #1b1b1b;
	font-weight				: 600;
	font-size				: 20px;
	line-height				: 1.2;
	padding					: 0.35rem 0;
	transition				: transform 120ms ease, opacity 120ms ease;
	text-align				: center;
}

/*.mega-menu-links__link:hover,
.mega-menu-links__link:focus-visible {
	transform				: translateX(5px);
	opacity					: 0.85;
	outline					: none;
}*/

.mega-menu-links__link:hover .mega-menu-links__text:after{
	background:url(/wp-content/themes/bonnierogues/assets/images/wiggler.svg);
	background-repeat:no-repeat;
	display:inline-block;
	width:48px;
	height:23px;
	background-size:contain;
	background-position: center center;
	content:"";
	position:absolute;
	right:-57px;
	top:0;
}
.mega-menu-links__text {
	position:relative;
}
.mega-menu-bottom {
	position: relative;
}

.mega-menu-bottom__viewport {
	width: 100%;
	overflow: hidden;
}

.mega-menu-bottom__track {
	display: grid;
	gap: 20px;
}

.mega-menu-bottom--one .mega-menu-bottom__track {
	grid-template-columns: 1fr;
}

.mega-menu-bottom--two .mega-menu-bottom__track {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mega-menu-bottom--three .mega-menu-bottom__track {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mega-menu-bottom--scrollable {
	padding: 0 2.75rem;
}

.mega-menu-bottom--scrollable .mega-menu-bottom__viewport {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.mega-menu-bottom--scrollable .mega-menu-bottom__viewport::-webkit-scrollbar {
	display: none;
}

.mega-menu-bottom--scrollable .mega-menu-bottom__track {
	display: flex;
	gap: 1rem;
	width: max-content;
}

.mega-menu-bottom--scrollable .mega-menu-card {
	flex: 0 0 320px;
	scroll-snap-align: start;
}

.mega-menu-bottom__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2rem;
	height: 2rem;
	border: 0;
	border-radius: 999px;
	background: rgba(31, 49, 68, 0.92);
	color: #ffffff;
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.mega-menu-bottom__arrow--prev {
	left: 0;
}

.mega-menu-bottom__arrow--next {
	right: 0;
}

.mega-menu-card {
	position: relative;
	min-width: 0;
}

.mega-menu-card__image-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.mega-menu-card__image-wrap {
	position: relative;
	border-radius: 15px;
	overflow: hidden;
	min-height: 180px;
	background: #12103A;
}

.mega-menu-card__image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 180px;
	object-fit: contain;
}

.mega-menu-card__image--empty {
	background: linear-gradient(135deg, #1D457C, #12103A);
}
.mega-menu-card__overlay {
	position				: absolute;
	inset					: 0;
	display					: flex;
	flex-direction			: column;
	justify-content			: flex-end;
	padding					: 1rem;
	background				: linear-gradient(to top, rgba(10, 19, 27, 0.88) 0%, rgba(10, 19, 27, 0.15) 65%, rgba(10, 19, 27, 0) 100%);
	padding					: 45px;
}
.mega-menu-card__overlay:before{
	display					: none;
	pointer-events			: none;
	position				: absolute;
	top						: 15px;
	left					: 15px;
	bottom					: 15px;
	right					: 15px;
	content					: "";
	border					: 2px solid #ef9a2f;
	border-radius			: 5px;
	z-index					: 2;
}

.mega-menu-card__overlay:after{
	content: "";
	background-color: var(--wp--preset--color--brand-dark) !important;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	opacity: 0.2;
	z-index:1;
}
.mega-menu-card__title {
	margin: 0 0 15px;
	color: #f8f2e5;
	font-size: clamp(1.3rem, 2vw, 2.1rem);
	line-height: 0.95;
	max-width: 80%;
	text-wrap: balance;
	z-index:2;
}
.mega-menu-card__description {
	margin: 0 0 0.9rem;
	color: #f8f2e5;
	font-size: 0.95rem;
	line-height: 1.3;
	max-width: 90%;
}

.mega-menu-card__actions {
	display: flex;
	gap: 0.65rem;
	flex-wrap: wrap;
	z-index:2;
}

.mega-menu-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.5rem;
	padding: 0 1rem;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 800;
	font-size: 0.95rem;
	transition: opacity 120ms ease, transform 120ms ease;
}

.mega-menu-card__btn:hover,
.mega-menu-card__btn:focus-visible {
	opacity: 0.9;
	transform: translateY(-1px);
	outline: none;
}

.mega-menu-card__btn--book {
	background: #F0B32E;
	color: #12103A;
}

.mega-menu-card__btn--details {
	background: #F0B32E;
	color: #12103A;
}

@media (max-width: 920px) {
	.mega-menu__grid {
		grid-template-columns: 1fr;
	}

	.mega-menu__panel--feature,
	.mega-menu__panel--right,
	.mega-menu__panel--bottom {
		grid-column: 1;
		grid-row: auto;
	}

	.mega-menu__panel--right {
		order: 2;
	}

	.mega-menu__panel--bottom {
		order: 3;
	}

	.mega-menu-bottom--two .mega-menu-bottom__track,
	.mega-menu-bottom--three .mega-menu-bottom__track {
		grid-template-columns: 1fr;
	}
}

.mega-menu-card__title a {
	color:#f7f5f5;
	text-decoration: none;
	font-weight:bold;
}
.mega-menu-card__title a:hover {
	text-decoration: none;
}
.mega-promo-card{
	display:block;
	overflow:hidden;
		width: 100%;
	height: 100%;
}

.mega-promo-card img {
	width						: 100%;
	display						: block;
	border-radius				: 0;
}
.mega-promo-card .mega-promo-card__content {
	position:absolute;
	top:50%;
	left:50%;
	transform:translateY(-50%) translateX(-50%);
	width:85%;
}

.mega-promo-card .mega-promo-card__content h2{
	color:var(--grey-light);
	margin-top: 0;
	margin-bottom:0;
	font-size:50px;
}
.mega-promo-card .mega-promo-card__content h3{
	color:var(--grey-light);
	margin-top: 0;
	margin-bottom:10px;
	font-size:40px;
	color:#f0b32e;
	font-weight:800;
}
.reversed-headings {
	display:flex;
	flex-direction: column;
}
.reversed-headings h2 {
	order:2;
}
.reversed-headings h3 {
	order:1;	
}
.mega-promo-card .mega-promo-card__content p{
	color:var(--grey-light);
	margin-top:0;
	font-weight:600;
}
.media-card {
	position: relative;
	overflow: hidden;
		width: 100%;
	height: 100%;
	z-index: 1;
}

.media-card__link {
	display: block;
	position: relative;
	text-decoration: none;
	color: white;
}

/* Video fills container */
.media-card__image,
.media-card__video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Gradient overlay */
.media-card__link::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		rgba(0,0,0,0.2),
		rgba(0,0,0,0.6)
	);
	z-index: 1;
}

/* Overlay container */
.media-card__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;     /* vertical centre */
	justify-content: center; /* horizontal centre */
	z-index: 2;
	text-align: center;
	padding: 20px;
}
.media-card__overlay:before{
	content:"";
	background-color: var(--wp--preset--color--brand-dark) !important;
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	opacity:0.2;
}

/* Optional text styling */
.media-card__content h2 {
	margin: 0;
	font-size: 2rem;
}

.media-card__content p {
	margin: 10px 0 0;
	font-size: 1rem;
}

.site-header {
	position: relative;
}

.primary-nav {
	position: relative;
	z-index: 20;
}

.mega-menu-layer {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 30;
	pointer-events: none;
}

.mega-menu {
	pointer-events: auto;
}

.mega-menu[hidden] {
	display: none;
}

body[data-mega-menu="open"] .mega-menu-layer {
	visibility			: visible;
	opacity				: 1;
	background-image	: var(--home-bg);
	background-size		: cover;
	margin-top			: 0;
}

body[data-mega-menu="closed"] .mega-menu-layer {
	visibility			: hidden;
	opacity				: 0;
}
.quick-venue-selector {
	height				: 46px;
	position			: fixed;
	z-index				: 200;
	left				: 50%;
	transform			: translateX(-50%);
	width				: 230px;
	background			: #F0B32E;
	border-radius		: 0 0 5px 5px;
	line-height			: 46px;
	overflow			: hidden;
	box-shadow			: 0 0 10px 0px rgba(0,0,0,0.4);
	cursor				: pointer;
}
.quick-venue-selector.open {
	height				: auto;
}
.quick-venue-selector ul {
	display				: none;
	margin				: 0 12px 15px;
	list-style			: none;
	padding				: 0;
}
.quick-venue-selector li {
	list-style			: none;
	margin				: 0 0 0;
	padding				: 5px 12px;
	border-bottom		: 1px solid #021c24;
}
.quick-venue-selector li:last-child {
	border-bottom		: 0;
}
.quick-venue-selector a {
	color				: #021c24;
	position			: relative;
	display				: flex;
	flex-direction		: row;
	gap					: 5px;
	line-height			: 60px;
	font-size			: 20px;
	padding				: 0;
	text-decoration		: none;
	font-weight			: 600;
}
.quick-venue-selector img {
	height				: 60px;
	width				: auto;
}
.quick-venue-selector button {
	background			: transparent;
	border				: 0;
	height				: 46px;
	line-height			: 46px;
	padding				: 0 12px;
	text-align			: left;
	position			: relative;
	display				: block;
	width				: 100%;
	cursor				: pointer;
	font-family			: var(--font-ui);
	text-transform		: uppercase;
	font-weight			: 600;
}
.quick-venue-selector button:after {
	content				: "";
	background			: url(/wp-content/uploads/2026/06/arrow-down-to-line.svg);
	height				: 20px;
	width				: 30px;
	position			: absolute;
	right				: 0px;
	top					: 13px;
	background-size		: contain;
	background-repeat	: no-repeat;
}
.quick-venue-selector.open button:after {
	background			: url(/wp-content/uploads/2026/06/arrow-up-to-line.svg);
	background-size		: contain;
	background-repeat	: no-repeat;
}
.quick-venue-selector.open ul {
	display				: block;
}

.menu-breadcrumb {
	color:var(--brand-light);
	font-size:15px;
	line-height:21px;
}
.menu-breadcrumb a {
	display:inline;
	font-size:15px;
	line-height:21px;
}
.menu a, .submenu > summary {
	font-family:var(--font-ui);
	font-weight:600;
}
.menu-section a {
	color:#f0b32e;
}
.menu-section summary {
	color:#f0b32e;
}
.menu-section {
	padding-bottom:0;
}
.menu-section .submenu ul li a {
	color:#f7f5f5;
	padding:0 0 0 20px;
	line-height:32px;
}
.menu-section a.highlight {
	color:#f0b32e;
}
.submenu > summary svg {
	height:32px;
	position:relative;
	top:0px;
	transform:rotate(180deg);
}
.menu .menu-section {
  border-bottom: 2px solid white;
}
.drawer-nav {
	background-image:url(/wp-content/uploads/2026/05/RetroBackground_04-scaled.webp);
	background-position:static;
}
.menu-promotion {
	margin:0;
}
.menu .mobile-promo-card {
	border:2px solid #f7f5f5;
	border-radius:12px;
}
.mobile-promo-card::before {
	content: "";
	background-color: var(--wp--preset--color--brand-dark) !important;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	opacity: 0.60;
	display:block;
	z-index:1;
	border:0;
	box-shadow:none;
	border-radius:0;
}
.mobile-promo-card__content {
	background:none;
	backdrop-filter: none;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content: center;
	font-size:20px;
	z-index:2;
}
.mobile-promo-card__content h2 {
	font-size:38px !important;
	font-family: "Sofia Pro";
	color:#f0b32e;
	margin-top:0;
	margin-bottom:40px;
	font-weight:bold;
	text-shadow:none;
}
.mobile-promo-card__content strong {
	display:block;
	font-size:100px;
	padding-bottom:10px;
	font-weight:400;
	font-family: "Dharma Gothic";
	color:#f7f5f5;
	text-transform: uppercase;
	text-shadow:-3px -3px 0 #12103a, 3px -3px 0 #12103a, -3px 3px 0 #12103a, 3px 3px 0 #12103a;
}
.mobile-promo-card__content span {
	display:none;
}

.header-book__label {
  font-size: 18px;
  line-height: 1;
  font-family: 'Sofia Pro';
  font-weight: 600;
  color:#021c24;
}
#menuToggle span {
  font-size: 18px;
  line-height: 1;
  font-family: 'Sofia Pro';
  font-weight: 600;
  color:#021c24;
}
.opening-hours__summary {
  font-family: var(--font-ui);
  font-size: 13px;
  line-height: 1;
  color: var(--brand-dark);
  font-weight: 600;
}
  .opening-hours__label {
    margin-right: 12px;
    font-weight: 600 !important;
  font-family: var(--ui);
  }

  .bbh-chairlift {
	position: absolute;
	left: -180px;
	top: 132px; /* adjust to sit on the dotted line */
	width: 150px;
	height: auto;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	z-index: 20;
	pointer-events: auto;

	animation: bbh-chairlift-travel 42s linear infinite;
	will-change: transform;
}

.bbh-chairlift img {
	display: block;
	width: 100%;
	height: auto;
	pointer-events: none;
	transform-origin: 50% 4%;
	animation: bbh-chairlift-rock 4.8s ease-in-out infinite;
	will-change: transform;
}

@keyframes bbh-chairlift-travel {
	0% {
		transform: translate3d(-180px, 0, 0);
	}

	100% {
		transform: translate3d(calc(100vw + 260px), 0, 0);
	}
}

@keyframes bbh-chairlift-rock {
	0% {
		transform: rotate(-2.5deg);
	}

	50% {
		transform: rotate(2.5deg);
	}

	100% {
		transform: rotate(-2.5deg);
	}
}

.bbh-chairlift {
	position: absolute;
	left: -180px;
	top: 172px; /* adjust to sit on the dotted line */
	width: 150px;
	height: auto;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	z-index: 20;
	pointer-events: auto;

	animation: bbh-chairlift-travel 42s linear infinite;
	will-change: transform;
	display:none;
}
@media all and (min-width:480px){
	.bbh-chairlift{
		display:block;
	}
}
.bbh-chairlift img {
	display: block;
	width: 100%;
	height: auto;
	pointer-events: none;
	transform-origin: 50% 4%;
	animation: bbh-chairlift-rock 4.8s ease-in-out infinite;
	will-change: transform;
}

@keyframes bbh-chairlift-travel {
	0% {
		transform: translate3d(-180px, 0, 0);
	}

	100% {
		transform: translate3d(calc(100vw + 260px), 0, 0);
	}
}

@keyframes bbh-chairlift-rock {
	0% {
		transform: rotate(-2.5deg);
	}

	50% {
		transform: rotate(2.5deg);
	}

	100% {
		transform: rotate(-2.5deg);
	}
}
.bbh-chairlift.is-wobbling img {
	animation:
		bbh-chairlift-wobble 700ms ease-in-out,
		bbh-chairlift-rock 4.8s ease-in-out infinite 700ms;
}

@keyframes bbh-chairlift-wobble {
	0% {
		transform: rotate(0deg) translateY(0);
	}

	14% {
		transform: rotate(-9deg) translateY(3px);
	}

	28% {
		transform: rotate(8deg) translateY(-2px);
	}

	42% {
		transform: rotate(-7deg) translateY(3px);
	}

	56% {
		transform: rotate(5deg) translateY(-1px);
	}

	72% {
		transform: rotate(-3deg) translateY(2px);
	}

	100% {
		transform: rotate(0deg) translateY(0);
	}
}
.bbh-chairlift {
	position: absolute;
	left: -180px;
	top: 197px;
	width: 150px;
	height: auto;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	z-index: 130;
	pointer-events: auto;

	animation: bbh-chairlift-travel 42s linear infinite;
	will-change: transform;
}
html[data-locations-state="open"] .bbh-chairlift {
	display:none;
}

.bbh-chairlift__swing {
	display: block;
	width: 100%;
	transform-origin: 50% 2%;
	animation: bbh-chairlift-rock 4.8s ease-in-out infinite;
	will-change: transform;
}

.bbh-chairlift__swing img {
	display: block;
	width: 100%;
	height: auto;
	pointer-events: none;
}

@keyframes bbh-chairlift-rock {
	0% {
		transform: rotate(-1.8deg);
	}

	50% {
		transform: rotate(1.8deg);
	}

	100% {
		transform: rotate(-1.8deg);
	}
}
.bbh-chairlift.is-wobbling .bbh-chairlift__swing {
	animation: bbh-chairlift-poked 1150ms cubic-bezier(.18, .89, .32, 1.28);
}

@keyframes bbh-chairlift-poked {
	0% {
		transform: translate3d(0, 0, 0) rotate(0deg);
	}

	7% {
		transform: translate3d(12px, 5px, 0) rotate(11deg);
	}

	15% {
		transform: translate3d(-9px, -2px, 0) rotate(-13deg);
	}

	25% {
		transform: translate3d(7px, 3px, 0) rotate(9deg);
	}

	37% {
		transform: translate3d(-5px, -1px, 0) rotate(-7deg);
	}

	50% {
		transform: translate3d(4px, 2px, 0) rotate(5deg);
	}

	64% {
		transform: translate3d(-2px, 0, 0) rotate(-3deg);
	}

	78% {
		transform: translate3d(1px, 1px, 0) rotate(2deg);
	}

	90% {
		transform: translate3d(0, 0, 0) rotate(-1deg);
	}

	100% {
		transform: translate3d(0, 0, 0) rotate(0deg);
	}
}