/*
Theme Name:  Leah The Physio Child
Template:    Divi
Version:     1.0.0
Author:      Soul Purpose Web Design
Author URI:  https://www.soulpurposewebdesign.co.uk
Description: Child theme for Leah Dalby MCSP — leahthephysio.co.uk
*/

/* ─────────────────────────────────────────
   BRAND TOKENS
───────────────────────────────────────── */
:root {
	--ltp-teal:        #3d7a7a;
	--ltp-teal-dark:   #2c5c5c;
	--ltp-teal-deepest:#1e4040;
	--ltp-green-dark:  #2c3e35;
	--ltp-green-mid:   #3d5a48;
	--ltp-accent:      #c4956a;
	--ltp-accent-dark: #b07d55;
	--ltp-bg:          #fafaf8;
	--ltp-bg-light:    #f0f8f8;
	--ltp-border:      #dde8e8;
	--ltp-text:        #4a5e55;
	--ltp-text-muted:  #7a9e9e;
}

/* ─────────────────────────────────────────
   GLOBAL
───────────────────────────────────────── */
body,
#page-container {
	background-color: var(--ltp-bg);
	font-family: Georgia, 'Times New Roman', serif;
	color: var(--ltp-green-dark);
}

h1, h2, h3, h4, h5, h6 {
	font-family: Georgia, serif;
	font-weight: 400;
}

p, li, label, input, textarea, select {
	font-family: Arial, sans-serif;
}

img { max-width: 100%; height: auto; }

/* ─────────────────────────────────────────
   NAVIGATION
───────────────────────────────────────── */
#main-header,
#main-header.et-fixed-header {
	background-color: var(--ltp-bg) !important;
	border-bottom: 1px solid var(--ltp-border);
	box-shadow: none !important;
}

.et-menu a,
.et_pb_menu .et-menu a {
	font-family: Arial, sans-serif;
	font-size: 14px !important;
	color: var(--ltp-green-dark) !important;
	padding: 8px 14px !important;
	border-radius: 4px;
	transition: background 0.2s, color 0.2s;
}

.et-menu a:hover,
.et-menu .current-menu-item > a,
.et-menu .current_page_item > a {
	background: var(--ltp-bg-light) !important;
	color: var(--ltp-teal) !important;
}

/* Tropic nav link */
.et-menu .menu-item-tropic > a {
	border: 1px solid var(--ltp-accent) !important;
	color: var(--ltp-accent) !important;
}

.et-menu .menu-item-tropic > a:hover {
	background: var(--ltp-accent) !important;
	color: #fff !important;
}

/* Mobile hamburger */
.mobile_nav .mobile_menu_bar:before {
	color: var(--ltp-teal);
}

/* ─────────────────────────────────────────
   BUTTONS
───────────────────────────────────────── */
.et_pb_button,
a.et_pb_button {
	background-color: var(--ltp-accent) !important;
	border-color:     var(--ltp-accent) !important;
	border-radius: 4px !important;
	font-family: Arial, sans-serif !important;
	font-size: 15px !important;
	letter-spacing: 0.5px;
	padding: 14px 32px !important;
	color: #fff !important;
	transition: background 0.2s !important;
}

.et_pb_button:hover,
a.et_pb_button:hover {
	background-color: var(--ltp-accent-dark) !important;
	border-color:     var(--ltp-accent-dark) !important;
}

/* Outline variant — add CSS class 'ltp-btn-outline' in Divi module */
.et_pb_button.ltp-btn-outline,
a.et_pb_button.ltp-btn-outline {
	background: transparent !important;
	border: 2px solid var(--ltp-accent) !important;
	color: var(--ltp-accent) !important;
}

.et_pb_button.ltp-btn-outline:hover,
a.et_pb_button.ltp-btn-outline:hover {
	background: var(--ltp-accent) !important;
	color: #fff !important;
}

