/* ==========================================================================
   High Tail Pet Transport — plugin styles (layers on the High Tail theme)
   ========================================================================== */

:root {
	--black: #000000;
	--yellow: #ffd200;
	--white: #ffffff;
	--grey: #4a4a4a;
	--font: "Public Sans", sans-serif;
	--font-display: "Urbanist", sans-serif;
	--content-max: 1440px;
	--page-gutter: 1.75rem;
	--header-h: 5.75rem;
	--section-gap: 2.5rem;
	--wp--style--global--content-size: 1440px;
	--wp--style--global--wide-size: 1440px;
}

@media (min-width: 782px) {
	:root {
		--page-gutter: 2.25rem;
	}
}

@media (min-width: 1200px) {
	:root {
		--page-gutter: 2.75rem;
	}
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: var(--header-h);
}

html,
body {
	overflow-x: clip;
	max-width: 100%;
}

html.has-modal-open,
html.has-modal-open body {
	overflow: hidden;
}

body {
	padding-top: var(--header-h);
	font-family: var(--font);
	line-height: 1.7;
}

.wp-site-blocks {
	overflow-x: clip;
	gap: 0 !important;
	row-gap: 0 !important;
}

html.has-modal-open .wp-site-blocks {
	overflow: visible;
}

h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading,
.section-title,
.hero__title,
.footer__heading,
.cta__title,
.routes__loop-title {
	font-family: var(--font-display);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.15;
	text-transform: none;
	text-wrap: balance;
	margin-top: 0 !important;
	margin-bottom: 0.25em !important;
	margin-block-start: 0 !important;
	margin-block-end: 0.25em !important;
}

h2,
h2.wp-block-heading,
.section-title,
.cta__title {
	margin-bottom: 0 !important;
	margin-block-end: 0 !important;
}

h2::after,
h2.wp-block-heading::after,
.section-title::after,
.cta__title::after {
	content: "";
	display: block;
	width: 3rem;
	height: 0.22rem;
    margin-top: 0.4em;
    margin-bottom: 0.5em;
	background: var(--yellow);
}

h3::after,
h4::after,
h5::after,
h6::after,
h3.wp-block-heading::after,
h4.wp-block-heading::after,
h5.wp-block-heading::after,
h6.wp-block-heading::after {
	content: none !important;
	display: none !important;
}

.has-text-align-center::after,
.cta__title::after {
	margin-left: auto;
	margin-right: auto;
}

.service-card__title::after,
.service-card h3.service-card__title::after {
	content: none;
	display: none;
}

.hero h1::after,
.hero h2::after,
.hero h3::after,
.hero h4::after,
.hero h5::after,
.hero h6::after,
.hero .wp-block-heading::after,
.header h1::after,
.header h2::after,
.header h3::after,
.header .wp-block-heading::after {
	content: none;
	display: none;
}

.cta :is(h1, h2, h3, h4, .wp-block-heading)::after {
	background: var(--black);
}

p,
li,
.wp-block-list,
.wp-block-table {
	line-height: 1.7;
}

p {
	margin-top: 0 !important;
	margin-bottom: 1em !important;
	margin-block-start: 0 !important;
	margin-block-end: 1em !important;
}

.hero p:last-child,
.planning p:last-child,
.routes p:last-child,
.comfort p:last-child,
.travel-info p:last-child,
.cta p:last-child,
.pricing p:last-child,
.footer p:last-child {
	margin-bottom: 0 !important;
	margin-block-end: 0 !important;
}

.has-hightail-black-color {
	color: var(--black);
}

.has-hightail-yellow-color {
	color: var(--yellow);
}

.has-hightail-white-color {
	color: var(--white);
}

.has-hightail-grey-color {
	color: var(--grey);
}

.has-hightail-black-background-color {
	background-color: var(--black);
}

.has-hightail-yellow-background-color {
	background-color: var(--yellow);
}

.has-hightail-white-background-color {
	background-color: var(--white);
}

.has-hightail-grey-background-color {
	background-color: var(--grey);
}

.wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 2rem;
	margin-bottom: 2rem;
}

.wp-block-button .wp-block-button__link {
	box-sizing: border-box;
	border-radius: 6px !important;
	padding: 0.6rem 1.25rem !important;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--hightail-button, 1.125rem);
	line-height: 1.2;
	text-decoration: none;
	letter-spacing: 0.04em !important;
	text-transform: uppercase;
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.28);
	transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.4s ease;
}

