/**
Theme Name: TLG Real Estate
Author: Capital Data Studio
Author URI: https://capitaldatastudio.com
Description: TLG Real Estate Theme (2026)
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tlg-real-estate
Template: astra
*/
/* Footer: copyright links on the dark below-footer bar */
.ast-footer-copyright a {
	color: #9aa0a8;
}

.ast-footer-copyright a:hover {
	color: #fff;
}

/* Footer: widget titles match the live site's small uppercase headings */
.site-footer .widget-title {
	font-size: 14px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

/* Property Management listings ([tlg_mgmt_properties], [tlg_mgmt_people]) */
.tlg-listing-item {
	display: flex;
	gap: 28px;
	align-items: flex-start;
	padding: 28px 0;
	border-bottom: 1px solid #e6e6e6;
}

.tlg-listing-item:first-child {
	padding-top: 0;
}

.tlg-listing-media {
	flex: 0 0 220px;
}

.tlg-listing-media img {
	display: block;
	width: 100%;
	height: auto;
}

.tlg-listing-body {
	flex: 1;
	min-width: 0;
}

.tlg-listing-title {
	margin-bottom: 4px;
	font-size: 24px;
}

.tlg-listing-subtitle {
	margin-bottom: 12px;
	font-weight: 600;
	color: #213e7e;
}

.tlg-listing-link {
	font-weight: 700;
	border-bottom: 1px dotted #213e7e;
	text-decoration: none;
}

.tlg-listing-contacts {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid #eee;
}

.tlg-listing-contacts p {
	margin-bottom: 4px;
}

.tlg-sep {
	margin: 0 8px;
	color: #bbb;
}

@media (max-width: 600px) {
	.tlg-listing-item {
		flex-direction: column;
		gap: 16px;
	}

	.tlg-listing-media {
		flex-basis: auto;
		max-width: 260px;
	}
}

/* Home page */
.tlg-home-hero {
	margin: 0;
}

.tlg-home-hero img {
	display: block;
	width: 100%;
	height: auto;
}

.tlg-home-mission-text {
	max-width: 900px;
	margin-inline: auto;
}

.tlg-home-agents {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 20px;
}

/* Featured agent cards (Loop Builder over the Agents CPT) */
.tlg-agent-card p {
	margin: 0;
}

.tlg-agent-photo img {
	border-bottom: 3px solid #213e7e;
}

.tlg-agent-name {
	margin-top: 12px;
	font-size: 20px;
}

.tlg-agent-name a {
	color: #434a54;
	text-decoration: none;
}

.tlg-agent-name a:hover {
	color: #213e7e;
}

.tlg-agent-position {
	margin-bottom: 6px;
	color: #99a3b1;
}

.tlg-agent-phone::before {
	content: "Office: ";
	font-weight: 600;
}

.tlg-agent-mobile::before {
	content: "Mobile: ";
	font-weight: 600;
}

.tlg-agent-specialty {
	margin-top: 8px !important;
	font-style: italic;
}

.tlg-agent-listings {
	align-self: flex-start;
	margin-top: 12px;
	padding: 8px 18px;
	background: #213e7e;
	color: #fff !important;
	font-weight: 600;
	text-decoration: none;
}

.tlg-agent-listings:hover {
	background: #00853e;
}

.tlg-agent-card p:empty {
	display: none;
}

/* Loop Builder grids need an explicit width inside flex containers (responsive grid has no intrinsic width) */
.wp-block-spectra-container > .wp-block-spectra-pro-loop-builder {
	width: 100%;
	align-self: stretch;
}

.tlg-agent-listings,
.tlg-agent-listings:hover,
.tlg-agent-name a {
	text-decoration: none !important;
}

/* Spectra marks root containers full-width; keep the agents section at content width */
.tlg-home-agents.alignfull {
	max-width: 1240px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 20px;
	padding-right: 20px;
}

/* Content pages (rebuilt from WPBakery): banner, title, two columns */
.tlg-page-banner {
	margin: 0;
}

.tlg-page-banner img {
	display: block;
	width: 100%;
	height: auto;
}

.tlg-two-col.alignfull,
.tlg-two-col {
	max-width: 1240px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 20px;
	padding-right: 20px;
}

.tlg-col-main {
	flex: 1 1 560px;
	min-width: 0;
}

.tlg-col-side {
	flex: 0 1 340px;
	min-width: 0;
}

.tlg-page-title {
	margin-bottom: 4px;
	font-size: 36px;
	color: #213e7e;
}

.tlg-col-main h2 {
	margin-top: 14px;
	font-size: 24px;
}

.tlg-cta,
.tlg-sidebar-box {
	background: #f3f5f8;
}

.tlg-testimonial {
	padding: 18px 0;
	border-bottom: 1px solid #e6e6e6;
}

.tlg-testimonial-photo img {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	object-fit: cover;
}

.tlg-testimonial-quote {
	font-style: italic;
}

.tlg-testimonial-cite {
	font-size: 14px;
	color: #6b7280;
}

.tlg-rounded img {
	border-radius: 6px;
}

.tlg-rounded figcaption {
	font-size: 14px;
	text-align: center;
}

@media (max-width: 921px) {
	.tlg-col-main,
	.tlg-col-side {
		flex-basis: 100%;
	}
}

.tlg-staff .tlg-page-title {
	text-align: left;
}

/* Footer: keep side padding on small screens */
@media (max-width: 921px) {
	.site-primary-footer-wrap,
	.site-below-footer-wrap {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* Facebook feed (270px, fixed by Facebook) fits the sidebar box down to 360px-wide phones */
@media (max-width: 544px) {
	.tlg-facebook.tlg-sidebar-box {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}
}

/* Single agent page (single-estate_agent.php) */
.tlg-agent-page {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 40px;
	padding-top: 40px;
	padding-bottom: 50px;
}

.tlg-agent-page .tlg-col-side {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.tlg-agent-subtitle {
	margin-bottom: 24px;
	color: #99a3b1;
}

.tlg-agent-profile {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	align-items: flex-start;
	margin-bottom: 30px;
}

.tlg-agent-profile-photo {
	flex: 0 1 300px;
}

.tlg-agent-profile-photo img {
	display: block;
	width: 100%;
	height: auto;
	border-bottom: 3px solid #213e7e;
}

.tlg-agent-details {
	flex: 1 1 260px;
}

.tlg-agent-details-title {
	margin: 0 0 16px;
	padding: 10px 14px;
	background: #f3f5f8;
	font-size: 17px;
	font-weight: 500;
}

.tlg-agent-details-name {
	margin: 0;
	font-size: 18px;
	color: #434a54;
}

.tlg-agent-details-position {
	margin: 0 0 10px;
	color: #99a3b1;
}

.tlg-agent-details-list {
	margin: 0;
	list-style: none;
}

.tlg-agent-details-list li {
	position: relative;
	margin-bottom: 6px;
	padding-left: 26px;
}

.tlg-agent-details-list li::before {
	content: "";
	position: absolute;
	top: 5px;
	left: 0;
	width: 15px;
	height: 15px;
	background-color: #474747;
	-webkit-mask: var(--tlg-icon) no-repeat center / contain;
	mask: var(--tlg-icon) no-repeat center / contain;
}

.tlg-icon-phone {
	--tlg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");
}

.tlg-icon-mobile {
	--tlg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 1H8a3 3 0 0 0-3 3v16a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V4a3 3 0 0 0-3-3zm-4 21a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5-4H7V4h10z'/%3E%3C/svg%3E");
}

.tlg-icon-email {
	--tlg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5z'/%3E%3C/svg%3E");
}

.tlg-agent-details-list a {
	color: #474747;
	text-decoration: none;
}

.tlg-agent-details-list a:hover {
	color: #213e7e;
}

.tlg-agent-section {
	margin-bottom: 30px;
}

.tlg-agent-section h2 {
	font-size: 22px;
}

.tlg-agent-page {
	width: 100%;
	box-sizing: border-box;
}

/* Contact Me form submit: same look as the site's Spectra buttons */
.tlg-agent-contact .frm_button_submit,
.tlg-agent-contact button[type="submit"] {
	padding: 12px 26px;
	border: 0;
	border-radius: 0;
	background: #213e7e;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
}

.tlg-agent-contact .frm_button_submit:hover,
.tlg-agent-contact button[type="submit"]:hover {
	background: #00853e;
	color: #fff;
}

.tlg-agent-page .tlg-agent-details-title {
	font-size: 17px;
}
