/*
Theme Name: Corfu Collection
Theme URI: https://corfucollection.com
Description: Hello Elementor child theme for Corfu Collection. Design tokens, components, booking helper, schema and setup tools.
Author: Dot.360
Author URI: https://dot360.gr
Template: hello-elementor
Version: 1.0.0
Text Domain: cc
*/

/* ================================================================ tokens */
:root {
	--cc-ink: #16302C;          /* deep ink-teal, dark surfaces */
	--cc-ink-2: #1D3D38;
	--cc-ink-deep: #14211D;
	--cc-brass: #A8884F;        /* hairlines, active states, primary CTA */
	--cc-brass-hover: #BD9C60;
	--cc-brass-light: #C8AE79;
	--cc-ivory: #F8F5EF;        /* base */
	--cc-limestone: #F2EEE5;    /* alternate sections */
	--cc-sand: #EFEADF;         /* note cards */
	--cc-card: #ECE6DB;
	--cc-text: #2A2723;
	--cc-body: #3B3730;
	--cc-muted: #5C554B;
	--cc-hair: #E0D8C8;
	--cc-hair-2: #E7E0D1;
	--cc-on-dark: #F8F5EF;
	--cc-on-dark-muted: #B9AC90;
	--cc-footer-text: #CFC2A5;
	--cc-footer-link: #E4D9BF;
	--cc-ph-a: #E6DFD1;
	--cc-ph-b: #DED6C5;
	--cc-ph-ink: #6A6254;

	--cc-sans: 'Jost', system-ui, sans-serif;
	--cc-serif: 'Prata', Georgia, serif;

	--cc-wrap: 1180px;
	--cc-gutter: 24px;
	--cc-section: 88px;
	--cc-gap: 28px;
	--cc-hero-h: 640px;
	--cc-hero-small-h: 380px;
	--cc-band-h: 440px;
	--cc-display: 52px;
	--cc-h1: 30px;
	--cc-h2: 18px;
	--cc-track-wide: .28em;
	--cc-track: .22em;
}

@media (max-width: 767px) {
	:root {
		--cc-gutter: 20px;
		--cc-section: 56px;
		--cc-gap: 24px;
		--cc-hero-h: 440px;
		--cc-hero-small-h: 260px;
		--cc-band-h: 340px;
		--cc-display: 34px;
		--cc-h1: 22px;
		--cc-h2: 15px;
	}
}

/* ================================================================== base */
body.cc-site {
	margin: 0;
	background: var(--cc-ivory);
	color: var(--cc-text);
	font: 300 16px/1.65 var(--cc-sans);
	-webkit-font-smoothing: antialiased;
}
.cc-site a { color: var(--cc-ink); text-decoration: none; transition: color .2s, background-color .2s, border-color .2s; }
.cc-site a:hover { color: var(--cc-brass); }
.cc-site img { display: block; max-width: 100%; height: auto; }
.cc-site input, .cc-site select, .cc-site textarea, .cc-site button { font-family: inherit; }
.cc-site h1, .cc-site h2, .cc-site h3 { font-family: var(--cc-sans); }
.cc-site p { margin: 0 0 1em; }
.cc-site p:last-child { margin-bottom: 0; }
.cc-site :focus-visible { outline: 2px solid var(--cc-brass); outline-offset: 3px; }

/* Elementor containers used by the templates carry no spacing of their own. */
.cc-site .e-con.cc-x,
.cc-site .e-con[class*="cc-"] {
	--padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0;
	--gap: 0; --row-gap: 0; --column-gap: 0;
	--widgets-spacing: 0; --widgets-spacing-row: 0; --widgets-spacing-column: 0;
	--content-width: 100%;
}
.cc-site .elementor-widget:not(:last-child) { margin-block-end: 0; }

/* ============================================================ primitives */
.cc-section { padding: var(--cc-section) var(--cc-gutter) !important; }
.cc-section--alt { background: var(--cc-limestone); }
.cc-section--flush-top { padding-top: 0 !important; }
.cc-wrap { width: 100%; max-width: var(--cc-wrap); margin-inline: auto; }
.cc-wrap--narrow { max-width: 1000px; }
.cc-wrap--text { max-width: 860px; }