.btn-yellow .wp-block-button__link,
.wp-block-button.btn-yellow .wp-block-button__link {
	background-color: var(--yellow) !important;
	color: var(--black) !important;
}

.btn-yellow .wp-block-button__link:hover,
.btn-yellow .wp-block-button__link:focus-visible,
.wp-block-button.btn-yellow .wp-block-button__link:hover,
.wp-block-button.btn-yellow .wp-block-button__link:focus-visible,
.hero .wp-block-button__link:hover,
.hero .wp-block-button__link:focus-visible,
.footer .wp-block-button__link:hover,
.footer .wp-block-button__link:focus-visible {
	background-color: var(--black) !important;
	color: var(--yellow) !important;
	box-shadow: 0 0 0 8px rgba(0, 0, 0, 0);
}

.btn-black .wp-block-button__link,
.wp-block-button.btn-black .wp-block-button__link {
	background-color: var(--black) !important;
	color: var(--yellow) !important;
}

.btn-black .wp-block-button__link:hover,
.btn-black .wp-block-button__link:focus-visible,
.wp-block-button.btn-black .wp-block-button__link:hover,
.wp-block-button.btn-black .wp-block-button__link:focus-visible {
	background-color: var(--yellow) !important;
	color: var(--black) !important;
	box-shadow: 0 0 0 8px rgba(255, 210, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-button .wp-block-button__link,
	.cta .gform_wrapper .gform_button,
	.cta .gform_wrapper input[type="submit"],
	.cta .gform_wrapper button[type="submit"] {
		transition: none;
	}
}

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

.header {
	background: var(--black);
	color: var(--white);
	--header-pad-y: 0.75rem;
	padding-block: var(--header-pad-y);
	padding-inline: max(var(--page-gutter), env(safe-area-inset-left, 0px)) max(var(--page-gutter), env(safe-area-inset-right, 0px));
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 200;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	overflow: visible;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
}

.header.is-nav-open {
	z-index: 10001;
}

.header .wp-block-navigation-item__content {
	color: var(--white);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--hightail-nav, 1rem);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.header .header__inner {
	max-width: var(--content-max);
	margin-inline: auto;
	width: 100%;
	flex-wrap: nowrap !important;
	align-items: stretch;
	gap: 1.5rem;
}

.header .wp-block-site-logo,
.header .header__logo {
	display: flex;
	align-items: center;
}

.header__logo a {
	display: block;
	line-height: 0;
}

.header__logo img,
.header .header__logo img,
.header .wp-block-site-logo img {
	display: block;
	width: 180px;
	height: auto;
	max-height: 72px;
	object-fit: contain;
	object-position: left center;
}

.header__nav,
.header .wp-block-navigation {
	color: var(--white);
	margin-left: auto;
	flex: 1 1 auto;
	justify-content: flex-end;
}

.header .wp-block-navigation,
.header .wp-block-navigation__responsive-container,
.header .wp-block-navigation__responsive-dialog,
.header .wp-block-navigation__container {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 2.25rem !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	overflow: visible !important;
	inset: auto !important;
	list-style: none;
}

.header .wp-block-navigation__responsive-container-open,
.header .wp-block-navigation__responsive-container-close,
.header .wp-block-navigation__responsive-close {
	display: none !important;
}

.header .wp-block-navigation .wp-block-navigation-item {
	display: flex !important;
	align-items: stretch;
	margin-left: 0 !important;
	margin-right: 0 !important;
	position: relative;
}

.header .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	margin-block: calc(var(--header-pad-y) * -1);
	padding: var(--header-pad-y) 0.85rem;
	border-radius: 0;
	background-color: transparent;
	color: var(--white);
	transition: color 0.4s ease, background-color 0.4s ease;
}

.header .wp-block-navigation-item__content:hover,
.header .wp-block-navigation-item__content:focus {
	color: var(--yellow);
}

.header .wp-block-navigation-item.is-current .wp-block-navigation-item__content,
.header .wp-block-navigation-item__content.is-current,
.header .wp-block-navigation-item__content[aria-current="location"] {
	color: var(--black);
	background-color: var(--yellow);
}