/* ─────────────────────────────────────────
   HOME — HERO
   Divi: Fullwidth Header module
   CSS class: ltp-hero
───────────────────────────────────────── */
.ltp-hero.et_pb_fullwidth_header {
	background: linear-gradient(135deg,
		var(--ltp-teal)        0%,
		var(--ltp-teal-dark)   60%,
		var(--ltp-teal-deepest) 100%) !important;
	padding-top: 90px !important;
	padding-bottom: 80px !important;
}

.ltp-hero .et_pb_fullwidth_header_container_left h1 {
	font-size: 44px !important;
	line-height: 1.2 !important;
	font-weight: 400 !important;
	color: #fff !important;
}

.ltp-hero .et_pb_fullwidth_header_container_left .et_pb_header_content_wrapper p {
	font-size: 17px;
	color: #b8d8d8;
	line-height: 1.65;
	max-width: 560px;
}

/* Eyebrow text above h1 */
.ltp-eyebrow {
	font-family: Arial, sans-serif;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 3px;
	color: #a8d4d4;
	margin-bottom: 16px;
	display: block;
}

/* ─────────────────────────────────────────
   HOME — WHAT TO EXPECT CARDS
   Divi: 3-col row of Blurb modules
   CSS class on each blurb: ltp-expect-card
───────────────────────────────────────── */
.ltp-expect-card.et_pb_blurb {
	background: #fff;
	border: 1px solid var(--ltp-border);
	border-radius: 8px;
	padding: 32px 28px !important;
}

.ltp-expect-card .et_pb_blurb_content .et_pb_main_blurb_image {
	width: 44px;
	height: 44px;
	background: var(--ltp-bg-light);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
}

.ltp-expect-card .et_pb_blurb_content h4.et_pb_module_header {
	font-size: 18px;
	font-weight: 600;
	color: var(--ltp-green-dark);
	margin-bottom: 10px;
}

.ltp-expect-card .et_pb_blurb_container p {
	font-size: 14px;
	line-height: 1.65;
	color: #5a7060;
}

/* ─────────────────────────────────────────
   HOME — SPECIALIST STRIP
   Divi: Row (3 cols: text | image | list)
   Section CSS class: ltp-specialist-strip
───────────────────────────────────────── */
.ltp-specialist-strip.et_pb_section {
	background: var(--ltp-bg-light) !important;
	border-top: 1px solid var(--ltp-border);
	border-bottom: 1px solid var(--ltp-border);
}

.ltp-specialist-strip h2.et_pb_module_header,
.ltp-specialist-strip h2 {
	font-size: 28px;
	font-weight: 400;
}

/* Photo in specialist strip */
.ltp-specialist-photo .et_pb_image_wrap {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 8px 28px rgba(0,0,0,0.18);
}

/* Spec list */
.ltp-spec-list ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ltp-spec-list ul li {
	font-size: 15px;
	color: var(--ltp-text);
	padding: 10px 0 10px 24px;
	border-bottom: 1px solid var(--ltp-border);
	position: relative;
	line-height: 1.5;
}

.ltp-spec-list ul li::before {
	content: '→';
	color: var(--ltp-teal);
	position: absolute;
	left: 0;
}

.ltp-spec-list ul li:last-child { border-bottom: none; }

/* ─────────────────────────────────────────
   HOME — QUOTE BLOCK
   Divi: Testimonial module
   Section CSS class: ltp-quote-section
───────────────────────────────────────── */
.ltp-quote-section.et_pb_section {
	background: var(--ltp-teal) !important;
	padding-top: 60px !important;
	padding-bottom: 60px !important;
}

.ltp-quote-section .et_pb_testimonial_description {
	font-family: Georgia, serif;
	font-size: 22px;
	font-style: italic;
	color: #c4e8e8;
	line-height: 1.65;
}

.ltp-quote-section .et_pb_testimonial_author,
.ltp-quote-section cite {
	font-family: Arial, sans-serif;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: #7ababa;
}

