/**
 * Layout full-bleed — grid shell (reemplaza 100vw).
 * Breakpoints alineados con Astra: 545 / 768 / 922 / 1200 (mobile-first).
 */

.aab-shell {
	display: grid;
	grid-template-columns:
		[full-start] minmax(var(--aab-gutter), 1fr)
		[content-start] min(100% - (var(--aab-gutter) * 2), var(--aab-content)) [content-end]
		minmax(var(--aab-gutter), 1fr) [full-end];
	width: 100%;
	max-width: 100%;
}

.aab-shell > * {
	grid-column: content;
}

.aab-shell > .aab-full {
	grid-column: full;
}

.aab-shell > .aab-wide {
	grid-column: full;
	width: min(100% - (var(--aab-gutter) * 2), var(--aab-wide));
	margin-inline: auto;
}

/* Portada / landings: el entry-content actúa como shell */
.aab-tpl-landing .entry-content,
.home .entry-content {
	display: grid;
	grid-template-columns:
		[full-start] minmax(0, 1fr)
		[content-start] min(100%, var(--aab-content)) [content-end]
		minmax(0, 1fr) [full-end];
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
}

.aab-tpl-landing .entry-content > .aab-full,
.aab-tpl-landing .entry-content > .aab-banner,
.aab-tpl-landing .entry-content > .aab-section--services,
.aab-tpl-landing .entry-content > .aab-cta-final,
.home .entry-content > .aab-full,
.home .entry-content > .aab-banner,
.home .entry-content > .aab-section--services,
.home .entry-content > .aab-cta-final {
	grid-column: full;
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.home .entry-header,
.aab-tpl-landing .entry-header {
	display: none;
}

.aab-section {
	padding: var(--aab-space-2xl) var(--aab-gutter);
	max-width: var(--aab-content);
	margin: 0 auto;
}

.aab-section--services {
	max-width: none;
	width: 100%;
	background: var(--aab-grey);
	padding: var(--aab-space-2xl) var(--aab-gutter);
}

.aab-section--services .aab-section__title,
.aab-section--services .aab-section__lead,
.aab-section--services .aab-cards {
	max-width: var(--aab-content);
	margin-left: auto;
	margin-right: auto;
}

.aab-section__title {
	text-align: center;
	margin-bottom: var(--aab-space-2xs);
	font-size: var(--aab-step-3);
}

.aab-section__lead {
	text-align: center;
	max-width: 36rem;
	margin: 0 auto var(--aab-space-l);
	color: var(--aab-muted);
}

/* Base móvil: 1 columna */
.aab-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--aab-space-m);
}

@media (min-width: 545px) {
	.aab-cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 922px) {
	.aab-cards {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1200px) {
	.aab-section--services {
		padding-block: var(--aab-space-3xl);
	}
}
