/*
=========================================================
TAXONOMY.CSS
Hubs internos de tipo de reforma y zona de servicio
=========================================================
*/

.taxonomy-hub{
	padding:3.25rem 0 5rem;
	background:#fff;
}

.taxonomy-hub > .container{
	max-width:1120px;
}

.taxonomy-hub .archive-header{
	max-width:820px;
	margin:0;
}

.taxonomy-hub .archive-eyebrow{
	margin:0 0 .75rem;
	font-size:.78rem;
	font-weight:var(--weight-semibold);
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--color-secondary-dark);
}

.taxonomy-hub .archive-header h1{
	max-width:18ch;
	margin:0;
	font-size:clamp(2.35rem,3.5vw,3.35rem);
	line-height:1.05;
	letter-spacing:-.025em;
	text-wrap:balance;
}

.taxonomy-hub .archive-description{
	max-width:720px;
	margin-top:1rem;
	font-size:1rem;
	line-height:1.65;
	color:var(--text-light);
}

/*
 * layout.css aplica padding:6rem 0 a todos los <section>.
 * Estas secciones internas no deben heredar ese espaciado global,
 * porque duplicaba visualmente el aire entre cabecera y contenido.
 */
.taxonomy-hub__section{
	padding:0;
	margin:2rem 0 0;
}

.taxonomy-hub__section + .taxonomy-hub__section{
	padding-top:2.25rem;
	border-top:1px solid var(--gray-200);
}

.taxonomy-hub__section > h2{
	margin:0 0 1.15rem;
	font-size:clamp(1.6rem,2.2vw,2.05rem);
	line-height:1.15;
	letter-spacing:-.012em;
	text-wrap:balance;
}

.taxonomy-hub .services-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:1.25rem;
	margin-top:0;
}

.taxonomy-hub .service-card{
	height:100%;
	min-height:0;
}

.taxonomy-hub .service-card__body{
	padding:1.25rem;
}

.taxonomy-hub .service-card__body h3{
	font-size:1.08rem;
	line-height:1.28;
}

.taxonomy-hub .service-card__body p{
	font-size:.94rem;
	line-height:1.58;
}

.taxonomy-hub .content-list{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:1rem;
}

.taxonomy-hub .content-list__item{
	padding:1.35rem 1.5rem;
	border:1px solid var(--gray-200);
	border-radius:var(--radius-md);
	background:#fff;
}

.taxonomy-hub .content-list__type{
	margin:0 0 .45rem;
	font-size:.76rem;
	font-weight:var(--weight-semibold);
	letter-spacing:.07em;
	text-transform:uppercase;
	color:var(--color-secondary-dark);
}

.taxonomy-hub .content-list__item h3{
	margin:0 0 .6rem;
	font-size:1.2rem;
	line-height:1.25;
}

.taxonomy-hub .content-list__item h3 a{
	color:var(--heading-color);
	text-decoration:none;
}

.taxonomy-hub .content-list__item h3 a:hover,
.taxonomy-hub .content-list__item h3 a:focus-visible{
	color:var(--color-secondary-dark);
}

.taxonomy-hub .content-list__item > p:last-child{
	margin:0;
	font-size:.95rem;
	line-height:1.65;
	color:var(--text-light);
}

@media (max-width:900px){
	.taxonomy-hub{
		padding:2.75rem 0 4rem;
	}

	.taxonomy-hub__section{
		padding:0;
		margin-top:1.75rem;
	}

	.taxonomy-hub .services-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media (max-width:640px){
	.taxonomy-hub{
		padding:2.25rem 0 3.5rem;
	}

	.taxonomy-hub .archive-header h1{
		font-size:clamp(2rem,9vw,2.55rem);
	}

	.taxonomy-hub__section{
		padding:0;
		margin-top:1.5rem;
	}

	.taxonomy-hub__section + .taxonomy-hub__section{
		padding-top:1.75rem;
	}

	.taxonomy-hub__section > h2{
		margin-bottom:1rem;
		font-size:clamp(1.45rem,6.5vw,1.8rem);
	}

	.taxonomy-hub .services-grid,
	.taxonomy-hub .content-list{
		grid-template-columns:1fr;
	}
}
