/* ============================================================
 *  HOMEWOOD CHIROPRACTIC | Landing Page CSS
 *  Loaded only when the "Landing Page (Fast)" template is active.
 *  ============================================================ */

/* --- Page reset / wrapping ------------------------------------ */
body.landing-page {
	background: #fff;
	overflow-x: hidden;          /* defensive — prevents horizontal scroll caused by 100vw breakouts on browsers that include scrollbar width in vw */
}

/* --- Full-width "breakout" helper --------------------------------
 *  Used as `xclass="lp-fullwidth"` on a [background] shortcode (or any
 *  element you want to escape the .container width on the landing page).
 *
 *  The element pops out to viewport width while sitting in the normal
 *  document flow. Inner content stays constrained because the [row]
 *  shortcode (or any other child) provides its own container.
 *
 *  Used twice in the default editor content: once on the hero, once on
 *  the navy "Expertise You Can Trust" band. Add it to any other section
 *  that should be full-width (e.g. a coloured testimonials band).
 */
.lp-fullwidth {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* --- Thin header --------------------------------------------- */
.landing-header {
	background: #fff;
	border-bottom: 1px solid #eaeaea;
	padding: 12px 0;
	position: relative;
	z-index: 100;
}
.landing-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
}
.landing-logo {
	display: inline-block;
	line-height: 1;
}
.landing-logo img {
	max-height: 56px;
	width: auto;
	display: block;
}
.landing-call-now {
	background: #1e4692;
	color: #fff !important;
	padding: 10px 18px;
	border-radius: 4px;
	text-decoration: none !important;
	font-weight: 600;
	white-space: nowrap;
	/*font-size: 1.2rem;*/
	transition: background .15s ease;
}
.landing-call-now:hover,
.landing-call-now:focus {
	background: #173771;
	color: #fff !important;
	text-decoration: none !important;
}
.landing-call-now .landing-call-prefix {
	opacity: .8;
	font-weight: 400;
}
@media (max-width: 480px) {
	.landing-logo img { max-height: 44px; }
	.landing-call-now { padding: 8px 12px; font-size: 1.05rem; }
	.landing-call-now .landing-call-prefix { display: none; } /* "01329 280 283" alone on small screens */
}

/* --- Main content padding (reserve room for sticky bar on mobile) - */
.landing-content { padding-bottom: 70px; }
@media (min-width: 768px) {
	.landing-content { padding-bottom: 0; }
}

/* --- Hero row: form on right (desktop), form on top (mobile) ----- */
@media (max-width: 991px) {
	.lp-hero-row { display: flex; flex-direction: column-reverse; }
}

/* --- Hero typography ----------------------------------------- */
.lp-hero-row h1 {
	/*font-size: 2.6rem;*/
	/*line-height: 1.15;*/
	/*margin-top: 0;*/
	/*margin-bottom: 0;*/
}
.lp-hero-row .lp-hero-lead {
	/*font-size: 1.35rem;*/
	/*line-height: 1.45;*/
	/*margin-bottom: 0;*/
}
.lp-hero-row .lp-hero-checks {
	/*font-size: 1.05rem;*/
	/*margin-bottom: 0;*/
}
@media (max-width: 767px) {
	/*.lp-hero-row h1 { font-size: 1.85rem; }*/
	/*.lp-hero-row .lp-hero-lead { font-size: 1.1rem; }*/
	/*.lp-hero-row .lp-hero-checks { font-size: .95rem; }*/
}

