:root {
	--cvo-black: #111111;
	--cvo-charcoal: #242424;
	--cvo-muted: #626262;
	--cvo-line: #e8e2d7;
	--cvo-cream: #f8f4ef;
	--cvo-white: #ffffff;
	--cvo-gold: #c8a96e;
	--cvo-gold-light: #e0c48a;
	--cvo-font-display: "Playfair Display", Georgia, serif;
	--cvo-font-body: "Source Sans 3", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--cvo-radius: 8px;
	--cvo-shadow: 0 12px 36px rgba(17, 17, 17, .08);
}

body {
	background: var(--cvo-cream);
	color: var(--cvo-charcoal);
	font-family: var(--cvo-font-body);
	font-size: 18px;
}

h1,
h2,
h3,
.entry-title,
.site-title {
	color: var(--cvo-black);
	font-family: var(--cvo-font-display);
	letter-spacing: 0;
}

h1,
h2,
.entry-title,
.site-title {
	font-weight: 700;
}

a {
	color: var(--cvo-black);
}

.ast-primary-header-bar,
.main-header-bar {
	border-bottom-color: rgba(17, 17, 17, .08);
}

.site-header .custom-logo-link img.custom-logo {
	height: 72px;
	object-fit: contain;
	width: auto;
}

.ast-primary-header-bar,
.ast-primary-header-bar .site-primary-header-wrap,
.main-header-bar {
	min-height: 64px;
}

.site-header .ast-site-title-wrap {
	line-height: 1.15;
}

.site-header .site-title {
	font-size: 25px;
	font-weight: 900;
	line-height: 1.05;
}

.site-header .site-description {
	color: var(--cvo-gold);
	display: block !important;
	font-family: var(--cvo-font-body);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.25;
	margin-top: 4px;
	text-transform: none;
}

.ast-builder-menu-1 .menu-item > .menu-link,
.main-header-menu .menu-link {
	color: var(--cvo-charcoal);
	font-family: var(--cvo-font-body);
	font-weight: 700;
	line-height: 64px;
}

.ast-builder-menu-1 .menu-item:hover > .menu-link,
.main-header-menu .menu-link:hover {
	color: var(--cvo-gold);
}

.button,
button,
input[type="button"],
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background: var(--cvo-black);
	border-radius: var(--cvo-radius);
	color: var(--cvo-white);
	font-family: var(--cvo-font-body);
	font-weight: 700;
}

.button:hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--cvo-gold);
	color: var(--cvo-black);
}

body.home .entry-header {
	display: none;
}

body.page-id-60 .entry-title,
body.page-id-61 .entry-title {
	font-size: clamp(46px, 6vw, 76px);
	line-height: 1;
	margin-bottom: 22px;
}

body.blog,
body.category,
body.tag,
body.date,
body.author,
body.search,
body.single-post,
body.blog .site,
body.category .site,
body.tag .site,
body.date .site,
body.author .site,
body.search .site,
body.single-post .site,
body.blog .site-content,
body.category .site-content,
body.tag .site-content,
body.date .site-content,
body.author .site-content,
body.search .site-content,
body.single-post .site-content,
body.blog .ast-article-single,
body.single-post .ast-article-single {
	background: var(--cvo-white) !important;
}

body.blog .site-content > .ast-container,
body.category .site-content > .ast-container,
body.tag .site-content > .ast-container,
body.date .site-content > .ast-container,
body.author .site-content > .ast-container,
body.search .site-content > .ast-container {
	max-width: 860px;
}

body.blog #primary,
body.category #primary,
body.tag #primary,
body.date #primary,
body.author #primary,
body.search #primary {
	margin-left: auto;
	margin-right: auto;
	max-width: 900px;
}

body.blog .ast-row,
body.category .ast-row,
body.tag .ast-row,
body.date .ast-row,
body.author .ast-row,
body.search .ast-row {
	margin-left: auto;
	margin-right: auto;
	max-width: 900px;
}

body.single-post .site-content > .ast-container,
body.single-post #primary {
	margin-left: auto;
	margin-right: auto;
	max-width: 800px;
}

body.blog .ast-article-post,
body.category .ast-article-post,
body.tag .ast-article-post,
body.date .ast-article-post,
body.author .ast-article-post,
body.search .ast-article-post {
	background: var(--cvo-white);
	border: 1px solid var(--cvo-line);
	border-radius: var(--cvo-radius);
	box-shadow: var(--cvo-shadow);
	padding: 28px;
}

body.blog .entry-title,
body.category .entry-title,
body.tag .entry-title,
body.date .entry-title,
body.author .entry-title,
body.search .entry-title {
	font-size: clamp(34px, 4vw, 48px);
	line-height: 1.08;
	margin-bottom: 12px;
}

body.single-post .entry-title {
	font-size: clamp(42px, 5vw, 62px);
	line-height: 1.04;
	margin-bottom: 16px;
}

.cvo-blog-intro {
	margin: 0 auto 34px;
	max-width: 900px;
}

.cvo-blog-intro h1 {
	font-size: clamp(44px, 5vw, 64px);
	line-height: 1.02;
	margin: 0 0 14px;
}

