/* ma2026 redesign layer. Loaded after the old theme CSS and module CSS, so it only overrides. */

:root {
	--ma-navy:#0B3954;
	--ma-teal:#0A6F78;
	--ma-coral:#C2461F;
	--ma-coral-dark:#A33A19;
	--ma-sand:#F6F3EE;
	--ma-border:#E6E2DB;
	--ma-muted:#51616E;
	--ma-ink:#1C2B36;
	--ma-star:#D9930F;
	--ma-radius:14px;
	--ma-wrap:1200px;
	--ma-gutter:24px;
	--ma-head:'Outfit', system-ui, sans-serif;
	--ma-body:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* Brand colors. Every site uses this theme; main.tpl puts ma-site-<site name> on <body>.
   A brand without its own block keeps the Maui colors above. Override only the tokens that differ, e.g.
   body.ma-site-gulf-activities { --ma-navy:#123456; --ma-teal:#...; --ma-coral:#...; --ma-coral-dark:#...; } */

/* Gulf Activities, from its logo: blue #296F96 and green #81BB75. Darker shades keep white text at 4.5:1 or better */
body.ma-site-gulf-activities {
	--ma-navy:#19435A;
	--ma-teal:#296F96;
	--ma-coral:#4D7046;
	--ma-coral-dark:#405E3A;
	--ma-sand:#F2F8F1;
}

/* Gulf has no footer photo, so its footer is plain navy */
body.ma-site-gulf-activities .ma-footer {
	background:var(--ma-navy);
}

body.ma-site-gulf-activities .ma-footer:before {
	display:none;
}

/* Aloha's logo is square, so it needs more height than the wide Maui/Gulf logos */
body.ma-site-aloha-activities .ma-logo img {
	height:64px;
}

@media (max-width:900px) {
	body.ma-site-aloha-activities .ma-logo img {
		height:44px;
	}
}

/* ---------- Base ---------- */

html, body, input, button, select, textarea {
	font-family:var(--ma-body);
	font-size:16px;
}

html, body {
	line-height:1.55;
}

body {
	color:var(--ma-ink);
	background:#fff;
}

a {
	color:var(--ma-teal);
}

a:hover {
	color:var(--ma-navy);
}

h1, h2, h3 {
	font-family:var(--ma-head);
	color:var(--ma-navy);
	line-height:1.15;
}

h1 {
	font-weight:700;
	font-size:2.4rem;
	margin:0 0 0.75rem 0;
}

h2 {
	font-weight:600;
	font-size:1.5rem;
}

p {
	margin:0 0 1rem 0;
}

*:focus-visible {
	outline:2px solid var(--ma-teal);
	outline-offset:2px;
}

input, select, textarea {
	border-color:#CFC9BF;
	border-radius:10px;
	min-height:44px;
	padding:0.5rem 0.75rem;
	color:var(--ma-ink);
	background-color:#fff;
}

.ma-wrap,
.sizer {
	width:auto;
	max-width:var(--ma-wrap);
	margin-left:auto;
	margin-right:auto;
	padding-left:var(--ma-gutter);
	padding-right:var(--ma-gutter);
	box-sizing:border-box;
	position:relative;
}

.main_content {
	margin-top:0;
	z-index:auto;
	overflow-x:clip;
}

/* Buttons */
a.as_blue_button,
button.blue_button,
.side_bar .items_box form fieldset.buttons button,
.main_content button[type="submit"],
.load_more_wrap button.load_more {
	font-family:var(--ma-body);
	font-weight:600;
	text-transform:none;
	border-radius:999px;
	min-height:44px;
	padding:0.6rem 1.25rem;
	cursor:pointer;
	background-image:none;
	box-shadow:none;
	text-shadow:none;
}

a.as_blue_button,
button.blue_button,
.load_more_wrap button.load_more {
	background-color:#fff;
	color:var(--ma-navy);
	border:1px solid var(--ma-navy);
}

a.as_blue_button:hover,
button.blue_button:hover,
.load_more_wrap button.load_more:hover {
	background-color:var(--ma-sand);
	color:var(--ma-navy);
}

.side_bar .items_box form fieldset.buttons button,
.main_content button[type="submit"] {
	background-color:var(--ma-coral);
	border:1px solid var(--ma-coral);
	color:#fff;
}

.side_bar .items_box form fieldset.buttons button:hover,
.main_content button[type="submit"]:hover {
	background-color:var(--ma-coral-dark);
	border-color:var(--ma-coral-dark);
	color:#fff;
}

/* ---------- Header ---------- */

.header.ma-header {
	padding:0;
	display:block;
	position:sticky;
	top:0;
	height:auto;
	border:0;
	background:#fff;
	z-index:1000;
	box-shadow:0 1px 0 var(--ma-border);
}

.ma-topbar {
	background:var(--ma-navy);
	color:#fff;
	font-size:0.85rem;
}

.ma-topbar__row {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
	min-height:36px;
}

.ma-topbar__place .clock {
	margin-left:0.5rem;
	opacity:0.8;
}

.ma-topbar a.ma-topbar__phone {
	color:#fff;
	font-weight:600;
	text-decoration:none;
}

.ma-topbar a.ma-topbar__phone:hover {
	text-decoration:underline;
	color:#fff;
}

.ma-header__row {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:0 1rem;
	min-height:72px;
	padding-top:12px;
}

.ma-logo {
	flex-shrink:0;
	display:block;
	margin-right:auto;
}

.ma-logo img {
	display:block;
	height:40px;
	width:auto;
}

/* desktop: menu gets its own row under logo/search/buttons */
.ma-nav {
	order:10;
	flex:1 0 100%;
	min-width:0;
	position:static;
	margin-top:8px;
}

/* menu tree from sitetree module */
.ma-header ul.main_menu {
	display:flex;
	gap:0.25rem;
	padding:0;
	margin:0 0 0 -0.7rem;
}

.ma-header ul.main_menu > li {
	flex:0 0 auto;
}

.ma-header ul.main_menu > li > a {
	text-transform:none;
	font-weight:600;
	font-size:0.95rem;
	color:var(--ma-navy);
	padding:0.6rem 0.7rem;
	border-radius:8px;
}

.ma-header ul.main_menu > li > a:after {
	display:none;
}

.ma-header ul.main_menu li.open > a,
.ma-header ul.main_menu li.open_hover > a {
	color:var(--ma-teal);
	background:var(--ma-sand);
}

.ma-header ul.main_menu li > ul {
	border-radius:12px;
	box-shadow:0 12px 32px rgba(11,57,84,0.16);
	border:1px solid var(--ma-border);
	padding:0.4rem;
	min-width:240px;
}

.ma-header ul.main_menu li li a {
	color:var(--ma-ink);
	padding:0.55rem 0.8rem;
	border-radius:8px;
	font-size:0.95rem;
}

.ma-header ul.main_menu li li a:hover {
	background:var(--ma-sand);
	color:var(--ma-navy);
}

.ma-search {
	flex:0 1 360px;
	display:flex;
	align-items:center;
	gap:0.5rem;
	height:44px;
	padding:0 0.9rem;
	border:1px solid #CFC9BF;
	border-radius:999px;
	color:var(--ma-muted);
	background:#fff;
	box-sizing:border-box;
}

.ma-search:focus-within {
	border-color:var(--ma-teal);
}

.ma-search input {
	border:0;
	outline:none;
	min-height:0;
	padding:0;
	width:100%;
	background:transparent;
	font-size:0.95rem;
}

.ma-shop.shop_links {
	display:flex;
	gap:0.5rem;
	margin:0;
	position:static;
	width:auto;
	float:none;
}

.ma-shop.shop_links a {
	text-transform:none;
	background:none;
	color:var(--ma-navy);
	border:1px solid var(--ma-border);
	border-radius:999px;
	padding:0.5rem 0.9rem;
	font-weight:600;
	font-size:0.9rem;
	text-decoration:none;
	white-space:nowrap;
	margin:0;
}

.ma-shop.shop_links a:hover {
	background:var(--ma-sand);
	color:var(--ma-navy);
}

.ma-call {
	display:none;
}

.ma-livechat #livechat {
	margin:0;
	width:auto;
	max-width:none;
}

/* ---------- Footer ---------- */

.ma-footer {
	background:var(--ma-navy);
	color:#D7E3EA;
	padding:3rem 0 1.5rem;
	margin-top:3rem;
	flex-shrink:0;
}

.ma-footer a {
	color:#fff;
}

.ma-footer__row {
	display:flex;
	gap:3rem;
	align-items:flex-start;
}

.ma-footer__contact {
	flex:0 0 260px;
	display:flex;
	flex-direction:column;
	gap:0.25rem;
}

.ma-footer__name {
	font-family:var(--ma-head);
	font-size:1.3rem;
	font-weight:600;
	color:#fff;
	margin-bottom:0.25rem;
}

.ma-footer__phone {
	font-weight:600;
	font-size:1.1rem;
	text-decoration:none;
}

.ma-footer__menu {
	flex:1;
}

.ma-footer ul.footer_menu {
	margin:0;
	padding:0;
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));
	gap:0.25rem 1.5rem;
}