/* ─────────────────────────────────────────
   SERVICES — PAGE HERO
   Divi: Fullwidth Header or Text module
   Section CSS class: ltp-page-hero
───────────────────────────────────────── */
.ltp-page-hero.et_pb_section {
	background: var(--ltp-bg-light) !important;
	border-bottom: 1px solid var(--ltp-border);
	padding-top: 60px !important;
	padding-bottom: 60px !important;
	text-align: center;
}

.ltp-page-hero h1 {
	font-size: 38px;
	color: var(--ltp-green-dark);
}

.ltp-page-hero p {
	font-size: 17px;
	color: #5a7060;
	max-width: 600px;
	margin: 0 auto;
	line-height: 1.7;
}

/* ─────────────────────────────────────────
   SERVICES — SERVICE CARDS
   Divi: 2-col row of Blurb modules
   CSS class on each blurb: ltp-service-card
───────────────────────────────────────── */
.ltp-service-card.et_pb_blurb {
	background: #fff;
	border: 1px solid var(--ltp-border);
	border-top: 4px solid var(--ltp-teal);
	border-radius: 8px;
	padding: 32px 28px !important;
}

.ltp-service-card .et_pb_module_header {
	font-size: 20px;
	font-weight: 600;
	color: var(--ltp-green-dark);
	margin-bottom: 12px;
}

.ltp-service-card ul {
	margin-top: 14px;
	list-style: none;
	padding: 0;
}

.ltp-service-card ul li {
	font-size: 14px;
	color: var(--ltp-text);
	padding: 5px 0 5px 16px;
	position: relative;
	line-height: 1.55;
}

.ltp-service-card ul li::before {
	content: '•';
	color: var(--ltp-teal);
	position: absolute;
	left: 0;
}

/* ─────────────────────────────────────────
   SERVICES — APPOINTMENT TYPES
   Divi: 3-col row of Blurb modules
   CSS class: ltp-appt-card
───────────────────────────────────────── */
.ltp-appt-section.et_pb_section {
	background: var(--ltp-bg-light) !important;
	border-top: 1px solid var(--ltp-border);
}

.ltp-appt-card.et_pb_blurb {
	background: #fff;
	border: 1px solid var(--ltp-border);
	border-radius: 8px;
	padding: 28px 24px !important;
	text-align: center;
}

.ltp-appt-card .et_pb_module_header {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 10px;
}

/* ─────────────────────────────────────────
   SERVICES — PRICING
   Divi: 3-col row of Code/Text modules
   CSS class: ltp-pricing-card
───────────────────────────────────────── */
.ltp-pricing-card {
	background: #fff;
	border: 1px solid var(--ltp-border);
	border-top: 4px solid var(--ltp-accent);
	border-radius: 8px;
	padding: 32px 24px;
	text-align: center;
}

.ltp-price-type {
	font-family: Arial, sans-serif;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--ltp-text-muted);
	margin-bottom: 10px;
}

.ltp-price-amount {
	font-family: Georgia, serif;
	font-size: 38px;
	color: var(--ltp-teal);
	font-weight: 400;
	margin-bottom: 8px;
	display: block;
}

.ltp-price-note {
	font-size: 13px;
	color: #5a7060;
	line-height: 1.55;
}