.cc-title, .cc-title .elementor-heading-title, h2.cc-h2 {
	font: 300 var(--cc-h2)/1.35 var(--cc-sans) !important;
	letter-spacing: var(--cc-track-wide); text-transform: uppercase;
	color: var(--cc-ink); margin: 0; text-align: center;
}
.cc-title .elementor-heading-title::after, .cc-rule-after::after {
	content: ""; display: block; width: 56px; height: 1px; background: var(--cc-brass); margin: 20px auto 0;
}
.cc-title--light .elementor-heading-title { color: #fff !important; }
.cc-title--light .elementor-heading-title::after { background: var(--cc-brass-light); }

.cc-h1, .cc-pagetitle .elementor-heading-title {
	font: 300 var(--cc-h1)/1.3 var(--cc-sans) !important;
	letter-spacing: .3em; text-transform: uppercase; color: var(--cc-ink); margin: 0;
}
.cc-pagetitle .elementor-heading-title { text-align: center; }
.cc-pagetitle .elementor-heading-title::after { content: ""; display: block; width: 56px; height: 1px; background: var(--cc-brass); margin: 20px auto 0; }
.cc-h1--light { color: #fff !important; text-align: center; padding: 0 24px; }

.cc-kicker .elementor-heading-title, .cc-h3, h3.cc-h3 {
	font: 300 13px/1.4 var(--cc-sans) !important; letter-spacing: var(--cc-track-wide); text-transform: uppercase; color: var(--cc-ink); margin: 0;
}
.cc-kicker .elementor-heading-title::after { content: ""; display: block; width: 40px; height: 1px; background: var(--cc-brass); margin: 16px 0 24px; }
.cc-h3 { font-size: 11px !important; letter-spacing: .24em; }
.cc-h3::after { content: ""; display: block; width: 30px; height: 1px; background: var(--cc-brass); margin: 14px 0 12px; }

.cc-display, .cc-display .elementor-heading-title {
	font: 400 var(--cc-display)/1.15 var(--cc-serif) !important; color: #fff; margin: 0; text-wrap: balance; letter-spacing: 0; text-transform: none;
}
.cc-eyebrow { font: 300 10px/1 var(--cc-sans); letter-spacing: .34em; text-transform: uppercase; color: #DCCFB2; margin-bottom: 14px; }
.cc-label { display: block; font: 300 10px/1.4 var(--cc-sans); letter-spacing: .24em; text-transform: uppercase; color: var(--cc-muted); }
.cc-lede, .cc-lede p { max-width: 760px; margin: 0 auto; text-align: center; font-size: 18px; line-height: 1.7; color: var(--cc-body); }
.cc-lead p, .cc-lead { font-size: 17px; line-height: 1.75; color: var(--cc-body); max-width: 62ch; }
.cc-lead p { margin: 0 0 18px; }
.cc-centre, .cc-centre p { text-align: center; }
.cc-meta-line { font: 300 11px/1.6 var(--cc-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--cc-muted); }
.cc-address { margin-top: 32px; }
.cc-address, .cc-address .jet-listing-dynamic-field__content { font: 300 11px/1.7 var(--cc-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--cc-muted); }
.cc-hr { display: block; height: 1px; background: var(--cc-hair); margin: 30px 0; }

/* buttons and links */
.cc-btn, .cc-site a.cc-btn {
	display: inline-block; font: 400 11px/1.2 var(--cc-sans); letter-spacing: var(--cc-track); text-transform: uppercase;
	padding: 14px 22px; border: 0; cursor: pointer; text-align: center; border-radius: 0;
}
.cc-btn--ink, .cc-site a.cc-btn--ink { background: var(--cc-ink); color: var(--cc-ivory); }
.cc-btn--ink:hover, .cc-site a.cc-btn--ink:hover { background: var(--cc-ink-2); color: var(--cc-ivory); }
.cc-btn--brass, .cc-site a.cc-btn--brass { background: var(--cc-brass); color: var(--cc-ink-deep); font-size: 12px; letter-spacing: .24em; padding: 16px 22px; }
.cc-btn--brass:hover, .cc-site a.cc-btn--brass:hover { background: var(--cc-brass-hover); color: var(--cc-ink-deep); }
.cc-btn--lg, .cc-site a.cc-btn--lg { padding: 16px 34px; margin-top: 26px; }
.cc-btn--xl, .cc-site a.cc-btn--xl { padding: 17px 38px; }
.cc-btn--block, .cc-site a.cc-btn--block { display: block; width: 100%; }
button.cc-btn--ink { color: var(--cc-ivory); }

.cc-link, .cc-site a.cc-link, .cc-link a, .cc-link .jet-listing-dynamic-link__link {
	display: inline-block; font: 400 11px/1.2 var(--cc-sans); letter-spacing: .24em; text-transform: uppercase;
	color: var(--cc-ink); border-bottom: 1px solid var(--cc-brass); padding-bottom: 6px; background: none;
}
.cc-link--light, .cc-link--light a { color: #fff !important; border-color: var(--cc-brass-light) !important; }

/* photo placeholder */
.cc-ph {
	background: repeating-linear-gradient(135deg, var(--cc-ph-a) 0 11px, var(--cc-ph-b) 11px 22px);
	display: flex; align-items: flex-end; justify-content: flex-start; position: relative;
}
.cc-ph__label { position: absolute; bottom: 12px; left: 14px; font: 400 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; color: var(--cc-ph-ink); }

/* media frames: fixed aspect, image or placeholder fills */
.cc-media { position: relative; overflow: hidden; background: repeating-linear-gradient(135deg, var(--cc-ph-a) 0 11px, var(--cc-ph-b) 11px 22px); }
.cc-media--4x5 { aspect-ratio: 4 / 5; }
.cc-media--3x2 { aspect-ratio: 3 / 2; }
.cc-media--4x3 { aspect-ratio: 4 / 3; }
.cc-media--3x4 { aspect-ratio: 3 / 4; }
.cc-media .cc-media__img, .cc-media img, .cc-media .cc-ph {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.88);
}
.cc-media .elementor-widget, .cc-media .jet-listing-dynamic-image, .cc-media a { position: static; }

/* stretched link inside cards */
.cc-stretch a, a.cc-stretch { position: static; font-size: 0; line-height: 0; color: transparent; }
.cc-stretch a::after, a.cc-stretch::after { content: ""; position: absolute; inset: 0; z-index: 3; }

/* grids */
.cc-grid { display: grid; gap: var(--cc-gap); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cc-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cc-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cc-split { display: grid !important; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.cc-split--even { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 1024px) { .cc-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.cc-grid, .cc-grid--2 { grid-template-columns: 1fr; }
	.cc-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cc-split, .cc-split--even { grid-template-columns: 1fr; gap: 32px; }
}

/* JetEngine listing grids take the site grid */
.cc-listing .jet-listing-grid__items { display: grid !important; gap: var(--cc-gap); grid-template-columns: repeat(var(--cc-cols, 3), minmax(0, 1fr)); margin: 0 !important; flex-wrap: initial; }
.cc-listing .jet-listing-grid__item { width: auto !important; max-width: none !important; padding: 0 !important; flex: none !important; }
.cc-listing--2 { --cc-cols: 2; }
.cc-listing--1 { --cc-cols: 1; }
.cc-listing .jet-listing-not-found { grid-column: 1 / -1; text-align: center; color: var(--cc-muted); }
@media (max-width: 1024px) { .cc-listing .jet-listing-grid__items { --cc-cols: 2; } .cc-listing--1 .jet-listing-grid__items { --cc-cols: 1; } }
@media (max-width: 767px) { .cc-listing .jet-listing-grid__items { --cc-cols: 1; } }

/* ================================================================ header */
.cc-header { background: var(--cc-ivory); position: sticky; top: 0; z-index: 50; transition: box-shadow .25s; }
.admin-bar .cc-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .cc-header { top: 0; } }
.cc-header.is-stuck { box-shadow: 0 1px 0 var(--cc-hair), 0 8px 24px rgba(22, 48, 44, .06); }
.cc-header__brand { text-align: center; padding-top: 28px; transition: padding .25s; }
.cc-header.is-stuck .cc-header__brand { padding-top: 14px; }
.cc-logo .elementor-heading-title, .cc-logo .elementor-heading-title a { font: 400 24px/1.2 var(--cc-serif) !important; letter-spacing: .1em; color: var(--cc-ink) !important; text-align: center; margin: 0; }
.cc-logo-sub { font: 300 10px/1 var(--cc-sans); letter-spacing: .34em; text-transform: uppercase; color: var(--cc-muted); text-align: center; margin-top: 8px; transition: opacity .2s, max-height .25s, margin .25s; max-height: 20px; overflow: hidden; }
.cc-header.is-stuck .cc-logo-sub { opacity: 0; max-height: 0; margin-top: 0; }
.cc-nav { border-bottom: 1px solid var(--cc-hair); padding: 24px 24px 22px; transition: padding .25s; }
.cc-header.is-stuck .cc-nav { padding: 12px 24px 12px; border-bottom-color: transparent; }
.cc-nav__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 28px; list-style: none; margin: 0; padding: 0; }
.cc-nav__list a { display: block; font: 300 11px/1.2 var(--cc-sans); letter-spacing: .24em; text-transform: uppercase; color: var(--cc-muted); padding-bottom: 4px; border-bottom: 1px solid transparent; }
.cc-nav__list .current-menu-item > a, .cc-nav__list .current-menu-ancestor > a, .cc-nav__list a:hover { color: var(--cc-ink); border-bottom-color: var(--cc-brass); }
.cc-nav__toggle { display: none; }
@media (max-width: 767px) {
	.cc-nav { padding: 16px 20px; text-align: center; }
	.cc-nav__toggle { display: inline-flex; align-items: center; gap: 10px; background: none; border: 0; padding: 6px 0; font: 300 11px/1 var(--cc-sans); letter-spacing: .24em; text-transform: uppercase; color: var(--cc-ink); cursor: pointer; }
	.cc-nav__toggle span, .cc-nav__toggle span::before { display: block; width: 18px; height: 1px; background: var(--cc-ink); position: relative; }
	.cc-nav__toggle span::before { content: ""; position: absolute; top: 5px; }
	.cc-nav__list { display: none; flex-direction: column; gap: 16px; padding-top: 18px; }
	.cc-nav.is-open .cc-nav__list { display: flex; }
}

/* ================================================================== hero */
.cc-hero { position: relative; overflow: hidden; height: var(--cc-hero-h); background: var(--cc-ink); }
.cc-hero--small { height: var(--cc-hero-small-h); }
.cc-hero__slides, .cc-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; }
.cc-hero__img { object-fit: cover; filter: saturate(.86) contrast(.97); opacity: 0; transition: opacity .7s ease; }
.cc-hero__img.is-active { opacity: 1; }
.cc-hero .cc-ph.cc-hero__img { filter: none; }
.cc-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(22,48,44,.3) 0%, rgba(22,48,44,.12) 45%, rgba(22,48,44,.66) 100%); pointer-events: none; }
.cc-hero__shade--flat { background: rgba(22,48,44,.44); }
.cc-hero__content { position: absolute; left: 0; right: 0; bottom: 0; padding: 0 32px 110px; text-align: center; z-index: 2; }
.cc-hero__lede { max-width: 640px; margin: 14px auto 0 !important; color: #F3EDE0; font-size: 17px; line-height: 1.6; }
.cc-hero__center { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.cc-hero__arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border: 1px solid rgba(248,245,239,.55); background: rgba(20,33,29,.25); color: #fff; cursor: pointer; font-size: 15px; z-index: 3; padding: 0; }
.cc-hero__arrow:hover { background: rgba(20,33,29,.5); }
.cc-hero__arrow--prev { left: 18px; }
.cc-hero__arrow--next { right: 18px; }
.cc-hero__count { position: absolute; top: 20px; right: 22px; font: 400 11px/1 ui-monospace, monospace; letter-spacing: .1em; color: #F3EDE0; background: rgba(20,33,29,.4); padding: 6px 10px; z-index: 3; }

/* Home hero is an Elementor container: add a background image in the editor. */
.cc-hero-home { position: relative; min-height: var(--cc-hero-h); justify-content: flex-end !important; background-color: var(--cc-ink); background-image: repeating-linear-gradient(135deg, var(--cc-ph-a) 0 11px, var(--cc-ph-b) 11px 22px); background-size: cover; background-position: center; overflow: hidden; }
.cc-hero-home::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(22,48,44,.42) 0%, rgba(22,48,44,.1) 40%, rgba(22,48,44,.62) 100%); z-index: 0; }
.cc-hero-home > * { position: relative; z-index: 1; }
.cc-hero-home { padding: 0 32px 116px !important; text-align: center; }
.cc-hero-home .cc-display .elementor-heading-title { text-align: center; }
.cc-hero-home .cc-hero__lede, .cc-hero-home .cc-hero__lede p { color: #F3EDE0; font-size: 17px; text-align: center; }

@media (max-width: 767px) {
	.cc-hero__content { padding-bottom: 48px; }
	.cc-hero-home { padding-bottom: 48px !important; }
}

/* =========================================================== booking bar */
.cc-booking-slot { position: relative; z-index: 5; padding: 0 var(--cc-gutter) !important; margin-top: -52px; }
.cc-booking { margin: 0; }
.cc-booking__inner { max-width: var(--cc-wrap); margin: 0 auto; background: var(--cc-ink); padding: 20px 22px; display: flex; flex-wrap: wrap; align-items: flex-end; }
.cc-booking__cell { flex: 1 1 150px; min-width: 124px; padding: 6px 16px; border-left: 1px solid rgba(200,174,121,.35); display: block; margin: 0; }
.cc-booking__cell:first-child { border-left-color: transparent; }
.cc-booking__cell--wide { flex: 2 1 220px; }
.cc-booking__label { display: block; font: 300 10px/1.3 var(--cc-sans); letter-spacing: .24em; text-transform: uppercase; color: var(--cc-on-dark-muted); }
.cc-booking input, .cc-booking select, .cc-booking__locked {
	display: block; width: 100%; margin-top: 6px; background: transparent; border: 0; border-radius: 0; padding: 0; height: 26px;
	color: var(--cc-ivory); font: 300 16px/26px var(--cc-sans); color-scheme: dark; -webkit-appearance: none; appearance: none;
}
.cc-booking select option { color: var(--cc-text); }
.cc-booking input::placeholder { color: var(--cc-ivory); opacity: 1; }
.cc-booking input:focus, .cc-booking select:focus { outline: none; box-shadow: 0 1px 0 var(--cc-brass); }
.cc-booking__locked { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-booking__action { padding: 6px 0 6px 16px; flex: 0 1 auto; min-width: 170px; }
@media (max-width: 767px) {
	.cc-booking-slot { margin-top: 18px; }
	.cc-booking__cell { flex-basis: 50%; border-left: 0; border-top: 1px solid rgba(200,174,121,.2); padding: 12px 8px; }
	.cc-booking__cell--wide { flex-basis: 100%; }
	.cc-booking__cell:first-child { border-top: 0; }
	.cc-booking__action { min-width: 100%; padding: 12px 0 0; }
}

/* ================================================================= cards */
/* property card: 4:5 image, caption over gradient */
.cc-pcard { position: relative; overflow: hidden; background: var(--cc-card); display: block !important; }
.cc-pcard::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,33,29,0) 45%, rgba(20,33,29,.78) 100%); pointer-events: none; z-index: 1; }
.cc-pcard__caption { position: absolute !important; left: 0; right: 0; bottom: 0; padding: 26px 24px !important; z-index: 2; }
.cc-pcard__name, .cc-pcard__name .jet-listing-dynamic-field__content { font: 400 13px/1.4 var(--cc-sans); letter-spacing: var(--cc-track); text-transform: uppercase; color: #fff; }
.cc-pcard__name::after { content: ""; display: block; height: 1px; background: rgba(216,201,170,.5); margin: 14px 0 12px; }
.cc-pcard__line, .cc-pcard__line .jet-listing-dynamic-field__content { font-size: 14px; line-height: 1.5; color: #EDE5D6; }
.cc-pcard:hover .cc-media__img, .cc-pcard:hover img { transform: scale(1.03); }
.cc-pcard img { transition: transform .8s ease; }
.cc-pcard--land .cc-media { aspect-ratio: 4 / 3; }
.cc-pcard--land .cc-pcard__caption { padding: 22px !important; }
.cc-pcard--land .cc-pcard__name, .cc-pcard--land .cc-pcard__name .jet-listing-dynamic-field__content { font-size: 12px; }
.cc-pcard--land .cc-pcard__name::after { margin: 12px 0 10px; }

/* suite card */
.cc-scard { background: var(--cc-ivory); display: flex !important; flex-direction: column; height: 100%; }
.cc-scard__body { padding: 24px 24px 26px !important; display: flex !important; flex-direction: column; flex: 1; }
.cc-scard__name, .cc-scard__name .jet-listing-dynamic-field__content, .cc-mcard__name, .cc-mcard__name .jet-listing-dynamic-field__content, .cc-ocard__name .jet-listing-dynamic-field__content {
	font: 400 12px/1.4 var(--cc-sans); letter-spacing: var(--cc-track); text-transform: uppercase; color: var(--cc-ink);
}
.cc-scard__name::after, .cc-mcard__name::after, .cc-ocard__name::after { content: ""; display: block; height: 1px; background: var(--cc-hair); margin: 14px 0 12px; }
.cc-facts { font-size: 15px; color: var(--cc-muted); }
.cc-price { font-size: 15px; color: var(--cc-text); margin-top: 18px; }
.cc-price strong { font-weight: 500; }
.cc-actions { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 14px !important; align-items: center; margin-top: auto; padding-top: 22px !important; }
.cc-actions .cc-link a, .cc-actions .cc-link .jet-listing-dynamic-link__link { font-size: 11px; letter-spacing: .22em; padding-bottom: 4px; }

/* mini suite card (other suites) */
.cc-mcard { position: relative; display: block !important; }
.cc-mcard .cc-mcard__name { margin-top: 16px; }
.cc-mcard .cc-mcard__name::after { margin: 12px 0 10px; }
.cc-mcard .cc-price { margin-top: 6px; }

/* offer card */
.cc-ocard { background: var(--cc-limestone); display: flex !important; flex-direction: column; height: 100%; }
.cc-ocard__body { padding: 26px 24px 28px !important; display: flex !important; flex-direction: column; flex: 1; }
.cc-ocard__desc, .cc-ocard__desc p { font-size: 15px; color: var(--cc-body); margin-bottom: 20px; }
.cc-ocard .cc-btn { margin-top: 24px; padding: 14px 26px; }
.cc-ocard .elementor-widget-shortcode:last-child { margin-top: auto; }

/* note cards */
.cc-note-card, .cc-about { background: var(--cc-sand); padding: 44px 42px !important; display: flex !important; flex-direction: column; justify-content: center; height: 100%; }
.cc-note-card p, .cc-about p { color: var(--cc-body); max-width: 56ch; margin: 0; }
.cc-note-card .cc-h3 { font-size: 13px !important; letter-spacing: .28em; }
.cc-note-card .cc-h3::after { width: 40px; margin: 16px 0 22px; }
.cc-note-card .cc-link, .cc-about .cc-link { align-self: flex-start; margin-top: 28px; }
.cc-about h3 { font: 300 13px/1.4 var(--cc-sans); letter-spacing: .28em; text-transform: uppercase; color: var(--cc-ink); margin: 0; }
.cc-about h3::after { content: ""; display: block; width: 40px; height: 1px; background: var(--cc-brass); margin: 16px 0 22px; }

/* ================================================================== home */
.cc-props { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--cc-gap) !important; max-width: var(--cc-wrap); margin: 0 auto; }
.cc-props > .elementor-widget-jet-listing-grid,
.cc-props > .elementor-widget-jet-listing-grid > .elementor-widget-container,
.cc-props .jet-listing-grid,
.cc-props .jet-listing-grid__items { display: contents !important; }
.cc-props .jet-listing-grid__item { padding: 0 !important; width: auto !important; max-width: none !important; }
.cc-props > .cc-about-slot { grid-column: span 2; }
.cc-props > .cc-about-slot.is-hidden { display: none; }
@media (max-width: 1024px) { .cc-props { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .cc-props { grid-template-columns: 1fr; } .cc-props > .cc-about-slot { grid-column: auto; } }

/* area tabs (JetSmartFilters radio) */
.cc-tabs { margin: 36px 0 40px; }
.cc-tabs .jet-radio-list__row, .cc-tabs .jet-list-tree__parent { display: inline-block; margin: 0; }
.cc-tabs .jet-radio-list, .cc-tabs .jet-filter-items-dropdown__body, .cc-tabs .jet-radio-list-wrapper { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.cc-tabs .jet-radio-list__input { position: absolute; opacity: 0; pointer-events: none; }
.cc-tabs .jet-radio-list__item { display: block; margin: 0; padding: 0; background: none; border: 0; }
.cc-tabs .jet-radio-list__decorator { display: none !important; }
.cc-tabs .jet-radio-list__label { display: block; cursor: pointer; font: 300 11px/1.2 var(--cc-sans); letter-spacing: .24em; text-transform: uppercase; padding: 12px 22px; color: var(--cc-muted); background: transparent; transition: background .2s, color .2s; }
.cc-tabs .jet-radio-list__label:hover { color: var(--cc-ink); }
.cc-tabs .jet-radio-list__input:checked + .jet-radio-list__item .jet-radio-list__label,
.cc-tabs .jet-radio-list__row.checked .jet-radio-list__label { background: var(--cc-ink); color: var(--cc-ivory); }
.cc-tabs .jet-filter-label { display: none; }

/* image bands */
.cc-band { position: relative; min-height: var(--cc-band-h); justify-content: center !important; align-items: center !important; text-align: center; padding: 40px 28px !important; overflow: hidden; background-size: cover; background-position: center; }
.cc-band--dark { background-color: var(--cc-ink); background-image: repeating-linear-gradient(135deg, var(--cc-ph-a) 0 12px, var(--cc-ph-b) 12px 24px); }
.cc-band--dark::before { content: ""; position: absolute; inset: 0; background: rgba(22,48,44,.5); }
.cc-band--light { background-image: repeating-linear-gradient(135deg, var(--cc-ph-a) 0 12px, var(--cc-ph-b) 12px 24px); }
.cc-band--light.cc-has-photo::before { content: ""; position: absolute; inset: 0; background: rgba(248,245,239,.72); }
.cc-band > * { position: relative; z-index: 1; }
.cc-band p { font-size: 17px; margin: 22px 0 26px; }
.cc-band--dark p { color: #F5EFE3; }
.cc-band--light p { color: var(--cc-body); }

/* maps */
.cc-map { position: relative; width: 100%; background: repeating-linear-gradient(135deg, var(--cc-ph-a) 0 11px, var(--cc-ph-b) 11px 22px); overflow: hidden; z-index: 0; }
.cc-map--4x3 { aspect-ratio: 4 / 3; }
.cc-map--wide { aspect-ratio: 21 / 9; }
@media (max-width: 767px) { .cc-map--wide { aspect-ratio: 4 / 3; } }
.cc-map__fallback { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 70px; }
.cc-map.is-live .cc-map__fallback { display: none; }
.cc-pin { width: 11px; height: 11px; border-radius: 50%; background: var(--cc-brass); box-shadow: 0 0 0 7px rgba(168,136,79,.22); }
.cc-map .leaflet-tile-pane { filter: grayscale(.9) sepia(.25) brightness(1.03) contrast(.92); }
.cc-map .leaflet-control-attribution { font-size: 9px; background: rgba(248,245,239,.8); }
.cc-leaflet-pin { background: none; border: 0; }
.cc-leaflet-pin span { display: block; width: 12px; height: 12px; border-radius: 50%; background: var(--cc-brass); box-shadow: 0 0 0 7px rgba(168,136,79,.28); }
.cc-mapcard__title { display: block; font: 300 11px/1.4 var(--cc-sans); letter-spacing: .24em; text-transform: uppercase; margin-top: 16px; color: var(--cc-ink); }
.cc-mapcard__note { font-size: 15px; color: var(--cc-muted); }
.cc-map--small + .cc-mapcard__title { font-weight: 400; letter-spacing: .2em; margin-top: 14px; }
.cc-map--small + .cc-mapcard__title::after { content: ""; display: block; height: 1px; background: var(--cc-hair); margin: 10px 0; }

/* ============================================================== property */
.cc-rows { margin: 0; }
.cc-rows__row { display: flex; justify-content: space-between; gap: 18px; padding: 11px 0; border-bottom: 1px solid var(--cc-hair); }
.cc-rows dt { font-size: 15px; color: var(--cc-body); font-weight: 300; }
.cc-rows dd { font-size: 15px; color: var(--cc-muted); margin: 0; text-align: right; }
.cc-location-address { margin-bottom: 22px; }
.cc-location-address, .cc-location-address .jet-listing-dynamic-field__content { font-size: 17px; color: var(--cc-body); }

.cc-amenities { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px 28px; }
.cc-amenity { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--cc-hair-2); font-size: 15px; color: var(--cc-body); }
.cc-amenity__dot { width: 6px; height: 6px; background: var(--cc-brass); flex: 0 0 auto; }
.cc-amenity i { color: var(--cc-brass); width: 18px; text-align: center; }
@media (max-width: 767px) { .cc-amenities { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; } }

.cc-gtk { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.cc-gtk ul, .cc-amenity-group ul, .cc-bullets { list-style: none; margin: 0; padding: 0; }
.cc-gtk li { font-size: 15px; color: var(--cc-body); padding: 4px 0; }
@media (max-width: 767px) { .cc-gtk { grid-template-columns: 1fr; } }

/* single-unit layout */
.cc-mosaic { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.cc-mosaic__tile--1 { grid-row: span 2; min-height: 100%; }
.cc-mosaic__tile--2, .cc-mosaic__tile--3 { aspect-ratio: 3 / 2; }
@media (max-width: 767px) { .cc-mosaic { grid-template-columns: 1fr; } .cc-mosaic__tile--1 { grid-row: auto; aspect-ratio: 4 / 3; } }
.cc-unit__body { margin-top: 38px !important; }
.cc-factbox { background: var(--cc-ivory); padding: 30px 28px !important; }
.cc-factbox--alt { background: var(--cc-limestone); }
.cc-factbox .cc-price { margin-top: 24px; }
.cc-factbox .cc-btn { margin-top: 16px; padding: 16px 22px; }
.cc-glance--table { margin: 0; }
.cc-glance--table .cc-glance__item { display: flex; justify-content: space-between; gap: 18px; padding: 11px 0; border-bottom: 1px solid var(--cc-hair-2); }
.cc-glance--table dt { font: 300 11px/1.6 var(--cc-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--cc-muted); }
.cc-glance--table dd { font-size: 15px; color: var(--cc-text); margin: 0; text-align: right; }
.cc-boxtitle { font: 300 11px/1.4 var(--cc-sans); letter-spacing: .24em; text-transform: uppercase; color: var(--cc-ink); }
.cc-boxtitle::after { content: ""; display: block; width: 34px; height: 1px; background: var(--cc-brass); margin: 14px 0 6px; }
.cc-boxtitle--gap::after { margin-bottom: 18px; }

/* ================================================================= suite */
.cc-crumbs { font: 300 11px/1.6 var(--cc-sans); letter-spacing: .22em; text-transform: uppercase; color: var(--cc-muted); display: flex; flex-wrap: wrap; gap: 0 10px; }
.cc-crumbs a { color: var(--cc-muted); }
.cc-crumbs__current { color: var(--cc-ink); }
.cc-sgallery { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 14px; margin-top: 22px; }
.cc-sgallery__thumbs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 14px; }
.cc-sgallery__thumb { border: 0; padding: 0; cursor: pointer; min-height: 0; }
div.cc-sgallery__thumb { cursor: default; }
@media (max-width: 767px) {
	.cc-sgallery { grid-template-columns: 1fr; }
	.cc-sgallery__thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: auto; }
	.cc-sgallery__thumb { aspect-ratio: 1 / 1; }
}
.cc-suitehead { display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: flex-end !important; justify-content: space-between !important; gap: 24px !important; margin-top: 38px; padding-bottom: 28px !important; border-bottom: 1px solid var(--cc-hair); }
.cc-suitehead h1, .cc-suitehead .jet-listing-dynamic-field__content { font: 300 var(--cc-h1)/1.3 var(--cc-sans); letter-spacing: .24em; text-transform: uppercase; margin: 0; color: var(--cc-ink); }
.cc-parent { margin-top: 14px; font-size: 16px; color: var(--cc-muted); }
.cc-parent a { color: var(--cc-muted); border-bottom: 1px solid #D8CBAE; }
.cc-suitehead__book { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 22px !important; flex-wrap: wrap; }
.cc-suitehead__book .cc-price { margin: 0; font-size: 16px; }
.cc-suitehead__book .cc-btn { padding: 16px 34px; }
.cc-glance--grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 28px; margin: 34px 0 0; }
.cc-glance--grid .cc-glance__item { padding: 16px 0; border-bottom: 1px solid var(--cc-hair-2); }
.cc-glance--grid dt { font: 300 10px/1.4 var(--cc-sans); letter-spacing: .24em; text-transform: uppercase; color: var(--cc-muted); }
.cc-glance--grid dd { font-size: 16px; color: var(--cc-text); margin: 6px 0 0; }
@media (max-width: 767px) { .cc-glance--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; } }
.cc-bullets li { display: flex; gap: 12px; padding: 7px 0; font-size: 15px; color: var(--cc-body); }
.cc-bullets li::before { content: ""; width: 6px; height: 6px; background: var(--cc-brass); margin-top: 9px; flex: 0 0 auto; }
.cc-amenity-groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 34px; }
.cc-amenity-group li { font-size: 15px; color: var(--cc-body); padding: 5px 0; border-bottom: 1px solid #E5DECF; }
@media (max-width: 767px) { .cc-amenity-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; } }
.cc-bookbox { max-width: 760px; margin: 0 auto; text-align: center; background: var(--cc-ink); padding: 48px 32px !important; align-items: center; }
.cc-bookbox .cc-price { color: #EFE7D8; font-size: 17px; margin: 22px 0 0; }
.cc-bookbox .cc-price strong { font-weight: 300; }
.cc-bookbox .cc-btn { margin-top: 26px; }
.cc-bookbox__note, .cc-bookbox__note p { margin-top: 20px; font-size: 14px; color: var(--cc-on-dark-muted); }
.cc-sticky-book { display: none; }
@media (max-width: 767px) {
	.cc-sticky-book { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: var(--cc-ink); padding: 12px 16px; gap: 14px; align-items: center; justify-content: space-between; transform: translateY(110%); transition: transform .3s ease; }
	.cc-sticky-book.is-visible { transform: none; }
	.cc-sticky-book__text { display: flex; flex-direction: column; color: var(--cc-ivory); font-size: 13px; line-height: 1.3; min-width: 0; }
	.cc-sticky-book__text span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; letter-spacing: .12em; text-transform: uppercase; font-size: 11px; color: var(--cc-on-dark-muted); }
	.cc-sticky-book__text strong { font-weight: 400; }
	.cc-sticky-book .cc-btn { padding: 13px 18px; font-size: 11px; white-space: nowrap; }
	body.single-suite { padding-bottom: 70px; }
}

/* ========================================================= offers, contact */
.cc-empty { max-width: 720px; margin: 56px auto 0; background: var(--cc-limestone); padding: 64px 40px; text-align: center; }
.cc-empty__rule { display: block; width: 26px; height: 1px; background: var(--cc-brass); margin: 0 auto 26px; }
.cc-empty p { font-size: 18px; line-height: 1.7; color: var(--cc-body); }
.cc-empty .cc-link { margin-top: 28px; }
.cc-contact__tel { display: block; font: 400 24px/1.3 var(--cc-serif); margin-top: 12px; color: var(--cc-ink); }
.cc-contact__email { display: inline-block; font-size: 17px; margin-top: 8px; border-bottom: 1px solid #D8CBAE; }
.cc-contact__addr { margin: 12px 0 0 !important; font-size: 17px; color: var(--cc-body); }
.cc-form { background: var(--cc-limestone); padding: 34px 30px; }
.cc-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.cc-field { display: block; margin: 0; }
.cc-field--wide { grid-column: 1 / -1; }
.cc-field input, .cc-field select, .cc-field textarea { width: 100%; margin-top: 8px; padding: 12px 0; border: 0; border-bottom: 1px solid #D5CCB9; border-radius: 0; background: transparent; font: 300 16px/1.4 var(--cc-sans); color: var(--cc-text); }
.cc-field textarea { resize: vertical; }
.cc-field input:focus, .cc-field select:focus, .cc-field textarea:focus { outline: none; border-bottom-color: var(--cc-brass); }
.cc-form .cc-btn { margin-top: 28px; padding: 16px 32px; }
@media (max-width: 767px) { .cc-form__grid { grid-template-columns: 1fr; } .cc-form { padding: 28px 20px; } }
.cc-faq__item { padding: 22px 0; border-bottom: 1px solid var(--cc-hair); }
.cc-faq__q { font: 400 12px/1.5 var(--cc-sans) !important; letter-spacing: .2em; text-transform: uppercase; color: var(--cc-ink); margin: 0; }
.cc-faq__item p { margin: 12px 0 0; font-size: 16px; color: var(--cc-body); }
.cc-mt-52 { margin-top: 52px !important; }
.cc-mt-44 { margin-top: 44px !important; }
.cc-mt-40 { margin-top: 40px !important; }
.cc-mt-70 { margin-top: 70px !important; }
.cc-mt-22 { margin-top: 22px !important; }
.cc-sub, .cc-sub p { margin-top: 22px; text-align: center; font-size: 18px; color: var(--cc-body); }

/* ================================================================ footer */
.cc-footer { background: var(--cc-ink); color: #D9CDB4; padding: var(--cc-section) var(--cc-gutter) !important; }
.cc-footer a { color: var(--cc-footer-link); }
.cc-footer a:hover { color: #fff; }
.cc-footer__props { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.cc-footer__name { font: 400 11px/1.5 var(--cc-sans); letter-spacing: var(--cc-track); text-transform: uppercase; color: #fff; }
.cc-footer__name::after { content: ""; display: block; height: 1px; background: rgba(200,174,121,.4); margin: 14px 0 12px; }
.cc-footer__addr { font-size: 15px; line-height: 1.6; color: var(--cc-footer-text); }
.cc-footer__link { display: inline-block; margin-top: 14px; font: 300 10px/1.2 var(--cc-sans); letter-spacing: var(--cc-track); text-transform: uppercase; border-bottom: 1px solid rgba(200,174,121,.6); padding-bottom: 4px; }
.cc-footer__meta { display: flex; flex-wrap: wrap; gap: 32px; justify-content: space-between; align-items: flex-start; margin-top: 44px; padding-top: 36px; border-top: 1px solid rgba(200,174,121,.3); }
.cc-footer__label { font: 300 10px/1.4 var(--cc-sans); letter-spacing: .24em; text-transform: uppercase; color: var(--cc-on-dark-muted); }
.cc-footer__tel { display: block; font: 400 20px/1.3 var(--cc-serif); margin-top: 10px; color: #fff !important; }
.cc-footer__email { display: block; font-size: 15px; margin-top: 6px; color: var(--cc-footer-text) !important; }
.cc-footer__stack { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.cc-footer__row { display: flex; gap: 18px; margin-top: 12px; }
.cc-footer__stack a, .cc-footer__row a { font: 300 11px/1.4 var(--cc-sans); letter-spacing: .2em; text-transform: uppercase; }
.cc-footer__bottom { display: flex; flex-wrap: wrap; gap: 18px; justify-content: space-between; margin-top: 40px; padding-top: 24px; border-top: 1px solid rgba(200,174,121,.3); font: 300 10px/1.4 var(--cc-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--cc-on-dark-muted); }
.cc-footer__mhte { border: 1px dashed rgba(200,174,121,.5); padding: 6px 12px; }
@media (max-width: 1024px) { .cc-footer__props { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .cc-footer__meta > div { flex: 1 1 40%; } }

/* ============================================================ integration */
/* Elementor containers default to flex; grid helpers must win. */
.e-con.cc-grid, .e-con.cc-split, .e-con.cc-props { display: grid !important; }
.e-con.cc-x { display: block !important; }
.cc-props > .cc-about-slot.is-hidden { display: none !important; }

/* Flatten JetEngine listing wrappers so cards sit in the parent grid. */
.cc-flatten > .elementor-widget-jet-listing-grid,
.cc-flatten > .elementor-widget-jet-listing-grid > .elementor-widget-container,
.cc-flatten .jet-listing-grid,
.cc-flatten .jet-listing-grid__items { display: contents !important; }
.cc-flatten .jet-listing-grid__item { padding: 0 !important; width: auto !important; max-width: none !important; }
.cc-flatten > .cc-area-note:empty, .cc-flatten > .cc-area-note:not(:has(.cc-note-card)) { display: none; }
.cc-area-grid:has(.cc-note-card) .cc-pcard .cc-media { aspect-ratio: 4 / 3; }
@media (max-width: 767px) { .e-con.cc-area-grid { grid-template-columns: 1fr; } }

/* Media frames: the widget wrapper fills the frame. */
.cc-media > .elementor-element { position: absolute !important; inset: 0; width: 100% !important; height: 100%; margin: 0 !important; }
.cc-media > .elementor-element > .elementor-widget-container,
.cc-media .jet-listing-dynamic-image,
.cc-media .jet-listing-dynamic-image > a { display: block; width: 100%; height: 100%; }
.cc-media .jet-listing-dynamic-image__img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.88); }

/* Stretched card links */
.elementor-widget.cc-stretch, .cc-stretch > .elementor-widget-container, .cc-stretch .jet-listing-dynamic-link { position: static !important; height: 0; margin: 0; }
.cc-stretch .jet-listing-dynamic-link__link { position: static; display: block; font-size: 0; line-height: 0; color: transparent; }
.cc-stretch .jet-listing-dynamic-link__link::after { content: ""; position: absolute; inset: 0; z-index: 3; }
.cc-pcard, .cc-mcard { position: relative !important; }

/* Suite page top */
.cc-section--suite-top { padding-top: 64px !important; padding-bottom: 0 !important; }
@media (max-width: 767px) { .cc-section--suite-top { padding-top: 40px !important; } }
.cc-suitehead__title h1, .cc-suitehead__title .jet-listing-dynamic-field__content { font: 300 var(--cc-h1)/1.3 var(--cc-sans) !important; letter-spacing: .24em; text-transform: uppercase; margin: 0; color: var(--cc-ink); }

/* JetThemeCore header location sticks, not the inner container. */
.jet-theme-core-location--header-location, .jet-theme-core-header, [data-elementor-type="jet_header"] { position: sticky; top: 0; z-index: 50; }
.admin-bar .jet-theme-core-location--header-location, .admin-bar [data-elementor-type="jet_header"] { top: 32px; }
.cc-header { position: relative; top: auto; }

/* Headings keep design colours over Elementor globals. */
.cc-title .elementor-heading-title, .cc-kicker .elementor-heading-title, .cc-pagetitle .elementor-heading-title { color: var(--cc-ink) !important; }
.cc-title--light .elementor-heading-title { color: #fff !important; }
.cc-display .elementor-heading-title { color: #fff !important; }
.jet-listing-dynamic-field__content { font: inherit; color: inherit; }
.cc-lead .jet-listing-dynamic-field__content p { margin: 0 0 18px; }

/* ================================================================ fixes */
.cc-listing .jet-listing-grid__items { width: 100% !important; }
.e-con.cc-section > .elementor-element, .e-con.cc-band > .elementor-element, .e-con.cc-hero-home > .elementor-element { width: 100%; }
.e-con.cc-suitehead > .e-con { width: auto !important; --width: auto; flex: 0 1 auto; }
.cc-lead .jet-listing-dynamic-field__content p:last-child { margin-bottom: 0; }
.cc-ocard__desc { margin-bottom: 20px; }
.cc-ocard__desc p { margin: 0; }
.cc-area-grid { align-items: stretch; }
.cc-area-note, .cc-area-note > .elementor-widget-container, .cc-area-note .elementor-shortcode { height: 100%; }
.cc-map .leaflet-control-zoom a { width: 28px; height: 28px; line-height: 26px; font-size: 16px; color: var(--cc-ink); background: var(--cc-ivory); border-color: var(--cc-hair); border-radius: 0 !important; }
.cc-map .leaflet-bar { border: 1px solid var(--cc-hair); border-radius: 0; box-shadow: none; }
.cc-map--small .leaflet-control-zoom { display: none; }
.cc-tabs fieldset { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; border: 0; margin: 0; padding: 0; min-width: 0; }
.cc-tabs legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.cc-tabs .jet-radio-list__row { margin: 0 !important; }
.cc-tabs .jet-radio-list__button { display: block; margin: 0; padding: 0; background: none !important; border: 0 !important; }
.cc-tabs .jet-radio-list__input:checked + .jet-radio-list__button .jet-radio-list__label { background: var(--cc-ink); color: var(--cc-ivory); }
.cc-tabs .jet-radio-list__input:focus-visible + .jet-radio-list__button .jet-radio-list__label { outline: 2px solid var(--cc-brass); outline-offset: 2px; }
.cc-site .e-con[class*="cc-"] > .elementor-element { flex-shrink: 0; }
@media (max-width: 767px) {
	.cc-logo .elementor-heading-title, .cc-logo .elementor-heading-title a { font-size: 20px !important; }
	.cc-header__brand { padding-top: 18px; }
	.cc-header.is-stuck .cc-header__brand { padding-top: 10px; }
	.cc-header.is-stuck .cc-nav { padding: 6px 20px 8px; }
	.cc-tabs .jet-radio-list__label { padding: 11px 16px; }
	.cc-suitehead__book { width: 100%; justify-content: space-between !important; }
}
.cc-site .cc-lede { margin: 0 auto; }
.cc-site .cc-sub p, .cc-site .cc-centre p { text-align: center; }
