/*
 * Barefoot Hawaii preserved design layer.
 *
 * Dimensions, colors, typography and section order are based on the original
 * public homepage at its 1591px desktop viewport. Account and content templates
 * continue to use the accessible base stylesheet beneath this layer.
 */

@font-face {
	font-family: "Work Sans";
	src: url("../fonts/work-sans-latin.woff2") format("woff2");
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
}

@font-face {
	font-family: "Berlin Sans FB Demi";
	src: url("../fonts/berlin-sans-fb-demi.woff2") format("woff2");
	font-style: normal;
	font-weight: 600 800;
	font-display: swap;
}

:root {
	--bh-original-teal: #002b2b;
	--bh-original-gold: #ffb701;
	--bh-original-sand: #f3f0e6;
	--bh-original-white: #fff;
	--bh-original-shadow-teal: 0 8px 24px rgba(0, 79, 79, 0.5);
	--bh-original-shadow-gold: 0 8px 24px rgba(255, 183, 1, 0.5);
}

body {
	color: var(--bh-original-teal);
	font-family: "Work Sans", Arial, sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5;
}

.bh-original-home,
.bh-original-home *,
.site-header,
.site-header *,
.bh-island-strip,
.bh-island-strip *,
.site-footer,
.site-footer * {
	box-sizing: border-box;
}

.bh-original-home h1,
.bh-original-home h2,
.bh-original-home h3,
.bh-original-home p,
.bh-original-home ul,
.site-footer h2,
.site-footer p,
.site-footer ul {
	margin-top: 0;
}

.bh-original-home h1,
.bh-original-home h2,
.bh-original-home h3,
.site-footer h2 {
	color: var(--bh-original-teal);
	letter-spacing: normal;
}

.site-footer h2 {
	color: #fff;
}

.bh-original-home a,
.site-header a,
.site-footer a,
.bh-island-strip a {
	text-decoration: none;
}

/* Header */

body .site-header {
	position: relative;
	top: auto;
	z-index: 100;
	width: 100%;
	height: 125px;
	min-height: 125px;
	border: 0;
	background: var(--bh-original-sand);
	box-shadow: none;
}

body.admin-bar .site-header {
	top: 0;
}

.bh-original-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 125px;
	padding: 16px 32px;
}

.site-header .site-brand {
	display: flex;
	flex: 0 1 330px;
	align-items: center;
	width: 330px;
	min-width: 220px;
	max-width: 330px;
	height: 76px;
	margin: 0;
	padding: 0;
}

.site-header .site-brand img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 76px;
	object-fit: contain;
	object-position: left center;
}

.site-header .primary-navigation {
	position: static;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 30px;
	width: auto;
	height: auto;
	padding: 0;
	background: transparent;
	box-shadow: none;
}

.site-header .primary-menu,
.site-header .primary-menu ul {
	padding: 0;
	list-style: none;
}

.site-header .primary-menu {
	display: flex;
	align-items: center;
	gap: 0;
	margin: 0;
}

.site-header .primary-menu > li {
	position: relative;
	margin: 0;
}

.site-header .primary-menu > li > a {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 67px;
	padding: 20px 14px;
	color: var(--bh-original-teal);
	font-size: 18px;
	font-weight: 600;
	line-height: 27px;
	white-space: nowrap;
}

.bh-nav-chevron {
	display: inline-block;
	width: 0;
	height: 0;
	margin-top: 3px;
	border-top: 5px solid currentcolor;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
}

.site-header .sub-menu {
	position: absolute;
	top: calc(100% - 6px);
	left: 0;
	z-index: 20;
	display: none;
	min-width: 245px;
	margin: 0;
	padding: 8px 0;
	border-radius: 4px;
	background: var(--bh-original-sand);
	box-shadow: 0 12px 30px rgba(0, 43, 43, 0.18);
}

.site-header .sub-menu a {
	display: block;
	padding: 9px 18px;
	color: var(--bh-original-teal);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
}

.site-header .sub-menu a:hover,
.site-header .sub-menu a:focus-visible {
	background: rgba(0, 43, 43, 0.08);
}

.site-header .menu-item-has-children:hover > .sub-menu,
.site-header .menu-item-has-children:focus-within > .sub-menu {
	display: block;
}

.nav-toggle {
	display: none;
}

/* Original buttons */

.bh-original-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 59px;
	padding: 16px 29px;
	border: 1px solid transparent;
	border-radius: 4px;
	font-family: "Work Sans", Arial, sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 27px;
	text-align: center;
	transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

.bh-original-button--gold {
	border-color: var(--bh-original-gold);
	background: var(--bh-original-gold);
	color: var(--bh-original-teal);
	box-shadow: var(--bh-original-shadow-gold);
}

a.bh-original-button--gold:hover,
a.bh-original-button--gold:focus-visible {
	border-color: var(--bh-original-teal);
	background: var(--bh-original-teal);
	color: #fff;
	box-shadow: var(--bh-original-shadow-teal);
}

.bh-original-button--teal {
	border-color: var(--bh-original-teal);
	background: var(--bh-original-teal);
	color: #fff;
	box-shadow: var(--bh-original-shadow-teal);
}

a.bh-original-button--teal:hover,
a.bh-original-button--teal:focus-visible {
	border-color: var(--bh-original-gold);
	background: var(--bh-original-gold);
	color: var(--bh-original-teal);
	box-shadow: var(--bh-original-shadow-gold);
}

.bh-original-portal-button {
	flex: 0 0 200px;
	width: 200px;
	min-height: 61px;
	padding: 16px;
	font-weight: 500;
}

/* Hero */

