/* ==========================================================================
   Inmuebles listing pages (template-alquiler.php / template-venta.php)
   Shared "Comprar" / "Alquilar" prototype design.
   ========================================================================== */

/* Full width content so the hero can bleed */
body.gai-alquiler-page .site-content > .ast-container,
body.gai-venta-page .site-content > .ast-container {
	max-width: 100% !important;
	padding-inline: 0 !important;
}

/* ==========================================================================
   Prototype property-card grid (2 columns, like the prototype "compact")
   ========================================================================== */
.gai-alquiler-grid,
.gai-venta-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

/* Results header (count + sort) spans the full width above the cards */
.gai-alquiler-grid > .row:not(.property-item),
.gai-venta-grid > .row:not(.property-item) {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	grid-column: 1 / -1;
	margin: 0 0 8px;
}
/* Neutralise the Bootstrap clearfix pseudo-elements so they don't become extra
   flex items and push the count/sort columns away from the extremes */
.gai-alquiler-grid > .row:not(.property-item)::before,
.gai-alquiler-grid > .row:not(.property-item)::after,
.gai-venta-grid > .row:not(.property-item)::before,
.gai-venta-grid > .row:not(.property-item)::after {
	content: none !important;
	display: none !important;
}
.gai-alquiler-grid > .row:not(.property-item) > [class*="col-"],
.gai-venta-grid > .row:not(.property-item) > [class*="col-"] {
	width: auto !important;
	float: none !important;
	flex: none !important;
	padding: 0 !important;
}
/* Count sits flush left, sort control flush right */
.gai-alquiler-grid > .row:not(.property-item) > .col-md-8,
.gai-venta-grid > .row:not(.property-item) > .col-md-8 {
	margin-right: auto !important;
}
.gai-alquiler-grid > .row:not(.property-item) .filters-wrapper-plugin,
.gai-venta-grid > .row:not(.property-item) .filters-wrapper-plugin {
	margin: 0 !important;
}
.gai-alquiler-grid > .row:not(.property-item) .filters-listado,
.gai-venta-grid > .row:not(.property-item) .filters-listado {
	margin-left: auto !important;
}
.gai-alquiler-grid .text-numpropiedades-listado,
.gai-venta-grid .text-numpropiedades-listado {
	color: var(--muted);
	font-size: 0.9rem;
	font-weight: 700;
}
.gai-alquiler-grid .order,
.gai-venta-grid .order {
	margin-right: 8px;
	color: var(--muted);
	font-size: 0.8rem;
}
.gai-alquiler-grid .select-filtros,
.gai-venta-grid .select-filtros {
	width: auto;
	min-height: 42px;
	padding: 8px 34px 8px 12px;
	border: 1px solid var(--line);
	border-radius: 0;
	background: #fff;
	color: var(--ink);
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.82rem;
	cursor: pointer;
}

/* Hide any stray wrapper / settings / pagination the shortcode emits */
.gai-alquiler-grid > input,
.gai-venta-grid > input,
.gai-alquiler-grid > form,
.gai-venta-grid > form,
.gai-alquiler-grid .search-wrapper2,
.gai-venta-grid .search-wrapper2,
.gai-alquiler-grid .search2,
.gai-venta-grid .search2,
.gai-alquiler-grid .advance-search-form,
.gai-venta-grid .advance-search-form {
	display: none !important;
}

/* The plugin emits .col-md-4 wrappers around each card; make each a plain
   grid cell holding only the rebuilt .property-card (no bootstrap gutters) */
