/*
 * css/home.css — support styles for template-home.php (rebuilt homepage).
 *
 * This file replaces what the WPBakery plugin used to provide for the home
 * page so the plugin is no longer required to render it:
 *   1. The fractional column widths (.vc_col-sm-*), scoped to .hb-home so live
 *      WPBakery pages (which still load the plugin CSS) are unaffected.
 *   2. The per-row custom rules WPBakery injected inline as .vc_custom_* .
 *
 * All other section styling already lives in style.css / responsive.css and is
 * reused as-is via the original section IDs and classes.
 */

/* ---- 1. Grid shim (column widths formerly from js_composer.css) ---- */
.hb-home .vc_row { display: flex; flex-wrap: wrap; }
.hb-home .vc_row.vc_row-o-content-middle { align-items: center; }
.hb-home .vc_row.vc_row-o-content-bottom  { align-items: flex-end; }

.hb-home .vc_inner > .wpb_column {
	box-sizing: border-box;
	padding-left: 15px;
	padding-right: 15px;
	float: none;
}

.hb-home .vc_col-sm-12  { width: 100%; }
.hb-home .vc_col-sm-9   { width: 75%; }
.hb-home .vc_col-sm-6   { width: 50%; }
.hb-home .vc_col-sm-4   { width: 33.3333%; }
.hb-home .vc_col-sm-3   { width: 25%; }
.hb-home .vc_col-sm-1\/5 { width: 20%; }
.hb-home .vc_col-sm-2\/5 { width: 40%; }
.hb-home .vc_col-sm-3\/5 { width: 60%; }

/* The empty-space spacer blocks WPBakery rendered as fixed-height divs. */
.hb-home .vc_empty_space { width: 100%; display: block; }
.hb-home .vc_empty_space .vc_empty_space_inner { display: block; }

/* ---- 2. Per-row custom rules ported from WPBakery inline CSS ---- */
.vc_custom_1768363459444 { padding-bottom: 1px !important; }
.vc_custom_1768364229787 { padding-bottom: 1px !important; }
.vc_custom_1773750555910 { padding-top: 12px !important; padding-bottom: 15px !important; }
.vc_custom_1768364305782 { margin-bottom: -20px !important; padding-bottom: 0 !important; }
.vc_custom_1768360274201 { padding-top: 0 !important; }
.vc_custom_1768358118026 { background-color: #ffffff !important; }
.vc_custom_1768354702571 { background-color: #503454 !important; }

/* ---- Contact list: breathing room between each icon and its text ---- */
.hb-home #section_contact .contact_list ul li img { margin-right: 18px; }

/* ---- Amenities: centre the caption under each icon ---- */
.hb-home .amenity-label { text-align: center; }

/* ---- Testimonials header + url: centred ---- */
.hb-home .testi-head { text-align: center; }

/* ---- Testimonials: light body text on the purple panel ---- */
.hb-home #block_testimonials .testi_main_slider li,
.hb-home #block_testimonials .testi_main_slider li p { color: #fff; }

/* ---- Intro tagline: centred ---- */
.hb-home .intro-tagline { text-align: center; }

/* ---- Hero heading: centre horizontally + vertically within the banner ---- */
.hb-home #home_banner { align-items: center; }
.hb-home #home_banner h1 { text-align: center; }

/* ---- Logos centred + constrained to 100px (WPBakery no longer sizes images) ---- */
.hb-home .intro-logo,
.hb-home .logo-100 { text-align: center; }
.hb-home .intro-logo .vc_figure,
.hb-home .logo-100 .vc_figure { display: inline-block; margin: 0; }
.hb-home .intro-logo .vc_single_image-wrapper,
.hb-home .logo-100 .vc_single_image-wrapper { display: inline-block; }
.hb-home .intro-logo img,
.hb-home .logo-100 img { width: 100px; max-width: 100%; height: auto; }

/* ---- 3. Mobile: stack all columns (plugin did this via media queries) ---- */
@media (max-width: 768px) {
	.hb-home .vc_col-sm-12,
	.hb-home .vc_col-sm-9,
	.hb-home .vc_col-sm-6,
	.hb-home .vc_col-sm-4,
	.hb-home .vc_col-sm-3,
	.hb-home .vc_col-sm-1\/5,
	.hb-home .vc_col-sm-2\/5,
	.hb-home .vc_col-sm-3\/5 { width: 100%; }

	/* #header measures 115 tall on mobile (absolutely positioned, so it
	   doesn't push #wrapper down itself) — clear it so the hero banner
	   isn't hidden underneath. */
	#wrapper { padding-top: 115px; }

	/* Feature icons (#section_cqc): stack icon + label in a centred column
	   instead of a 5-across row, and cap the icon height. */
	.hb-home #section_cqc .row_xs {
		flex-direction: column;
		align-items: center;
	}
	.hb-home #section_cqc .wpb_wrapper.amenity-label { text-align: center; }
	.hb-home #section_cqc .wpb_single_image img {
		height: 134px;
		width: auto;
		max-width: 100%;
	}

	/* Amenities (#beyond_care): centre the icon as well as its label. */
	.hb-home #beyond_care .wpb_wrapper { text-align: center; }

	/* Contact details: let long text (e.g. the enquiries@ email) wrap
	   instead of overflowing off the page. */
	.hb-home #section_contact .contact_list ul li h5 {
		overflow-wrap: break-word;
		word-break: break-word;
	}

	/* Contact form: drop the side-by-side field padding so paired fields
	   (e.g. first/last name) sit flush on narrow screens. */
	.wpforms-container .wpforms-field .wpforms-field-row .wpforms-field-row-block {
		padding: 0px !important;
	}
}