.ma-footer ul.footer_menu li a {
	color:#D7E3EA;
	padding:0.25rem 0;
	text-transform:none;
	font-weight:400;
	font-size:0.95rem;
}

.ma-footer ul.footer_menu > li > a {
	color:#fff;
	font-weight:600;
}

.ma-footer ul.footer_menu ul {
	padding:0;
	margin:0;
}

.ma-footer ul.footer_menu li a:hover {
	color:#fff;
	text-decoration:underline;
}

.ma-footer__copy {
	margin-top:2rem;
	padding-top:1.25rem;
	border-top:1px solid rgba(255,255,255,0.15);
	font-size:0.85rem;
}

/* ---------- Breadcrumbs ---------- */

.sizer.breadcrumbs {
	padding-top:1rem;
	padding-bottom:0.5rem;
	font-size:0.9rem;
	color:var(--ma-muted);
}

/* ---------- Photo slider (activity album) ---------- */

.sizer.slider,
.sizer.slider.album {
	margin-top:1.25rem;
	margin-bottom:1.5rem;
	border-radius:var(--ma-radius);
	overflow:hidden;
	background:var(--ma-sand);
	padding:0;
	max-width:calc(var(--ma-wrap) - 2 * var(--ma-gutter));
}

/* ---------- Activity photo gallery (slider.tpl): large photo left, up to three right ---------- */

.sizer.ma-gallery {
	position:relative;
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	grid-template-rows:220px 220px;
	gap:8px;
	margin-top:1.25rem;
	margin-bottom:1.5rem;
	padding:0;
	max-width:calc(var(--ma-wrap) - 2 * var(--ma-gutter));
	border-radius:var(--ma-radius);
	overflow:hidden;
}

.ma-gallery__item {
	display:block;
	margin:0;
	padding:0;
	border:0;
	background:var(--ma-sand);
	overflow:hidden;
	cursor:zoom-in;
}

.ma-gallery__item img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 0.3s ease;
}

.ma-gallery__item:hover img,
.ma-gallery__item:focus-visible img {
	transform:scale(1.03);
}

.ma-gallery__main {
	grid-column:1 / 3;
	grid-row:1 / 3;
}

.ma-gallery--1 .ma-gallery__main {
	grid-column:1 / 5;
}

.ma-gallery--2 .ma-gallery__side {
	grid-column:3 / 5;
	grid-row:1 / 3;
}

.ma-gallery--3 .ma-gallery__side {
	grid-column:3 / 5;
}

.ma-gallery--4 .ma-gallery__side:nth-child(2) {
	grid-column:3 / 5;
}

.ma-gallery__all {
	position:absolute;
	right:16px;
	bottom:16px;
	min-height:40px;
	padding:0 16px;
	border:0;
	border-radius:999px;
	background:#FFFFFF;
	color:var(--ma-navy);
	font:600 14px var(--ma-body);
	box-shadow:0 2px 10px rgba(0,0,0,0.18);
	cursor:pointer;
}

.ma-gallery__all:hover {
	background:var(--ma-sand);
}

@media (max-width:700px) {
	.sizer.ma-gallery {
		grid-template-columns:minmax(0, 1fr);
		grid-template-rows:260px;
		border-radius:0;
	}

	.ma-gallery .ma-gallery__main {
		grid-column:1;
		grid-row:1;
	}

	.ma-gallery__side {
		display:none;
	}
}

/* full-screen photo viewer */
.ma-lightbox {
	position:fixed;
	inset:0;
	z-index:2147483000;	/* above the reCAPTCHA badge and chat button */
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	padding:56px 12px 24px;
	background:#061420;
}

.ma-lightbox[hidden] {
	display:none;
}

html.ma-lightbox-open {
	overflow:hidden;
}

.ma-lightbox__figure {
	margin:0;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:12px;
	min-width:0;
}

.ma-lightbox__img {
	display:block;
	max-width:min(90vw, 1400px);
	max-height:80vh;
	object-fit:contain;
	border-radius:8px;
}

.ma-lightbox__count {
	color:#FFFFFF;
	font-size:14px;
}

.ma-lightbox__close,
.ma-lightbox__nav {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:48px;
	height:48px;
	flex-shrink:0;
	border:0;
	border-radius:50%;
	background:rgba(255,255,255,0.14);
	color:#FFFFFF;
	font-size:32px;
	line-height:1;
	cursor:pointer;
}

.ma-lightbox__close:hover,
.ma-lightbox__nav:hover {
	background:rgba(255,255,255,0.28);
}

.ma-lightbox__close {
	position:absolute;
	top:12px;
	right:12px;
	font-size:28px;
}