/* ─────────────────────────────────────────
   SERVICES — TROPIC CTA BANNER
   Divi: Code module or CTA module
   CSS class: ltp-tropic-banner
───────────────────────────────────────── */
.ltp-tropic-banner {
	background: linear-gradient(135deg, #2c4a2e, #3d6b3f);
	border-radius: 8px;
	padding: 36px 40px;
}

.ltp-tropic-banner h3 { color: #fff; font-size: 20px; margin-bottom: 8px; }
.ltp-tropic-banner p  { color: #a8c8a8; font-size: 14px; line-height: 1.55; }

.ltp-tropic-banner .ltp-btn-tropic {
	display: inline-block;
	background: #fff;
	color: #2c4a2e;
	padding: 12px 28px;
	border-radius: 4px;
	font-family: Arial, sans-serif;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.2s;
}

/* ─────────────────────────────────────────
   ABOUT — HERO
   Divi: Section with 2-col row
   Section CSS class: ltp-about-hero
───────────────────────────────────────── */
.ltp-about-hero.et_pb_section {
	background: linear-gradient(135deg, var(--ltp-green-dark) 0%, var(--ltp-green-mid) 100%) !important;
	padding-top: 70px !important;
	padding-bottom: 70px !important;
}

.ltp-about-hero h1 {
	font-size: 36px;
	color: #fff;
	margin-bottom: 8px;
}

.ltp-about-hero p { color: #a8c8b8; font-size: 16px; line-height: 1.75; }

/* Photo in about hero */
.ltp-about-photo .et_pb_image_wrap {
	border-radius: 12px;
	overflow: hidden;
	border: 4px solid rgba(255,255,255,0.2);
	box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}

/* Credentials badge */
.ltp-credentials-badge {
	display: inline-block;
	background: rgba(255,255,255,0.15);
	border-radius: 20px;
	padding: 5px 16px;
	font-family: Arial, sans-serif;
	font-size: 12px;
	letter-spacing: 1px;
	color: #fff;
	margin-bottom: 18px;
}

/* ─────────────────────────────────────────
   ABOUT — BODY / SIDEBAR
   Divi: 2-col row (2fr / 1fr)
───────────────────────────────────────── */
.ltp-timeline li {
	font-size: 14px;
	color: var(--ltp-text);
	padding: 10px 0 10px 24px;
	border-bottom: 1px solid #eef4f0;
	position: relative;
	line-height: 1.55;
}

.ltp-timeline li::before {
	content: '';
	position: absolute;
	left: 0; top: 18px;
	width: 8px; height: 8px;
	border-radius: 50%;
	background: var(--ltp-teal);
}

.ltp-timeline li:last-child { border-bottom: none; }

/* Sidebar credentials box */
.ltp-credentials-box {
	background: var(--ltp-bg-light);
	border: 1px solid var(--ltp-border);
	border-radius: 8px;
	padding: 28px 24px;
	margin-bottom: 24px;
}

.ltp-credentials-box h4 {
	font-family: Arial, sans-serif;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--ltp-accent);
	margin-bottom: 14px;
}

.ltp-credentials-box ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ltp-credentials-box ul li {
	font-size: 13px;
	color: #3d5a48;
	padding: 8px 0;
	border-bottom: 1px solid var(--ltp-border);
	line-height: 1.5;
}

.ltp-credentials-box ul li:last-child { border-bottom: none; }

/* ─────────────────────────────────────────
   CONTACT — INFO BLOCKS
   Divi: Text modules in right column
   CSS class: ltp-info-block
───────────────────────────────────────── */
.ltp-info-block {
	background: #fff;
	border: 1px solid var(--ltp-border);
	border-radius: 8px;
	padding: 22px 24px;
	margin-bottom: 18px;
}

.ltp-info-block h4 {
	font-family: Arial, sans-serif;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--ltp-accent);
	margin-bottom: 12px;
}

.ltp-info-block p, .ltp-info-block a {
	font-size: 14px;
	color: var(--ltp-text);
	line-height: 1.65;
}

.ltp-info-block a { color: var(--ltp-teal); text-decoration: none; }
.ltp-info-block a:hover { text-decoration: underline; }

/* Area tags */
.ltp-area-tag {
	display: inline-block;
	background: #e8f4f4;
	color: var(--ltp-teal);
	font-family: Arial, sans-serif;
	font-size: 12px;
	padding: 5px 12px;
	border-radius: 20px;
	border: 1px solid #c0dada;
	margin: 4px 4px 0 0;
}

/* ─────────────────────────────────────────
   CONTACT FORM
   Works with Divi Contact Form module
   or Contact Form 7 / Gravity Forms
───────────────────────────────────────── */
.et_pb_contact_form_container input[type="text"],
.et_pb_contact_form_container input[type="email"],
.et_pb_contact_form_container input[type="tel"],
.et_pb_contact_form_container textarea,
.et_pb_contact_form_container select {
	width: 100% !important;
	padding: 12px 16px !important;
	border: 1px solid var(--ltp-border) !important;
	border-radius: 4px !important;
	font-family: Arial, sans-serif !important;
	font-size: 15px !important;
	color: var(--ltp-green-dark) !important;
	background: #fff !important;
	transition: border-color 0.2s;
}

.et_pb_contact_form_container input:focus,
.et_pb_contact_form_container textarea:focus {
	border-color: var(--ltp-teal) !important;
	outline: none;
}

.et_pb_contact_submit {
	background: var(--ltp-accent) !important;
	border: none !important;
	border-radius: 4px !important;
	color: #fff !important;
	font-family: Arial, sans-serif !important;
	font-size: 15px !important;
	padding: 14px 32px !important;
	width: 100%;
	cursor: pointer;
}

/* ─────────────────────────────────────────
   ACCREDITATION STRIP
   Divi: Row of Image modules
   Section CSS class: ltp-accred-strip
───────────────────────────────────────── */
.ltp-accred-strip.et_pb_section {
	background: #fff !important;
	border-top: 1px solid var(--ltp-border);
	padding-top: 28px !important;
	padding-bottom: 28px !important;
}

.ltp-accred-strip .et_pb_image_wrap img {
	max-height: 54px;
	width: auto;
	opacity: 0.85;
	transition: opacity 0.2s;
}

.ltp-accred-strip .et_pb_image_wrap img:hover { opacity: 1; }

/* ─────────────────────────────────────────
   FOOTER
───────────────────────────────────────── */
#main-footer,
#main-footer .et_pb_section {
	background: var(--ltp-green-dark) !important;
	color: #a8c8b8;
}

#main-footer .footer-widget h4,
#main-footer .widget-title {
	font-family: Arial, sans-serif;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: #6a9a7a;
}