.gai-alquiler-grid > .col-md-4,
.gai-venta-grid > .col-md-4 {
	width: auto !important;
	max-width: none !important;
	float: none !important;
	flex: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Rebuilt prototype card fills its wrapper and keeps equal heights */
.gai-alquiler-grid .property-card,
.gai-venta-grid .property-card {
	height: 100%;
}
.gai-alquiler-grid .property-card .property-info,
.gai-venta-grid .property-card .property-info {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}
.gai-alquiler-grid .property-card .property-bottom,
.gai-venta-grid .property-card .property-bottom {
	margin-top: auto;
}

/* Responsive: one column on small screens */
@media (max-width: 600px) {
	.gai-alquiler-grid,
	.gai-venta-grid {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   Venta page — SEO content + "Latest from the blog" (template-venta.php)
   Sections added below the "Búsqueda activa" CTA band (2026-09-09).
   Scoped to the venta page so the alquiler page is untouched.
   ========================================================================== */
body.gai-venta-page .ve-content {
	padding-bottom: 130px;
}

/* Section intro heading (centred, editorial serif) */
body.gai-venta-page .ve-head {
	max-width: 880px;
	margin: 0 auto 60px;
	text-align: center;
}
body.gai-venta-page .ve-head h2 {
	margin: 0;
	font-family: "Source Serif 4", Georgia, serif;
	font-weight: 500;
	font-size: clamp(2rem, 3.6vw, 3.1rem);
	line-height: 1.14;
}

/* Two type cards (obra nueva / segunda mano) */
body.gai-venta-page .ve-types {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
body.gai-venta-page .ve-type {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 42px 44px 44px;
	border: 1px solid var(--line);
	background: var(--paper);
	transition: transform 0.25s, box-shadow 0.25s;
}
body.gai-venta-page .ve-type::before {
	content: "";
	position: absolute;
	top: -1px;
	left: -1px;
	right: -1px;
	height: 4px;
	background: var(--berry);
}
body.gai-venta-page .ve-type:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
}
body.gai-venta-page .ve-index {
	display: inline-grid;
	width: 46px;
	height: 46px;
	place-items: center;
	margin-bottom: 24px;
	border: 1px solid var(--berry);
	border-radius: 50%;
	color: var(--berry);
	font-family: "Source Serif 4", Georgia, serif;
	font-size: 0.95rem;
	font-weight: 600;
}
body.gai-venta-page .ve-type h3 {
	margin: 0 0 14px;
	font-size: 1.32rem;
	line-height: 1.3;
}
body.gai-venta-page .ve-type p {
	margin: 0 0 12px;
	color: var(--muted);
	font-size: 0.95rem;
	line-height: 1.75;
}
body.gai-venta-page .ve-type p:last-child {
	margin-bottom: 0;
}

/* Integral advice band */
body.gai-venta-page .ve-assist {
	display: grid;
	grid-template-columns: 1.05fr 1.35fr;
	gap: 56px;
	align-items: center;
	margin-top: 112px;
	padding: clamp(40px, 6vw, 80px);
	border-left: 4px solid var(--berry);
	background: var(--cream);
}
body.gai-venta-page .ve-assist h2 {
	margin: 0;
	font-family: "Source Serif 4", Georgia, serif;
	font-weight: 500;
	font-size: clamp(1.9rem, 3vw, 2.7rem);
	line-height: 1.16;
}
body.gai-venta-page .ve-assist-text {
	margin: 0;
	color: #4e4c4e;
	font-size: 1.02rem;
	line-height: 1.85;
}

/* Latest blog module (full-bleed cream band) */
body.gai-venta-page .ve-blog {
	padding-block: 112px;
	background: var(--cream);
}
body.gai-venta-page .ve-blog .section-heading {
	margin-bottom: 52px;
}
body.gai-venta-page .ve-blog .section-heading h2 {
	max-width: 900px;
	margin-bottom: 14px;
	font-family: "Source Serif 4", Georgia, serif;
	font-weight: 500;
	font-size: clamp(1.9rem, 3.2vw, 2.9rem);
}
body.gai-venta-page .ve-blog .blog-card h3 a:hover {
	color: var(--berry);
}

/* Responsive */
@media (max-width: 900px) {
	body.gai-venta-page .ve-types {
		grid-template-columns: 1fr;
	}
	body.gai-venta-page .ve-assist {
		grid-template-columns: 1fr;
		margin-top: 84px;
	}
}
@media (max-width: 600px) {
	body.gai-venta-page .ve-content {
		padding-bottom: 90px;
	}
	body.gai-venta-page .ve-head {
		margin-bottom: 40px;
	}
	body.gai-venta-page .ve-type {
		padding: 28px 24px;
	}
	body.gai-venta-page .ve-assist {
		padding: 32px 24px;
	}
	body.gai-venta-page .ve-blog {
		padding-block: 80px;
	}
}

/* ==========================================================================
   Alquiler page — two new sections below the "Búsqueda activa" band
   (template-alquiler.php, 2026-09-09).
   (1) Inquilinos  = white area, 3 numbered cards + CTA.
   (2) Propietarios = full-bleed berry band, centred copy + CTA.
   ========================================================================== */
body.gai-alquiler-page .alq-tenants {
	padding-bottom: 120px;
}

/* Section intro heading (centred, editorial serif) */
body.gai-alquiler-page .alq-head,
body.gai-venta-page .alq-head,
body.gai-nosotros-page .alq-head {
	max-width: 880px;
	margin: 0 auto 60px;
	text-align: center;
}
body.gai-alquiler-page .alq-head h2,
body.gai-venta-page .alq-head h2,
body.gai-nosotros-page .alq-head h2 {
	margin: 0;
	font-family: "Source Serif 4", Georgia, serif;
	font-weight: 500;
	font-size: clamp(2rem, 3.6vw, 3.1rem);
	line-height: 1.14;
}

/* Three tenant cards */
body.gai-alquiler-page .alq-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
body.gai-alquiler-page .alq-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 38px 34px 40px;
	border: 1px solid var(--line);
	background: var(--paper);
	transition: transform 0.25s, box-shadow 0.25s;
}
body.gai-alquiler-page .alq-card::before {
	content: "";
	position: absolute;
	top: -1px;
	left: -1px;
	right: -1px;
	height: 4px;
	background: var(--berry);
}
body.gai-alquiler-page .alq-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow);
}
body.gai-alquiler-page .alq-num {
	display: inline-grid;
	width: 46px;
	height: 46px;
	place-items: center;
	margin-bottom: 22px;
	border: 1px solid var(--berry);
	border-radius: 50%;
	color: var(--berry);
	font-family: "Source Serif 4", Georgia, serif;
	font-size: 0.95rem;
	font-weight: 600;
}
body.gai-alquiler-page .alq-card h3 {
	margin: 0 0 14px;
	font-size: 1.28rem;
	line-height: 1.3;
}
body.gai-alquiler-page .alq-card p {
	margin: 0;
	color: var(--muted);
	font-size: 0.95rem;
	line-height: 1.75;
}