@media (max-width:700px) {
	.ma-lightbox__nav {
		position:absolute;
		bottom:20px;
	}

	.ma-lightbox__prev {
		left:calc(50% - 60px);
	}

	.ma-lightbox__next {
		right:calc(50% - 60px);
	}

	.ma-lightbox__img {
		max-height:70vh;
	}
}

/* ---------- Activity page: content + booking column ---------- */

.sizer.ma-activity {
	display:grid;
	grid-template-columns:minmax(0, 1fr) 380px;
	gap:2.5rem;
	align-items:start;
}

.sizer.ma-activity:after {
	display:none;
}

.sizer.ma-activity > .col {
	float:none;
	width:auto;
	padding:0;
	margin:0;
}

.item_card.full {
	padding-left:0;
	padding-right:0;
}

.item_card.full .title_wrap .specials img {
	width:64px;
	height:auto;
}

.item_card.full .title_wrap h1.title {
	font-size:2.4rem;
	margin-bottom:0.5rem;
}

.item_card.full .tools {
	display:flex;
	flex-wrap:wrap;
	gap:0.5rem;
	align-items:center;
	margin:0.5rem 0 1.5rem;
}

.item_card.full .tools a.print,
.item_card.full .tools a.email_friends {
	font-weight:600;
	padding:0.5rem 0.75rem;
}

.item_card.full .descr {
	font-size:1.05rem;
	line-height:1.65;
}

.item_card.full .hightl_and_reviews {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:1.5rem;
	margin:2rem 0;
}

.item_card.full .hightl_and_reviews > div {
	background:var(--ma-sand);
	border-radius:var(--ma-radius);
	padding:1.25rem 1.5rem;
	float:none;
	width:auto;
	margin:0;
	box-sizing:border-box;
}

.item_card.full .hightl_and_reviews h2 {
	font-size:1.25rem;
	margin:0 0 0.75rem 0;
}

.item_card.full fieldset.collapsible {
	border:0;
	border-top:1px solid var(--ma-border);
	border-radius:0;
	margin:0;
	padding:0.5rem 0;
	box-shadow:none;
	background:none;
}

.item_card.full fieldset.collapsible:before {
	display:none;
}

.item_card.full fieldset.collapsible .toggler {
	background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%230A6F78' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 15l6-6 6 6'/%3E%3C/svg%3E") no-repeat center center;
}

.item_card.full fieldset.collapsible > legend {
	font-family:var(--ma-head);
	font-weight:600;
	font-size:1.25rem;
	color:var(--ma-navy);
	padding:0.75rem 0;
	background:none;
	text-transform:none;
}

/* booking column */
.side_bar.ma-book {
	background:transparent;
}

.side_bar.ma-book .price_block {
	font-family:var(--ma-head);
	color:var(--ma-navy);
	margin-bottom:0.75rem;
}

.side_bar.ma-book .items_box {
	background:#fff;
	box-shadow:0 10px 30px rgba(11,57,84,0.12);
	border:1px solid var(--ma-border);
	border-radius:18px;
	float:none;
	overflow:visible;
	display:flow-root;
}

/* the booking form is built from floated fieldsets; keep them contained */
.side_bar.ma-book .items_box form,
.side_bar.ma-book .items_box form .item_block {
	display:flow-root;
	float:none;
}

.side_bar.ma-book .items_box h2 {
	text-transform:none;
	text-align:left;
	font-size:1.3rem;
	color:var(--ma-navy);
	margin:1.25rem 1.25rem 0;
}

.side_bar.ma-book .items_box form {
	box-shadow:none;
	margin:0.5rem 0 0;
	padding:0 1.25rem 1.25rem;
	width:100%;
	box-sizing:border-box;
	float:none;
}

.side_bar.ma-book .items_box form fieldset legend {
	font-weight:600;
	color:var(--ma-ink);
}

.side_bar.ma-book .items_box form fieldset legend .numbering {
	color:var(--ma-teal);
}

.side_bar.ma-book .similar_activities.items_box {
	box-shadow:none;
	margin-top:1.5rem;
}

.item_card.full .mobile_tablet_price {
	display:none;
}

/* mobile "Check dates" bar (only rendered on the activity page) */
.ma-bookbar {
	display:none;
}

/* ---------- Tablet ---------- */

@media screen and (max-width: 1120px) {
	.sizer {
		padding-left:var(--ma-gutter);
		padding-right:var(--ma-gutter);
	}
}

@media screen and (max-width: 1050px) {
	.sizer.ma-activity {
		grid-template-columns:minmax(0, 1fr) 340px;
		gap:1.5rem;
	}

	.sizer.slider {
		margin-top:1rem;
	}
}

/* ---------- Phone and small tablet ---------- */

@media screen and (max-width: 900px) {
	:root {
		--ma-gutter:16px;
	}

	h1,
	.item_card.full .title_wrap h1.title {
		font-size:1.9rem;
	}

	.ma-topbar__place .clock {
		display:none;
	}

	.ma-header__row {
		min-height:60px;
		gap:0.25rem;
		flex-wrap:nowrap;
		padding-top:0;
	}

	.ma-search {
		display:none;
	}

	.ma-logo {
		margin-right:auto;
		order:1;
	}

	.ma-logo img {
		height:28px;
		max-width:100%;
	}

	.ma-logo {
		min-width:0;
		flex-shrink:1;
	}

	.ma-shop.shop_links a {
		padding:0.4rem 0.7rem;
		font-size:0.85rem;
	}

	.ma-shop {
		order:2;
	}

	.ma-shop.shop_links a.my_activities {
		display:none;
	}

	.ma-call {
		order:3;
		display:flex;
		align-items:center;
		justify-content:center;
		width:44px;
		height:44px;
		color:var(--ma-navy);
	}

	.ma-nav {
		order:4;
		flex:0 0 auto;
		margin-top:0;
	}

	.ma-header ul.main_menu {
		margin:0;
	}

	.ma-header .menu_open.mobile {
		display:flex;
		margin-right:-11px;
		flex-direction:column;
		justify-content:center;
		gap:5px;
		width:44px;
		height:44px;
		padding:0 11px;
		border:0;
		background:transparent;
		position:static;
	}

	.ma-header .menu_open.mobile span {
		display:block;
		flex:0 0 2px;
		box-sizing:border-box;
		border:0;
		padding:0;
		height:2px;
		width:22px;
		background:var(--ma-navy);
		position:static;
		margin:0;
	}

	.ma-header ul.main_menu {
		display:none;
		position:absolute;
		left:0;
		right:0;
		top:100%;
		flex-direction:column;
		background:#fff;
		border-top:1px solid var(--ma-border);
		box-shadow:0 16px 32px rgba(11,57,84,0.16);
		max-height:calc(100vh - 100px);
		overflow-y:auto;
		padding:0.5rem var(--ma-gutter) 1rem;
	}

	.ma-header ul.main_menu.open {
		display:flex;
	}

	.ma-header ul.main_menu > li > a {
		text-align:left;
		padding:0.8rem 3.5rem 0.8rem 0.25rem;
		font-size:1rem;
	}

	.ma-header ul.main_menu li > ul {
		position:static;
		box-shadow:none;
		border:0;
		padding:0 0 0.5rem 0.75rem;
	}

	.ma-header ul.main_menu button.toggle_submenu.mobile {
		display:block;
		right:0;
	}

	.main_content {
		margin-top:0;
	}

	.sizer.slider,
	.sizer.slider.album {
		border-radius:0;
		margin-top:0;
		max-width:none;
	}

	.sizer.ma-activity {
		display:block;
	}

	.side_bar.ma-book {
		position:static;
		margin-top:2rem;
		scroll-margin-top:110px;
	}

	.item_card.full .hightl_and_reviews {
		grid-template-columns:1fr;
	}

	.ma-bookbar {
		display:flex;
		align-items:center;
		justify-content:space-between;
		gap:1rem;
		position:fixed;
		left:0;
		right:0;
		bottom:0;
		z-index:1001;
		padding:0.75rem var(--ma-gutter) calc(0.75rem + env(safe-area-inset-bottom));
		background:#fff;
		border-top:1px solid var(--ma-border);
		box-shadow:0 -6px 20px rgba(11,57,84,0.10);
	}

	.ma-bookbar__price {
		font-family:var(--ma-head);
		color:var(--ma-navy);
		line-height:1.1;
	}

	.ma-bookbar__price .price_block,
	.ma-bookbar__price .price_block * {
		margin:0;
		border:0;
		box-shadow:none;
		background:none;
	}

	/* keep Google's reCAPTCHA badge above the booking bar */
	body:has(.ma-bookbar) .grecaptcha-badge {
		bottom:90px !important;
	}

	.ma-bookbar__btn {
		flex-shrink:0;
		background:var(--ma-coral);
		color:#fff;
		font-weight:600;
		border-radius:999px;
		padding:0.75rem 1.4rem;
		text-decoration:none;
	}

	.ma-bookbar__btn:hover {
		color:#fff;
		background:var(--ma-coral-dark);
	}

	body:has(.ma-bookbar) .ma-footer {
		padding-bottom:calc(1.5rem + 76px);
	}

	.ma-footer__row {
		flex-direction:column;
		gap:2rem;
	}

	.ma-footer__contact {
		flex-basis:auto;
	}

	.ma-footer ul.footer_menu {
		display:grid;
	}
}

