/* GALAA Estate — Layout Skeleton */

.gae-main { padding: 0; }

/* ============ Header (sticky) ============ */
.gae-header {
	position: relative;
	z-index: 2;
	background: var(--gae-primary);
	border-bottom: 1px solid rgba(255,255,255,.12);
	color: #fff;
	transition: box-shadow var(--gae-transition);
}
/* Header sits at the top of the page (not sticky). */
header.wp-block-template-part {
	position: relative;
	z-index: 10;
}
.gae-header:hover { box-shadow: var(--gae-shadow-sm); }
.gae-topbar { font-size: .8rem; letter-spacing: .04em; text-transform: uppercase; }
.gae-topbar a { color: inherit; }
.gae-topbar-tag { margin: 0; opacity: .9; }
.gae-header-main { padding: 1.25rem 0; align-items: center; }
.gae-main-nav ul { gap: 2rem !important; }
.gae-main-nav a {
	font-weight: 500;
	letter-spacing: .02em;
	text-transform: uppercase;
	font-size: .85rem;
	color: #fff;
}
.gae-main-nav a:hover { color: #f0d9da; }
.gae-header .wp-block-site-title a,
.gae-header .wp-block-site-logo a { color: #fff; }
.gae-header .wp-block-site-title a:hover { color: #f0d9da; }

/* ============ Hero ============ */
.gae-hero {
	background: linear-gradient(135deg, var(--gae-primary-dark) 0%, var(--gae-primary) 100%);
	color: #fff;
	padding: var(--gae-space-2xl) 1.25rem;
	text-align: center;
	min-height: 65vh;
	display: flex;
	align-items: center;
	justify-content: center;
}
.gae-hero .wp-block-cover__inner-container { max-width: 1100px; margin: 0 auto; }
.gae-hero-title {
	color: #fff !important;
	margin-bottom: 1rem;
}
.gae-hero p { color: rgba(255,255,255,.92); }
.gae-hero-search {
	max-width: 1100px;
	margin: 2.5rem auto 0;
}

/* ============ Property grid ============ */
.gae-property-grid {
	display: grid;
	gap: var(--gae-space-lg);
	grid-template-columns: 1fr;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 1.25rem;
}
@media (min-width: 640px)  { .gae-property-grid.gae-cols-2 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .gae-property-grid.gae-cols-3 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1280px) { .gae-property-grid.gae-cols-4 { grid-template-columns: repeat(4, 1fr); } }

/* ============ Sections ============ */
.wp-block-group.has-card-bg-background-color {
	padding: var(--gae-space-2xl) 0 !important;
}

/* ============ Footer ============ */
.gae-footer { color: rgba(255,255,255,.88); }
.gae-footer-heading {
	color: #fff;
	margin-bottom: 1rem;
	font-size: .9rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	font-weight: 600;
}
.gae-footer a { color: rgba(255,255,255,.7); }
.gae-footer a:hover { color: var(--gae-accent); }
.gae-footer-sep { border-color: rgba(255,255,255,.12); }
.gae-copy { color: rgba(255,255,255,.45); font-size: .85rem; }

/* ============ Single property layout ============ */
.gae-single-property { padding: 0; }
.gae-property-hero { max-width: 600px; margin-left: auto; margin-right: auto; }
.gae-property-hero img { aspect-ratio: 1/1; object-fit: cover; width: 100%; }
.gae-property-layout {
	padding: var(--gae-space-xl) 1.25rem;
	max-width: 1280px;
	margin: 0 auto;
}
.gae-property-title { font-size: clamp(2rem, 4vw, 2.75rem); margin-bottom: .25rem; }
.gae-property-city { color: var(--gae-muted); margin-bottom: 2rem; font-size: 1.05rem; }
.gae-sidebar { position: sticky; top: 100px; align-self: start; }

/* ============ Archive header ============ */
.gae-archive {
	background: var(--gae-card-bg);
	padding: var(--gae-space-xl) 0 !important;
	min-height: 60vh;
}
.gae-archive-header { text-align: center; padding-bottom: 1rem; }
.gae-archive-title { margin: 0; font-size: clamp(2rem, 4vw, 3rem); }
.gae-archive-search { max-width: 1100px; margin: 1.5rem auto 2.5rem; padding: 0 1.25rem; }

/* ============ Taxonomy lists (city/area/type chips) ============ */
.gae-tax-list {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem 1.4rem;
	list-style: none;
	padding: 0;
	margin: 0;
	justify-content: center;
}
.gae-tax-list li a {
	display: inline-flex;
	gap: .4rem;
	align-items: baseline;
	color: var(--gae-text);
	font-size: .95rem;
	font-weight: 500;
	transition: color var(--gae-transition);
}
.gae-tax-list li a:hover { color: var(--gae-primary); }
.gae-tax-list .gae-count { color: var(--gae-muted); font-size: .8em; }
.gae-tax-list li a:hover .gae-count { color: inherit; }

/* ============ Stats pattern ============ */
.gae-stats { padding: var(--gae-space-2xl) 0 !important; }
.gae-stats .wp-block-column { text-align: center; }
.gae-stats h3 {
	color: var(--gae-accent);
	font-size: clamp(2.5rem, 5vw, 4rem);
	font-weight: 800;
	margin-bottom: .5rem;
	letter-spacing: -0.03em;
}
.gae-stats p { color: rgba(255,255,255,.85); text-transform: uppercase; letter-spacing: .12em; font-size: .85rem; font-weight: 500; }

/* ============ 404 ============ */
.gae-404 h1 {
	font-size: clamp(6rem, 16vw, 10rem);
	color: var(--gae-primary);
	margin-bottom: 0;
	font-weight: 900;
}

/* ============ Section heading style ============ */
.gae-section-heading {
	text-align: center;
	max-width: 700px;
	margin: 0 auto var(--gae-space-xl) !important;
}
.gae-section-heading h2 { margin-bottom: .75rem; }
.gae-section-heading p { color: var(--gae-muted); font-size: 1.1rem; }

/* ============ Value Props ============ */
.gae-value-props .wp-block-columns { gap: 2rem; }
.gae-value-card {
	text-align: center;
	padding: 2rem 1rem;
	border-radius: var(--gae-radius);
	transition: all var(--gae-transition);
}
.gae-value-card:hover { background: var(--gae-card-bg); transform: translateY(-4px); }
.gae-value-icon {
	font-size: 2.5rem !important;
	margin: 0 0 1rem !important;
	line-height: 1 !important;
	color: var(--gae-primary);
}
.gae-value-card h3 { font-size: 1.15rem; margin-bottom: .65rem; }
.gae-value-card p { color: var(--gae-muted); font-size: .95rem; margin: 0; }

/* ============ Testimonials ============ */
.gae-testimonials .wp-block-columns { gap: 2rem; }
.gae-testimonial {
	background: var(--gae-bg);
	border: 1px solid var(--gae-border);
	border-radius: var(--gae-radius);
	padding: 2rem;
	position: relative;
	transition: all var(--gae-transition);
}
.gae-testimonial:hover { transform: translateY(-2px); box-shadow: var(--gae-shadow-sm); }
.gae-testimonial::before {
	content: '"';
	position: absolute;
	top: -.5rem;
	left: 1.25rem;
	font-size: 5rem;
	font-weight: 800;
	color: var(--gae-primary);
	opacity: .15;
	line-height: 1;
	font-family: Georgia, serif;
}
.gae-testimonial-quote {
	font-size: 1rem;
	line-height: 1.65;
	color: var(--gae-text);
	margin: 0 0 1.5rem;
	font-style: italic;
}
.gae-testimonial-author {
	font-size: .85rem;
	color: var(--gae-muted);
	margin: 0;
	letter-spacing: .03em;
}
.gae-testimonial-author strong { color: var(--gae-text); display: block; font-style: normal; }

/* ============ CTA Banner ============ */
.gae-cta-banner { text-align: center; }
.gae-cta-banner .wp-block-cover__inner-container { max-width: 700px; margin: 0 auto; }
.gae-cta-banner .wp-block-buttons { gap: .75rem !important; }

/* Eyebrow text */
.gae-eyebrow {
	text-transform: uppercase;
	letter-spacing: .2em;
	font-size: .8rem;
	color: var(--gae-primary);
	font-weight: 600;
	margin-bottom: .75rem;
	display: block;
}

/* Hero eyebrow reads better in warm accent over the dark photo */
.gae-hero .gae-eyebrow { color: #e9c9cb; }

/* Header actions (currency + CTA) */
.gae-header-actions { display: flex; align-items: center; gap: .9rem; }
.gae-header-main { gap: 1.5rem; align-items: center; }
.gae-main-nav { flex: 1; }
@media (max-width: 860px) {
	.gae-header-actions .gae-header-cta { display: none; }
}

/* CTA button on the maroon header: white pill, maroon text */
.gae-header-cta .wp-block-button__link {
	background: #fff;
	color: var(--gae-primary);
	font-weight: 700;
}
.gae-header-cta .wp-block-button__link:hover { background: #f0d9da; color: var(--gae-primary); }


/* ============ Footer (maroon) ============ */
.gae-footer a { color: #f0e3e3; }
.gae-footer a:hover { color: #ffffff; }
.gae-footer .gae-footer-heading { color: #ffffff; }
.gae-footer .gae-tax-list { justify-content: flex-start; flex-direction: column; gap: .55rem; }
.gae-footer .gae-tax-list li a { color: #f0e3e3; }
.gae-footer .gae-tax-list li a:hover { color: #ffffff; }
.gae-footer .gae-tax-list .gae-count { color: rgba(255,255,255,.5); }
.gae-footer .gae-copy { color: rgba(255,255,255,.6); }
.gae-footer .gae-copy a { color: rgba(255,255,255,.85); }
.gae-footer .wp-block-site-logo a { color: #fff; }

/* ============ Social links ============ */
.gae-social { display: flex; gap: .6rem; flex-wrap: wrap; margin: .5rem 0; }
.gae-social a {
	width: 42px; height: 42px;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--gae-border);
	color: var(--gae-text);
	transition: all var(--gae-transition);
}
.gae-social a:hover { background: var(--gae-primary); color: #fff; border-color: var(--gae-primary); }
.gae-social svg { width: 20px; height: 20px; }

/* ============ Contact / company card polish ============ */
.gae-contact-card { border: 1px solid var(--gae-border); padding: 1.75rem; background: var(--gae-bg); }
.gae-contact-card .gae-contact-name { margin-top: .25rem; font-size: 1.25rem; }
.gae-contact-channels { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0 1.25rem; }
.gae-contact-channels .gae-btn { flex: 0 0 auto; }
.gae-inquiry-form p { margin: 0 0 .85rem; }
.gae-inquiry-form input, .gae-inquiry-form textarea { width: 100%; }
.gae-company-info { line-height: 1.9; }
.gae-company-info strong { display: block; font-weight: 600; }

/* Similar Properties — full width below the property layout */
.gae-similar-full { margin-top: 2.75rem; }

/* Mobile hamburger / nav toggle white on the maroon header */
.gae-header .wp-block-navigation__responsive-container-open,
.gae-header .wp-block-navigation__responsive-container-open svg { color: #fff; fill: currentColor; }
.gae-header .wp-block-navigation .wp-block-navigation-item__content { color: #fff; }
/* opened overlay menu: readable dark links on its own light panel */
.gae-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.gae-header .wp-block-navigation__responsive-container.is-menu-open a { color: var(--gae-text); }
.gae-header .wp-block-navigation__responsive-container-close { color: var(--gae-text); }

/* Home: hero butts up against the header (remove the block-gap white strip) */
main.gae-home { margin-top: 0; }
.gae-home .wp-block-post-content { margin-top: 0; }
.gae-home .wp-block-post-content > .gae-hero:first-child,
.gae-home .gae-hero:first-of-type { margin-top: 0; }