/* Shared CTA under a section */
body.gai-alquiler-page .alq-cta {
	margin-top: 56px;
	text-align: center;
}

/* Propietarios: full-bleed berry band */
body.gai-alquiler-page .alq-landlord {
	padding-block: 116px;
	background: var(--berry);
	color: #fff;
}
body.gai-alquiler-page .alq-landlord-inner {
	max-width: 900px;
	margin-inline: auto;
	text-align: center;
}
body.gai-alquiler-page .alq-landlord h2 {
	margin: 0 0 26px;
	color: #fff;
	font-family: "Source Serif 4", Georgia, serif;
	font-weight: 500;
	font-size: clamp(2.1rem, 3.8vw, 3.3rem);
	line-height: 1.14;
}
body.gai-alquiler-page .alq-landlord-lead {
	max-width: 780px;
	margin: 0 auto 20px;
	color: #ffeef3;
	font-size: 1.1rem;
	line-height: 1.75;
}
body.gai-alquiler-page .alq-landlord-text {
	max-width: 820px;
	margin: 0 auto;
	color: #f4ced9;
	font-size: 1rem;
	line-height: 1.8;
}
body.gai-alquiler-page .alq-landlord .alq-cta {
	margin-top: 42px;
}

/* Responsive */
@media (max-width: 1000px) {
	body.gai-alquiler-page .alq-cards {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 600px) {
	body.gai-alquiler-page .alq-tenants {
		padding-bottom: 90px;
	}
	body.gai-alquiler-page .alq-head {
		margin-bottom: 40px;
	}
	body.gai-alquiler-page .alq-card {
		padding: 28px 24px;
	}
	body.gai-alquiler-page .alq-landlord {
		padding-block: 84px;
	}
}

/* ==========================================================================
   Alquiler page — Propietarios expanded content (template-alquiler.php)
   Sections added after the berry .alq-landlord intro band (2026-09-09).
   ========================================================================== */

/* Promise: centred serif heading on white */
body.gai-alquiler-page .alq-promise {
	padding: 70px 0;
}
body.gai-alquiler-page .alq-promise .wrap {
	max-width: 900px;
	text-align: center;
}
body.gai-alquiler-page .alq-promise h2 {
	margin: 0 0 22px;
	font-family: "Source Serif 4", Georgia, serif;
	font-weight: 500;
	font-size: clamp(2rem, 3.6vw, 3.1rem);
	line-height: 1.14;
}
body.gai-alquiler-page .alq-promise-text {
	max-width: 780px;
	margin: 0 auto;
	color: var(--muted);
	font-size: 1.05rem;
	line-height: 1.8;
}

/* Why trust us: soft band with 2x2 cards (reuses .alq-card) */
body.gai-alquiler-page .alq-why {
	padding-block: 112px;
	background: var(--soft);
}
body.gai-alquiler-page .alq-why .alq-head h2,
body.gai-alquiler-page .alq-modes .alq-head h2,
body.gai-alquiler-page .alq-process .alq-head h2,
body.gai-alquiler-page .alq-opinions .alq-head h2,
body.gai-alquiler-page .alq-faq .alq-head h2 {
	font-size: clamp(1.9rem, 3vw, 2.7rem);
}
body.gai-alquiler-page .alq-why-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
/* allow a second paragraph inside reused tenant cards */
body.gai-alquiler-page .alq-card p + p {
	margin-top: 12px;
}

/* Modalidades: comparison table on white */
body.gai-alquiler-page .alq-modes {
	padding: 20px 0 120px;
}
body.gai-alquiler-page .alq-table-wrap {
	overflow-x: auto;
}
body.gai-alquiler-page .alq-table {
	width: 100%;
	min-width: 680px;
	border-collapse: collapse;
	font-size: 0.94rem;
}
body.gai-alquiler-page .alq-table thead th {
	padding: 18px 22px;
	background: var(--berry);
	color: #fff;
	font-family: "Manrope", Arial, sans-serif;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-align: left;
}
body.gai-alquiler-page .alq-table thead th:not(:first-child) {
	text-align: center;
}
body.gai-alquiler-page .alq-table tbody th,
body.gai-alquiler-page .alq-table tbody td {
	padding: 17px 22px;
	border-bottom: 1px solid var(--line);
	vertical-align: top;
}
body.gai-alquiler-page .alq-table tbody th {
	font-weight: 800;
	text-align: left;
}
body.gai-alquiler-page .alq-table tbody td:not(:first-child) {
	text-align: center;
}
body.gai-alquiler-page .alq-table tbody tr:nth-child(even) td,
body.gai-alquiler-page .alq-table tbody tr:nth-child(even) th {
	background: var(--soft);
}
body.gai-alquiler-page .alq-table td.alq-yes {
	color: var(--berry);
	font-weight: 800;
	white-space: nowrap;
}
body.gai-alquiler-page .alq-table td.alq-yes::before {
	content: "✓";
	margin-right: 8px;
}
body.gai-alquiler-page .alq-table td.alq-no {
	color: var(--muted);
}
body.gai-alquiler-page .alq-table td.alq-no::before {
	content: "✕";
	margin-right: 8px;
	color: #a8a4a8;
}
body.gai-alquiler-page .alq-table td.alq-no small {
	display: block;
	color: var(--muted);
	font-size: 0.72rem;
}
body.gai-alquiler-page .alq-table tr.alq-ideal th,
body.gai-alquiler-page .alq-table tr.alq-ideal td {
	background: var(--cream);
	border-bottom: 0;
	text-align: left;
	font-size: 0.85rem;
	line-height: 1.6;
	color: #4e4c4e;
}
body.gai-alquiler-page .alq-table tr.alq-ideal th {
	color: var(--ink);
}

/* Proceso + garantías */
body.gai-alquiler-page .alq-process {
	padding-bottom: 120px;
}
body.gai-alquiler-page .alq-process-grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 72px;
	align-items: start;
}
body.gai-alquiler-page .alq-steps h3,
body.gai-alquiler-page .alq-guarantees h3 {
	margin: 0 0 8px;
	font-size: 1.5rem;
	font-weight: 800;
}
body.gai-alquiler-page .alq-steps-list {
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}
body.gai-alquiler-page .alq-steps-list li {
	display: flex;
	gap: 20px;
	padding: 22px 0;
	border-top: 1px solid var(--line);
}
body.gai-alquiler-page .alq-steps-list li:last-child {
	border-bottom: 1px solid var(--line);
}
body.gai-alquiler-page .alq-steps-list li > span {
	display: grid;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid var(--berry);
	border-radius: 50%;
	color: var(--berry);
	font-family: "Source Serif 4", Georgia, serif;
	font-size: 0.9rem;
	font-weight: 600;
}
body.gai-alquiler-page .alq-steps-list li strong {
	display: block;
	margin: 2px 0 6px;
	font-size: 1.05rem;
}
body.gai-alquiler-page .alq-steps-list li p {
	margin: 0;
	color: var(--muted);
	font-size: 0.92rem;
	line-height: 1.7;
}
body.gai-alquiler-page .alq-guarantee {
	position: relative;
	padding: 22px 0 22px 56px;
	border-top: 1px solid var(--line);
}
body.gai-alquiler-page .alq-guarantee:last-child {
	border-bottom: 1px solid var(--line);
}
body.gai-alquiler-page .alq-guarantee::before {
	content: "✓";
	position: absolute;
	top: 20px;
	left: 0;
	display: grid;
	width: 40px;
	height: 40px;
	place-items: center;
	border: 1px solid var(--berry);
	border-radius: 50%;
	color: var(--berry);
	font-weight: 800;
}
body.gai-alquiler-page .alq-guarantee strong {
	display: block;
	margin-bottom: 6px;
	font-size: 1rem;
}
body.gai-alquiler-page .alq-guarantee p {
	margin: 0;
	color: var(--muted);
	font-size: 0.92rem;
	line-height: 1.7;
}