.bh-original-hero {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	height: 718px;
	padding: 75px 16px;
	background-color: var(--bh-original-sand);
	background-image: var(--bh-hero-image);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: auto;
}

.bh-original-hero__panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 1080px;
	max-width: 100%;
	height: 568px;
	padding: 32px;
	border: 1px solid #fff;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.75);
	text-align: center;
}

.bh-original-hero__intro {
	width: 774px;
	max-width: 100%;
	min-height: 54px;
	margin-bottom: 0;
	color: var(--bh-original-teal);
	font-size: 18px;
	font-weight: 600;
	line-height: 27px;
}

/* The source homepage panel has no border; keep the V2 working design separate. */
.bh-home-baseline .bh-original-hero__panel {
	border: 0;
}

.bh-home-baseline .bh-original-hero__intro,
.bh-home-baseline .bh-original-hero__copy {
	width: max-content;
}

.bh-original-hero h1 {
	width: 1016px;
	max-width: 100%;
	min-height: 192px;
	margin: 32px 0 16px;
	color: var(--bh-original-teal);
	font-family: "Berlin Sans FB Demi", "Work Sans", sans-serif;
	font-size: 64px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
}

.bh-original-edition {
	min-height: 43px;
	margin-bottom: 32px;
	padding: 8px 24px;
	border-radius: 100px;
	background: var(--bh-original-gold);
	color: var(--bh-original-teal);
	font-size: 20px;
	font-weight: 700;
	line-height: 27px;
}

.bh-original-hero__copy {
	width: 749px;
	max-width: 100%;
	min-height: 54px;
	margin-bottom: 32px;
	font-size: 18px;
	font-weight: 600;
	line-height: 27px;
}

.bh-original-hero__buttons {
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: 16px;
	width: 830px;
	max-width: 100%;
	height: 49px;
}

.bh-original-hero__buttons .bh-original-button {
	min-height: 49px;
	padding: 10px 32px;
	font-weight: 700;
	white-space: nowrap;
}

/* Category showcase */

.bh-original-categories {
	width: 100%;
	height: 904px;
	background: var(--bh-original-sand);
}

.bh-original-categories__banner {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: 283px;
	padding: 64px 16px 80px;
	background-image: var(--bh-categories-image);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	color: #fff;
	text-align: center;
}

.bh-original-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 53px;
	margin-bottom: 16px;
	padding: 13px 24px;
	border-radius: 25px;
	background: rgba(0, 43, 43, 0.25);
	color: var(--bh-original-teal);
	font-size: 18px;
	font-weight: 500;
	line-height: 27px;
	text-transform: uppercase;
}

.bh-original-pill--light {
	background: rgba(255, 255, 255, 0.25);
	color: #fff;
}

.bh-original-categories__banner h2 {
	height: 27px;
	margin: 0 0 16px;
	color: #fff;
	font-family: "Berlin Sans FB Demi", "Work Sans", sans-serif;
	font-size: 49px;
	font-weight: 700;
	line-height: 27px;
}

.bh-original-categories__banner > p:last-child {
	width: 900px;
	max-width: 100%;
	margin-bottom: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 27px;
}

.bh-original-category-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	width: min(1305px, calc(100% - 32px));
	height: 589px;
	margin: -48px auto 0;
}

.bh-original-category-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	height: 589px;
	padding: 32px;
	border: 2px solid #fff;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.75);
	box-shadow: 0 4px 40px rgba(0, 0, 0, 0.1);
}

.bh-original-category-card header {
	display: flex;
	flex: 0 0 103px;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	text-align: center;
}

.bh-original-category-card h3 {
	height: 27px;
	margin: 0 0 8px;
	font-family: "Berlin Sans FB Demi", "Work Sans", sans-serif;
	font-size: 40px;
	font-weight: 700;
	line-height: 27px;
}

.bh-original-category-card header p {
	margin-bottom: 16px;
	font-family: "Berlin Sans FB Demi", "Work Sans", sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 27px;
}

.bh-original-category-card ul {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	margin: 0;
	padding: 2px 0 12px;
	list-style: none;
}

.bh-original-category-card li {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 35px;
	font-size: 18px;
	line-height: 27px;
}

.bh-original-category-card li img {
	flex: 0 0 25px;
	width: 25px;
	height: 25px;
	object-fit: contain;
}

.bh-original-category-card li a {
	color: var(--bh-original-teal);
}

.bh-original-category-card__button {
	flex: 0 0 auto;
	width: 100%;
	min-height: 88px;
	padding: 16px 22px;
	font-weight: 400;
}

/* How to use the directory */

.bh-original-how {
	width: 100%;
	height: 1079px;
	padding: 75px 16px 0;
	background: #fff;
}

.bh-original-section-heading {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: 345px;
	text-align: center;
}

.bh-original-section-heading h2 {
	margin: 24px 0 32px;
	color: var(--bh-original-teal);
	font-family: "Berlin Sans FB Demi", "Work Sans", sans-serif;
	font-size: 49px;
	font-weight: 700;
	line-height: 49px;
}

.bh-original-section-heading > p:last-child {
	width: 900px;
	max-width: 100%;
	margin-bottom: 48px;
	font-size: 18px;
	line-height: 27px;
}

.bh-original-step-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: 292px 346px;
	gap: 20px;
	width: min(1408px, 100%);
	height: 658px;
	margin: 0 auto;
}

.bh-original-step-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 64px 32px;
	border: 1px solid rgba(0, 43, 43, 0.1);
	border-radius: 8px;
	background: rgba(243, 240, 230, 0.5);
	text-align: center;
}