.cvo-blog-intro p:not(.cvo-eyebrow) {
	color: var(--cvo-muted);
	font-size: 22px;
	line-height: 1.45;
	margin: 0;
	max-width: 720px;
}

body.blog .entry-content,
body.category .entry-content,
body.tag .entry-content,
body.date .entry-content,
body.author .entry-content,
body.search .entry-content,
body.single-post .entry-content {
	color: var(--cvo-charcoal);
	font-size: 19px;
	line-height: 1.72;
}

body.blog .entry-content p,
body.category .entry-content p,
body.tag .entry-content p,
body.date .entry-content p,
body.author .entry-content p,
body.search .entry-content p {
	color: var(--cvo-muted);
	font-size: 20px;
	line-height: 1.55;
}

body.home.ast-plain-container.ast-no-sidebar #primary,
body.home #primary {
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

body.home .site-content > .ast-container,
body.home .entry-content,
body.home .ast-article-single {
	margin: 0;
	max-width: none;
	padding: 0;
}

.cvo-home {
	background: var(--cvo-cream);
	margin: 0 calc(50% - 50vw);
}

.cvo-home a,
.cvo-home a:hover {
	text-decoration: none;
}

.entry-content .cvo-home .cvo-button,
.entry-content .cvo-home .cvo-button:hover,
.entry-content .cvo-category-card,
.entry-content .cvo-category-card:hover,
.entry-content .cvo-section__heading a,
.entry-content .cvo-section__heading a:hover,
.entry-content .cvo-trip a,
.entry-content .cvo-trip a:hover {
	text-decoration: none !important;
}

.cvo-home p a,
.cvo-home li a {
	text-decoration: underline;
	text-decoration-color: var(--cvo-gold);
	text-underline-offset: 4px;
}

.cvo-hero {
	align-items: center;
	background:
		linear-gradient(90deg, rgba(17, 17, 17, .86), rgba(17, 17, 17, .42)),
		url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1800&q=80") center/cover;
	color: var(--cvo-white);
	display: flex;
	min-height: 560px;
	padding: 92px max(24px, calc((100vw - 1180px) / 2)) 72px;
}

.cvo-hero__content {
	max-width: 720px;
}

.cvo-eyebrow {
	color: var(--cvo-gold-light);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0;
	margin: 0 0 10px;
	text-transform: uppercase;
}

.cvo-hero .cvo-eyebrow {
	font-size: 17px;
	font-weight: 900;
	line-height: 1.25;
	margin-bottom: 14px;
}

.cvo-hero h1 {
	color: var(--cvo-white);
	font-size: clamp(42px, 6vw, 72px);
	line-height: 1.02;
	margin: 0 0 22px;
	max-width: 760px;
}

.cvo-hero__lead {
	color: rgba(255, 255, 255, .88);
	font-size: 22px;
	line-height: 1.45;
	margin: 0 0 32px;
	max-width: 660px;
}

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

.cvo-button {
	align-items: center;
	background: var(--cvo-black);
	border: 1px solid var(--cvo-black);
	border-radius: var(--cvo-radius);
	color: var(--cvo-white);
	display: inline-flex;
	font-size: 17px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 48px;
	padding: 14px 22px;
	text-decoration: none;
}

.cvo-button:hover {
	background: var(--cvo-gold);
	border-color: var(--cvo-gold);
	color: var(--cvo-black);
	text-decoration: none;
}

.cvo-button--gold {
	background: var(--cvo-gold);
	border-color: var(--cvo-gold);
	color: var(--cvo-black);
}

.cvo-button--gold:hover {
	background: var(--cvo-gold-light);
	border-color: var(--cvo-gold-light);
	color: var(--cvo-black);
}

.cvo-button--ghost {
	background: rgba(255, 255, 255, .08);
	border-color: rgba(255, 255, 255, .56);
	color: var(--cvo-white);
}

.cvo-button--small {
	font-size: 15px;
	min-height: 40px;
	padding: 11px 16px;
	white-space: nowrap;
}

.woocommerce a.add_to_cart_button,
.woocommerce a.add_to_cart_button:visited,
.woocommerce a.add_to_cart_button:hover,
.woocommerce a.add_to_cart_button:focus,
.woocommerce a.add-to-cart,
.woocommerce a.add-to-cart:hover,
.woocommerce a.add-to-cart:focus {
	background: #2f8d46 !important;
	border-color: #2f8d46 !important;
	color: var(--cvo-white) !important;
}

.woocommerce a.add_to_cart_button:hover,
.woocommerce a.add_to_cart_button:focus,
.woocommerce a.add-to-cart:hover,
.woocommerce a.add-to-cart:focus {
	background: #26753a !important;
	border-color: #26753a !important;
}

.woocommerce form .form-row label {
	font-size: .9rem;
	font-weight: 500;
}

.woocommerce form .form-row label a {
	font-size: 1rem;
	font-weight: inherit;
}

.cvo-section {
	padding: 74px max(24px, calc((100vw - 1180px) / 2));
}

.cvo-section--compact {
	padding-bottom: 34px;
}

.cvo-section__heading {
	margin-bottom: 24px;
}

.cvo-section__heading--row {
	align-items: end;
	display: flex;
	gap: 24px;
	justify-content: space-between;
}

.cvo-section__heading h2 {
	font-size: clamp(34px, 4vw, 54px);
	line-height: 1.05;
	margin: 0;
}