/* Opiniones: cream band with a reviews carousel (landlords on Alquilar,
   buyers on Comprar, clients on Nosotros) (2026-09-09) */
body.gai-alquiler-page .alq-opinions,
body.gai-venta-page .alq-opinions,
body.gai-nosotros-page .alq-opinions {
	padding-block: 112px;
	background: var(--cream);
}
body.gai-alquiler-page .alq-carousel,
body.gai-venta-page .alq-carousel,
body.gai-nosotros-page .alq-carousel {
	max-width: 880px;
	margin: 0 auto;
}
body.gai-alquiler-page .alq-carousel-stage,
body.gai-venta-page .alq-carousel-stage,
body.gai-nosotros-page .alq-carousel-stage {
	min-height: 280px;
	padding: clamp(36px, 5vw, 64px) clamp(28px, 6vw, 72px);
	border: 1px solid var(--line);
	border-left: 4px solid var(--berry);
	background: #fff;
}
body.gai-alquiler-page .alq-carousel-slide,
body.gai-venta-page .alq-carousel-slide,
body.gai-nosotros-page .alq-carousel-slide {
	margin: 0;
}
body.gai-alquiler-page .alq-carousel-slide[hidden],
body.gai-venta-page .alq-carousel-slide[hidden],
body.gai-nosotros-page .alq-carousel-slide[hidden] {
	display: none;
}
body.gai-alquiler-page .alq-carousel-slide .alq-review-stars,
body.gai-venta-page .alq-carousel-slide .alq-review-stars,
body.gai-nosotros-page .alq-carousel-slide .alq-review-stars {
	margin-bottom: 18px;
	color: var(--berry);
	font-size: 1rem;
	letter-spacing: 0.12em;
}
body.gai-alquiler-page .alq-carousel-slide blockquote,
body.gai-venta-page .alq-carousel-slide blockquote,
body.gai-nosotros-page .alq-carousel-slide blockquote {
	margin: 0 0 26px;
	color: var(--ink);
	font-family: "Source Serif 4", Georgia, serif;
	font-size: clamp(1.05rem, 1.45vw, 1.32rem);
	line-height: 1.55;
	letter-spacing: -0.01em;
}
body.gai-alquiler-page .alq-review-by,
body.gai-venta-page .alq-review-by,
body.gai-nosotros-page .alq-review-by {
	padding-top: 18px;
	border-top: 1px solid var(--line);
}
body.gai-alquiler-page .alq-review-by strong,
body.gai-venta-page .alq-review-by strong,
body.gai-nosotros-page .alq-review-by strong {
	display: block;
	font-size: 0.95rem;
}
body.gai-alquiler-page .alq-review-by span,
body.gai-venta-page .alq-review-by span,
body.gai-nosotros-page .alq-review-by span {
	display: block;
	margin-top: 2px;
	color: var(--muted);
	font-size: 0.8rem;
}
body.gai-alquiler-page .alq-carousel-controls,
body.gai-venta-page .alq-carousel-controls,
body.gai-nosotros-page .alq-carousel-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin-top: 28px;
}
body.gai-alquiler-page .alq-carousel-controls button,
body.gai-venta-page .alq-carousel-controls button,
body.gai-nosotros-page .alq-carousel-controls button {
	display: inline-flex;
	width: 46px;
	height: 46px;
	align-items: center;
	justify-content: center;
	border: 1px solid #dcc8d1;
	border-radius: 50%;
	background: #fff;
	color: var(--berry);
	font-size: 1.2rem;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
body.gai-alquiler-page .alq-carousel-controls button:hover,
body.gai-venta-page .alq-carousel-controls button:hover,
body.gai-nosotros-page .alq-carousel-controls button:hover {
	background: var(--berry);
	border-color: var(--berry);
	color: #fff;
}
body.gai-alquiler-page .alq-carousel-controls > span,
body.gai-venta-page .alq-carousel-controls > span,
body.gai-nosotros-page .alq-carousel-controls > span {
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	color: var(--muted);
}
@media (max-width: 600px) {
	body.gai-alquiler-page .alq-carousel-stage,
	body.gai-venta-page .alq-carousel-stage,
	body.gai-nosotros-page .alq-carousel-stage {
		min-height: 0;
		padding: 30px 24px;
	}
	body.gai-alquiler-page .alq-carousel-slide,
	body.gai-venta-page .alq-carousel-slide,
	body.gai-nosotros-page .alq-carousel-slide {
		min-height: 0;
	}
}

/* FAQ (propietarios on Alquilar, compradores on Comprar) */
body.gai-alquiler-page .alq-faq,
body.gai-venta-page .alq-faq {
	padding-block: 112px;
}
body.gai-alquiler-page .alq-faq-list,
body.gai-venta-page .alq-faq-list {
	max-width: 820px;
	margin: 0 auto;
}
body.gai-alquiler-page .alq-faq-list details,
body.gai-venta-page .alq-faq-list details {
	border-bottom: 1px solid var(--line);
}
body.gai-alquiler-page .alq-faq-list details:first-of-type,
body.gai-venta-page .alq-faq-list details:first-of-type {
	border-top: 1px solid var(--line);
}
body.gai-alquiler-page .alq-faq-list summary,
body.gai-venta-page .alq-faq-list summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 24px 0;
	font-weight: 800;
	cursor: pointer;
	list-style: none;
}
body.gai-alquiler-page .alq-faq-list summary::-webkit-details-marker,
body.gai-venta-page .alq-faq-list summary::-webkit-details-marker {
	display: none;
}
body.gai-alquiler-page .alq-faq-list summary::after,
body.gai-venta-page .alq-faq-list summary::after {
	content: "+";
	color: var(--berry);
	font-size: 1.5rem;
	font-weight: 800;
	line-height: 1;
}
body.gai-alquiler-page .alq-faq-list details[open] summary::after,
body.gai-venta-page .alq-faq-list details[open] summary::after {
	content: "−";
}
body.gai-alquiler-page .alq-faq-list details p,
body.gai-venta-page .alq-faq-list details p {
	margin: 0;
	padding: 0 40px 26px 0;
	color: var(--muted);
	font-size: 0.94rem;
	line-height: 1.75;
}