.bh-original-step-card__number {
	margin-bottom: 0;
	font-size: 18px;
	font-weight: 800;
	line-height: 27px;
}

.bh-original-step-card h3 {
	margin: 0 0 24px;
	padding: 16px 0 8px;
	font-family: "Berlin Sans FB Demi", "Work Sans", sans-serif;
	font-size: 33px;
	font-weight: 700;
	line-height: 33px;
}

.bh-original-step-card > p:last-child {
	margin-bottom: 0;
	font-size: 18px;
	line-height: 27px;
}

/* Lowest-price panel */

.bh-original-lowest {
	width: 100%;
	height: 641px;
	padding: 16px 16px 64px;
	background: #fff;
}

.bh-original-lowest__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: min(1408px, 100%);
	height: 561px;
	margin: 0 auto;
	padding: 64px 16px;
	border: 1px solid rgba(0, 43, 43, 0.1);
	border-radius: 8px;
	background: rgba(243, 240, 230, 0.5);
	text-align: center;
}

.bh-original-lowest h2 {
	margin: 16px 0 32px;
	font-family: "Berlin Sans FB Demi", "Work Sans", sans-serif;
	font-size: 49px;
	font-weight: 700;
	line-height: 49px;
}

.bh-original-lowest__card > p:nth-of-type(2) {
	margin-bottom: 32px;
	font-size: 18px;
	font-weight: 500;
	line-height: 27px;
}

.bh-original-lowest__explain {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	width: 954px;
	max-width: 100%;
	height: 157px;
	margin-bottom: 32px;
	padding: 48px;
	border-radius: 20px;
	background: var(--bh-original-teal);
	color: #fff;
	text-align: left;
}

.bh-original-lowest__explain .bh-original-button {
	flex: 0 0 272px;
	width: 272px;
	min-height: 61px;
	box-shadow: var(--bh-original-shadow-gold);
}

.bh-original-lowest__explain p {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 27px;
}

.bh-original-lowest__benefits {
	margin-bottom: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 27px;
}

.bh-original-lowest__benefits a {
	color: var(--bh-original-teal);
	font-weight: 800;
}

/* Island cards */

.bh-original-islands {
	width: 100%;
	height: 879px;
	padding: 16px 20px 43px;
	background: #fff;
}

.bh-original-section-heading--islands {
	height: 189px;
}

.bh-original-section-heading--islands h2 {
	width: 495px;
	max-width: 100%;
	height: 98px;
	margin: 0 0 16px;
	font-size: 49px;
	line-height: 49px;
}

.bh-original-section-heading--islands > p:last-child {
	width: 495px;
	margin: 0 0 48px;
	line-height: 27px;
}

.bh-original-island-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 342px));
	justify-content: center;
	gap: 24px;
	width: 100%;
	height: 599px;
}

.bh-original-island-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	width: 342px;
	height: 599px;
	padding: 0 0 24px;
	overflow: hidden;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 4px 24px rgba(1, 55, 36, 0.25);
}

.bh-original-island-card > img {
	display: block;
	width: 342px;
	height: 280px;
	border-radius: 8px 8px 0 0;
	object-fit: cover;
}

.bh-original-island-card__content {
	flex: 1 1 auto;
	width: 100%;
	padding: 16px 29px 24px;
}

.bh-original-island-card h3 {
	margin: 0 0 16px;
	font-family: "Berlin Sans FB Demi", "Work Sans", sans-serif;
	font-size: 35px;
	font-weight: 700;
	line-height: 27px;
}

.bh-original-island-card p {
	margin-bottom: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 27px;
}

.bh-original-island-card > .bh-original-button {
	width: 90%;
	min-height: 61px;
	font-weight: 500;
}

/* Story band */

.bh-original-story {
	width: 100%;
	height: 602px;
	background: var(--bh-original-teal);
}

.bh-original-story__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
	width: 1120px;
	max-width: 100%;
	height: 602px;
	margin: 0 auto;
	padding: 75px 20px;
}

.bh-original-story__brand {
	display: flex;
	flex: 0 0 350px;
	align-items: center;
	justify-content: center;
	height: 452px;
}

.bh-original-story__brand img {
	display: block;
	width: 350px;
	height: auto;
}

.bh-original-story__content {
	display: flex;
	flex: 0 0 682px;
	flex-direction: column;
	align-items: flex-start;
	height: 452px;
}

.bh-original-story__copy {
	display: flex;
	align-items: center;
	width: 682px;
	height: 361px;
	padding: 32px;
	background: var(--bh-original-sand);
}

.bh-original-story__copy p {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 27px;
}

.bh-original-story__content > .bh-original-button {
	min-height: 59px;
	margin-top: 32px;
}

/* Activity taxonomy directory */

.activity-directory {
	padding-bottom: 80px;
	background: var(--bh-original-sand);
}

.activity-directory__hero {
	position: relative;
	display: flex;
	min-height: 460px;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: var(--bh-original-teal);
}