/* ======================================================================
   Category list pages
   ====================================================================== */

/* intro band (slider.tpl renders this instead of the old slider on list pages) */
.ma-intro {
	background:var(--ma-sand);
	border-bottom:1px solid var(--ma-border);
	padding:0.5rem 0 1.75rem;
	margin-bottom:2rem;
}

.ma-intro .sizer.breadcrumbs {
	padding-left:0;
	padding-right:0;
}

.ma-intro h1 {
	font-size:2.6rem;
	margin:0.25rem 0 0.75rem;
}

.ma-intro__text {
	max-width:820px;
	font-size:1.05rem;
	line-height:1.65;
	color:var(--ma-ink);
	max-height:calc(1.65em * 3);
	overflow:hidden;
}

.ma-intro__text.open {
	max-height:none;
}

.ma-intro__text p {
	margin:0 0 0.75rem;
}

.ma-intro__more {
	margin-top:0.5rem;
	padding:0;
	min-height:0;
	border:0;
	background:none;
	color:var(--ma-teal);
	font-weight:600;
	text-decoration:underline;
	cursor:pointer;
}

/* subcategory pills under the intro (slider.tpl), same look as the homepage "Top picks" tabs */
.ma-subcats {
	display:flex;
	flex-wrap:wrap;
	gap:0.5rem;
	margin-top:1.25rem;
}

.ma-subcats__pill {
	display:inline-flex;
	align-items:center;
	min-height:44px;
	box-sizing:border-box;
	padding:0.5rem 1.1rem;
	border:1px solid #D5D0C8;
	border-radius:999px;
	background:#FFFFFF;
	color:var(--ma-navy);
	font-weight:600;
	font-size:0.95rem;
	text-decoration:none;
}

.ma-subcats__pill:hover {
	border-color:var(--ma-teal);
	color:var(--ma-teal);
}

.ma-subcats__pill.is-active,
.ma-subcats__pill.is-active:hover {
	background:var(--ma-navy);
	border-color:var(--ma-navy);
	color:#FFFFFF;
}

@media (max-width:700px) {
	/* one swipeable row on phones instead of a tall stack */
	.ma-subcats {
		flex-wrap:nowrap;
		overflow-x:auto;
		margin-right:calc(-1 * var(--ma-gutter));
		padding-right:var(--ma-gutter);
		-webkit-overflow-scrolling:touch;
	}

	.ma-subcats__pill {
		white-space:nowrap;
	}
}

/* list + sidebar */
.sizer.ma-list {
	display:grid;
	grid-template-columns:minmax(0, 1fr) 300px;
	gap:2.5rem;
	align-items:start;
}

.sizer.ma-list:after {
	display:none;
}

.sizer.ma-list > .col {
	float:none;
	width:auto;
	padding:0;
	margin:0;
}

/* tour card: photo | details | price + book */
.ma-list .item_card.list {
	display:grid;
	grid-template-columns:180px minmax(0, 1fr) 170px;
	grid-template-areas:
		"img body price"
		"img body book";
	grid-template-rows:auto 1fr;
	gap:0.25rem 1.5rem;
	align-items:start;
	background:#fff;
	border:1px solid var(--ma-border);
	border-radius:var(--ma-radius);
	padding:16px;
	margin:0 0 16px;
	width:auto;
	box-sizing:border-box;
	box-shadow:none;
	transition:box-shadow 0.15s ease;
}

.ma-list .item_card.list:hover {
	box-shadow:0 8px 24px rgba(11,57,84,0.10);
}

.ma-list .item_card.list > .col,
.ma-list .item_card.list .leftside,
.ma-list .item_card.list .thumb_wrap {
	display:contents;
}

.ma-list .item_card.list .leftside .tags {
	display:none;
}

.ma-list .item_card.list .thumb_wrap > a {
	grid-area:img;
	display:block;
	width:180px;
	aspect-ratio:1 / 1;
	border-radius:10px;
	overflow:hidden;
	background:var(--ma-sand);
}

.ma-list .item_card.list .thumb_wrap img.thumb {
	width:100%;
	height:100%;
	max-height:none;
	object-fit:cover;
	display:block;
}

.ma-list .item_card.list .thumb_wrap .price {
	grid-area:price;
	position:static;
	background:none;
	color:var(--ma-navy);
	padding:0;
	font-family:var(--ma-head);
	font-weight:700;
	font-size:1.6rem;
	line-height:1.1;
	text-align:right;
}

.ma-list .item_card.list .thumb_wrap .price:before {
	content:'From';
	display:block;
	font-family:var(--ma-body);
	font-weight:400;
	font-size:0.8rem;
	color:var(--ma-muted);
}