/* Responsive */
@media (max-width: 1000px) {
	body.gai-alquiler-page .alq-why-grid,
	body.gai-alquiler-page .alq-process-grid {
		grid-template-columns: 1fr;
	}
	body.gai-alquiler-page .alq-process-grid {
		gap: 56px;
	}
}
@media (max-width: 600px) {
	body.gai-alquiler-page .alq-promise {
		padding: 56px 0;
	}
	body.gai-alquiler-page .alq-why,
	body.gai-alquiler-page .alq-opinions,
	body.gai-venta-page .alq-opinions,
	body.gai-nosotros-page .alq-opinions {
		padding-block: 80px;
	}
	body.gai-alquiler-page .alq-modes {
		padding-bottom: 90px;
	}
	body.gai-alquiler-page .alq-process {
		padding-bottom: 90px;
	}
	body.gai-alquiler-page .alq-faq,
	body.gai-venta-page .alq-faq {
		padding-block: 90px;
	}
	body.gai-alquiler-page .alq-table thead th,
	body.gai-alquiler-page .alq-table tbody th,
	body.gai-alquiler-page .alq-table tbody td {
		padding: 14px 14px;
	}
}

/* ============================================================
   Listing heroes (Comprar / Alquilar) — photo as full background
   ============================================================ */