.header .wp-block-navigation-item.is-current .wp-block-navigation-item__content:hover,
.header .wp-block-navigation-item.is-current .wp-block-navigation-item__content:focus,
.header .wp-block-navigation-item__content.is-current:hover,
.header .wp-block-navigation-item__content[aria-current="location"]:hover {
	color: var(--black);
}

@media (prefers-reduced-motion: reduce) {
	.header .wp-block-navigation-item__content {
		transition: none;
	}
}

.header__toggle {
	display: none;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	margin-left: auto;
	padding: 0;
	border: 1px solid var(--white);
	background: transparent;
	color: var(--white);
	cursor: pointer;
	z-index: 10002;
}

.header__toggle-close {
	display: none;
	font-size: 1.75rem;
	line-height: 1;
}

.header__toggle-open {
	display: block;
	font-size: 1.75rem;
	line-height: 1;
}

.header.is-nav-open .header__toggle-open {
	display: none;
}

.header.is-nav-open .header__toggle-close {
	display: block;
}

@media (max-width: 781px) {
	.header__toggle {
		display: flex;
	}

	.header .wp-block-navigation,
	.header .wp-block-navigation__responsive-container,
	.header .wp-block-navigation__responsive-dialog,
	.header .wp-block-navigation__container {
		display: none !important;
	}

	.header.is-nav-open .wp-block-navigation,
	.header.is-nav-open .wp-block-navigation__responsive-container,
	.header.is-nav-open .wp-block-navigation__responsive-dialog,
	.header.is-nav-open .wp-block-navigation__container {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 1.25rem !important;
	}

	.header.is-nav-open .wp-block-navigation {
		position: fixed !important;
		inset: 0 !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100dvh !important;
		padding: 5.5rem var(--page-gutter) 2rem !important;
		background: var(--black) !important;
		overflow: auto !important;
		z-index: 10000 !important;
	}

	.header.is-nav-open .wp-block-site-logo,
	.header.is-nav-open .header__logo {
		position: fixed;
		top: 0.85rem;
		left: max(var(--page-gutter), env(safe-area-inset-left, 0px), 1rem);
		z-index: 10003;
	}

	.header.is-nav-open .header__toggle {
		position: fixed;
		top: 1rem;
		right: max(var(--page-gutter), 1rem);
	}

	.header.is-nav-open .wp-block-navigation-item__content {
		font-size: 1.5rem;
		margin-block: 0;
		padding: 0.45rem 0.8rem;
		border-radius: 4px;
	}
}

/* --------------------------------------------------------------------------
   Shared sections
   -------------------------------------------------------------------------- */

.planning,
.routes,
.comfort,
.cta,
.pricing,
.footer {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-block: 4rem;
	padding-inline: max(var(--page-gutter), env(safe-area-inset-left, 0px)) max(var(--page-gutter), env(safe-area-inset-right, 0px));
}

.planning > *,
.routes > *,
.comfort > *,
.cta > *,
.pricing > *,
.footer > * {
	max-width: var(--content-max);
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100%;
}

.planning .wp-block-columns,
.routes .wp-block-columns,
.comfort .wp-block-columns,
.footer .wp-block-columns {
	align-items: center;
	gap: var(--section-gap) !important;
	column-gap: var(--section-gap) !important;
	row-gap: var(--section-gap) !important;
}

.planning .wp-block-columns {
	align-items: flex-start;
}

.section-title {
	margin-top: 0;
	margin-bottom: 0.25em;
}

.hero .wp-block-image,
.planning .wp-block-image,
.comfort .wp-block-image {
	margin-left: auto;
	margin-right: auto;
}

.hero:not(.wp-block-cover) img,
.planning img,
.comfort img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */

.hero.wp-block-cover,
.hero {
	background-color: var(--black);
	color: var(--white);
}

.hero.wp-block-cover .wp-block-cover__background,
.hero.wp-block-cover.has-background-dim:not(.has-background-gradient)::before {
	background-color: #000 !important;
	opacity: 0.85 !important;
}

.hero.wp-block-cover {
	box-sizing: border-box;
	height: auto !important;
	min-height: 100svh !important;
	padding: 0 !important;
	margin: 0 !important;
	margin-top: calc(var(--header-h) * -1) !important;
	width: 100% !important;
	max-width: 100% !important;
	align-items: center;
}