.ma-list .item_card.list .middle {
	grid-area:body;
	min-width:0;
	float:none;
	width:auto;
	padding:0;
	margin:0;
}

.ma-list .item_card.list .rightside {
	grid-area:book;
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap:0.5rem;
	width:auto;
	max-width:none;
	padding:0;
	float:none;
}

.ma-list .item_card.list .booking_and_icons.mobile {
	display:none;
}

.ma-list .item_card.list .specials img {
	width:52px;
	height:auto;
}

.ma-list .item_card.list a.book_now.as_blue_button {
	margin:0;
	background:var(--ma-coral);
	border:1px solid var(--ma-coral);
	color:#fff;
	padding:0.65rem 1.4rem;
	white-space:nowrap;
}

.ma-list .item_card.list a.book_now.as_blue_button:hover {
	background:var(--ma-coral-dark);
	border-color:var(--ma-coral-dark);
	color:#fff;
}

.ma-list .item_card.list .title_wrap {
	display:block;
	margin:0 0 0.35rem;
}

.ma-list .item_card.list h3.title {
	font-family:var(--ma-head);
	font-weight:600;
	font-size:1.35rem;
	line-height:1.2;
	margin:0 0 0.25rem;
}

.ma-list .item_card.list h3.title a {
	color:var(--ma-navy);
	text-decoration:none;
}

.ma-list .item_card.list h3.title a:hover {
	color:var(--ma-teal);
	text-decoration:underline;
}

.ma-list .item_card.list .descr {
	color:var(--ma-ink);
	font-size:0.95rem;
	margin:0 0 0.25rem;
}

.ma-list .item_card.list a.more {
	display:inline-block;
	float:none;
	font-weight:600;
	font-size:0.9rem;
	margin:0 0 0.5rem;
}

/* duration / prices: compact two-column list instead of the old grey table */
.ma-list .item_card.list .info.as_table {
	display:grid;
	grid-template-columns:auto 1fr;
	gap:0.15rem 1rem;
	margin-top:0.25rem;
	font-size:0.9rem;
}

.ma-list .item_card.list .info .as_cell {
	order:0;
	width:auto;
	border:0;
	padding:0;
	background:none;
	display:block;
}

.ma-list .item_card.list .info .as_cell.title {
	font-weight:400;
	color:var(--ma-muted);
}

.ma-list .item_card.list .info .as_cell.value {
	color:var(--ma-ink);
	font-weight:500;
}

@media (max-width:700px) {
	/* the text column is narrow on phones: split it evenly and let long labels wrap instead of pushing values off the card */
	.ma-list .item_card.list .info.as_table {
		grid-template-columns:repeat(2, minmax(0, 1fr));
		gap:0.25rem 0.75rem;
	}

	.ma-list .item_card.list .info .as_cell {
		min-width:0;
		overflow-wrap:anywhere;
	}
}

.ma-list .load_more_wrap {
	text-align:center;
	margin:1rem 0 2rem;
}

/* sidebar: browse categories card */
.ma-list .side_bar .group_tab_menu {
	border:1px solid var(--ma-border);
	border-radius:var(--ma-radius);
	overflow:hidden;
	background:#fff;
	box-shadow:none;
}

.ma-list .side_bar .group_tab_menu > ul {
	display:flex;
	margin:0;
	padding:0;
	border-bottom:1px solid var(--ma-border);
	background:var(--ma-sand);
}

.ma-list .side_bar .group_tab_menu > ul > li.group {
	flex:1;
	list-style:none;
	margin:0;
	border:0;
	background:none;
	box-shadow:none;
}

.ma-list .side_bar .group_tab_menu > ul > li.group .toggle {
	font-family:var(--ma-body);
	font-weight:600;
	font-size:0.85rem;
	text-transform:none;
	color:var(--ma-muted);
	padding:0.75rem 0.25rem;
	text-align:center;
	background:none;
	border:0;
	border-bottom:3px solid transparent;
	cursor:pointer;
}

.ma-list .side_bar .group_tab_menu > ul > li.group.active .toggle {
	color:var(--ma-navy);
	border-bottom-color:var(--ma-teal);
	background:#fff;
}

.ma-list .side_bar .group_tab_menu .pages {
	padding:0.75rem 1rem 1rem;
	background:#fff;
	box-shadow:none;
	border:0;
}

.ma-list .side_bar .group_tab_menu .pages ul {
	margin:0;
	padding:0;
}

.ma-list .side_bar .group_tab_menu .pages li {
	list-style:none;
	margin:0;
}

.ma-list .side_bar .group_tab_menu .pages li a {
	display:block;
	padding:0.35rem 0;
	color:var(--ma-ink);
	text-decoration:none;
	font-size:0.95rem;
}

.ma-list .side_bar .group_tab_menu .pages li a:hover {
	color:var(--ma-teal);
	text-decoration:underline;
}

.ma-list .side_bar .items_box {
	background:var(--ma-sand);
	box-shadow:none;
	border-radius:var(--ma-radius);
	margin-top:1.5rem;
	float:none;
}

.ma-list .side_bar .items_box h2 {
	text-transform:none;
	text-align:left;
	color:var(--ma-navy);
	font-size:1.2rem;
}

@media screen and (max-width: 1050px) {
	.sizer.ma-list {
		grid-template-columns:minmax(0, 1fr) 260px;
		gap:1.5rem;
	}

	.ma-list .item_card.list {
		grid-template-columns:140px minmax(0, 1fr) 150px;
	}

	.ma-list .item_card.list .thumb_wrap > a {
		width:140px;
	}
}

@media screen and (max-width: 900px) {
	.ma-intro h1 {
		font-size:1.9rem;
	}

	.ma-intro {
		margin-bottom:1rem;
	}

	.sizer.ma-list {
		display:block;
	}

	.ma-list .side_bar {
		margin-top:2rem;
	}

	/* phone card: small photo beside the text, price + book underneath */
	.ma-list .item_card.list {
		grid-template-columns:96px minmax(0, 1fr);
		grid-template-areas:
			"img body"
			"price book";
		grid-template-rows:auto auto;
		gap:0.75rem 1rem;
		padding:14px;
	}

	.ma-list .item_card.list .thumb_wrap > a {
		width:96px;
	}

	.ma-list .item_card.list .thumb_wrap .price {
		align-self:center;
		text-align:left;
		font-size:1.4rem;
	}

	.ma-list .item_card.list .rightside,
	.ma-list .item_card.list .rightside.desktop {
		display:flex;
		flex-direction:row;
		align-items:center;
		justify-content:flex-end;
		align-self:center;
	}

	.ma-list .item_card.list .specials {
		display:none;
	}

	.ma-list .item_card.list h3.title {
		font-size:1.15rem;
	}

	.ma-list .item_card.list .descr {
		font-size:0.9rem;
	}
}

/* fixes after first category check */
a.as_blue_button,
button.blue_button {
	box-sizing:border-box;
}

.ma-list .item_card.list a.book_now.as_blue_button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:auto;
	line-height:1.2;
}