body.gai-venta-page .listing-hero {
	background-image:
		linear-gradient(90deg, rgba(24, 24, 25, 0.97) 0%, rgba(24, 24, 25, 0.9) 42%, rgba(24, 24, 25, 0.5) 78%, rgba(24, 24, 25, 0.22) 100%),
		url("../images/hero-comprar.jpg");
}
body.gai-alquiler-page .listing-hero {
	background-image:
		linear-gradient(90deg, rgba(24, 24, 25, 0.97) 0%, rgba(24, 24, 25, 0.9) 42%, rgba(24, 24, 25, 0.5) 78%, rgba(24, 24, 25, 0.22) 100%),
		url("../images/hero-alquilar.jpg");
}
body.gai-venta-page .listing-hero,
body.gai-alquiler-page .listing-hero {
	background-color: var(--ink);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	align-items: center;
	min-height: clamp(460px, 60vh, 620px);
	padding-block: clamp(56px, 7vw, 96px);
}
@media (max-width: 900px) {
	body.gai-venta-page .listing-hero {
		background-image:
			linear-gradient(180deg, rgba(24, 24, 25, 0.9) 0%, rgba(24, 24, 25, 0.8) 60%, rgba(24, 24, 25, 0.55) 100%),
			url("../images/hero-comprar.jpg");
	}
	body.gai-alquiler-page .listing-hero {
		background-image:
			linear-gradient(180deg, rgba(24, 24, 25, 0.9) 0%, rgba(24, 24, 25, 0.8) 60%, rgba(24, 24, 25, 0.55) 100%),
			url("../images/hero-alquilar.jpg");
	}
	body.gai-venta-page .listing-hero,
	body.gai-alquiler-page .listing-hero {
		min-height: 0;
		padding-block: clamp(60px, 9vw, 84px);
	}
}

/* ============================================================
   Venta SEO content (.ve-content) — fits the available viewport:
   reduce paddings/typography + centre vertically so the whole
   section (heading, 2 cards, advice band) is visible without scroll.
   ============================================================ */
body.gai-venta-page .ve-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: calc(100svh - 84px);
	padding-block: clamp(36px, 4.5vh, 64px);
}
body.gai-venta-page .ve-head {
	margin-bottom: 26px;
}
body.gai-venta-page .ve-head h2 {
	font-size: clamp(1.7rem, 2.8vw, 2.5rem);
}
body.gai-venta-page .ve-types {
	gap: 18px;
}
body.gai-venta-page .ve-type {
	padding: 26px 28px;
}
body.gai-venta-page .ve-type .ve-index {
	width: 38px;
	height: 38px;
	margin-bottom: 14px;
	font-size: 0.85rem;
}
body.gai-venta-page .ve-type h3 {
	margin-bottom: 10px;
	font-size: 1.15rem;
	line-height: 1.25;
}
body.gai-venta-page .ve-type p {
	font-size: 0.87rem;
	line-height: 1.6;
}
body.gai-venta-page .ve-assist {
	margin-top: 34px;
	gap: 30px;
	padding: 38px 32px;
}
body.gai-venta-page .ve-assist h2 {
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	line-height: 1.15;
}
body.gai-venta-page .ve-assist-text {
	font-size: 0.9rem;
	line-height: 1.7;
}
@media (max-width: 900px) {
	body.gai-venta-page .ve-content {
		min-height: 0;
	}
}

/* Reduce the bottom space of the filter + results section */
body.gai-venta-page .listing-section,
body.gai-alquiler-page .listing-section {
	padding-bottom: 48px;
}

/* Reduce the bottom margin of the "Búsqueda activa" band */
body.gai-venta-page .search-assist,
body.gai-alquiler-page .search-assist {
	margin-bottom: 48px;
}

/* ==========================================================================
   Comprar page — two side-by-side CTA banners (active search + sell advice).
   The Alquilar page keeps the original single centred band.
   ========================================================================== */