/* --- Callback form ------------------------------------------ */
.landing-callback-form {
	background: rgba(255,255,255,.97);
	padding: 24px;
	border-radius: 6px;
	box-shadow: 0 8px 24px rgba(0,0,0,.18);
	color: #333;
}
.landing-callback-form h3 {
	margin: 0 0 4px;
	font-size: 1.4rem;
	color: #1e4692;
}
.landing-callback-form .form-subtitle {
	margin: 0 0 16px;
	font-size: .92rem;
	color: #555;
}
.landing-callback-form label {
	display: block;
	font-weight: 600;
	font-size: .9rem;
	margin-bottom: 4px;
	color: #333;
}
.landing-callback-form input,
.landing-callback-form select,
.landing-callback-form textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 1rem;
	font-family: inherit;
	margin-bottom: 14px;
	background: #fff;
	color: #333;
}
.landing-callback-form input:focus,
.landing-callback-form select:focus {
	outline: none;
	border-color: #1e4692;
	box-shadow: 0 0 0 3px rgba(30,70,146,.15);
}
.landing-callback-form button {
	background: #1e4692;
	color: #fff;
	border: 0;
	padding: 12px 20px;
	width: 100%;
	border-radius: 4px;
	font-size: 1.05rem;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s ease;
}
.landing-callback-form button:hover,
.landing-callback-form button:focus {
	background: #173771;
}
.landing-callback-form .form-trust {
	margin: 14px 0 0;
	font-size: .82rem;
	color: #666;
	text-align: center;
}

/* --- Trust pillars (Why Us — 3-column section) ---------------- */
.lp-trust-pillar {
	text-align: center;
	padding: 16px 12px;
}
.lp-trust-pillar .fa,
.lp-trust-pillar .fas,
.lp-trust-pillar .far {
	font-size: 2.6rem;
	color: #1e4692;
	margin-bottom: 12px;
	display: inline-block;
}
.lp-trust-pillar h3 {
	color: #1e4692;
	margin-top: 0;
	/*font-size: 1.25rem;*/
}

/* --- Process steps (3-step "What to Expect") ---------------- */
.lp-step {
	text-align: center;
	padding: 20px 12px;
}
.lp-step-number {
	display: inline-block;
	width: 52px;
	height: 52px;
	line-height: 52px;
	border-radius: 50%;
	background: #1e4692;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	margin-bottom: 12px;
	text-align: center;
}
.lp-step h3 {
	color: #1e4692;
	font-size: 1.15rem;
	margin: 0 0 8px;
}

/* --- Testimonials --------------------------------------------- */
.lp-testimonial {
	background: #f7f8fa;
	border-left: 4px solid #1e4692;
	padding: 18px 20px;
	margin: 0 0 16px;
	font-style: italic;
	color: #333;
}
.lp-testimonial cite {
	display: block;
	margin-top: 10px;
	font-style: normal;
	font-weight: 600;
	color: #555;
	/*font-size: .9rem;*/
}

/* --- Final CTA ------------------------------------------------ */
.lp-final-cta {
	text-align: center;
	padding: 30px 0;
}
.lp-final-cta h2 { margin-top: 0; color: #1e4692; }
.lp-final-cta .lp-final-cta-subtitle {
	/*font-size: 1.1rem;*/
	color: #555;
	margin: 0 0 4px;
}
.lp-final-cta .lp-final-cta-detail {
	margin-top: 18px;
	/*font-size: .95rem;*/
	color: #555;
}

/* --- Buttons (default styling, used on light backgrounds) ----- */
.lp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 24px;
	border-radius: 4px;
	text-decoration: none !important;
	font-weight: 600;
	/*font-size: 1.05rem;*/
	line-height: 1.2;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
	border: 2px solid transparent;
	cursor: pointer;
}
.lp-btn .fa,
.lp-btn .fas,
.lp-btn .far { font-size: 1em; line-height: 1; }

.lp-btn-primary {
	background: #1e4692;
	color: #fff !important;
	border-color: #1e4692;
}
.lp-btn-primary:hover,
.lp-btn-primary:focus {
	background: #173771;
	border-color: #173771;
	color: #fff !important;
	text-decoration: none !important;
}

.lp-btn-secondary {
	background: #fff;
	color: #1e4692 !important;
	border-color: #1e4692;
}
.lp-btn-secondary:hover,
.lp-btn-secondary:focus {
	background: #f0f4fb;
	color: #1e4692 !important;
	text-decoration: none !important;
}

/* --- CTA button group layout --------------------------------- */
.lp-cta-buttons {
	margin-top: 20px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 12px;
}
.lp-cta-buttons-left { justify-content: flex-start; }

/* Buttons go full-width on small screens for easier tapping */
@media (max-width: 480px) {
	.lp-cta-buttons .lp-btn {
		width: 100%;
	}
}