.ma-list .item_card.list .rating_stars {
	justify-self:start;
	margin:0 0 0.25rem;
	transform:scale(0.8);
	transform-origin:left center;
}

/* ======================================================================
   Footer menu: undo old separator bars / centered caps
   ====================================================================== */

.ma-footer ul.footer_menu > li > ul {
	display:block;
	margin:0.25rem 0 0;
}

.ma-footer ul.footer_menu li a {
	text-shadow:none;
	text-align:left;
	padding:0.2rem 0;
}

.ma-footer ul.footer_menu > li > a {
	text-transform:none;
	text-align:left;
}

.ma-footer ul.footer_menu > li ul li a:after {
	display:none;
}

/* ======================================================================
   Homepage
   ====================================================================== */

.ma-hero {
	position:relative;
	min-height:520px;
	display:flex;
	align-items:flex-end;
	background:var(--ma-navy);
	overflow:hidden;
}

.ma-hero__img {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center 40%;
}

.ma-hero__shade {
	position:absolute;
	inset:0;
	background:linear-gradient(180deg, rgba(6,32,48,0) 30%, rgba(6,32,48,0.72) 100%);
}

.ma-hero__content {
	position:relative;
	width:100%;
	padding-top:4rem;
	padding-bottom:3rem;
	color:#fff;
}

.ma-hero h1 {
	color:#fff;
	font-size:3.4rem;
	margin:0 0 0.5rem;
	max-width:760px;
	text-shadow:0 2px 12px rgba(0,0,0,0.25);
}

.ma-hero__lead {
	font-size:1.2rem;
	margin:0 0 1.5rem;
	max-width:640px;
	color:#fff;
}

.ma-hero__search {
	display:flex;
	align-items:center;
	gap:0.75rem;
	max-width:640px;
	height:60px;
	padding:0 6px 0 20px;
	background:#fff;
	border-radius:14px;
	color:var(--ma-muted);
	box-shadow:0 12px 30px rgba(0,0,0,0.25);
	box-sizing:border-box;
}

.ma-hero__search input {
	flex:1;
	border:0;
	outline:none;
	min-height:0;
	padding:0;
	font-size:1.05rem;
	background:transparent;
}

.ma-hero__search button[type="submit"],
.main_content .ma-hero__search button[type="submit"] {
	height:48px;
	border-radius:10px;
	padding:0 1.5rem;
}

.ma-hero__dates {
	margin-top:0.9rem;
	max-width:640px;
}

.ma-hero__dates summary {
	cursor:pointer;
	font-weight:600;
	color:#fff;
	text-decoration:underline;
	text-underline-offset:3px;
}

.ma-hero__dates-box {
	margin-top:0.75rem;
	background:#fff;
	color:var(--ma-ink);
	border-radius:14px;
	padding:0.25rem 1.25rem 1rem;
}

.ma-hero__dates-box .items_box {
	background:none;
	box-shadow:none;
	margin:0;
	float:none;
}

.ma-hero__dates-box .items_box h2 {
	display:none;
}

.ma-hero__dates-box form {
	display:grid;
	grid-template-columns:2fr 1fr 1fr auto;
	gap:0.75rem;
	align-items:end;
	margin:0;
	padding:0;
	box-shadow:none;
	float:none;
	width:auto;
}

.ma-hero__dates-box form fieldset {
	float:none;
	width:auto;
	margin:0;
	padding:0;
	border:0;
}

.ma-hero__dates-box form fieldset label {
	font-size:0.85rem;
	font-weight:600;
	color:var(--ma-ink);
	width:auto;
	text-align:left;
	padding:0 0 0.25rem;
}

.ma-hero__dates-box form fieldset select,
.ma-hero__dates-box form fieldset input,
.ma-hero__dates-box form fieldset .selectric-wrapper,
.ma-hero__dates-box form fieldset .calendar_wrap {
	width:100%;
}

/* section heading */
.ma-section-head {
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	margin:3rem 0 1rem;
}

.ma-section-head h2 {
	font-size:2rem;
	margin:0;
}

/* top picks: existing category tabs + carousel */
.ma-picks .activities_groups > ul {
	display:flex;
	gap:0.5rem;
	margin:0 0 1rem;
	padding:0;
	justify-content:flex-start;
	flex-wrap:wrap;
}

.ma-picks .activities_groups > ul > li.group {
	display:flex;
	align-items:center;
	gap:0.5rem;
	padding:0;
	border:1px solid #D5D0C8;
	border-radius:999px;
	background:#fff;
	background-image:none;
}

.ma-picks .activities_groups > ul > li.group .toggle {
	padding:0.55rem 1.1rem;
	color:var(--ma-navy);
	font-weight:600;
	font-size:0.95rem;
	text-transform:none;
}

.ma-picks .activities_groups > ul > li.group.active {
	background:var(--ma-navy);
	border-color:var(--ma-navy);
}

.ma-picks .activities_groups > ul > li.group.active .toggle {
	color:#fff;
}

.ma-picks .activities_groups li.active .goto_page {
	display:block;
	color:#BFE3E6;
	text-transform:none;
	font-weight:600;
	font-size:0.9rem;
	padding:0 1rem 0 0;
	text-decoration:underline;
}

.ma-picks .activities_groups .pages {
	border:0;
	box-shadow:none;
	background:none;
	height:auto;
	min-height:0;
	margin:0;
	overflow:visible;
}

.ma-picks .activities_groups .page_group.active {
	display:flex;
	align-items:stretch;
	height:auto;
}

.ma-picks .item_slider_wrap {
	flex:1;
	min-width:0;
	overflow:hidden;
}

.ma-picks .navigate {
	width:44px;
	opacity:1;
	align-self:center;
}

.ma-picks .navigate button {
	width:44px;
	height:44px;
	border-radius:50%;
	border:1px solid var(--ma-border);
	background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%230B3954' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 6l-6 6 6 6'/%3E%3C/svg%3E") no-repeat center center;
	box-shadow:0 4px 12px rgba(11,57,84,0.12);
}

/* small activity card */
.ma-picks .item_card.small {
	width:250px;
	height:auto;
	margin:0 16px 0 0;
	border:1px solid var(--ma-border);
	border-radius:var(--ma-radius);
	overflow:hidden;
	background:#fff;
	box-sizing:border-box;
	float:left;
}

.ma-picks .item_card.small .thumb_wrap {
	position:relative;
	width:100%;
	height:auto;
	display:block;
	padding:0;
	border:0;
	box-shadow:none;
	float:none;
}

.ma-picks .item_card.small .thumb_wrap > a {
	display:block;
	aspect-ratio:4 / 3;
	background:var(--ma-sand);
}

.ma-picks .item_card.small .thumb_wrap img.thumb {
	width:100%;
	height:100%;
	max-height:none;
	object-fit:cover;
	display:block;
}