.hero.wp-block-cover .wp-block-cover__image-background {
	max-width: none !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover;
	object-position: center top;
}

.hero.wp-block-cover .wp-block-cover__inner-container {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	min-height: 100svh;
	max-width: calc(var(--content-max) + 2 * var(--page-gutter));
	margin-top: 0 !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-top: calc(var(--header-h) + clamp(1.25rem, 3vh, 2rem));
	padding-bottom: clamp(1.25rem, 3vh, 2rem);
	padding-inline: max(var(--page-gutter), env(safe-area-inset-left, 0px)) max(var(--page-gutter), env(safe-area-inset-right, 0px));
}

.hero.wp-block-cover .wp-block-cover__inner-container > * {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100%;
}

.hero.wp-block-cover .wp-block-cover__inner-container > .hero__content,
.hero__content {
	width: 75%;
	max-width: 75% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center;
}

.hero__title,
.hero__title.has-hightail-display-font-size {
	margin: 0 0 0.25em;
	color: var(--white);
	font-size: clamp(1.85rem, 3.2vw, 2.65rem) !important;
	line-height: 1.2;
}

.hero__kicker {
	color: var(--yellow);
	font-weight: 700;
	margin-bottom: 1em;
}

.hero__lede {
	font-size: var(--wp--preset--font-size--hightail-lede, 1.25rem);
	margin-bottom: 1em;
}

.hero__actions,
.hero__actions.wp-block-buttons {
	display: flex;
	justify-content: center;
	margin-top: 1.5rem !important;
	margin-bottom: 1rem !important;
	padding-block: 0;
}

.hero__hours {
	margin-top: 0;
	margin-bottom: 0 !important;
	color: var(--yellow);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   Planning
   -------------------------------------------------------------------------- */

.planning {
	background: var(--white);
	color: var(--black);
}

.planning__intro {
	max-width: 46rem;
	margin-bottom: 6.5rem;
	text-align: center;
}

.planning__intro p,
.planning__intro p:last-child {
	margin-bottom: 0 !important;
	margin-block-end: 0 !important;
	padding-bottom: 0.5rem;
}

.planning__intro .section-title {
	margin-bottom: 0.25em;
}

.planning__sub {
	margin-top: 0;
	margin-bottom: 0.25em;
	font-weight: 600;
}

.planning__sub::after,
h3.planning__sub::after {
	content: none;
	display: none;
}

.planning > .planning__split,
.planning .planning__split.wp-block-columns {
	max-width: 68rem !important;
}

.planning__split.wp-block-columns {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	grid-template-rows: auto auto;
	align-items: start !important;
	margin-top: 0;
	column-gap: var(--section-gap) !important;
	row-gap: 2.5rem !important;
}

.planning__media,
.planning__rates {
	min-width: 0;
}

.planning__media,
.planning__rates {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: 1 / span 2;
	overflow: hidden;
	padding-top: 0 !important;
}

.planning__rates-lede {
	grid-row: 1;
	margin: 0 !important;
	padding-top: 0;
	padding-bottom: 0.75rem;
}

.planning__media > *,
.planning .pricing__panel {
	grid-row: 2;
	align-self: start;
}

.planning__rates-title {
	margin: 0 0 0.25em;
	line-height: 1.2;
}

.planning .pricing__panel {
	max-width: none !important;
	width: 100%;
	margin-top: 0;
}

.planning .pricing__table,
.planning .wp-block-table {
	margin-top: 0;
	margin-bottom: 1rem;
}

.planning__calendly,
.calendly-inline-widget {
	width: 100%;
	min-width: 0 !important;
	min-height: 720px;
	height: auto;
	margin: 0 !important;
	overflow: hidden !important;
}

.calendly-inline-widget iframe {
	width: 100% !important;
	min-width: 0 !important;
	margin-top: 0;
	overflow: hidden !important;
}

/* --------------------------------------------------------------------------
   Routes
   -------------------------------------------------------------------------- */

.routes {
	position: relative;
	isolation: isolate;
	background-color: var(--black);
	background-size: cover;
	background-position: center;
	color: var(--white);
}

.routes::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	z-index: 0;
	pointer-events: none;
}

.routes > * {
	position: relative;
	z-index: 1;
}

.routes.wp-block-cover::before {
	content: none;
}