/* --- Hero button overrides (against dark blue hero bg) ------- */
.lp-hero-buttons .lp-btn-primary {
	background: #fff;
	color: #1e4692 !important;
	border-color: #fff;
}
.lp-hero-buttons .lp-btn-primary:hover,
.lp-hero-buttons .lp-btn-primary:focus {
	background: #f0f4fb;
	border-color: #f0f4fb;
	color: #1e4692 !important;
}
.lp-hero-buttons .lp-btn-secondary {
	background: transparent;
	color: #fff !important;
	border-color: #fff;
}
.lp-hero-buttons .lp-btn-secondary:hover,
.lp-hero-buttons .lp-btn-secondary:focus {
	background: rgba(255,255,255,.12);
	color: #fff !important;
	border-color: #fff;
}

/* --- Sticky mobile CTA bar (mobile only) -------------------- */
.landing-sticky-mobile-cta {
	display: flex;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	box-shadow: 0 -2px 12px rgba(0,0,0,.12);
}
.landing-sticky-btn {
	flex: 1 1 50%;
	text-align: center;
	padding: 14px 8px;
	color: #fff !important;
	text-decoration: none !important;
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.2;
}
.landing-sticky-btn:hover,
.landing-sticky-btn:focus {
	color: #fff !important;
	text-decoration: none !important;
	filter: brightness(1.05);
}
.landing-sticky-call { background: #1e4692; }
.landing-sticky-book { background: #2e6cca; }
@media (min-width: 768px) {
	.landing-sticky-mobile-cta { display: none; }
}

/* --- Minimal footer ----------------------------------------- */
.landing-footer {
	background: #f3f4f6;
	padding: 20px 0;
	margin-top: 40px;
	text-align: center;
	font-size: .85rem;
	color: #555;
}
.landing-footer p { margin: 4px 0; }
.landing-footer a { color: #1e4692; }

/* --- Smooth-scroll when sticky bar's "Request callback" is tapped - */
html { scroll-behavior: smooth; }

/* --- Hero text colour overrides ----------------------------- */
/*.landing-content .entry-content h1 { margin-top: 0; }*/

/* --- "Free Chiro Check" split section ------------------------ */
.lp-split { padding: 20px 0; }
.lp-split-img img {
	max-width: 100%;
	height: auto;
	border-radius: 6px;
}
.lp-split h2 { color: #1e4692; margin-top: 0; }
@media (min-width: 992px) {
	/* Vertically centre the text against the image on desktop */
	.lp-split-row {
		display: flex;
		align-items: center;
	}
}

/* ============================================================
 * Hide site-wide overlays / floating widgets on the landing page
 * ============================================================
 * If something unwanted is still visible after this, open DevTools,
 * find a stable selector, and add it below. Keep the body.landing-page
 * prefix on every selector so other pages aren't affected.
 *
 * If something legitimate disappears, refine the matching selector.
 */
body.landing-page #lc_chat_button_holder,
body.landing-page .lc_chat_widget_holder,
body.landing-page [id^="leadconnector-chat"],
body.landing-page [id*="ghl-chat"],
body.landing-page [class*="ghl-chat"],
body.landing-page [class*="lc-widget"],
body.landing-page [id*="chat-widget"],
body.landing-page iframe[src*="leadconnectorhq"],
body.landing-page iframe[src*="msgsndr"],
body.landing-page iframe[src*="link.saasora"],
body.landing-page iframe[src*="widget.saasora"],
/* Floating side button (free chiro check / find out more) */
body.landing-page .sidelink-btn-wrap,
body.landing-page .floating-cta,
body.landing-page .floating-button,
body.landing-page [class*="side-button"],
body.landing-page [class*="side-cta"],
body.landing-page [class*="free-chiro"],
/* Common fixed-bottom bar plugins */
body.landing-page .fixed-footer-bar,
body.landing-page .footer-bar-fixed,
body.landing-page #fixed-footer,
body.landing-page .sticky-footer-bar,
body.landing-page .rpmab-wrap,
body.landing-page chat-widget {
	display: none !important;
}