.activity-directory__hero > img {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.activity-directory__hero-shade {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: rgba(0, 0, 0, 0.35);
}

.activity-directory__hero-content {
	position: relative;
	z-index: 3;
	display: flex;
	width: 100%;
	max-width: none;
	min-height: 460px;
	align-items: center;
	justify-content: center;
	padding-block: 48px;
}

.activity-directory__hero h1 {
	max-width: 100%;
	margin: 0;
	color: rgba(255, 255, 255, 0.2);
	font-family: "Berlin Sans FB Demi", "Work Sans", sans-serif;
	font-size: 150px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	-webkit-text-stroke: 0.5px #fff;
	mix-blend-mode: screen;
}

.activity-directory__layout {
	display: grid;
	width: min(100%, 1510px);
	grid-template-columns: minmax(0, 30fr) minmax(0, 70fr);
	align-items: start;
	gap: 0;
	padding: 75px 20px 0;
}

.activity-directory__sidebar,
.activity-directory__content {
	min-width: 0;
	padding: 20px;
}

.activity-directory__sidebar,
.admin-bar .activity-directory__sidebar {
	position: static;
	max-height: none;
	overflow: visible;
}

.activity-directory__sidebar nav + nav {
	margin-top: 32px;
	padding: 16px;
}

.activity-directory__ranking-panel {
	width: fit-content;
	max-width: 100%;
	padding: 16px;
	background: rgba(0, 43, 43, 0.1);
}

/* Category header differs from the homepage in the original design. */
@media (min-width: 1121px) {
	.home .site-header .site-brand {
		flex: 0 0 22.5%;
		width: 22.5%;
		min-width: 0;
		max-width: none;
	}
	.home:not(.logged-in) .bh-original-portal-button { display: none; }
	.home:not(.logged-in) .site-header .primary-menu > li > a {
		padding-inline: 10px;
		font-size: 18px;
	}
	body.bh-category-baseline .site-header,
	.bh-category-baseline .bh-original-header-inner {
		height: 128px;
		min-height: 128px;
	}
	.bh-category-baseline .bh-original-header-inner { padding-inline: 64px; }
	.bh-category-baseline .bh-original-portal-button { display: none; }
}

.activity-directory__island-label {
	margin: 0 0 16px;
	font-family: "Work Sans", Arial, sans-serif;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5;
}

.activity-directory__island-label span {
	display: inline;
}

.activity-directory__sidebar summary {
	list-style: none;
	cursor: default;
}

.activity-directory__sidebar summary::-webkit-details-marker { display: none; }
.activity-directory__sidebar summary h2 { display: inline; font-size: 20px; font-weight: 500; }

.activity-directory__sidebar h2 {
	margin: 0 0 7px;
	font-family: "Work Sans", Arial, sans-serif;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.5;
	text-transform: capitalize;
}

.activity-directory__sidebar ol,
.activity-directory__sidebar ul {
	margin: 0.4rem 0 0;
	padding: 0 0 0 8px;
	list-style: none;
}

.activity-directory__sidebar li {
	margin: 0 0 0.5rem;
}

.activity-directory__sidebar a {
	color: var(--bh-original-teal);
	font-size: 18px;
	line-height: 1.5;
	text-decoration: none;
}

.activity-directory__sidebar a:hover,
.activity-directory__sidebar a:focus-visible {
	background: rgba(255, 183, 1, 0.12);
	color: var(--bh-original-gold);
}

.activity-directory__intro {
	margin-bottom: 32px;
}

.activity-directory__intro h2 {
	margin: 0 0 16px;
	font-family: "Berlin Sans FB Demi", "Work Sans", sans-serif;
	font-size: 49px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 0.94;
	text-transform: capitalize;
}

.activity-directory__intro > p:not(.activity-directory__sort-note):not(.activity-directory__disclosure) {
	margin: 0 0 8px;
}

.activity-directory__intro a {
	color: var(--bh-original-teal);
	font-weight: 700;
	text-decoration: underline;
}

.activity-directory__intro a:hover,
.activity-directory__intro a:focus-visible {
	color: var(--bh-original-gold);
}

.activity-directory__sort-note {
	margin: 24px 0 0;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: -0.84px;
	line-height: 40px;
	text-align: center;
}

.activity-directory__disclosure {
	max-width: 680px;
	margin: 8px auto 0;
	color: rgba(0, 43, 43, 0.7);
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

.activity-directory__list {
	display: grid;
	gap: 32px;
}

.activity-directory__premier {
	padding: 8px;
	margin: 0 0 40px;
	border: 3px solid var(--bh-original-gold);
	border-radius: 24px;
	background: linear-gradient(135deg, rgba(255, 194, 0, 0.2), rgba(255, 255, 255, 0.92));
	box-shadow: var(--bh-original-shadow-gold);
}

.activity-directory__premier-label {
	display: inline-flex;
	padding: 7px 16px;
	margin: 8px 8px 0;
	border-radius: 999px;
	background: var(--bh-original-gold);
	color: var(--bh-original-teal);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.activity-directory-card--premier {
	box-shadow: none;
}

.activity-directory-card__checkout {
	display: flex;
	min-height: 64px;
	align-items: center;
	justify-content: center;
	padding: 12px 24px;
	margin-top: 32px;
	border: 2px solid var(--bh-original-gold);
	border-radius: 8px;
	background: var(--bh-original-gold);
	box-shadow: var(--bh-original-shadow-gold);
	color: var(--bh-original-teal);
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
}

.activity-directory-card__checkout:hover,
.activity-directory-card__checkout:focus-visible {
	border-color: var(--bh-original-teal);
	background: var(--bh-original-teal);
	color: var(--bh-original-white);
}

.activity-directory-card__sponsor-note {
	margin: 12px 0 0;
	color: rgba(0, 43, 43, 0.72);
	font-size: 13px;
}

.activity-directory-card {
	padding: 48px 32px;
	border-radius: 20px;
	background: var(--bh-original-white);
	box-shadow: 0 4px 40px rgba(0, 0, 0, 0.1);
	scroll-margin-top: 24px;
}

.activity-directory-card > h2 {
	margin: 0 0 16px;
	font-family: "Work Sans", Arial, sans-serif;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: -0.84px;
	line-height: 40px;
}

.activity-directory-card__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 32px;
}

.activity-directory-card__media {
	min-width: 0;
	overflow: hidden;
	background: transparent;
}

.activity-directory-card__media img,
.activity-directory-card__media .content-card__placeholder {
	width: 100%;
	min-height: 0;
	height: auto;
	object-fit: contain;
}

.activity-directory-card__media img { max-width: 427px; }

.activity-directory-card__body {
	min-width: 0;
}

.activity-directory-card__description p {
	margin-block: 1em;
}

.activity-directory-card__offers {
	margin-top: 32px;
}

.activity-directory-card__offers .bh-viator-offers {
	display: grid;
	gap: 16px;
}

.activity-directory-card__offers .bh-viator-offers__item {
	margin: 0;
}

.activity-directory-card__offers .bh-original-offer-row {
	display: grid;
	grid-template-columns: minmax(0, 70fr) minmax(0, 30fr);
	gap: 16px;
	align-items: stretch;
}

.bh-original-offer-label {
	position: relative;
	padding: 32px 24px 32px 56px;
	background: rgba(0, 43, 43, 0.1);
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
}

.bh-original-offer-label > span {
	position: absolute;
	left: 19.2px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	width: 25px;
	height: 25px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--bh-original-gold);
	color: #fff;
}

.activity-directory-card__offers .bh-original-offer-row .bh-viator-offer {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 12.8px 16px;
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
}

.activity-directory-card__offers .bh-original-offer-row .bh-viator-offer br {
	display: none;
}

.activity-directory-card__offers .bh-original-offer-row .bh-viator-offer small {
	font-size: 16px;
	line-height: 1;
}

@media (max-width: 767px) {
	.activity-directory-card__offers .bh-original-offer-row {
		grid-template-columns: 1fr;
	}
}

.activity-directory-card__offers .bh-viator-offer {
	min-height: 64px;
	padding: 12px 16px;
	border: 2px solid var(--bh-original-gold);
	border-radius: 8px;
	background: var(--bh-original-gold);
	box-shadow: var(--bh-original-shadow-gold);
	color: var(--bh-original-teal);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.25;
	text-decoration: none;
}

.activity-directory-card__offers .bh-viator-offer:hover,
.activity-directory-card__offers .bh-viator-offer:focus-visible {
	border-color: var(--bh-original-teal);
	background: var(--bh-original-teal);
	box-shadow: var(--bh-original-shadow-teal);
	color: var(--bh-original-white);
}

.activity-directory-card__links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 32px;
	margin-top: 48px;
}