#main-footer .footer-widget a,
#main-footer .widget a {
	font-size: 13px;
	color: #8abaa0;
	text-decoration: none;
}

#main-footer .footer-widget a:hover,
#main-footer .widget a:hover { color: #c4e8e8; }

#et-footer-nav {
	background: var(--ltp-green-dark);
	border-top: 1px solid rgba(255,255,255,0.08);
}

#et-footer-nav .et-footer-nav li a {
	color: #5a8060;
	font-size: 12px;
}

/* ─────────────────────────────────────────
   MOBILE  (≤768px)
───────────────────────────────────────── */
@media (max-width: 768px) {

	.ltp-hero .et_pb_fullwidth_header_container_left h1 {
		font-size: 28px !important;
	}

	.ltp-page-hero h1 { font-size: 26px; }

	/* Stack hero buttons */
	.ltp-hero .et_pb_button_wrapper {
		display: block;
		margin-bottom: 12px;
	}

	.ltp-about-hero h1 { font-size: 26px; }

	/* Pricing cards full-width on mobile */
	.ltp-pricing-card { margin-bottom: 16px; }

	/* Tropic banner stack */
	.ltp-tropic-banner {
		flex-direction: column;
		padding: 24px 20px;
		text-align: center;
	}

	.ltp-tropic-banner .ltp-btn-tropic {
		display: block;
		margin-top: 16px;
	}

	/* Accreditation logos smaller on mobile */
	.ltp-accred-strip .et_pb_image_wrap img {
		max-height: 40px;
	}

	/* Area tags */
	.ltp-area-tag { font-size: 11px; padding: 4px 10px; }
}