.ma-picks .item_card.small .thumb_wrap .price {
	top:10px;
	left:10px;
	padding:0.2rem 0.6rem;
	border-radius:999px;
	background:#fff;
	color:var(--ma-navy);
	font-family:var(--ma-head);
	font-weight:700;
	box-shadow:0 2px 8px rgba(0,0,0,0.15);
}

.ma-picks .item_card.small .thumb_wrap h3.title {
	position:static;
	background:none;
	padding:0.75rem 0.9rem 0.25rem;
	font-family:var(--ma-head);
	font-weight:600;
	font-size:1.1rem;
	line-height:1.25;
	margin:0;
}

.ma-picks .item_card.small .thumb_wrap h3.title a {
	color:var(--ma-navy);
}

.ma-picks .item_card.small .descr {
	padding:0 0.9rem;
	font-size:0.9rem;
	color:var(--ma-muted);
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;
	overflow:hidden;
}

.ma-picks .item_card.small a.more {
	display:block;
	padding:0.5rem 0.9rem 0.9rem;
	font-weight:600;
	font-size:0.9rem;
	float:none;
}

/* why book with us */
.ma-why {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:1.5rem;
	margin-top:3.5rem;
}

.ma-why__item {
	background:var(--ma-sand);
	border-radius:var(--ma-radius);
	padding:1.5rem;
}

.ma-why__item h3 {
	font-size:1.2rem;
	margin:0 0 0.4rem;
}

.ma-why__item p {
	margin:0;
	color:var(--ma-ink);
}

/* reviews + extras */
.ma-reviews {
	display:grid;
	grid-template-columns:minmax(0, 1fr) 300px;
	gap:2.5rem;
	margin-top:3.5rem;
	align-items:start;
}

.ma-reviews h2 {
	font-size:2rem;
	margin:0 0 1rem;
}

.ma-reviews__extras {
	border:1px solid var(--ma-border);
	border-radius:var(--ma-radius);
	padding:1.25rem 1.5rem;
}

.ma-reviews__extras h3 {
	font-size:1.1rem;
	margin:0 0 0.5rem;
}

.ma-reviews__airlines {
	margin-top:1rem;
}

.ma-reviews__airlines img {
	max-width:100%;
	height:auto;
}

.blueskytours.ma-wrap {
	margin-top:2.5rem;
	text-align:center;
}

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

@media screen and (max-width: 900px) {
	.ma-hero {
		min-height:440px;
	}

	.ma-hero__content {
		padding-bottom:1.5rem;
	}

	.ma-hero h1 {
		font-size:2.2rem;
	}

	.ma-hero__lead {
		font-size:1rem;
		margin-bottom:1rem;
	}

	.ma-hero__search {
		height:54px;
		padding-left:14px;
	}

	.ma-hero__search button[type="submit"],
	.main_content .ma-hero__search button[type="submit"] {
		height:42px;
		padding:0 1rem;
	}

	.ma-hero__dates-box form {
		grid-template-columns:1fr 1fr;
	}

	.ma-hero__dates-box form fieldset:first-of-type,
	.ma-hero__dates-box form fieldset.buttons {
		grid-column:1 / -1;
	}

	.ma-section-head {
		margin-top:2rem;
	}

	.ma-section-head h2,
	.ma-reviews h2 {
		font-size:1.6rem;
	}

	.ma-picks .navigate {
		display:none;
	}

	/* phone: let the carousel scroll with a finger */
	.ma-picks .item_slider_wrap {
		overflow-x:auto;
		-webkit-overflow-scrolling:touch;
		scroll-snap-type:x mandatory;
	}

	.ma-picks .item_card.small {
		width:220px;
		scroll-snap-align:start;
	}

	.ma-why,
	.ma-reviews {
		grid-template-columns:1fr;
		gap:1rem;
		margin-top:2rem;
	}
}

.ma-picks .item_card.small,
.ma-picks .item_card.small .descr,
.ma-picks .item_card.small h3.title {
	text-align:left;
}


/* ======================================================================
   Social icons (homepage). Links come from the SOCIAL_MEDIA_LINKS widget;
   the old PNG stays in the markup (visually hidden) so its alt text still names the link.
   ====================================================================== */

.ma-connect {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:1.5rem 2.5rem;
	margin-top:3rem;
	padding:1.75rem 2rem;
	border:1px solid var(--ma-border);
	border-radius:var(--ma-radius);
}

.ma-connect h2 {
	font-size:1.4rem;
	margin:0 0 0.75rem;
}

/* with the Facebook feed: icons on the left, the feed on the right; stacked on narrow screens */
.ma-connect--fb {
	align-items:flex-start;
}

.ma-connect__social {
	flex:1 1 280px;
	min-width:0;
}

.ma-connect__note {
	margin:1rem 0 0;
	color:var(--ma-muted);
}

.ma-connect__fb {
	flex:1 1 340px;
	max-width:500px;
	min-width:0;
}

.ma-connect__fb .fb-like-box,
.ma-connect__fb .fb-like-box span,
.ma-connect__fb .fb-like-box iframe {
	max-width:100% !important;
}

.ma-connect__airlines img {
	max-width:100%;
	height:auto;
	display:block;
}

.ma-social p {
	display:flex;
	flex-wrap:wrap;
	gap:0.75rem;
	margin:0;
}