.cvo-taxonomy-archive .cvo-section__heading h1 {
	font-size: clamp(38px, 4vw, 56px);
	line-height: 1.05;
	margin: 0;
}

.cvo-section__heading a {
	color: var(--cvo-black);
	font-weight: 800;
	text-decoration: none;
}

.cvo-section__heading a:hover {
	color: var(--cvo-gold);
	text-decoration: none;
}

.cvo-category-grid {
	display: grid;
	gap: 26px;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.cvo-trip-grid {
	display: grid;
	gap: 26px;
	grid-template-columns: repeat(auto-fill, minmax(240px, 286px));
	justify-content: start;
}

.cvo-category-card {
	background: var(--cvo-white);
	border: 1px solid var(--cvo-line);
	border-radius: var(--cvo-radius);
	box-shadow: var(--cvo-shadow);
	display: block;
	min-height: 170px;
	padding: 24px;
	text-decoration: none;
}

.cvo-category-card:hover {
	border-color: var(--cvo-gold);
	text-decoration: none;
	transform: translateY(-2px);
}

.cvo-category-card span {
	color: var(--cvo-gold);
	display: block;
	font-size: 14px;
	font-weight: 900;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.cvo-category-card strong {
	color: var(--cvo-black);
	display: block;
	font-family: var(--cvo-font-display);
	font-size: 25px;
	font-weight: 700;
	line-height: 1.15;
}

.cvo-trip {
	background: var(--cvo-white);
	border: 1px solid var(--cvo-line);
	border-radius: var(--cvo-radius);
	box-shadow: var(--cvo-shadow);
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
}

.cvo-trip__image {
	align-items: center;
	aspect-ratio: 16 / 10;
	background: linear-gradient(135deg, var(--cvo-black), #45413a);
	color: var(--cvo-gold-light);
	display: flex;
	font-family: var(--cvo-font-display);
	font-size: 26px;
	justify-content: center;
	text-align: center;
	text-decoration: none;
}

.cvo-trip__image img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.cvo-trip__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 22px;
}

.cvo-trip__destination {
	color: var(--cvo-gold);
	font-size: 14px;
	font-weight: 900;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.cvo-trip h3 {
	font-size: 23px;
	line-height: 1.24;
	margin: 0 0 18px;
}

.entry-content .cvo-trip a,
.cvo-trip a,
.cvo-trip h3 a {
	text-decoration: none;
}

.entry-content .cvo-trip a:hover,
.cvo-trip a:hover,
.cvo-trip h3 a:hover {
	color: var(--cvo-gold);
	text-decoration: none;
}

.entry-content .cvo-trip .cvo-button:hover,
.cvo-trip .cvo-button:hover {
	background: var(--cvo-black);
	border-color: var(--cvo-black);
	color: var(--cvo-white);
	text-decoration: none;
}

.cvo-trip__meta {
	color: var(--cvo-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 15px;
	gap: 8px;
	line-height: 1.25;
	margin-bottom: 18px;
}

.cvo-trip__meta span {
	background: var(--cvo-cream);
	border: 1px solid var(--cvo-line);
	border-radius: 999px;
	padding: 7px 10px;
}

.cvo-trip__footer {
	align-items: center;
	display: flex;
	gap: 14px;
	justify-content: space-between;
	margin-top: auto;
}

.cvo-trip__price {
	color: var(--cvo-black);
	font-size: 19px;
	font-weight: 900;
}

.cvo-trip-groups {
	display: grid;
	gap: 44px;
}

.cvo-trip-group {
	display: grid;
	gap: 20px;
}

.cvo-trip-group__heading {
	align-items: end;
	border-bottom: 1px solid var(--cvo-line);
	display: flex;
	gap: 18px;
	justify-content: space-between;
	padding-bottom: 14px;
}

.cvo-trip-group__heading h2 {
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1.08;
	margin: 0;
}

.cvo-trip-group__heading span {
	color: var(--cvo-muted);
	font-size: 15px;
	font-weight: 800;
	white-space: nowrap;
}

.cvo-empty {
	background: var(--cvo-white);
	border: 1px solid var(--cvo-line);
	border-radius: var(--cvo-radius);
	padding: 22px;
}

.cvo-section--newsletter {
	background: var(--cvo-black);
	color: var(--cvo-white);
}

.cvo-newsletter {
	align-items: center;
	display: grid;
	gap: 36px;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
}

.cvo-newsletter h2 {
	color: var(--cvo-white);
	font-size: clamp(34px, 4vw, 54px);
	line-height: 1.05;
	margin: 0 0 16px;
}

.cvo-newsletter p {
	color: rgba(255, 255, 255, .78);
	font-size: 19px;
	margin: 0;
}

.cvo-newsletter__form {
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: var(--cvo-radius);
	display: grid;
	gap: 14px;
	padding: 22px;
}

.cvo-newsletter__form label {
	color: rgba(255, 255, 255, .86);
	display: grid;
	font-size: 14px;
	font-weight: 800;
	gap: 6px;
	text-transform: uppercase;
}

.cvo-newsletter__form input[type="text"],
.cvo-newsletter__form input[type="email"] {
	background: var(--cvo-white);
	border: 1px solid transparent;
	border-radius: var(--cvo-radius);
	color: var(--cvo-black);
	font-size: 17px;
	min-height: 46px;
	padding: 10px 12px;
	width: 100%;
}

.cvo-newsletter__consent {
	align-items: start;
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: 18px 1fr;
	text-transform: none !important;
}

.cvo-newsletter__consent input {
	margin-top: 3px;
}

.cvo-form-message {
	border-radius: var(--cvo-radius);
	font-size: 15px !important;
	font-weight: 800;
	padding: 10px 12px;
}

.cvo-form-message--ok {
	background: #f4fff6;
	color: #1f6b35 !important;
}

.cvo-form-message--error {
	background: #fff5f5;
	color: #9f1c1c !important;
}

.cvo-mail-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-start;
	margin: 0 0 22px;
	max-width: 760px;
}

.cvo-mail-links a {
	background: var(--cvo-white);
	border: 1px solid var(--cvo-line);
	border-radius: var(--cvo-radius);
	box-shadow: var(--cvo-shadow);
	color: var(--cvo-black);
	font-weight: 800;
	min-width: 150px;
	padding: 13px 16px;
	text-align: center;
	text-decoration: none;
}

.cvo-mail-links a:hover {
	border-color: var(--cvo-gold);
	color: var(--cvo-black);
	text-decoration: none;
}

.cvo-newsletter-thanks > p:not(.cvo-eyebrow) {
	font-size: 21px;
}

.cvo-newsletter-confirmed-action {
	text-align: left;
}

.cvo-newsletter-help {
	margin: 0;
	max-width: 760px;
	text-align: left;
}

.cvo-newsletter-popup[hidden] {
	display: none;
}

.cvo-newsletter-popup {
	inset: 0;
	opacity: 0;
	position: fixed;
	transition: opacity .22s ease;
	z-index: 99999;
}

.cvo-newsletter-popup.is-visible {
	opacity: 1;
}

.cvo-newsletter-popup__backdrop {
	background: rgba(17, 17, 17, .52);
	inset: 0;
	position: absolute;
}

.cvo-newsletter-popup__dialog {
	background: var(--cvo-white);
	border: 1px solid var(--cvo-line);
	border-radius: var(--cvo-radius);
	box-shadow: 0 24px 70px rgba(17, 17, 17, .24);
	color: var(--cvo-charcoal);
	left: 50%;
	max-height: calc(100vh - 36px);
	max-width: min(560px, calc(100vw - 28px));
	overflow: auto;
	padding: 30px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, calc(-50% + 12px));
	transition: transform .22s ease;
	width: 100%;
}

.cvo-newsletter-popup.is-visible .cvo-newsletter-popup__dialog {
	transform: translate(-50%, -50%);
}

.cvo-newsletter-popup__close {
	align-items: center;
	background: var(--cvo-cream);
	border: 1px solid var(--cvo-line);
	border-radius: 999px;
	color: var(--cvo-black);
	display: flex;
	font-size: 30px;
	height: 42px;
	justify-content: center;
	line-height: 1;
	padding: 0 0 4px;
	position: absolute;
	right: 16px;
	top: 16px;
	width: 42px;
}

.cvo-newsletter-popup__close:hover {
	background: var(--cvo-black);
	color: var(--cvo-white);
}

.cvo-newsletter-popup__content {
	padding-right: 48px;
}

.cvo-newsletter-popup__content h2 {
	font-size: 38px;
	line-height: 1.08;
	margin: 0 0 12px;
}

.cvo-newsletter-popup__content p:not(.cvo-eyebrow) {
	color: var(--cvo-muted);
	font-size: 18px;
	line-height: 1.45;
	margin: 0 0 22px;
}

.cvo-newsletter-popup__form {
	display: grid;
	gap: 13px;
}

.cvo-newsletter-popup__form label {
	color: var(--cvo-charcoal);
	display: grid;
	font-size: 14px;
	font-weight: 800;
	gap: 6px;
	text-transform: uppercase;
}

.cvo-newsletter-popup__form input[type="text"],
.cvo-newsletter-popup__form input[type="email"] {
	background: var(--cvo-cream);
	border: 1px solid var(--cvo-line);
	border-radius: var(--cvo-radius);
	color: var(--cvo-black);
	font-size: 17px;
	min-height: 46px;
	padding: 10px 12px;
	width: 100%;
}

.cvo-newsletter-popup__form .cvo-newsletter__consent {
	color: var(--cvo-muted);
}

.cvo-card-box {
	background: var(--cvo-white);
	border: 1px solid var(--cvo-line);
	border-radius: var(--cvo-radius);
	box-shadow: var(--cvo-shadow);
	max-width: 560px;
	padding: 28px;
}

.cvo-page-intro {
	margin: 0 0 34px;
	max-width: 760px;
}

.cvo-contact-page {
	margin-left: auto;
	margin-right: auto;
	max-width: 980px;
}

.cvo-contact-page .cvo-page-intro {
	margin-left: 0;
	margin-right: 0;
	max-width: 760px;
}

.cvo-page-intro h1 {
	font-size: clamp(42px, 6vw, 68px);
	line-height: 1.02;
	margin: 0 0 16px;
}

.cvo-page-intro p:not(.cvo-eyebrow) {
	color: var(--cvo-muted);
	font-size: 21px;
	line-height: 1.45;
	margin: 0;
}

.cvo-contact-layout {
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) 340px;
	margin: 0 auto;
	max-width: 980px;
}

.cvo-contact-form,
.cvo-contact-box {
	background: var(--cvo-white);
	border: 1px solid var(--cvo-line);
	border-radius: var(--cvo-radius);
	box-shadow: var(--cvo-shadow);
}

.cvo-contact-form {
	display: grid;
	gap: 16px;
	padding: 28px;
}

.cvo-contact-form label {
	color: var(--cvo-charcoal);
	display: grid;
	font-size: 14px;
	font-weight: 800;
	gap: 7px;
	text-transform: uppercase;
}

.cvo-contact-form input,
.cvo-contact-form textarea {
	background: var(--cvo-cream);
	border: 1px solid var(--cvo-line);
	border-radius: var(--cvo-radius);
	color: var(--cvo-black);
	font-size: 17px;
	padding: 11px 12px;
	width: 100%;
}

.cvo-contact-form textarea {
	resize: vertical;
}

.cvo-contact-form__consent {
	align-items: start;
	color: var(--cvo-muted) !important;
	display: grid !important;
	gap: 10px !important;
	grid-template-columns: 18px 1fr;
	text-transform: none !important;
}

.cvo-contact-form__consent input {
	margin-top: 5px;
}

.cvo-contact-box {
	align-self: start;
	padding: 26px;
}

.cvo-contact-box h2 {
	font-size: 30px;
	line-height: 1.1;
	margin: 0 0 12px;
}

.cvo-contact-box p {
	color: var(--cvo-muted);
	font-size: 18px;
	line-height: 1.45;
}

.cvo-contact-box__phone {
	background: var(--cvo-cream);
	border: 1px solid var(--cvo-line);
	border-radius: var(--cvo-radius);
	display: grid;
	gap: 4px;
	margin: 18px 0;
	padding: 14px 16px;
}

.cvo-contact-box__phone span {
	color: var(--cvo-muted);
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
}

.cvo-contact-box__phone a {
	color: #2f8d46 !important;
	font-size: 24px;
	line-height: 1.15;
	text-decoration: none !important;
}

.cvo-contact-box a {
	color: var(--cvo-black);
	display: inline-block;
	font-weight: 800;
	margin-right: 12px;
	margin-top: 8px;
	text-decoration-color: var(--cvo-gold);
	text-underline-offset: 5px;
}

.cvo-contact-map {
	border-top: 1px solid var(--cvo-line);
	margin-top: 22px;
	padding-top: 20px;
}

.cvo-contact-map > span {
	color: var(--cvo-muted);
	display: block;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .02em;
	margin-bottom: 6px;
	text-transform: uppercase;
}

.cvo-contact-map strong {
	color: var(--cvo-black);
	display: block;
	font-size: 18px;
	line-height: 1.2;
}

.cvo-contact-map p {
	font-size: 15px;
	margin: 6px 0 14px;
}

.cvo-contact-map iframe {
	aspect-ratio: 4 / 3;
	border: 0;
	border-radius: var(--cvo-radius);
	display: block;
	width: 100%;
}

.cvo-about {
	margin: 0 auto;
	max-width: 1040px;
}

.cvo-about__intro {
	margin-bottom: 44px;
	max-width: 780px;
}

.cvo-about__story {
	border-left: 4px solid var(--cvo-gold);
	margin: 0 auto 48px;
	max-width: 900px;
	padding: 8px 0 8px 30px;
}

.cvo-about__story h2 {
	font-size: clamp(30px, 4vw, 46px);
	line-height: 1.08;
	margin: 0 0 18px;
}

.cvo-about__story p:not(.cvo-eyebrow) {
	color: var(--cvo-muted);
	font-size: 18px;
	line-height: 1.6;
}

.cvo-about__team {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cvo-person-card {
	background: var(--cvo-white);
	border: 1px solid var(--cvo-line);
	border-radius: var(--cvo-radius);
	box-shadow: var(--cvo-shadow);
	padding: 24px;
}

.cvo-person-card__photo {
	align-items: center;
	background: var(--cvo-gold);
	border-radius: 50%;
	color: var(--cvo-black);
	display: flex;
	font-family: var(--cvo-font-display);
	font-size: 42px;
	font-weight: 700;
	height: 94px;
	justify-content: center;
	margin-bottom: 22px;
	width: 94px;
}

.cvo-person-card__photo img {
	border-radius: 50%;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.cvo-person-card h2,
.cvo-about__honorary h2,
.cvo-about__contact h2 {
	font-size: 30px;
	line-height: 1.1;
	margin: 0 0 8px;
}

.cvo-person-card p,
.cvo-about__honorary p,
.cvo-about__contact p {
	color: var(--cvo-muted);
	line-height: 1.5;
}

.cvo-person-card__role {
	color: var(--cvo-gold) !important;
	font-size: 14px;
	font-weight: 800;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.cvo-about__honorary {
	background: var(--cvo-black);
	border-radius: var(--cvo-radius);
	color: var(--cvo-white);
	margin-top: 44px;
	padding: 36px;
}

.cvo-about__honorary h2,
.cvo-about__honorary p {
	color: var(--cvo-white);
}

.cvo-about__honorary .cvo-eyebrow {
	color: var(--cvo-gold-light);
}

.cvo-about__contact {
	padding: 64px 0 20px;
	text-align: center;
}

.cvo-about__contact p {
	margin-left: auto;
	margin-right: auto;
	max-width: 620px;
}

.cvo-whatsapp {
	align-items: center;
	bottom: 28px;
	display: flex;
	gap: 12px;
	pointer-events: none;
	position: fixed;
	right: 28px;
	z-index: 99999;
}

.cvo-whatsapp__button {
	align-items: center;
	background: var(--cvo-black);
	border: 3px solid var(--cvo-gold);
	border-radius: 50%;
	box-shadow: 0 5px 20px rgba(17, 17, 17, .22);
	color: var(--cvo-white);
	display: flex;
	font-size: 29px;
	height: 68px;
	justify-content: center;
	pointer-events: auto;
	text-decoration: none;
	transition: transform .2s ease;
	width: 68px;
}

.cvo-whatsapp__button svg {
	height: 34px;
	width: 34px;
}

.cvo-whatsapp__button:hover,
.cvo-whatsapp__button:focus {
	background: var(--cvo-gold);
	border-color: var(--cvo-black);
	color: var(--cvo-white);
	transform: translateY(-2px);
}

.cvo-whatsapp__bubble {
	align-items: flex-start;
	background: var(--cvo-white);
	border: 1px solid rgba(17, 17, 17, .08);
	border-radius: 10px;
	box-shadow: 0 10px 26px rgba(17, 17, 17, .16);
	color: var(--cvo-black);
	display: flex;
	gap: 9px;
	max-width: calc(100vw - 116px);
	padding: 13px 40px 13px 16px;
	pointer-events: auto;
	position: relative;
	width: 272px;
}

.cvo-whatsapp--bubble-hidden .cvo-whatsapp__bubble {
	display: none;
}

.cvo-whatsapp__bubble-icon {
	align-items: center;
	background: rgba(191, 151, 56, .12);
	border-radius: 50%;
	color: var(--cvo-gold-dark);
	display: flex;
	flex: 0 0 28px;
	height: 28px;
	justify-content: center;
	width: 28px;
}

.cvo-whatsapp__message {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	margin: 0;
}

.cvo-whatsapp__message strong {
	font-weight: 800;
}

.cvo-whatsapp__close {
	background: transparent !important;
	border: 0 !important;
	color: var(--cvo-muted) !important;
	cursor: pointer;
	font-size: 19px;
	height: 24px;
	line-height: 1;
	padding: 0 !important;
	position: absolute;
	right: 8px;
	top: 7px;
	width: 24px;
}

.cvo-legal-footer {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	justify-content: center;
	margin: 0 auto 10px;
	text-align: center;
	width: 100%;
}

.cvo-legal-footer a {
	color: var(--cvo-charcoal);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.cvo-legal-footer a:hover {
	color: var(--cvo-gold);
	text-decoration: none;
}

.site-below-footer-wrap[data-section="section-below-footer-builder"] {
	padding-left: 24px;
	padding-right: 24px;
}

.site-below-footer-wrap[data-section="section-below-footer-builder"] .site-below-footer-inner-wrap {
	margin-left: auto;
	margin-right: auto;
	max-width: 1180px;
	width: 100%;
}

.site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-footer-copyright {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	width: 100%;
}

.site-footer .ast-builder-grid-row,
.site-footer .ast-builder-grid-row-container,
.site-footer .site-footer-section {
	justify-items: center;
	text-align: center;
}

.site-footer .ast-footer-social-wrap {
	justify-content: center;
}

.site-footer .ast-footer-copyright {
	text-align: center;
}

.cvo-legal-page {
	color: var(--cvo-charcoal);
	font-size: 18px;
	line-height: 1.65;
	margin: 0;
	max-width: 880px;
}

.cvo-legal-page h2 {
	font-size: 30px;
	line-height: 1.15;
	margin: 34px 0 12px;
}

.cvo-legal-page ul {
	background: var(--cvo-white);
	border: 1px solid var(--cvo-line);
	border-radius: var(--cvo-radius);
	box-shadow: var(--cvo-shadow);
	margin: 18px 0 28px;
	padding: 24px 24px 24px 44px;
}

.cvo-legal-page a {
	color: var(--cvo-black);
	font-weight: 800;
	text-decoration-color: var(--cvo-gold);
	text-underline-offset: 4px;
}

.cvo-legal-table {
	background: var(--cvo-white);
	border: 1px solid var(--cvo-line);
	border-collapse: collapse;
	border-radius: var(--cvo-radius);
	box-shadow: var(--cvo-shadow);
	display: block;
	margin: 18px 0 30px;
	overflow: hidden;
}

.cvo-legal-table tbody,
.cvo-legal-table tr,
.cvo-legal-table th,
.cvo-legal-table td {
	display: block;
}

.cvo-legal-table tr {
	border-bottom: 1px solid var(--cvo-line);
	display: grid;
	grid-template-columns: 190px 1fr;
}

.cvo-legal-table tr:last-child {
	border-bottom: 0;
}

.cvo-legal-table th,
.cvo-legal-table td {
	padding: 15px 18px;
	text-align: left;
}

.cvo-legal-table th {
	background: var(--cvo-cream);
	color: var(--cvo-black);
	font-weight: 900;
}

.cvo-card-box h2 {
	font-size: 34px;
	margin-top: 0;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: var(--cvo-white);
	border: 1px solid var(--cvo-line);
	border-radius: var(--cvo-radius);
	box-shadow: var(--cvo-shadow);
	overflow: hidden;
	padding-bottom: 18px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	color: var(--cvo-black);
	font-family: var(--cvo-font-display);
	font-size: 24px;
	line-height: 1.18;
	padding-left: 18px;
	padding-right: 18px;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
	color: var(--cvo-black);
	font-size: 19px;
	font-weight: 900;
	padding-left: 18px;
	padding-right: 18px;
}

.cvo-checkout-note {
	background: #fff9e6;
	border-left: 4px solid var(--cvo-gold);
	border-radius: var(--cvo-radius);
	color: var(--cvo-charcoal);
	font-size: 16px;
	line-height: 1.45;
	margin: 14px 0 20px;
	padding: 14px 16px;
}

.cvo-reservation-note {
	background: #eeeeee;
	border-radius: 4px;
	color: #555555;
	font-size: 15px;
	font-style: italic;
	line-height: 1.45;
	margin: 10px 0 20px;
	padding: 8px 10px;
}

.cvo-reservation-note a {
	color: var(--cvo-black);
	font-weight: 800;
}

.cvo-checkout-note--success {
	background: #f4fff6;
	border-left-color: #2f8d46;
}

.woocommerce-checkout form #order_review .cvo-checkout-product {
	align-items: center;
	display: flex;
	gap: 12px;
	max-width: 100%;
	vertical-align: middle;
}

.woocommerce-checkout form #order_review .cvo-checkout-product__media {
	border-radius: var(--cvo-radius);
	flex: 0 0 72px;
	overflow: hidden;
}

.woocommerce-checkout form #order_review .cvo-checkout-product__image {
	display: block;
	height: 72px;
	object-fit: cover;
	width: 72px;
}

.woocommerce-checkout form #order_review .cvo-checkout-product__title {
	display: block;
	font-weight: 700;
	line-height: 1.35;
	min-width: 0;
}

.woocommerce-checkout form #order_review .cvo-checkout-product__body {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.woocommerce-checkout form #order_review .cvo-checkout-product__details {
	color: var(--cvo-muted);
	display: block;
	font-size: 14px;
	line-height: 1.35;
}