body.gai-venta-page .search-assist {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	gap: 24px;
	width: min(1180px, calc(100% - 48px));
	padding: 0;
	background: none;
}
body.gai-venta-page .search-assist .assist-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 40px 46px;
	background: var(--cream);
}
body.gai-venta-page .search-assist .assist-card h2 {
	margin-bottom: 14px;
}
body.gai-venta-page .search-assist .assist-card p:not(.eyebrow) {
	margin-bottom: 20px;
}
body.gai-venta-page .search-assist .assist-card .button {
	margin-top: auto;
}
body.gai-venta-page .search-assist .search-assist-sell {
	white-space: normal;
	line-height: 1.35;
	padding: 10px 15px;
	text-align: center;
}
@media (max-width: 900px) {
	body.gai-venta-page .search-assist {
		grid-template-columns: 1fr;
	}
	body.gai-venta-page .search-assist .assist-card {
		padding: 28px 26px;
	}
}

/* ==========================================================================
   "Inquilinos" section — fit inside the viewport (no scroll).
   Keeps the heading + 3 cards + CTA within one screen height.
   ========================================================================== */
body.gai-alquiler-page .alq-tenants {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: calc(100svh - 84px);
	padding-block: clamp(28px, 4vh, 52px);
}
body.gai-alquiler-page .alq-tenants .alq-head {
	margin-bottom: clamp(22px, 3vh, 36px);
}
body.gai-alquiler-page .alq-tenants .alq-head h2 {
	font-size: clamp(1.55rem, 2.7vw, 2.3rem);
}
body.gai-alquiler-page .alq-tenants .alq-card {
	padding: 26px 28px 28px;
}
body.gai-alquiler-page .alq-tenants .alq-num {
	width: 40px;
	height: 40px;
	margin-bottom: 14px;
	font-size: 0.85rem;
}
body.gai-alquiler-page .alq-tenants .alq-card h3 {
	margin-bottom: 10px;
	font-size: 1.12rem;
	line-height: 1.28;
}
body.gai-alquiler-page .alq-tenants .alq-card p {
	font-size: 0.88rem;
	line-height: 1.62;
}
body.gai-alquiler-page .alq-tenants .alq-cta {
	margin-top: clamp(20px, 2.6vh, 34px);
}
@media (max-width: 900px) {
	body.gai-alquiler-page .alq-tenants {
		min-height: 0;
		padding-block: 64px;
	}
}

/* ==========================================================================
   "Propietarios" band — compact to fit inside the viewport (no scroll).
   ========================================================================== */
body.gai-alquiler-page .alq-landlord {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: calc(100svh - 84px);
	padding-block: clamp(32px, 5vh, 64px);
}
body.gai-alquiler-page .alq-landlord .eyebrow {
	margin-bottom: 10px;
}
body.gai-alquiler-page .alq-landlord h2 {
	margin-bottom: 16px;
	font-size: clamp(1.6rem, 2.8vw, 2.35rem);
}
body.gai-alquiler-page .alq-landlord-lead {
	margin-bottom: 14px;
	font-size: 1rem;
}
body.gai-alquiler-page .alq-landlord-text {
	font-size: 0.92rem;
}
body.gai-alquiler-page .alq-landlord .alq-cta {
	margin-top: clamp(20px, 2.6vh, 32px);
}
@media (max-width: 900px) {
	body.gai-alquiler-page .alq-landlord {
		min-height: 0;
		padding-block: 64px;
	}
}

/* ==========================================================================
   "¿Por qué confiar…?" — 4 cards in a single row to compact the section.
   ========================================================================== */
