/*
 * Late overrides.
 * Loaded on every front-end page AFTER Impreza / WPBakery inline CSS (see inc/enqueue.php),
 * so rules here win over builder-generated styles. Scope every rule to its page (body.home, ...).
 */

/* ---- Home: section stripes (#F1EBE1 / #FBF8F2) — overrides Impreza color_alternate + WPB us_custom_* ---- */

body.home #page-content > section.l-section:not(.homepage-hero) {
	background-image: none !important;
}
body.home #page-content > section.l-section:nth-child(2n):not(.homepage-hero) {
	background-color: #f1ebe1 !important;
}
body.home #page-content > section.l-section:nth-child(2n + 1):not(.homepage-hero) {
	background-color: #fbf8f2 !important;
}
body.home #page-content > section.l-section:not(.homepage-hero) > .l-section-h,
body.home #page-content > section.l-section:not(.homepage-hero) [class*="us_custom_"]:not(.w-btn),
body.home #page-content > section.l-section:not(.homepage-hero) .vc_column-inner,
body.home #page-content > section.l-section:not(.homepage-hero) .wpb_text_column {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
}

/* ---- Home: hotel section, legacy story rows, Welcome to Cannes (Figma 3:2108) ---- */
/* avaton-rooms: the height_custom:not(...) selectors below exclude the new rooms section via :not(.avaton-rooms) */

body.home #page-content > section.l-section.homepage-hotel > .l-section-h {
	padding-top: 110px !important;
	padding-bottom: 110px !important;
	padding-left: 72px !important;
	padding-right: 72px !important;
}
body.home #page-content > section.l-section.homepage-hotel .g-cols.vc_row {
	gap: 96px !important;
}
body.home #page-content > section.l-section.homepage-hotel .wpb_text_column.homepage-hotel-title h2 {
	font-size: 52px !important;
	line-height: 1.04 !important;
	color: #21312f !important;
}
body.home #page-content > section.l-section.homepage-hotel .wpb_text_column.homepage-hotel-body,
body.home #page-content > section.l-section.homepage-hotel .wpb_text_column.homepage-hotel-body p {
	color: #52605d !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
	font-weight: 300 !important;
}
body.home #page-content > section.l-section.homepage-hotel .wpb_text_column.homepage-hotel-quote,
body.home #page-content > section.l-section.homepage-hotel .wpb_text_column.homepage-hotel-quote p {
	color: #a98257 !important;
	font-size: 22px !important;
	line-height: 1.4 !important;
}
body.home #page-content > section.l-section.homepage-hotel span.w-text.homepage-hotel-eyebrow {
	color: #a98257 !important;
	font-size: 11px !important;
}
/* Legacy row — layout/type only; section bg = homepage stripes */
body.home #page-content > section.l-section.homepage-hero + section.l-section:not(.homepage-hotel) {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
body.home #page-content > section.l-section.homepage-hero + section.l-section:not(.homepage-hotel) > .l-section-h {
	padding: 110px 72px !important;
	max-width: none !important;
}
body.home #page-content > section.l-section.homepage-hero + section.l-section:not(.homepage-hotel) .g-cols.vc_row {
	gap: 96px !important;
	--columns-gap: 6rem !important;
}
body.home #page-content > section.l-section.homepage-hero + section.l-section:not(.homepage-hotel) .wpb_column:first-child > .vc_column-inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}
body.home #page-content > section.l-section.homepage-hero + section.l-section:not(.homepage-hotel) .wpb_text_column p {
	margin: 0 !important;
	color: #52605d !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
	font-weight: 300 !important;
}
body.home #page-content > section.l-section.homepage-hero + section.l-section:not(.homepage-hotel) .w-btn-wrapper {
	margin: 0 !important;
}
body.home #page-content > section.l-section.homepage-hero + section.l-section:not(.homepage-hotel) .wpb_text_column[class*="us_custom_"],
body.home #page-content > section.l-section.homepage-hero + section.l-section:not(.homepage-hotel) blockquote,
body.home #page-content > section.l-section.homepage-hero + section.l-section:not(.homepage-hotel) .vc_column-inner {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}
body.home #page-content > section.l-section.homepage-hero + section.l-section:not(.homepage-hotel) blockquote {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-left: none !important;
	font-family: var(--font-family, "Rubik", sans-serif) !important;
	font-size: 16px !important;
	font-weight: 300 !important;
	font-style: normal !important;
	line-height: 1.65 !important;
	color: #52605d !important;
}
body.home #page-content > section.l-section.height_custom:not(.homepage-hero):not(.full_height):not(.homepage-hotel):not(.avaton-rooms),
body.home #page-content > section.l-section.height_custom:not(.homepage-hero):not(.full_height):not(.homepage-hotel):not(.avaton-rooms).color_alternate {
	background-image: none !important;
}
body.home #page-content > section.l-section.height_custom:not(.homepage-hero):not(.full_height):not(.homepage-hotel):not(.avaton-rooms) > .l-section-h,
body.home #page-content > section.l-section.height_custom:not(.homepage-hero):not(.full_height):not(.homepage-hotel):not(.avaton-rooms) [class*="us_custom_"]:not(.w-btn),
body.home #page-content > section.l-section.height_custom:not(.homepage-hero):not(.full_height):not(.homepage-hotel):not(.avaton-rooms) .vc_column-inner,
body.home #page-content > section.l-section.height_custom:not(.homepage-hero):not(.full_height):not(.homepage-hotel):not(.avaton-rooms) .w-image {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
}
body.home #page-content > section.l-section.height_custom:not(.homepage-hero):not(.full_height):not(.homepage-hotel):not(.avaton-rooms) h2,
body.home #page-content > section.l-section.height_custom:not(.homepage-hero):not(.full_height):not(.homepage-hotel):not(.avaton-rooms) h2 span {
	text-align: left !important;
}
body.home #page-content > section.l-section.homepage-hero + section.l-section:not(.homepage-hotel) blockquote::before,
body.home #page-content > section.l-section.homepage-hero + section.l-section:not(.homepage-hotel) blockquote::after,
body.home #page-content > section.l-section.height_custom:not(.homepage-hero):not(.full_height):not(.homepage-hotel):not(.avaton-rooms) blockquote::before,
body.home #page-content > section.l-section.height_custom:not(.homepage-hero):not(.full_height):not(.homepage-hotel):not(.avaton-rooms) blockquote::after {
	content: none !important;
	display: none !important;
}
/* Welcome to Cannes — match hotel story spacing (overrides --columns-gap:0) */
body.home #page-content > section.l-section:nth-child(3) > .l-section-h {
	padding: 110px 72px !important;
	max-width: none !important;
}
body.home #page-content > section.l-section:nth-child(3) .g-cols.vc_row {
	gap: 96px !important;
	--columns-gap: 6rem !important;
}
body.home #page-content > section.l-section:nth-child(3) .wpb_text_column p {
	color: #52605d !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
	font-weight: 300 !important;
}
body.home #page-content > section.l-section:nth-child(3) .wpb_text_column[class*="us_custom_"] {
	margin: 0 !important;
	padding: 0 !important;
}

