/*
=========================================================
SERVICE.CSS
Sistema único para páginas individuales de servicio
Maceta y Cortafrío
=========================================================
*/

/* =====================================================
   HERO GENERADO POR LA PLANTILLA
===================================================== */

.service-hero{
	padding:3.5rem 0 3rem;
	background:var(--color-primary);
	color:var(--white);
	text-align:center;
}

.service-hero__inner{
	max-width:900px;
}

.service-hero .icon-circle--lg{
	width:68px;
	height:68px;
	margin:0 auto 1rem;
}

.service-hero h1{
	max-width:19ch;
	margin:0 auto 1rem;
	font-size:clamp(2.35rem,3.3vw,3.4rem);
	line-height:1.06;
	letter-spacing:-.02em;
	color:var(--white);
	text-wrap:balance;
}

.service-hero__subtitle{
	max-width:720px;
	margin:0 auto 1.25rem;
	font-size:1rem;
	line-height:1.7;
	color:rgba(255,255,255,.82);
}

.service-hero__meta,
.service-hero__actions{
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
}

.service-hero__meta{
	gap:.65rem;
	margin-bottom:1.4rem;
}

.service-hero__actions{
	gap:.85rem;
}

/* =====================================================
   CONTENIDO DEL EDITOR CLÁSICO
===================================================== */

.service-content{
	padding:3.75rem 0 2rem;
}

.service-content .container{
	max-width:880px;
}

.service-content .entry-content{
	overflow-wrap:anywhere;
}

.service-content section{
	padding:0;
	margin:0 0 3.5rem;
}

.service-content section:last-child{
	margin-bottom:0;
}

.service-content h1{
	max-width:20ch;
	margin:0 0 1rem;
	font-size:clamp(2.2rem,3vw,3rem);
	line-height:1.08;
	letter-spacing:-.015em;
	text-wrap:balance;
}

.service-content h2{
	margin:2.4rem 0 .9rem;
	font-size:clamp(1.75rem,2.2vw,2.3rem);
	line-height:1.15;
	letter-spacing:-.01em;
	text-wrap:balance;
}

.service-content section > h2:first-child{
	margin-top:0;
}

.service-content h3{
	margin:1.6rem 0 .55rem;
	font-size:clamp(1.18rem,1.5vw,1.4rem);
	line-height:1.28;
}

.service-content p,
.service-content li{
	font-size:1rem;
	line-height:1.75;
}

.service-content p{
	margin-bottom:1rem;
}

.service-content ul,
.service-content ol{
	margin:1rem 0 1.75rem;
	padding-left:1.35rem;
}

.service-content ul{
	list-style:disc;
}

.service-content ol{
	list-style:decimal;
}

.service-content li + li{
	margin-top:.5rem;
}

.service-content strong{
	color:var(--heading-color);
}

.service-content blockquote,
.service-content .highlight{
	margin:1.75rem 0;
	padding:1.25rem 1.4rem;
	border-left:3px solid var(--color-secondary);
	border-radius:0 var(--radius-md) var(--radius-md) 0;
	background:var(--surface);
}

.service-content .highlight{
	font-size:1.04rem;
}

/* =====================================================
   COMPATIBILIDAD CON CONTENIDO ANTIGUO
   Si el editor contiene un segundo service-hero, se neutraliza.
===================================================== */

.service-content .service-hero{
	padding:0;
	margin:0 0 2.5rem;
	background:transparent;
	color:inherit;
	text-align:left;
}

.service-content .service-hero__content{
	max-width:none;
}

.service-content .service-hero h1,
.service-content .service-hero .eyebrow,
.service-content .service-hero__lead,
.service-content .service-hero__actions,
.service-content .service-hero__trust{
	display:none;
}

/* =====================================================
   GRIDS Y TARJETAS DE CONTENIDO
===================================================== */

.service-content .service-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:1rem;
	margin:1.5rem 0 0;
}

.service-content .service-grid article{
	min-width:0;
	padding:1.35rem 1.4rem;
	background:var(--white);
	border:1px solid var(--gray-200);
	border-radius:var(--radius-lg);
	box-shadow:var(--shadow-sm);
}

.service-content .service-grid article h3{
	margin-top:0;
}

.service-content .service-grid article p:last-child,
.service-content .service-grid article > :last-child{
	margin-bottom:0;
}

/* =====================================================
   PROCESO ESPECÍFICO ESCRITO EN EL EDITOR
===================================================== */

.service-content .service-process{
	counter-reset:service-step;
}

.service-content .service-process > ol,
.service-content .service-process > ol > li > ol{
	margin:1.5rem 0 0;
	padding:0;
	list-style:none;
	display:grid;
	gap:1rem;
}

.service-content .service-process > ol > li{
	margin:0;
	list-style:none;
}

.service-content .service-process > ol > li > ol > li{
	position:relative;
	margin:0;
	padding:1.35rem 1.35rem 1.35rem 4rem;
	list-style:none;
	background:var(--white);
	border:1px solid var(--gray-200);
	border-radius:var(--radius-lg);
}

.service-content .service-process > ol > li > ol > li::before{
	counter-increment:service-step;
	content:counter(service-step, decimal-leading-zero);
	position:absolute;
	left:1.25rem;
	top:1.25rem;
	font-family:var(--font-display);
	font-size:1.35rem;
	font-weight:var(--weight-bold);
	color:var(--color-secondary-dark);
}