body.gai-alquiler-page .alq-why-grid {
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
body.gai-alquiler-page .alq-why-grid .alq-card {
	padding: 26px 22px 28px;
}
body.gai-alquiler-page .alq-why-grid .alq-num {
	width: 40px;
	height: 40px;
	margin-bottom: 14px;
	font-size: 0.85rem;
}
body.gai-alquiler-page .alq-why-grid .alq-card h3 {
	margin-bottom: 10px;
	font-size: 1.02rem;
	line-height: 1.3;
}
body.gai-alquiler-page .alq-why-grid .alq-card p {
	font-size: 0.85rem;
	line-height: 1.6;
}
@media (max-width: 1100px) {
	body.gai-alquiler-page .alq-why-grid {
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 700px) {
	body.gai-alquiler-page .alq-why-grid {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   "¿Por qué confiar…?" band — compact to fit inside the viewport (no scroll).
   ========================================================================== */
body.gai-alquiler-page .alq-why {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: calc(100svh - 84px);
	padding-block: clamp(32px, 5vh, 60px);
}
body.gai-alquiler-page .alq-why .alq-head {
	margin-bottom: clamp(22px, 3vh, 34px);
}
body.gai-alquiler-page .alq-why .alq-head h2 {
	font-size: clamp(1.5rem, 2.4vw, 2rem);
}
body.gai-alquiler-page .alq-why .alq-cta {
	margin-top: clamp(20px, 2.6vh, 32px);
}
@media (max-width: 900px) {
	body.gai-alquiler-page .alq-why {
		min-height: 0;
		padding-block: 64px;
	}
}

/* ==========================================================================
   "Cómo trabajamos" — balanced padding + compact enough to fit the viewport.
   ========================================================================== */
body.gai-alquiler-page .alq-process {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: calc(100svh - 84px);
	padding-block: clamp(28px, 4vh, 48px);
}
body.gai-alquiler-page .alq-process .alq-head {
	margin-bottom: clamp(20px, 2.8vh, 30px);
}
body.gai-alquiler-page .alq-process .alq-head h2 {
	font-size: clamp(1.5rem, 2.4vw, 2rem);
}
body.gai-alquiler-page .alq-process-grid {
	gap: 48px;
}
body.gai-alquiler-page .alq-process .alq-steps h3,
body.gai-alquiler-page .alq-process .alq-guarantees h3 {
	margin-bottom: 6px;
	font-size: 1.2rem;
}
body.gai-alquiler-page .alq-process .alq-steps-list {
	margin-top: 12px;
}
body.gai-alquiler-page .alq-process .alq-steps-list li {
	gap: 16px;
	padding: 16px 0;
}
body.gai-alquiler-page .alq-process .alq-steps-list li > span {
	flex-basis: 36px;
	width: 36px;
	height: 36px;
	font-size: 0.82rem;
}
body.gai-alquiler-page .alq-process .alq-steps-list li strong {
	margin: 0 0 4px;
	font-size: 0.98rem;
}
body.gai-alquiler-page .alq-process .alq-steps-list li p {
	font-size: 0.86rem;
	line-height: 1.55;
}
body.gai-alquiler-page .alq-process .alq-guarantee {
	padding: 16px 0 16px 50px;
}
body.gai-alquiler-page .alq-process .alq-guarantee::before {
	top: 14px;
	width: 36px;
	height: 36px;
}
body.gai-alquiler-page .alq-process .alq-guarantee strong {
	font-size: 0.95rem;
}
body.gai-alquiler-page .alq-process .alq-guarantee p {
	font-size: 0.86rem;
	line-height: 1.55;
}
@media (max-width: 900px) {
	body.gai-alquiler-page .alq-process {
		min-height: 0;
		padding-block: 64px;
	}
}

/* ==========================================================================
   "Opiniones de propietarios" — compact to fit inside the viewport (no scroll).
   ========================================================================== */
body.gai-alquiler-page .alq-opinions {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: calc(100svh - 84px);
	padding-block: clamp(26px, 3.6vh, 44px);
}
@media (min-width: 901px) {
	body.gai-alquiler-page .alq-opinions .alq-head {
		margin-bottom: clamp(18px, 2.6vh, 28px);
	}
	body.gai-alquiler-page .alq-opinions .alq-head h2 {
		font-size: clamp(1.5rem, 2.4vw, 2rem);
	}
	body.gai-alquiler-page .alq-opinions .alq-carousel-stage {
		padding: clamp(28px, 3.4vw, 44px) clamp(28px, 5vw, 56px);
	}
	body.gai-alquiler-page .alq-opinions .alq-carousel-slide .alq-review-stars {
		margin-bottom: 14px;
	}
	body.gai-alquiler-page .alq-opinions .alq-carousel-slide blockquote {
		margin-bottom: 20px;
	}
	body.gai-alquiler-page .alq-opinions .alq-review-by {
		padding-top: 14px;
	}
	body.gai-alquiler-page .alq-opinions .alq-carousel-controls {
		margin-top: clamp(16px, 2vh, 24px);
	}
}
@media (max-width: 900px) {
	body.gai-alquiler-page .alq-opinions {
		min-height: 0;
		padding-block: 64px;
	}
}

/* ==========================================================================
   Compact listing heroes (Comprar / Alquilar) — shorter band.
   ========================================================================== */
body.gai-venta-page .listing-hero,
body.gai-alquiler-page .listing-hero {
	min-height: clamp(360px, 46vh, 470px);
	padding-block: clamp(40px, 5vw, 68px);
}
body.gai-venta-page .listing-hero h1,
body.gai-alquiler-page .listing-hero h1 {
	margin-bottom: 24px;
	font-size: clamp(2rem, 3.8vw, 3.05rem);
}
@media (max-width: 900px) {
	body.gai-venta-page .listing-hero,
	body.gai-alquiler-page .listing-hero {
		min-height: 0;
		padding-block: clamp(48px, 8vw, 72px);
	}
	body.gai-venta-page .listing-hero h1,
	body.gai-alquiler-page .listing-hero h1 {
		font-size: clamp(1.7rem, 6vw, 2.3rem);
	}
}

/* ==========================================================================
   Alquilar hero — buttons linking to the Inquilinos / Propietarios sections.
   ========================================================================== */
body.gai-alquiler-page .hero-actions-alquiler {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 28px;
}
/* Keep the linked sections clear of the sticky header when jumped to */
body.gai-alquiler-page #inquilinos,
body.gai-alquiler-page #propietarios {
	scroll-margin-top: 104px;
}
@media (max-width: 600px) {
	body.gai-alquiler-page .hero-actions-alquiler {
		width: 100%;
	}
	body.gai-alquiler-page .hero-actions-alquiler .button {
		flex: 1 1 auto;
	}
}