.woocommerce-checkout form #order_review table.shop_table th.product-name,
.woocommerce-checkout form #order_review table.shop_table td.product-name {
	width: 100%;
}

.woocommerce-checkout form #order_review table.shop_table thead th.product-total,
.woocommerce-checkout form #order_review table.shop_table tr.cart_item td.product-total {
	display: none;
}

.woocommerce-checkout form #order_review table.shop_table th.product-total,
.woocommerce-checkout form #order_review table.shop_table td.product-total {
	text-align: right;
	white-space: nowrap;
	width: auto;
}

.woocommerce-checkout form #order_review table.shop_table td.product-name dl.variation {
	display: none !important;
}

.single-product .summary .price + .aesfas-price-note,
.single-product .summary .price ~ .aesfas-price-note {
	color: var(--cvo-charcoal) !important;
	display: block !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
	margin: 3px 0 12px !important;
}

.woocommerce div.product .summary .price .aesfas-price-note {
	color: var(--cvo-charcoal) !important;
	display: block !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
	margin-top: 3px !important;
}

.single-product .woocommerce-product-gallery__trigger {
	display: none !important;
}

.single-product .woocommerce-product-gallery__image img {
	cursor: default;
}

.single-product .quantity .cvo-qty-select {
	-webkit-appearance: menulist !important;
	appearance: auto !important;
	background: var(--cvo-white) !important;
	background-image: none !important;
	border: 1px solid var(--cvo-line);
	border-radius: var(--cvo-radius);
	color: var(--cvo-black);
	font-weight: 700;
	min-height: 42px;
	padding: 8px 34px 8px 10px;
}

