/*
Theme Name: LowLead Child
Theme URI:        https://example.com
Description:      Child theme for LowLead. Location routing via Location Hubs plugin; grid/card design here.
Author:           LowLead
Template:         lowlead
Version:          1.1.4
Requires at least: 6.0
Requires PHP:     7.4
Text Domain:      lowlead-child
*/

/*
 * Colors: Appearance → Customize → Color
 *   Secondary Color  → cards hover, arrows, accents
 *   Primary Color    → headings / links
 *   Accent Color     → titles
 *   Body Background  → page background
 *
 * Grid/card colors: Elementor → Site Settings → Global Colors (site-wide).
 * Location Hubs bridges --e-global-color-* → --theme-* on the front end.
 *
 * Home Services Grid widget Style tab: optional per-widget overrides only.
 */

/* Home Services Grid — uses LowLead :root variables from Theme Options */
.service-shortcode-grid .row,
.city-services-grid .row {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
}

.service-shortcode-grid .row > [class*="col-lg-"],
.service-shortcode-grid .row > [class*="col-md-"],
.service-shortcode-grid .row > [class*="col-sm-"] {
	box-sizing: border-box;
	flex: 0 0 auto;
}

.service-shortcode-grid .col-lg-12 { width: 100%; }
.service-shortcode-grid .col-lg-6,
.service-shortcode-grid .col-md-6 { width: 50%; }
.service-shortcode-grid .col-lg-4 { width: 33.333%; }
.service-shortcode-grid .col-lg-3 { width: 25%; }

.tf-practise-area-col,
.city-service-card-col {
	margin-bottom: 30px;
	padding: 0 15px;
}

.tf-practise-area-post,
.city-service-card {
	background: var(--theme-light-color);
	border-radius: 10px;
	overflow: hidden;
	transition: all 0.3s ease;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
	height: 100%;
}

.tf-practise-area-post .post-content,
.city-service-card .service-content {
	background: var(--theme-light-color);
	padding: 16px 20px;
	transition: all 0.3s ease;
}

.tf-practise-area-post .read-more-btn,
.city-service-card .read-more-btn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	text-decoration: none;
	font-size: 18px;
	font-weight: 500;
}

.tf-practise-area-post .read-more-btn .title-text,
.city-service-card .read-more-btn .title-text,
.city-service-card h2 a {
	color: var(--theme-light-foreground-color);
	transition: color 0.3s ease;
	text-decoration: none;
}

.tf-practise-area-post .read-more-btn .arrow-icon,
.city-service-card .read-more-btn .arrow-icon {
	color: var(--theme-secondary-color);
	transition: transform 0.3s ease;
}

.tf-practise-area-post:hover,
.tf-practise-area-post:hover .post-content,
.city-service-card:hover,
.city-service-card:hover .service-content {
	background: var(--theme-secondary-color);
}

.tf-practise-area-post:hover .read-more-btn .title-text,
.tf-practise-area-post:hover .read-more-btn .arrow-icon,
.city-service-card:hover .read-more-btn .title-text,
.city-service-card:hover .read-more-btn .arrow-icon,
.city-service-card:hover h2 a {
	color: var(--theme-secondary-foreground-color);
}

.tf-practise-area-post:hover .read-more-btn .arrow-icon,
.city-service-card:hover .read-more-btn .arrow-icon {
	transform: translateX(5px);
}

.tf-practise-area-post .practise-area-image,
.city-service-card .service-image {
	overflow: hidden;
}

.tf-practise-area-post .practise-area-image img,
.city-service-card .service-image img {
	width: 100%;
	height: 250px;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.tf-practise-area-post:hover .practise-area-image img,
.city-service-card:hover .service-image img {
	transform: scale(1.05);
}

/* Hub listing pages — keep footer/theme colors stable */
body.lh-hub-page .city-services-main {
	background: var(--theme-light-color);
	position: relative;
	z-index: 1;
}

mark,
.mark {
	color: var(--theme-secondary-color);
	background-color: transparent;
}

/*
 * Quote forms: LowLead parent styles every select with a background-image caret.
 * Elementor Pro also draws .select-caret-down-wrapper — hide the theme arrow so
 * each dropdown shows exactly one caret.
 */
.elementor-field-group .elementor-select-wrapper select,
.elementor-field-type-select select {
	background-image: none !important;
}

@media (max-width: 991px) {
	.service-shortcode-grid .col-lg-3,
	.service-shortcode-grid .col-lg-4,
	.service-shortcode-grid .col-lg-6 {
		width: 50%;
	}
}

@media (max-width: 768px) {
	.service-shortcode-grid .col-lg-3,
	.service-shortcode-grid .col-lg-4,
	.service-shortcode-grid .col-lg-6,
	.service-shortcode-grid .col-md-6,
	.service-shortcode-grid .col-sm-12 {
		width: 100%;
	}

	.tf-practise-area-col,
	.city-service-card-col {
		margin-bottom: 20px;
	}

	.tf-practise-area-post .practise-area-image img,
	.city-service-card .service-image img {
		height: 200px;
	}
}