/* ---- Home: Tourism title — full width of .l-section-h (builder keeps it in a half column) ---- */

html body.home #page-content > section.l-section.homepage-tourism .vc_column-inner > .g-cols.vc_row.cols_2,
html body.home #page-content > section.l-section.height_medium:not(:has(.layout_625)) .vc_column-inner > .g-cols.vc_row.cols_2 {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: none !important;
}
html body.home #page-content > section.l-section.homepage-tourism .vc_column-inner > .g-cols.vc_row.cols_2 > .vc_column_container,
html body.home #page-content > section.l-section.homepage-tourism .vc_column-inner > .g-cols.vc_row.cols_2 > .wpb_column,
html body.home #page-content > section.l-section.height_medium:not(:has(.layout_625)) .vc_column-inner > .g-cols.vc_row.cols_2 > .vc_column_container,
html body.home #page-content > section.l-section.height_medium:not(:has(.layout_625)) .vc_column-inner > .g-cols.vc_row.cols_2 > .wpb_column {
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
}
html body.home #page-content > section.l-section.homepage-tourism .vc_column-inner > .g-cols.vc_row.cols_2 > .vc_column_container:has(.wpb_text_column h2),
html body.home #page-content > section.l-section.homepage-tourism .vc_column-inner > .g-cols.vc_row.cols_2 > .wpb_column:has(.wpb_text_column h2),
html body.home #page-content > section.l-section.height_medium:not(:has(.layout_625)) .vc_column-inner > .g-cols.vc_row.cols_2 > .vc_column_container:has(.wpb_text_column h2),
html body.home #page-content > section.l-section.height_medium:not(:has(.layout_625)) .vc_column-inner > .g-cols.vc_row.cols_2 > .wpb_column:has(.wpb_text_column h2) {
	order: -1 !important;
}
html body.home #page-content > section.l-section.homepage-tourism .wpb_text_column:has(> .wpb_wrapper > h2),
html body.home #page-content > section.l-section.height_medium:not(:has(.layout_625)) .wpb_text_column:has(> .wpb_wrapper > h2) {
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box !important;
}
html body.home #page-content > section.l-section.homepage-tourism .wpb_text_column:has(> .wpb_wrapper > h2) h2,
html body.home #page-content > section.l-section.height_medium:not(:has(.layout_625)) .wpb_text_column:has(> .wpb_wrapper > h2) h2 {
	width: 100% !important;
	max-width: none !important;
	text-align: center !important;
}

/* ---- Home: contact band — center heading (WPB inline text-align: right on h2) ---- */

html body.home #page-content > section.l-section.homepage-contact .wpb_text_column.us_custom_47474b22 .wpb_wrapper,
html body.home #page-content > section.l-section.hide_on_mobiles.height_custom .wpb_text_column.us_custom_47474b22 .wpb_wrapper,
html body.home #page-content > section.l-section.hide_on_default.hide_on_laptops.hide_on_tablets.height_custom .wpb_text_column.us_custom_47474b22 .wpb_wrapper,
html body.home #page-content > section.l-section.homepage-contact .wpb_text_column h2,
html body.home #page-content > section.l-section.hide_on_mobiles.height_custom .wpb_text_column h2,
html body.home #page-content > section.l-section.hide_on_default.hide_on_laptops.hide_on_tablets.height_custom .wpb_text_column h2,
html body.home #page-content > section.l-section.homepage-contact .wpb_text_column h2 span,
html body.home #page-content > section.l-section.hide_on_mobiles.height_custom .wpb_text_column h2 span,
html body.home #page-content > section.l-section.hide_on_default.hide_on_laptops.hide_on_tablets.height_custom .wpb_text_column h2 span {
	text-align: center !important;
}