.routes.wp-block-cover .wp-block-cover__background,
.routes.wp-block-cover.has-background-dim:not(.has-background-gradient)::before {
	background-color: #000 !important;
	opacity: 0.4 !important;
}

.routes .section-title,
.routes__loop-title,
.routes__loop-sub {
	color: var(--white);
}

.routes__sub {
	margin-top: 0 !important;
	margin-bottom: 0.25em !important;
	margin-block-end: 0.25em !important;
	font-weight: 600;
	color: var(--yellow);
}

.routes__loop {
	position: relative;
	overflow: hidden;
	background: rgba(0, 0, 0, 0.35);
	backdrop-filter: blur(18px) saturate(1.15);
	-webkit-backdrop-filter: blur(18px) saturate(1.15);
	color: var(--white);
	border: 1px solid rgba(255, 210, 0, 0.35);
	border-radius: 6px;
	padding: 2.25rem 2.5rem;
	margin-block: 1.75rem;
}

@media (prefers-reduced-transparency: reduce) {
	.routes__loop {
		background: rgba(0, 0, 0, 0.72);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
}

.routes__loop-title {
	margin: 0 0 0.25em !important;
	margin-block-end: 0.25em !important;
	color: var(--yellow);
	font-size: clamp(1.5rem, 2.2vw, 2rem) !important;
}

.routes__loop-sub {
	margin: 0 0 0.25em !important;
	margin-block-end: 0.25em !important;
	font-size: var(--wp--preset--font-size--hightail-lede, 1.25rem);
	font-weight: 600;
	color: var(--white);
}

.routes__note {
	font-style: italic;
}

.routes__layout.wp-block-columns {
	display: block !important;
}

.routes__content {
	width: 100% !important;
	max-width: 48rem;
	flex-basis: 100% !important;
}

.routes__map {
	display: none !important;
}

.routes__map .wp-block-image,
.routes__map-image {
	margin: 0;
}

.routes__map-svg,
.routes__map img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 36rem;
	margin-left: auto;
	object-fit: contain;
}

.routes__map .cls-1 {
	fill: #5c5c5c;
}

.routes__map .cls-2 {
	fill: #747474;
}

.routes__map .cls-3 {
	stroke: var(--yellow);
}

.routes__map .cls-4 {
	fill: var(--yellow);
}

.routes__map .routes-dot {
	transform-box: fill-box;
	transform-origin: center;
	animation: routes-pulse var(--dot-duration, 2.8s) ease-in-out infinite;
	animation-delay: var(--dot-delay, 0s);
}

@keyframes routes-pulse {
	0%,
	100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.45);
	}
}

@media (prefers-reduced-motion: reduce) {
	.routes__map .routes-dot {
		animation: none;
	}
}

/* --------------------------------------------------------------------------
   Comfort
   -------------------------------------------------------------------------- */

.comfort {
	background: var(--white);
	color: var(--black);
}

.comfort .wp-block-columns.comfort__columns {
	align-items: stretch !important;
}

.comfort__media {
	display: flex;
	align-self: stretch;
}

.comfort__media .wp-block-image,
.comfort__media .comfort__image,
.comfort__media figure {
	display: flex;
	flex: 1 1 auto;
	width: 100%;
	height: 100%;
	margin: 0;
}

.comfort__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: auto;
}

.comfort__list,
.comfort__list.wp-block-list {
	list-style: none !important;
	margin: 1.25rem 0;
	padding-left: 0;
	padding-inline-start: 0;
}

.comfort__list li {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	margin-bottom: 0.55rem;
	padding-left: 0;
	list-style: none !important;
}

.comfort__list li::marker {
	content: none;
}

.comfort__list li::before {
	content: "";
	flex: 0 0 1.05em;
	width: 1.05em;
	height: 1.05em;
	margin-top: 0.32em;
	background: var(--comfort-bullet) center / contain no-repeat;
}

/* --------------------------------------------------------------------------
   CTA
   -------------------------------------------------------------------------- */

.cta {
	background: var(--yellow);
	color: var(--black);
	padding-block: 3.5rem;
}

.cta__title {
	margin-top: 0;
}

.cta p {
	max-width: 40rem;
	margin-inline: auto;
}

.cta__form,
.cta .wp-block-gravityforms-form {
	width: 50%;
	max-width: 36rem;
	margin-top: 1.5rem;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: left;
}

