.elementor-widget-heading .elementor-heading-title { font-family: var(--serif); font-weight: 400; }

.elementor-page .main { margin-left: 0; padding-top: var(--site-header-height); }



/* Full-width editorial layout — no boxed centre column */

.elementor-page .elementor-section > .elementor-container,

.elementor-section.elementor-section-boxed > .elementor-container {

	max-width: none !important;

	width: 100% !important;

}

.elementor-page .elementor-section {

	padding-left: 0 !important;

	padding-right: 0 !important;

}

.elementor-page .elementor-column-gap-default > .elementor-column > .elementor-element-populated,

.elementor-page .elementor-column > .elementor-widget-wrap {

	padding: 0 !important;

}

.elementor-page .elementor-widget-shortcode .elementor-shortcode {

	width: 100%;

}

.elementor-page .elementor-widget-wrap > .elementor-widget {

	margin-bottom: 0;

}

/* Contact page — form + map side by side in Elementor two-column section */
.elementor-widget-aria_contact_form_map .elementor-widget-container {
	display: block;
	width: 100%;
}
.elementor-widget-aria_contact_form_map .contact-form-map-row {
	width: 100%;
}
.elementor-page .elementor-section .elementor-column .contact-form-sec--fancy,
.elementor-page .elementor-section .elementor-column .contact-map-sec--fancy {
	height: 100%;
	min-height: 100%;
}
.elementor-page .elementor-section .elementor-column .contact-form-sec--fancy {
	border-right: none;
}
@media (min-width: 1025px) {
	.elementor-page .elementor-section:has(.contact-form-sec--fancy) .elementor-container {
		align-items: flex-start !important;
	}
	.elementor-page .elementor-section:has(.contact-form-sec--fancy) .elementor-column {
		align-self: flex-start !important;
	}
	.elementor-page .elementor-section:has(.contact-form-sec--fancy) .elementor-column:first-child .contact-form-sec--fancy {
		border-right: 1px solid var(--light-line, rgba(17, 17, 17, 0.1));
	}
}



.elementor-button { border-radius: 0 !important; letter-spacing: 0.15em; text-transform: uppercase; font-size: 0.68rem !important; }

/* Portfolio filters — override Elementor global button accent on focus */
.elementor-page .pf-bar .pf-tab,
.elementor-page .pf-bar .pf-tab:focus,
.elementor-page .pf-bar .pf-tab:focus-visible,
.elementor-page .pf-bar .pf-tab:active,
.elementor-page .pf-bar .pf-tab:hover {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}
.elementor-page .pf-bar .pf-tab.active,
.elementor-page .pf-bar .pf-tab[aria-selected="true"] {
	color: var(--jet) !important;
	border-bottom-color: var(--jet) !important;
}
.elementor-page .pf-bar .pf-tab:hover {
	color: var(--gold, #B8956E) !important;
	border-bottom-color: var(--gold, #B8956E) !important;
}

/* Nife booking — override Elementor global button accent on focus */
.elementor-page .nife-booking .nife-wizard-back,
.elementor-page .nife-booking .nife-wizard-back:focus,
.elementor-page .nife-booking .nife-wizard-back:focus-visible,
.elementor-page .nife-booking .nife-wizard-back:active,
.elementor-page .nife-booking .nife-wizard-back:hover {
	background: transparent !important;
	background-color: transparent !important;
	color: var(--charcoal, #444444) !important;
	border: none !important;
	border-bottom: 1px solid transparent !important;
	box-shadow: none !important;
}

.elementor-page .nife-booking .nife-wizard-back:hover,
.elementor-page .nife-booking .nife-wizard-back:focus,
.elementor-page .nife-booking .nife-wizard-back:focus-visible {
	color: var(--jet, #111111) !important;
	border-bottom-color: var(--sage, #8FAF8A) !important;
}

.elementor-page .nife-booking .nife-booking__slot:focus:not(.is-selected),
.elementor-page .nife-booking .nife-booking__slot:focus-visible:not(.is-selected) {
	background: #F2EFE9 !important;
	color: var(--jet, #111111) !important;
	border-color: var(--jet, #111111) !important;
}

.elementor-page .nife-booking .nife-booking__slot.is-selected:focus,
.elementor-page .nife-booking .nife-booking__slot.is-selected:focus-visible {
	background: var(--jet, #111111) !important;
	color: var(--warm-white, #F9F7F4) !important;
}

.elementor-page .nife-booking .nife-booking__button:focus,
.elementor-page .nife-booking .nife-booking__button:focus-visible {
	background: var(--jet, #111111) !important;
	color: var(--warm-white, #F9F7F4) !important;
}



@media (max-width: 768px) {

	.elementor-page .main { margin-left: 0; }

}