.single-product div.product form.cart {
	align-items: flex-start !important;
	border-top: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
	margin-bottom: 0 !important;
	margin-top: 4px !important;
	padding-top: 0 !important;
}

.single-product div.product form.cart div.quantity {
	display: block !important;
	float: none !important;
	margin: 0 !important;
	width: auto !important;
}

.single-product div.product form.cart .single_add_to_cart_button,
.single-product div.product form.cart .single_add_to_cart_button.button,
.single-product div.product form.cart .single_add_to_cart_button.button.alt,
.woocommerce.single-product div.product form.cart button.single_add_to_cart_button,
.woocommerce.single-product div.product form.cart button.single_add_to_cart_button.button,
.woocommerce.single-product div.product form.cart button.single_add_to_cart_button.button.alt {
	align-items: center;
	background: #2f8d46 !important;
	border-color: #2f8d46 !important;
	color: var(--cvo-white) !important;
	display: inline-flex !important;
	float: none !important;
	font-weight: 700;
	height: auto !important;
	line-height: 1.2;
	margin: 0 !important;
	min-height: 0 !important;
	padding: 12px 22px !important;
}

.single-product div.product form.cart .single_add_to_cart_button:hover,
.single-product div.product form.cart .single_add_to_cart_button:focus,
.single-product div.product form.cart .single_add_to_cart_button.button.alt:hover,
.single-product div.product form.cart .single_add_to_cart_button.button.alt:focus,
.woocommerce.single-product div.product form.cart button.single_add_to_cart_button:hover,
.woocommerce.single-product div.product form.cart button.single_add_to_cart_button:focus,
.woocommerce.single-product div.product form.cart button.single_add_to_cart_button.button.alt:hover,
.woocommerce.single-product div.product form.cart button.single_add_to_cart_button.button.alt:focus {
	background: #26753a !important;
	border-color: #26753a !important;
	color: var(--cvo-white) !important;
}