.cta__form:not(:has(.gform_wrapper)):not(:has(form)) {
	display: none;
}

.cta .gform_wrapper,
.cta .gform_wrapper.gravity-theme,
.cta .gform_wrapper.gform-theme {
	margin: 0;
	max-width: none;
}

.cta .gform_wrapper .gform_heading,
.cta .gform_wrapper .gform_title,
.cta .gform_wrapper .gform_description {
	display: none;
}

.cta .gform_wrapper label,
.cta .gform_wrapper .gfield_label,
.cta .gform_wrapper legend.gfield_label {
	display: block;
	margin-bottom: 0.4em;
	font-family: var(--font-display);
	font-size: 1.35rem !important;
	font-weight: 700;
	line-height: 1.25;
	color: var(--black);
}

.cta .gform_wrapper .gfield_checkbox label,
.cta .gform_wrapper .gfield_radio label {
	font-size: 1rem !important;
	font-weight: 500;
	font-family: var(--font);
}

.cta .gform_wrapper input[type="text"],
.cta .gform_wrapper input[type="email"],
.cta .gform_wrapper input[type="tel"],
.cta .gform_wrapper input[type="url"],
.cta .gform_wrapper input[type="number"],
.cta .gform_wrapper select,
.cta .gform_wrapper textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0.65rem 0.85rem;
	border: none !important;
	outline: none;
	box-shadow: none !important;
	border-radius: 6px;
	background: var(--white);
	color: var(--black);
	font-family: var(--font);
	font-size: 1rem;
	line-height: 1.4;
}

.cta .gform_wrapper textarea {
	min-height: 7rem;
}

.cta .gform_wrapper .gform_footer,
.cta .gform_wrapper .gform-footer,
.cta .gform_wrapper .gform_page_footer {
	display: flex !important;
	justify-content: center;
	margin-top: 1.25rem;
	padding: 0;
	width: 100%;
}

.cta .gform_wrapper {
	--gf-ctrl-padding-block: 0.6rem;
	--gf-ctrl-padding-inline: 1.25rem;
	--gf-ctrl-btn-font-size: 1.125rem;
	--gf-ctrl-border-color: transparent;
	--gf-ctrl-border-width: 0px;
	--gf-local-extra-size: 0px;
}

.cta .gform_wrapper .gform_button,
.cta .gform_wrapper input[type="submit"],
.cta .gform_wrapper button[type="submit"],
.cta .gform_wrapper .gform-theme-button,
.cta .gform_wrapper .gform_footer input[type="submit"],
.cta .gform_wrapper .gform_footer button {
	display: inline-block !important;
	box-sizing: border-box;
	width: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 0 auto;
	padding: 0.6rem 1.25rem !important;
	border: 0 !important;
	border-radius: 6px !important;
	background: var(--black) !important;
	color: var(--yellow) !important;
	font-family: var(--font-display) !important;
	font-weight: 700 !important;
	font-size: var(--wp--preset--font-size--hightail-button, 1.125rem) !important;
	letter-spacing: 0.04em !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
	box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.28);
	transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.4s ease;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

.cta .gform_wrapper .gform_button:hover,
.cta .gform_wrapper .gform_button:focus-visible,
.cta .gform_wrapper input[type="submit"]:hover,
.cta .gform_wrapper input[type="submit"]:focus-visible,
.cta .gform_wrapper button[type="submit"]:hover,
.cta .gform_wrapper button[type="submit"]:focus-visible,
.cta .gform_wrapper .gform-theme-button:hover,
.cta .gform_wrapper .gform-theme-button:focus-visible,
.cta .gform_wrapper .gform_footer input[type="submit"]:hover,
.cta .gform_wrapper .gform_footer button:hover {
	background: var(--yellow) !important;
	color: var(--black) !important;
	box-shadow: 0 0 0 8px rgba(0, 0, 0, 0), inset 0 0 0 2px var(--black);
}

.hightail-contact-form {
	position: relative;
	margin-top: 1.5rem;
	text-align: left;
}

.hightail-contact-form__hp {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.hightail-contact-form__notice {
	margin: 0 0 1em !important;
	padding: 0.75rem 1rem;
	border-radius: 6px;
	font-weight: 600;
}

.hightail-contact-form__notice--success {
	background: var(--black);
	color: var(--yellow);
}

.hightail-contact-form__notice--error {
	background: var(--black);
	color: var(--white);
}

.hightail-contact-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-bottom: 1rem;
}