.ma-social a {
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:48px;
	height:48px;
	border-radius:50%;
	border:1px solid var(--ma-border);
	background:#fff;
	color:var(--ma-navy);
	transition:color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

.ma-social a img {
	position:absolute;
	width:1px;
	height:1px;
	overflow:hidden;
	clip:rect(0 0 0 0);
	clip-path:inset(50%);
	white-space:nowrap;
}

.ma-social a:before {
	content:'';
	width:22px;
	height:22px;
	background-color:currentColor;
	-webkit-mask:var(--ma-icon) center / contain no-repeat;
	mask:var(--ma-icon) center / contain no-repeat;
}

.ma-social a:hover,
.ma-social a:focus-visible {
	color:var(--ma-brand, var(--ma-navy));
	border-color:currentColor;
	background:var(--ma-sand);
}

.ma-social a.facebook {
	--ma-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E");
	--ma-brand:#1877F2;
}

.ma-social a.instagram {
	--ma-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M17.5 6.5h.01'/%3E%3C/svg%3E");
	--ma-brand:#C13584;
}

.ma-social a.youtube {
	--ma-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath fill-rule='evenodd' d='M6 5h12a4 4 0 0 1 4 4v6a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V9a4 4 0 0 1 4-4zM10 9v6l5-3z'/%3E%3C/svg%3E");
	--ma-brand:#FF0000;
}

.ma-social a.twitter {
	--ma-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h4.5L20 20h-4.5z'/%3E%3Cpath d='M4 20l6.6-7.2M20 4l-6.4 7'/%3E%3C/svg%3E");
	--ma-brand:#000000;
}

.ma-social a.yelp {
	--ma-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z'/%3E%3C/svg%3E");
	--ma-brand:#D32323;
}

@media screen and (max-width: 900px) {
	.ma-connect {
		padding:1.25rem;
		margin-top:2rem;
	}
}

/* the bordered box replaces the wrap's own padding, so inset it by the gutter to line up with other sections */
.ma-wrap.ma-connect {
	width:calc(100% - 2 * var(--ma-gutter));
	max-width:calc(var(--ma-wrap) - 2 * var(--ma-gutter));
}

/* footer lists are always open, so the submenu toggle the menu template adds isn't needed */
.ma-footer ul.footer_menu button.toggle_submenu {
	display:none !important;
}

/* ======================================================================
   Homepage reviews (site's own review module, latest approved reviews)
   ====================================================================== */

.ma-home-reviews .list {
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:1.5rem;
	min-height:160px;
}

.ma-home-reviews .review_card.small {
	display:flex;
	flex-direction:column;
	gap:0.5rem;
	margin:0;
	padding:1.5rem;
	background:var(--ma-sand);
	border:0;
	border-radius:var(--ma-radius);
	box-shadow:none;
	float:none;
	width:auto;
}

.ma-home-reviews .review_card.small:before {
	content:'\201C';
	font-family:var(--ma-head);
	font-size:3rem;
	line-height:0.6;
	height:1.25rem;
	color:var(--ma-teal);
}

.ma-home-reviews .review_card .review {
	color:var(--ma-ink);
	font-size:1rem;
	line-height:1.6;
	display:-webkit-box;
	-webkit-line-clamp:6;
	-webkit-box-orient:vertical;
	overflow:hidden;
}

.ma-home-reviews .review_card .author {
	margin-top:auto;
	padding-top:0.5rem;
	font-weight:600;
	color:var(--ma-navy);
}

.ma-home-reviews .review_card .date {
	font-size:0.85rem;
	color:var(--ma-muted);
}

.ma-home-reviews .review_card .link {
	font-size:0.9rem;
	color:var(--ma-muted);
}

.ma-home-reviews .review_card .link a {
	font-weight:600;
}

@media screen and (max-width: 900px) {
	.ma-home-reviews .list {
		grid-template-columns:1fr;
		gap:1rem;
	}
}

.ma-home-reviews .review_card .author,
.ma-home-reviews .review_card .date,
.ma-home-reviews .review_card .link {
	text-align:left;
}

/* footer turtle photo (992x272, admin-uploaded). The footer gradient matches the photo's edge colors
   (#026791 at the top to #033F63 at 272px), and the photo's sides and bottom are faded out so no box edge shows. */
.ma-footer {
	position:relative;
	isolation:isolate;
	overflow:hidden;
	background:linear-gradient(180deg, #026791 0, #03577D 150px, #033F63 272px, var(--ma-navy) 420px);
}

.ma-footer:before {
	content:'';
	position:absolute;
	top:0;
	left:50%;
	width:992px;
	height:272px;
	transform:translateX(-50%);
	background:var(--ma-footer-img, none) no-repeat center top;
	opacity:0.85;
	z-index:-1;
	-webkit-mask-image:linear-gradient(90deg, transparent 0, #000 22%, #000 78%, transparent 100%), linear-gradient(180deg, #000 55%, transparent 100%);
	-webkit-mask-composite:source-in;
	mask-image:linear-gradient(90deg, transparent 0, #000 22%, #000 78%, transparent 100%), linear-gradient(180deg, #000 55%, transparent 100%);
	mask-composite:intersect;
}

.ma-footer__row,
.ma-footer__copy {
	text-shadow:0 1px 2px rgba(0,0,0,0.35);
}

/* ---------- Cart / checkout (booking.tpl) ---------- */

.sizer.cart ul.steps {
	display:flex;
	gap:8px;
	list-style:none;
	margin:24px 0 12px;
	padding:0;
	background:none;
}

.sizer.cart ul.steps li.step {
	flex:1 1 0;
	min-width:0;
	margin:0;
	padding:10px 14px;
	background:var(--ma-sand);
	border:1px solid var(--ma-border);
	border-radius:10px;
}

.sizer.cart ul.steps li.step h3 {
	margin:0;
	font-size:15px;
	font-weight:500;
	line-height:1.35;
	color:var(--ma-muted);
}

.sizer.cart ul.steps li.step.active {
	background:var(--ma-navy);
	border-color:var(--ma-navy);
}

.sizer.cart ul.steps li.step.active h3,
.sizer.cart ul.steps li.step h3 a {
	color:#FFFFFF;
}

.sizer.cart ul.steps li.step:not(.active) h3 a {
	color:var(--ma-teal);
}

.sizer.cart > p.noprint {
	margin:0;
	font-size:14px;
	color:var(--ma-muted);
}

.sizer.cart > h1 {
	margin:4px 0 16px;
	font-family:var(--ma-head);
	font-size:36px;
	line-height:1.15;
	color:var(--ma-navy);
}

.sizer.cart .cart .overall {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:12px 24px;
	margin-top:16px;
	padding:20px 24px;
	background:var(--ma-sand);
	border-radius:var(--ma-radius);
}

.sizer.cart .cart .overall .total {
	font-family:var(--ma-head);
	font-size:28px;
	font-weight:600;
	color:var(--ma-navy);
}

/* "Proceed to checkout" / "Confirm order" are the main action; "Add more activities" / "Edit shopping cart details" are secondary */
.sizer.cart button.checkout {
	display:inline-flex;
	align-items:center;
	min-height:48px;
	box-sizing:border-box;
	padding:12px 24px;
	background:var(--ma-coral);
	border:0;
	border-radius:8px;
	font-family:var(--ma-body);
	font-size:17px;
	font-weight:600;
	text-transform:none;
	color:#FFFFFF;
	cursor:pointer;
}

.sizer.cart button.checkout:hover {
	background:var(--ma-coral-dark);
}

.sizer.cart a.as_button.add_more {
	display:inline-flex;
	align-items:center;
	min-height:44px;
	box-sizing:border-box;
	padding:11px 20px;
	background:#FFFFFF;
	border:1px solid var(--ma-navy);
	border-radius:8px;
	font-size:16px;
	font-weight:600;
	text-transform:none;
	color:var(--ma-navy);
}

.sizer.cart a.as_button.add_more:hover {
	background:var(--ma-navy);
	color:#FFFFFF;
}

.sizer.cart button.grey_button.change_date {
	padding:6px 12px;
	background:#FFFFFF;
	border:1px solid var(--ma-teal);
	border-radius:6px;
	font-size:14px;
	font-weight:600;
	color:var(--ma-teal);
	cursor:pointer;
}

/* old theme drew "«" icons over the start of these labels */
.sizer.cart a.as_button.add_more:after,
.sizer.cart button.checkout:after {
	display:none;
}

@media (max-width:600px) {
	.sizer.cart ul.steps {
		flex-direction:column;
	}

	.sizer.cart .cart .overall {
		flex-direction:column;
		align-items:flex-start;
	}

	.sizer.cart .cart .overall > * {
		text-align:left;
	}

	.sizer.cart > h1 {
		font-size:28px;
	}
}