.activity-directory-card__links a {
	display: flex;
	min-height: 56px;
	align-items: center;
	justify-content: center;
	padding: 12.8px 24px;
	border: 2px solid var(--bh-original-teal);
	border-radius: 8px;
	background: var(--bh-original-teal);
	box-shadow: var(--bh-original-shadow-teal);
	color: var(--bh-original-white);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
}

.activity-directory-card__links a.activity-directory-card__reviews {
	background: var(--bh-original-white);
	color: var(--bh-original-teal);
}

.activity-directory-card__links a:hover,
.activity-directory-card__links a:focus-visible {
	border-color: var(--bh-original-gold);
	background: var(--bh-original-gold);
	box-shadow: var(--bh-original-shadow-gold);
	color: var(--bh-original-teal);
}

.activity-directory-card__links a.activity-directory-card__reviews:hover,
.activity-directory-card__links a.activity-directory-card__reviews:focus-visible {
	background: var(--bh-original-white);
}

.activity-directory__full-description {
	margin-top: 32px;
	padding: 48px;
	overflow: hidden;
	border-radius: 20px;
	background: var(--bh-original-white);
}

.activity-directory__full-description h2 {
	margin: 0 0 24px;
	font-family: "Berlin Sans FB Demi", "Work Sans", sans-serif;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	text-transform: capitalize;
}

.activity-directory__full-description .bh-text-arrow {
	float: right;
	clear: both;
	color: var(--bh-original-teal);
}

.activity-directory__full-description .bh-text-arrow:hover,
.activity-directory__full-description .bh-text-arrow:focus-visible {
	color: var(--bh-original-gold);
}

/* Island strip */

.bh-island-strip {
	position: relative;
	z-index: 2;
	width: 100%;
	height: 134px;
	padding: 75px 80px 0;
	background: #fff;
}

.bh-island-strip__inner {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
	max-width: 1416px;
	height: 107px;
	margin: 0 auto -48px;
}

.bh-island-strip__inner > a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 107px;
	padding: 4px;
	overflow: hidden;
	border-radius: 8px;
	background-color: #fff;
	background-image: linear-gradient(rgba(0, 43, 43, 0.25), rgba(0, 43, 43, 0.25)), var(--bh-strip-image);
	background-repeat: no-repeat;
	background-position: center 34%;
	background-size: calc(100% - 8px) calc(100% - 8px);
	box-shadow: 0 4px 24px rgba(1, 55, 36, 0.25);
	transition: transform 0.25s ease;
}

.bh-island-strip__inner > a:hover,
.bh-island-strip__inner > a:focus-visible {
	transform: scale(1.04);
}

.bh-island-strip span {
	color: #fff;
	font-family: "Berlin Sans FB Demi", "Work Sans", sans-serif;
	font-size: 35px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

/* Footer */

body .site-footer {
	width: 100%;
	height: 657px;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--bh-original-teal);
	color: rgba(243, 240, 230, 0.75);
}

.site-footer__inner {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 657px;
	padding: 128px 68px 0;
}

.site-footer__grid {
	display: grid;
	grid-template-columns: 300px 300px 300px 300px;
	justify-content: space-between;
	width: 100%;
	max-width: 1440px;
	height: 437px;
	margin: 0 auto;
	padding: 0 0 64px;
}