.cvo-product-reserve-badge {
	background: var(--cvo-black);
	border-radius: 999px;
	color: var(--cvo-white);
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0;
	margin: 0 0 16px;
	padding: 8px 14px;
}

.cvo-single-trip-description {
	border-top: 1px solid var(--cvo-line);
	clear: both;
	margin-top: 34px;
	padding-top: 34px;
}

.cvo-single-trip-description h2 {
	font-size: clamp(30px, 3vw, 44px);
	line-height: 1.08;
	margin: 0 0 20px;
}

.cvo-single-trip-description p,
.cvo-single-trip-description li {
	font-size: 18px;
	line-height: 1.65;
}

.cvo-single-trip-description img {
	border-radius: var(--cvo-radius);
	height: auto;
	max-width: 100%;
}

.woocommerce .coupon,
.woocommerce-form-coupon-toggle,
.checkout_coupon,
.woocommerce span.onsale,
.woocommerce div.product .summary .price del,
.woocommerce div.product .summary .price ins::before,
.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price ins::before,
.woocommerce .wc-block-components-product-badge,
.woocommerce .wc-block-components-sale-badge,
.wc-stripe-payment-request-wrapper,
.wc-stripe-express-checkout-element,
#wc-stripe-payment-request-wrapper,
#wc-stripe-express-checkout-element,
.wc-stripe-express-checkout-button-separator,
#wc-stripe-express-checkout-button-separator,
#wc-stripe-payment-request-button-separator,
#wc-stripe-payment-request-button,
.wc-stripe-payment-request-button-separator {
	display: none !important;
}