.service-content .service-process h3{
	margin:0 0 .4rem;
}

/* =====================================================
   FAQ — ESTÁNDAR PARA EDITOR CLÁSICO
===================================================== */

.service-content .service-faq{
	margin-top:4rem;
}

.service-content .service-faq > h2{
	max-width:22ch;
}

.service-content .service-faq article{
	padding:1.35rem 1.5rem;
	margin:0 0 .9rem;
	background:var(--white);
	border:1px solid var(--gray-200);
	border-radius:var(--radius-md);
	box-shadow:var(--shadow-sm);
}

.service-content .service-faq article h3{
	margin:0 0 .55rem;
	font-size:1.08rem;
	line-height:1.35;
}

.service-content .service-faq article p:last-child,
.service-content .service-faq article > :last-child{
	margin-bottom:0;
}

/* =====================================================
   CTA ESPECÍFICO DENTRO DEL CONTENIDO
===================================================== */

.service-content .service-final-cta{
	margin-top:4rem;
	padding:0;
}

.service-content .service-final-cta .cta{
	padding:2rem;
	background:var(--surface);
	border:1px solid var(--gray-200);
	border-radius:var(--radius-lg);
	text-align:center;
}

.service-content .service-final-cta h2{
	max-width:24ch;
	margin:0 auto 1rem;
}

.service-content .service-final-cta .eyebrow{
	color:var(--color-secondary-dark);
	font-weight:var(--weight-semibold);
	text-transform:uppercase;
	letter-spacing:.06em;
	font-size:.8rem;
}

.service-content .service-final-cta .button{
	margin-top:.75rem;
}

/* =====================================================
   SECCIONES GENERADAS POR LA PLANTILLA
===================================================== */

.myc-process,
.myc-guarantees,
.myc-testimonials,
.related-services,
.related-projects{
	padding:4rem 0;
}

.section-header,
.section-title{
	max-width:760px;
	margin:0 auto 2.5rem;
	text-align:center;
}

.section-header h2,
.section-title__heading{
	max-width:20ch;
	margin-inline:auto;
	font-size:clamp(1.95rem,2.6vw,2.8rem);
	line-height:1.1;
	text-wrap:balance;
}

.section-header p,
.section-title__description p{
	max-width:700px;
	margin-inline:auto;
	line-height:1.7;
}

.myc-process__grid{
	grid-template-columns:repeat(6,minmax(0,1fr));
	gap:2rem 1.5rem;
	max-width:1120px;
	margin-inline:auto;
}

.myc-process-step{
	grid-column:span 2;
	padding:0 .5rem;
}

.myc-process-step:nth-child(4){
	grid-column:2 / span 2;
}

.myc-process-step:nth-child(5){
	grid-column:4 / span 2;
}

.myc-guarantees__grid{
	grid-template-columns:repeat(3,minmax(0,1fr));
	max-width:1120px;
	margin-inline:auto;
}

.commitments-grid{
	gap:1.4rem;
	margin-top:2.25rem;
}

.myc-card,
.commitment-card{
	padding:1.75rem 1.5rem;
}

.cta-final{
	padding:4rem 0;
}

.cta-final .container,
.quote-form-wrapper,
.quote-form{
	max-width:820px;
	margin-inline:auto;
}

/* =====================================================
   TABLET
===================================================== */

@media (max-width:992px){
	.service-content .service-grid{
		grid-template-columns:1fr;
	}

	.myc-process__grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.myc-process-step,
	.myc-process-step:nth-child(4),
	.myc-process-step:nth-child(5){
		grid-column:auto;
	}

	.myc-process-step:last-child{
		grid-column:1 / -1;
		max-width:360px;
		justify-self:center;
	}

	.myc-guarantees__grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

/* =====================================================
   MÓVIL
===================================================== */

@media (max-width:600px){
	.service-hero{
		padding:2.75rem 0 2.5rem;
	}

	.service-hero h1{
		max-width:16ch;
		font-size:clamp(2.1rem,10vw,2.85rem);
	}

	.service-hero__subtitle{
		font-size:.98rem;
	}

	.service-hero__actions{
		flex-direction:column;
	}

	.service-hero__actions .button,
	.service-hero__actions .button-whatsapp{
		width:100%;
	}

	.service-content{
		padding:2.75rem 0 1rem;
	}

	.service-content section{
		margin-bottom:2.75rem;
	}

	.service-content h1{
		font-size:clamp(2rem,9.5vw,2.65rem);
	}

	.service-content h2{
		font-size:clamp(1.65rem,7.5vw,2.05rem);
	}

	.service-content .service-grid article,
	.service-content .service-faq article,
	.service-content .service-final-cta .cta{
		padding:1.15rem;
	}

	.service-content .service-process > ol > li > ol > li{
		padding:1.2rem 1.1rem 1.2rem 3.5rem;
	}

	.service-content .service-process > ol > li > ol > li::before{
		left:1rem;
		top:1.1rem;
		font-size:1.15rem;
	}

	.myc-process,
	.myc-guarantees,
	.myc-testimonials,
	.related-services,
	.related-projects,
	.cta-final{
		padding:3.25rem 0;
	}

	.myc-process__grid,
	.myc-guarantees__grid{
		grid-template-columns:1fr;
	}

	.myc-process-step:last-child{
		grid-column:auto;
	}
}