.site-footer__brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 300px;
}

.site-footer__logo {
	display: block;
	width: 300px;
	margin-bottom: 24px;
}

.site-footer__logo img {
	display: block;
	width: 300px;
	height: auto;
	object-fit: contain;
	object-position: left center;
}

.site-footer__brand p {
	margin-bottom: 24px;
	color: rgba(243, 240, 230, 0.75);
	font-size: 18px;
	font-weight: 400;
	line-height: 27px;
}

.site-footer__brand .bh-original-button {
	min-height: 59px;
	padding: 16px 29px;
}

.site-footer__nav {
	width: 300px;
	padding-top: 0;
}

.site-footer__nav h2 {
	margin: 0 0 16px;
	padding: 0 10px;
	color: #fff;
	font-family: "Work Sans", Arial, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 27px;
	text-transform: uppercase;
}

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

.site-footer__nav li {
	margin: 0;
}

.site-footer__nav a,
.site-footer__dialog-trigger {
	display: block;
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	padding: 5px 12px 12px;
	border: 0;
	background: transparent;
	color: rgba(243, 240, 230, 0.75);
	font-family: "Work Sans", Arial, sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 27px;
	text-align: left;
	text-decoration: none;
}

.site-footer__nav a:hover,
.site-footer__nav a:focus-visible,
.site-footer__dialog-trigger:hover,
.site-footer__dialog-trigger:focus-visible {
	color: #fff;
}

.bh-source-dialog-trigger--inline {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.12em;
	vertical-align: middle;
}

body.bh-dialog-open {
	overflow: hidden;
}

.bh-source-dialog {
	width: min(70vw, 1120px);
	max-width: calc(100vw - 32px);
	max-height: min(86vh, 900px);
	margin: auto;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 24px 80px rgba(0, 43, 43, 0.35);
	color: var(--bh-original-teal);
}

.bh-source-dialog::backdrop {
	background: rgba(0, 24, 24, 0.72);
}

.bh-source-dialog__surface {
	display: flex;
	max-height: min(86vh, 900px);
	flex-direction: column;
}

.bh-source-dialog__header {
	display: flex;
	flex: 0 0 auto;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	padding: 32px 32px 20px;
	border-bottom: 1px solid rgba(0, 43, 43, 0.12);
	background: #fff;
}

.bh-source-dialog__header h2 {
	min-width: 0;
	flex: 1 1 auto;
	margin: 0;
	color: var(--bh-original-teal);
	font-family: "Work Sans", Arial, sans-serif;
	font-size: 27px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.2;
}

.bh-source-dialog__close-form {
	margin: 0;
}

.bh-source-dialog__close {
	display: inline-grid;
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	padding: 0;
	border: 1px solid rgba(0, 43, 43, 0.2);
	border-radius: 50%;
	background: rgba(0, 43, 43, 0.08);
	color: var(--bh-original-teal);
	font-size: 32px;
	font-weight: 400;
	line-height: 1;
	place-items: center;
}

.bh-source-dialog__close:hover {
	background: var(--bh-original-teal);
	color: #fff;
}