.woocommerce-checkout .woocommerce-message .button,
.woocommerce-checkout .woocommerce-message .wc-forward {
	display: none !important;
}

.woocommerce .woocommerce-breadcrumb {
	display: none !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--cvo-black);
	font-weight: 900;
}

.woocommerce div.product .summary p.price,
.woocommerce div.product .summary span.price {
	color: #2f8d46;
	font-size: 24px;
	line-height: 1.15;
	margin-bottom: 4px !important;
}

.woocommerce-message {
	background: #f2fff5;
	border-left: 4px solid #48a868;
	border-top: 0;
	color: #265c38;
}

.woocommerce-info {
	background: #fffaf0;
	border-top-color: var(--cvo-gold);
}

.woocommerce-error {
	background: #fff5f5;
	border-top-color: #b42318;
}

@media (max-width: 720px) {
	body {
		font-size: 17px;
	}

	.cvo-home {
		margin-top: -2rem;
	}

	.cvo-hero {
		min-height: 520px;
		padding-bottom: 52px;
		padding-top: 72px;
	}

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

	.cvo-hero__lead {
		font-size: 19px;
	}

	.cvo-section {
		padding-left: 18px;
		padding-right: 18px;
	}

	.cvo-section__heading--row {
		align-items: start;
		flex-direction: column;
		gap: 10px;
	}

	.cvo-trip-grid {
		grid-template-columns: 1fr;
	}

	.cvo-trip__footer {
		align-items: stretch;
		flex-direction: column;
	}

	.cvo-newsletter {
		grid-template-columns: 1fr;
	}

	.cvo-contact-layout {
		grid-template-columns: 1fr;
	}

	.cvo-about__team {
		grid-template-columns: 1fr;
	}

	.cvo-about__honorary {
		padding: 28px 22px;
	}

	.cvo-whatsapp {
		bottom: 18px;
		right: 18px;
	}

	.cvo-whatsapp__button {
		height: 60px;
		width: 60px;
	}

	.cvo-whatsapp__button svg {
		height: 30px;
		width: 30px;
	}

	.cvo-whatsapp__bubble {
		max-width: calc(100vw - 96px);
		width: 244px;
	}

	.site-header .ast-site-title-wrap {
		display: none;
	}

	.site-below-footer-wrap[data-section="section-below-footer-builder"] {
		padding-left: 22px;
		padding-right: 22px;
	}

	.cvo-legal-footer {
		justify-content: center;
		text-align: center;
	}

	.cvo-legal-table tr {
		grid-template-columns: 1fr;
	}

	.cvo-newsletter-popup__dialog {
		padding: 24px;
	}

	.cvo-newsletter-popup__content {
		padding-right: 38px;
	}

	.cvo-newsletter-popup__content h2 {
		font-size: 30px;
	}
}