.hightail-contact-form__field {
	margin: 0 0 1rem;
}

.hightail-contact-form__row .hightail-contact-form__field {
	margin-bottom: 0;
}

.hightail-contact-form label {
	display: block;
	margin-bottom: 0.25em;
	font-family: var(--font-display);
	font-weight: 600;
}

.hightail-contact-form input,
.hightail-contact-form textarea {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0.65rem 0.85rem;
	border: none !important;
	outline: none;
	box-shadow: none !important;
	border-radius: 6px;
	background: var(--white);
	color: var(--black);
	font-family: var(--font);
	font-size: 1rem;
	line-height: 1.4;
}

.hightail-contact-form textarea {
	min-height: 8rem;
	resize: vertical;
}

.hightail-contact-form input:focus,
.hightail-contact-form textarea:focus {
	outline: 2px solid var(--black);
	outline-offset: 2px;
}

.hightail-contact-form__submit {
	margin: 0.25rem 0 0;
}

.hightail-contact-form button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 0.6rem 1.25rem;
	border: 0;
	border-radius: 6px;
	background: var(--black);
	color: var(--yellow);
	font-family: var(--font-display);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--hightail-button, 1.125rem);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
}

.hightail-contact-form button:hover,
.hightail-contact-form button:focus {
	background: #111;
}

/* --------------------------------------------------------------------------
   Pricing
   -------------------------------------------------------------------------- */

.pricing {
	background: var(--white);
	color: var(--black);
	text-align: center;
}

.planning .pricing,
.planning .pricing__note {
	text-align: left;
}

.pricing .section-title {
	margin-bottom: 0.25em;
}

.pricing__panel {
	box-sizing: border-box;
	max-width: 36rem !important;
	width: 100%;
	margin-top: 2rem;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0;
}

.pricing__table {
	overflow: hidden;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
	background: var(--white);
}

.pricing__table table {
	width: 100%;
	border-collapse: collapse;
}

.pricing__table th,
.pricing__table td {
	padding: 0.9rem 1.35rem;
	border: none;
	border-bottom: 1px solid #ececec;
	text-align: left;
}

.pricing__table tr td:last-child,
.pricing__table tr th:last-child {
	text-align: right;
}

.pricing__table thead th {
	background: var(--black);
	color: var(--yellow);
	font-family: var(--font-display);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border-bottom: none;
}

.pricing__table tbody td:last-child {
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--black);
}

.pricing__table tbody tr:nth-child(even) {
	background: #f7f7f7;
}

.pricing__table tbody tr:last-child td {
	border-bottom: none;
}

.pricing__note {
	margin-top: 1.25rem;
	margin-bottom: 0;
	color: var(--grey);
}

.pricing__actions,
.pricing__actions.wp-block-buttons {
	justify-content: center;
	margin-top: 2.25rem !important;
	margin-bottom: 0 !important;
}

/* --------------------------------------------------------------------------
   Travel info
   -------------------------------------------------------------------------- */

.travel-info.wp-block-cover,
.travel-info {
	background-color: var(--black);
	color: var(--white);
}

.travel-info.wp-block-cover {
	min-height: 50vh;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

.travel-info.wp-block-cover .wp-block-cover__background,
.travel-info.wp-block-cover.has-background-dim:not(.has-background-gradient)::before {
	background-color: #000 !important;
	opacity: 0.85 !important;
}

.travel-info.wp-block-cover .wp-block-cover__image-background {
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
}

.travel-info.wp-block-cover .wp-block-cover__inner-container {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--content-max) + 2 * var(--page-gutter));
	margin-left: auto !important;
	margin-right: auto !important;
	padding-block: 4.5rem;
	padding-inline: max(var(--page-gutter), env(safe-area-inset-left, 0px)) max(var(--page-gutter), env(safe-area-inset-right, 0px));
}

.travel-info.wp-block-cover .wp-block-cover__inner-container > * {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100%;
}

.travel-info .section-title,
.travel-info h2.section-title {
	color: var(--white);
	text-align: center;
	margin-top: 0 !important;
	margin-bottom: 4rem !important;
	margin-block-start: 0 !important;
	margin-block-end: 4rem !important;
	padding-bottom: 0;
}