.bh-source-dialog__content {
	display: flex;
	min-height: 0;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 8px;
	padding: 16px 32px 32px;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.bh-source-dialog__item {
	width: 100%;
}

.bh-source-dialog__item summary {
	display: flex;
	min-height: 44px;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 8px 16px;
	background: rgba(0, 43, 43, 0.1);
	cursor: pointer;
	list-style: none;
}

.bh-source-dialog__item summary::-webkit-details-marker {
	display: none;
}

.bh-source-dialog__item summary::after {
	content: "+";
	flex: 0 0 auto;
	color: var(--bh-original-teal);
	font-size: 28px;
	font-weight: 600;
	line-height: 1;
}

.bh-source-dialog__item[open] summary::after {
	content: "\2212";
}

.bh-source-dialog__item summary h3 {
	margin: 0;
	color: var(--bh-original-teal);
	font-family: "Work Sans", Arial, sans-serif;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.35;
}

.bh-source-dialog__item-content {
	padding: 16px 16px 8px;
	font-weight: 400;
}

.bh-source-dialog__item-content p {
	margin: 0 0 8px;
}

.site-footer__legal {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: 1440px;
	height: 92px;
	margin: 0 auto;
	padding: 32px;
	border-top: 0;
	color: rgba(243, 240, 230, 0.75);
}

.site-footer__legal p {
	margin: 0;
	font-size: 18px;
	line-height: 27px;
}

.site-footer__legal a {
	color: rgba(243, 240, 230, 0.75);
	font-size: 18px;
	line-height: 27px;
}

@media (max-width: 1400px) {
	.site-header .primary-navigation {
		gap: 16px;
	}

	.site-header .primary-menu > li > a {
		padding-right: 9px;
		padding-left: 9px;
		font-size: 16px;
	}

	.bh-original-portal-button {
		flex-basis: 180px;
		width: 180px;
	}

	.bh-original-island-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.bh-original-island-card {
		width: 100%;
	}

	.bh-original-island-card > img {
		width: 100%;
	}

	.site-footer__grid {
		grid-template-columns: repeat(4, minmax(0, 300px));
		gap: 30px;
	}

	.site-footer__brand,
	.site-footer__nav {
		width: 100%;
	}

}

@media (max-width: 1120px) {
	body .site-header,
	.bh-original-header-inner {
		height: 104px;
		min-height: 104px;
	}

	.site-header .site-brand {
		width: 270px;
		max-width: 270px;
	}

	.nav-toggle {
		display: inline-flex;
		align-items: center;
		gap: 12px;
		padding: 12px 16px;
		border: 1px solid rgba(0, 43, 43, 0.25);
		border-radius: 4px;
		background: transparent;
		color: var(--bh-original-teal);
		font: inherit;
		font-weight: 600;
	}

	.nav-toggle__icon {
		display: flex;
		flex-direction: column;
		gap: 4px;
		width: 24px;
	}

	.nav-toggle__icon span {
		display: block;
		width: 24px;
		height: 3px;
		background: var(--bh-original-teal);
	}

	body.nav-open .nav-toggle {
		position: fixed;
		top: 20px;
		right: 20px;
		z-index: 1100;
		background: var(--bh-original-sand);
	}

	.site-header .primary-navigation {
		position: fixed;
		inset: 0 0 0 auto;
		z-index: 1000;
		display: none;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		width: min(420px, 90vw);
		height: 100vh;
		padding: 84px 28px 32px;
		overflow-y: auto;
		background: var(--bh-original-sand);
		box-shadow: -14px 0 40px rgba(0, 43, 43, 0.22);
	}

	.site-header .primary-navigation.is-open {
		display: flex;
	}

	.site-header .primary-menu {
		flex-direction: column;
		align-items: stretch;
	}

	.site-header .primary-menu > li > a {
		justify-content: space-between;
		min-height: 48px;
		padding: 10px 4px;
		font-size: 18px;
	}

	.site-header .sub-menu {
		position: static;
		display: block;
		min-width: 0;
		padding: 0 0 8px 16px;
		background: transparent;
		box-shadow: none;
	}

	.bh-original-portal-button {
		flex: 0 0 auto;
		width: 100%;
	}

	.bh-original-hero {
		height: auto;
		min-height: 718px;
		background-size: cover;
	}

	.bh-original-category-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		height: auto;
	}

	.bh-original-categories {
		height: auto;
		padding-bottom: 64px;
	}

	.bh-original-category-card {
		height: 589px;
	}

	.bh-original-how,
	.bh-original-lowest,
	.bh-original-islands,
	.bh-original-story {
		height: auto;
	}

	.bh-original-step-grid {
		height: auto;
	}

	.bh-original-story__inner {
		flex-direction: column;
		height: auto;
	}

	.bh-original-story__brand,
	.bh-original-story__content {
		flex-basis: auto;
		height: auto;
	}

	.bh-original-story__content,
	.bh-original-story__copy {
		width: 100%;
	}

	.bh-original-story__copy {
		height: auto;
	}

	.bh-island-strip {
		height: auto;
		padding-right: 32px;
		padding-left: 32px;
	}

	.bh-island-strip__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		height: auto;
		margin-bottom: 0;
	}

	body .site-footer,
	.site-footer__inner {
		height: auto;
	}

	.site-footer__inner {
		padding-top: 90px;
	}

	.site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		height: auto;
	}
}

@media (max-width: 991px) {
	.bh-original-hero {
		padding: 48px 16px;
	}

	.bh-original-hero__panel {
		height: auto;
		min-height: 568px;
		padding: 32px 16px;
	}

	.bh-original-hero h1 {
		min-height: 0;
		font-size: 7vw;
	}

	.bh-original-hero__buttons {
		flex-wrap: wrap;
		height: auto;
	}

	.bh-original-categories__banner h2,
	.bh-original-section-heading h2,
	.bh-original-lowest h2,
	.bh-original-section-heading--islands h2 {
		height: auto;
		font-size: 40px;
		line-height: 1;
	}

	.bh-original-step-grid {
		grid-template-columns: 1fr;
		grid-template-rows: none;
	}

	.bh-original-step-card {
		min-height: 292px;
	}

	.bh-original-how {
		padding-bottom: 40px;
	}

	.bh-original-lowest__card {
		height: auto;
	}

	.bh-original-lowest__explain {
		flex-direction: column;
		height: auto;
		text-align: center;
	}

	.bh-original-island-grid {
		grid-template-columns: repeat(2, minmax(0, 342px));
		height: auto;
	}

	.bh-original-islands {
		padding-bottom: 64px;
	}

	.activity-directory__hero,
	.activity-directory__hero-content {
		min-height: 380px;
	}

	.activity-directory__hero h1 {
		font-size: clamp(60px, 10vw, 110px);
	}

	.activity-directory__layout {
		grid-template-columns: 1fr;
		gap: 48px;
		padding-top: 48px;
	}

	.activity-directory__sidebar,
	.admin-bar .activity-directory__sidebar {
		position: static;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
		max-height: none;
		overflow: visible;
	}

	.activity-directory__sidebar nav { padding: 0; }

	.activity-directory__sidebar nav + nav {
		margin-top: 0;
	}

	.activity-directory__sidebar ol,
	.activity-directory__sidebar ul {
		max-height: none;
		overflow: visible;
	}
}