.travel-info .wp-block-columns.travel-info__row {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: var(--section-gap) !important;
	margin-bottom: var(--section-gap);
}

.travel-info .wp-block-columns.travel-info__row:last-child {
	margin-bottom: 0;
}

.service-card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	height: 100%;
	padding: 2rem 1.35rem 1.75rem;
	background: rgba(0, 0, 0, 0.35);
	backdrop-filter: blur(18px) saturate(1.15);
	-webkit-backdrop-filter: blur(18px) saturate(1.15);
	border: none;
	border-radius: 6px;
}

@media (prefers-reduced-transparency: reduce) {
	.service-card {
		background: rgba(0, 0, 0, 0.72);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
}

.service-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4.25rem;
	height: 4.25rem;
	margin: 0 auto 2rem !important;
	margin-block-end: 2rem !important;
	border-radius: 50%;
	background: var(--yellow);
	color: var(--black);
}

.service-card > .wp-block-html {
	margin: 0 0 0.25rem !important;
}

.service-card__icon svg {
	display: none;
}

.service-card__icon img,
.service-card__icon-img {
	display: block;
	width: 2.15rem;
	height: 2.15rem;
	object-fit: contain;
}

.service-card__title,
.service-card h3.service-card__title {
	margin-top: 0 !important;
	margin-bottom: 0.25em !important;
	margin-block-start: 0 !important;
	margin-block-end: 0.25em !important;
	padding-top: 0.15rem;
	color: var(--yellow);
	font-family: var(--font-display);
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.service-card__text {
	margin: 0;
	color: var(--white);
	line-height: 1.55;
}

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

.footer {
	background: var(--black);
	color: var(--white);
	padding-block: 3rem;
}

.footer .footer__logo,
.footer .wp-block-site-logo {
	margin-bottom: 1rem;
}

.footer .footer__logo img,
.footer .wp-block-site-logo img {
	display: block;
	width: 200px;
	height: auto;
	max-height: 80px;
	object-fit: contain;
	object-position: left center;
}

.footer__serving {
	margin: 0 0 0.25em;
	color: var(--yellow);
	font-family: var(--font-display);
	font-weight: 600;
	letter-spacing: 0.03em;
}

.footer__address,
.footer__hours {
	margin: 0 0 0.25em;
}

.footer a {
	color: var(--yellow);
}

@media (max-width: 781px) {
	.hero.wp-block-cover .wp-block-cover__inner-container,
	.travel-info.wp-block-cover .wp-block-cover__inner-container,
	.planning,
	.routes,
	.comfort,
	.cta,
	.pricing,
	.footer {
		padding-block: 2.5rem;
	}

	.hero.wp-block-cover .wp-block-cover__inner-container {
		min-height: 100svh;
		margin-top: 0 !important;
		padding-top: calc(var(--header-h) + 8rem);
		padding-bottom: 7em;
	}

	.travel-info .wp-block-columns.travel-info__row {
		grid-template-columns: 1fr;
	}

	.hero__content,
	.hero.wp-block-cover .wp-block-cover__inner-container > .hero__content {
		width: 90%;
		max-width: 90% !important;
	}

	.comfort .wp-block-columns.comfort__columns {
		align-items: stretch !important;
	}

	.comfort__media .wp-block-image,
	.comfort__media .comfort__image,
	.comfort__media figure {
		height: auto;
	}

	.comfort__media img,
	.comfort__image img {
		height: auto;
		aspect-ratio: 16 / 10;
	}

	.routes__map-svg {
		max-width: 22rem;
		margin-inline: auto;
	}

	.hightail-contact-form__row {
		grid-template-columns: 1fr;
	}

	.cta__form,
	.cta .wp-block-gravityforms-form {
		width: 100%;
		max-width: 100%;
	}

	.routes__loop {
		padding: 1.75rem 1.5rem;
	}

	.planning__split.wp-block-columns {
		display: flex !important;
		flex-direction: column;
	}

	.planning__media,
	.planning__rates {
		display: block;
		grid-row: auto;
	}

	.planning__rates-lede {
		margin-bottom: 1.25rem !important;
	}

	.planning__calendly,
	.calendly-inline-widget {
		margin-top: 0 !important;
	}
}