@media (max-width: 767px) {
	body {
		font-size: 16px;
	}

	.bh-original-header-inner {
		padding-right: 18px;
		padding-left: 18px;
	}

	.site-header .site-brand {
		min-width: 0;
		width: 220px;
		max-width: 55vw;
	}

	.nav-toggle__label {
		display: none;
	}

	.bh-original-hero {
		min-height: 760px;
		padding-top: 32px;
		padding-bottom: 32px;
	}

	.bh-original-hero h1 {
		font-size: 42px;
	}

	.bh-original-hero__intro,
	.bh-original-hero__copy,
	.bh-original-categories__banner > p:last-child,
	.bh-original-section-heading > p:last-child,
	.bh-original-step-card > p:last-child,
	.bh-original-lowest__card p,
	.bh-original-island-card p,
	.bh-original-story__copy p,
	.site-footer__brand p,
	.site-footer__nav a,
	.site-footer__dialog-trigger,
	.site-footer__legal p,
	.site-footer__legal a {
		font-size: 16px;
		line-height: 24px;
	}

	.bh-source-dialog {
		width: 90vw;
		max-width: calc(100vw - 24px);
		max-height: calc(100dvh - 24px);
	}

	.bh-source-dialog__surface {
		max-height: calc(100dvh - 24px);
	}

	.bh-source-dialog__header {
		gap: 16px;
		padding: 24px 20px 16px;
	}

	.bh-source-dialog__header h2 {
		font-size: 24px;
	}

	.bh-source-dialog__content {
		padding: 12px 20px 24px;
	}

	.bh-original-categories__banner {
		height: 300px;
		padding-right: 20px;
		padding-left: 20px;
	}

	.bh-original-category-grid {
		grid-template-columns: 1fr;
		width: min(420px, calc(100% - 32px));
	}

	.bh-original-how {
		padding-top: 54px;
	}

	.bh-original-section-heading {
		height: auto;
		min-height: 345px;
	}

	.bh-original-lowest__card {
		padding: 48px 20px;
	}

	.bh-original-lowest__explain {
		padding: 32px 20px;
	}

	.bh-original-lowest__explain .bh-original-button {
		flex-basis: auto;
		width: 100%;
	}

	.bh-original-island-grid {
		grid-template-columns: minmax(0, 342px);
	}

	.bh-original-section-heading--islands {
		min-height: 220px;
	}

	.bh-original-story__inner {
		padding: 64px 20px;
	}

	.bh-original-story__brand {
		width: 100%;
	}

	.bh-original-story__brand img {
		max-width: 80%;
	}

	.bh-original-story__copy {
		padding: 24px;
	}

	.bh-island-strip {
		padding: 48px 20px 40px;
	}

	.bh-island-strip__inner {
		grid-template-columns: 1fr;
	}

	.site-footer__inner {
		padding: 64px 24px 0;
	}

	.site-footer__grid {
		grid-template-columns: 1fr;
		gap: 40px;
		padding-bottom: 48px;
	}

	.site-footer__brand {
		width: 100%;
		max-width: 330px;
	}

	.site-footer__legal {
		flex-direction: column;
		align-items: flex-start;
		height: auto;
		gap: 16px;
		padding: 28px 0;
	}

	.activity-directory {
		padding-bottom: 54px;
	}

	.activity-directory__hero,
	.activity-directory__hero-content {
		min-height: 300px;
	}

	.activity-directory__hero-content {
		padding-block: 32px;
	}

	.activity-directory__hero h1 {
		font-size: clamp(42px, 12vw, 76px);
		overflow-wrap: anywhere;
	}

	.activity-directory__layout {
		gap: 32px;
		padding-top: 32px;
	}

	.activity-directory__sidebar,
	.admin-bar .activity-directory__sidebar {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.activity-directory__sidebar nav {
		padding: 0;
	}

	.activity-directory__intro h2 {
		font-size: 40px;
		line-height: 1;
	}

	.activity-directory__sort-note {
		font-size: 22px;
		line-height: 1.35;
	}

	.activity-directory-card {
		padding: 32px 20px;
	}

	.activity-directory-card > h2 {
		font-size: 24px;
		line-height: 1.35;
	}

	.activity-directory-card__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.activity-directory-card__links {
		grid-template-columns: 1fr;
		gap: 16px;
		margin-top: 32px;
	}

	.activity-directory__full-description {
		padding: 32px 24px;
	}

	.activity-directory__full-description h2 {
		font-size: 34px;
	}
}

@media (max-width: 479px) {
	.bh-original-hero h1 {
		font-size: 32px;
	}

	.bh-original-hero__buttons .bh-original-button {
		width: 100%;
	}

	.bh-original-categories__banner h2,
	.bh-original-section-heading h2,
	.bh-original-lowest h2,
	.bh-original-section-heading--islands h2 {
		font-size: 34px;
	}

	.bh-original-category-card {
		padding-right: 24px;
		padding-left: 24px;
	}

	.bh-original-step-card {
		padding: 48px 22px;
	}

	.bh-original-step-card h3 {
		font-size: 30px;
	}

	.bh-original-island-card {
		width: 100%;
	}

	.activity-directory__hero,
	.activity-directory__hero-content {
		min-height: 240px;
	}

	.activity-directory__hero h1 {
		font-size: 38px;
	}

	.activity-directory__sidebar nav {
		padding: 0;
	}

	.activity-directory__island-label {
		font-size: 20px;
	}

	.activity-directory__intro h2 {
		font-size: 34px;
	}

	.activity-directory-card {
		padding: 24px 16px;
	}

	.activity-directory-card__offers .bh-viator-offer,
	.activity-directory-card__links a {
		font-size: 16px;
	}

	.activity-directory__full-description {
		padding: 24px 18px;
	}

	.activity-directory__full-description h2 {
		font-size: 30px;
	}
}

/* Source category navigation breakpoint; scoped away from homepage controls. */
@media (max-width: 992px) {
	.activity-directory__layout { grid-template-columns: 1fr; }
	.activity-directory__sidebar summary {
		position: relative;
		padding-right: 32px;
		cursor: pointer;
	}
	.activity-directory__sidebar summary::after {
		content: "⌄";
		position: absolute;
		right: 0;
		top: 0;
		font-size: 25px;
	}
	.activity-directory__sidebar details[open] > summary::after { content: "⌃"; }
}
