/* ==========================================================================
   Bloques de contenido
   Cada sección de página es un Grupo con una clase "sico-…".
   Las medidas replican el diseño original (1440 / 768 / 390 px).
   ========================================================================== */

/* ---------- Reset dentro del contenido ---------- */
:where(.entry-content) .wp-block-group,
:where(.entry-content) .wp-block-heading,
:where(.entry-content) .wp-block-image,
:where(.entry-content) .wp-block-buttons,
:where(.entry-content) .wp-block-list {
	margin-top: 0;
	margin-bottom: 0;
}

.entry-content .wp-block-heading {
	padding: 0;
	line-height: 1;
}

.entry-content .wp-block-image {
	line-height: 0;
}

.entry-content .wp-block-image img {
	vertical-align: middle;
}

/* Contenedor de 1140px */
.sico-container,
.sico-hero__inner,
.sico-about__inner,
.sico-services__inner,
.sico-247__grid,
.sico-projects__inner,
.sico-cta__inner {
	width: 100%;
	max-width: var(--sico-container);
	margin-left: auto;
	margin-right: auto;
}

/* Secciones con imagen de fondo y capa de color encima */
.sico-hero,
.sico-cta {
	position: relative;
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
}

.sico-hero::before,
.sico-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.sico-hero > *,
.sico-cta > * {
	position: relative;
	z-index: 1;
}

/* Texto resaltado en títulos (formato "color de texto" del editor) */
.entry-content mark.has-inline-color {
	background: none;
}

.has-accent-color { color: var(--sico-accent); }
.has-primary-color { color: var(--sico-primary); }
.has-green-color { color: var(--sico-green); }
.has-green-dark-color { color: var(--sico-green-dark); }
.has-text-color { color: var(--sico-text); }
.has-white-color { color: #fff; }

/* ---------- Botón ---------- */
.entry-content .sico-buttons.wp-block-buttons {
	display: flex;
	gap: 0;
}

.sico-btn.wp-block-button {
	margin: 0;
	padding-right: 48px;
}

/* Estilo B: pastilla verde claro con la flecha en un círculo verde oscuro */
.entry-content .sico-btn .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	height: 56px;
	padding: 0 6px 0 26px;
	border: 0;
	border-radius: 999px;
	background-color: var(--sico-accent);
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	color: var(--sico-primary);
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .3s, color .3s;
}

.entry-content .sico-btn .wp-block-button__link::after {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--sico-green-dark) url(../icons/arrow-circle-white.svg) 50% 50% / 18px no-repeat;
	transition: background-color .3s, background-position .3s;
}

.entry-content .sico-btn .wp-block-button__link:hover,
.entry-content .sico-btn .wp-block-button__link:focus-visible {
	background-color: var(--sico-green-dark);
	color: #fff;
}

.entry-content .sico-btn .wp-block-button__link:hover::after,
.entry-content .sico-btn .wp-block-button__link:focus-visible::after {
	background-color: var(--sico-accent);
	background-image: url(../icons/arrow-circle-green.svg);
	background-position: calc(50% + 3px) 50%;
}

.entry-content .sico-btn .wp-block-button__link:focus-visible {
	outline: 2px solid var(--sico-primary);
	outline-offset: 3px;
}

/* Sobre foto oscura (hero y llamada final): botón blanco */
.entry-content .sico-hero .sico-btn .wp-block-button__link,
.entry-content .sico-cta .sico-btn .wp-block-button__link {
	background-color: #fff;
	color: var(--sico-primary);
}

.entry-content .sico-hero .sico-btn .wp-block-button__link:hover,
.entry-content .sico-hero .sico-btn .wp-block-button__link:focus-visible,
.entry-content .sico-cta .sico-btn .wp-block-button__link:hover,
.entry-content .sico-cta .sico-btn .wp-block-button__link:focus-visible {
	background-color: var(--sico-accent);
	color: var(--sico-primary);
}

.entry-content .sico-hero .sico-btn .wp-block-button__link:hover::after,
.entry-content .sico-hero .sico-btn .wp-block-button__link:focus-visible::after,
.entry-content .sico-cta .sico-btn .wp-block-button__link:hover::after,
.entry-content .sico-cta .sico-btn .wp-block-button__link:focus-visible::after {
	background-color: var(--sico-green-dark);
	background-image: url(../icons/arrow-circle-white.svg);
}

@media (max-width: 767px) {
	.entry-content .sico-buttons.wp-block-buttons {
		margin-bottom: 5%;
	}
}

/* ---------- Imagen con insignia superpuesta ----------
   El contenedor es flex con salto de línea: si la insignia sube más de lo que mide,
   no resta altura (mismo comportamiento que el diseño original). */
.sico-about__media,
.sico-projects__media {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: flex-start;
}

.sico-about__media > .wp-block-image,
.sico-projects__media > .wp-block-image {
	width: 100%;
}

.entry-content .sico-about__badge,
.entry-content .sico-projects__badge {
	width: 38%;
}

@media (max-width: 767px) {
	.entry-content .sico-about__badge,
	.entry-content .sico-projects__badge {
		width: 43%;
	}
}

/* ---------- Insignia verde (icono + número) ---------- */
.sico-badge {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	padding: 32px;
	background-color: var(--sico-accent);
	text-align: center;
	color: var(--sico-text);
}

.sico-badge .sico-icon {
	font-size: 50px;
}

.sico-badge__text {
	flex-grow: 1;
}

.entry-content .sico-badge__number {
	margin: 8px 0 1px;
	font-family: var(--sico-font-system);
	font-size: 28px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--sico-text);
}

.sico-badge__label {
	margin: 0;
	font-family: var(--sico-font-system);
	font-size: 16px;
	line-height: 24px;
	color: var(--sico-text);
}

@media (max-width: 767px) {
	.entry-content .sico-badge {
		flex-direction: column;
	}

	.sico-badge__text {
		align-self: stretch;
	}
}

/* ==========================================================================
   HOME
   ========================================================================== */

/* ---------- Hero ---------- */
.sico-hero {
	display: flex;
	align-items: center;
	min-height: 90vh;
}

.sico-hero::before {
	background-color: var(--sico-text);
	opacity: .53;
}

.sico-hero__content {
	margin-right: 30%;
	padding: 16px;
}

.entry-content .sico-hero__eyebrow {
	margin: 0 0 20px;
	font-family: var(--sico-font-system);
	font-size: 32px;
	font-weight: 500;
	line-height: 1;
	color: var(--sico-accent);
}

.entry-content .sico-hero__title {
	margin: 0 0 calc(40px - 2%);
	font-family: var(--sico-font);
	font-size: 61px;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
}

.sico-hero__title mark {
	display: inline-block;
	font-size: 56px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--sico-accent);
}

.sico-hero__title:hover mark {
	color: #fff;
}

.sico-hero__text {
	margin: 0 10% 34.4px 0;
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
	color: #fff;
}

@media (max-width: 1024px) {
	.sico-hero {
		min-height: 70vh;
	}
}

@media (max-width: 767px) {
	.sico-hero {
		min-height: 65vh;
	}

	.sico-hero__content {
		margin-right: 0;
	}

	.entry-content .sico-hero__title {
		margin-bottom: calc(40px - 7%);
		font-size: 31px;
	}

	.sico-hero__text {
		margin-right: 0;
	}
}

/* ---------- Ventajas: cuatro tarjetas que montan sobre la foto de portada ---------- */
.sico-features {
	position: relative;
	z-index: 1;
	margin-top: -96px;
	padding: 0 16px;
}

.sico-features__box {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	max-width: var(--sico-container);
	margin: 0 auto;
}

.sico-features__item {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 28px 24px;
	border-radius: 20px;
	background-color: #fff;
	box-shadow: 0 18px 40px rgba(0, 48, 73, .12);
	transition: transform .4s cubic-bezier(.2, .7, .2, 1), box-shadow .4s;
}

.sico-features__item:hover {
	transform: translateY(-6px);
	box-shadow: 0 26px 50px rgba(0, 48, 73, .18);
}

/* La primera (24/7) destaca en verde oscuro y un poco más alta */
.sico-features__item:first-child {
	background-color: var(--sico-green-dark);
	transform: translateY(-8px);
}

.sico-features__item:first-child:hover {
	transform: translateY(-14px);
}

.sico-features__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background-color: var(--sico-accent);
	color: var(--sico-green-dark);
}

.sico-features__icon .sico-icon {
	font-size: 26px;
}

.sico-features__item:first-child .sico-features__icon {
	background-color: rgba(255, 255, 255, .16);
	color: var(--sico-accent);
}

.entry-content .sico-features__title {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--sico-primary);
}

.entry-content .sico-features__text {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 14px;
	line-height: 1.5;
	color: #4A4F55;
}

.entry-content .sico-features__item:first-child .sico-features__title {
	color: #fff;
}

.entry-content .sico-features__item:first-child .sico-features__text {
	color: rgba(255, 255, 255, .82);
}

@media (prefers-reduced-motion: reduce) {
	.sico-features__item {
		transition: none;
	}
}

@media (max-width: 1024px) {
	.sico-features {
		margin-top: -64px;
	}

	.sico-features__box {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.sico-features__item:first-child {
		transform: none;
	}
}

@media (max-width: 767px) {
	.sico-features {
		margin-top: -48px;
	}

	.sico-features__box {
		gap: 12px;
	}

	.sico-features__item {
		padding: 20px 16px;
	}

	.sico-features__icon {
		width: 44px;
		height: 44px;
	}

	.sico-features__icon .sico-icon {
		font-size: 21px;
	}

	.entry-content .sico-features__title {
		font-size: 15px;
	}

	.entry-content .sico-features__text {
		display: none;
	}
}

/* ---------- Sobre nosotros ---------- */
.sico-about {
	padding: 96px 16px;
}

.sico-about__inner {
	display: flex;
	flex-direction: column;
	padding: 16px;
}

.entry-content .sico-eyebrow {
	margin: 0 0 15px;
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	color: var(--sico-green);
}

.entry-content .sico-about__title {
	margin: 0 0 15px;
	font-family: var(--sico-font);
	font-size: 34px;
	font-weight: 600;
	line-height: 1;
	color: var(--sico-primary);
}

.entry-content .sico-about__row {
	display: flex;
	margin-top: 1%;
}

.sico-about__media,
.sico-about__body {
	width: 50%;
}

.sico-about__image {
	text-align: center;
}

.sico-about__image img {
	width: 57%;
}

.entry-content .sico-about__badge {
	margin: -20% 60% 0 2%;
	gap: 0;
}

.sico-about__body {
	padding-left: 80px;
}

.sico-about__text {
	margin: 0 0 calc(20px - 2%);
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--sico-primary);
}

/* Lista con icono de rayo */
.entry-content .sico-checklist {
	margin: 0 0 calc(20px + 3%);
	padding: 0;
	list-style: none;
}

.sico-checklist li {
	display: flex;
	align-items: center;
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--sico-text);
}

.sico-checklist li::before {
	content: "";
	flex-shrink: 0;
	width: 25px;
	height: 30px;
	margin-right: 10px;
	background-color: var(--sico-green);
	-webkit-mask: url(../icons/flash.svg) left center / 20px no-repeat;
	mask: url(../icons/flash.svg) left center / 20px no-repeat;
}

.sico-checklist li:not(:last-child) {
	padding-bottom: 7.5px;
}

.sico-checklist li:not(:first-child) {
	margin-top: 7.5px;
}

@media (max-width: 1024px) {
	.entry-content .sico-about__row {
		flex-wrap: wrap;
	}

	.sico-about__media,
	.sico-about__body {
		width: 100%;
	}

	.sico-about__media {
		margin-bottom: 5%;
	}

	.entry-content .sico-about__badge {
		margin-top: -16%;
	}

	.sico-about__body {
		padding-left: 0;
	}
}

@media (max-width: 767px) {
	.sico-about {
		padding: 48px 16px;
	}

	.sico-about__inner {
		padding: 0;
	}

	.entry-content .sico-about__badge {
		margin: -37% 55% 0 2%;
		padding: 16px 0;
		gap: 10px;
	}

	.sico-about__badge .sico-icon {
		font-size: 35px;
	}
}

/* ---------- Sobre nosotros con mosaico de fotos (portada) ----------
   El bloque Galería guarda todas las fotos; aquí se ven 6 en mosaico y la sexta
   muestra «+N». Al pulsar se abre la ampliación de WordPress, que recorre todas.
   Solo en la web (prefijo .site-content): en el editor la galería se ve completa. */
.site-content .sico-about--gallery .sico-about__media {
	position: relative;
	display: block;
}

.site-content .sico-about--gallery .sico-about__body {
	padding-left: 64px;
}

.site-content .entry-content .sico-mosaic.wp-block-gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: repeat(3, minmax(0, 1fr));
	gap: 10px;
	aspect-ratio: 1 / 1;
	margin: 0;
}

.site-content .entry-content .sico-mosaic.wp-block-gallery > .wp-block-image {
	position: relative;
	width: auto !important;
	height: 100%;
	margin: 0 !important;
	overflow: hidden;
	border-radius: 18px;
	background-color: #DDE3DC;
}

.site-content .entry-content .sico-mosaic.wp-block-gallery > .wp-block-image:first-child {
	grid-column: span 2;
	grid-row: span 2;
}

/* Las fotos 7+ se apilan, invisibles y diminutas, bajo la sexta: así cargan solo la
   miniatura más pequeña y la ampliación de WordPress puede abrirlas y recorrerlas. */
.site-content .entry-content .sico-mosaic.wp-block-gallery > .wp-block-image:nth-child(6) {
	z-index: 1;
	grid-area: 3 / 3;
}

.site-content .entry-content .sico-mosaic.wp-block-gallery > .wp-block-image:nth-child(n+7) {
	grid-area: 3 / 3;
	align-self: end;
	justify-self: end;
	width: 48px !important;
	height: 64px;
	visibility: hidden;
	pointer-events: none;
}

.site-content .entry-content .sico-mosaic.wp-block-gallery > .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}

.site-content .entry-content .sico-mosaic.wp-block-gallery > .wp-block-image:hover img {
	transform: scale(1.05);
}

/* Sexta foto: «+N / Ver todas» (lo añade main.js) */
.sico-mosaic__more {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background-color: rgba(0, 48, 73, .72);
	font-family: var(--sico-font);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	color: #fff;
	pointer-events: none;
	transition: background-color .3s;
}

.sico-mosaic__more strong {
	font-size: 30px;
	font-weight: 600;
	line-height: 1;
}

.wp-block-image:hover > .sico-mosaic__more {
	background-color: rgba(0, 48, 73, .85);
}

/* Insignia «12+ Experiencia» sobre la esquina de la foto grande */
.site-content .entry-content .sico-about--gallery .sico-about__badge {
	position: absolute;
	left: -24px;
	bottom: calc(33.333% + 24px);
	width: auto;
	margin: 0;
	padding: 20px 26px;
	gap: 14px;
	box-shadow: 0 10px 24px rgba(0, 48, 73, .12);
}

.site-content .entry-content .sico-about--gallery .sico-badge__number {
	margin: 0;
}

@media (max-width: 1024px) {
	.site-content .sico-about--gallery .sico-about__body {
		padding-left: 0;
	}

	.site-content .sico-about--gallery .sico-about__media {
		max-width: 640px;
		margin: 0 auto 40px;
	}

	.site-content .entry-content .sico-about--gallery .sico-about__badge {
		left: 16px;
	}
}

@media (max-width: 767px) {
	.site-content .entry-content .sico-mosaic.wp-block-gallery {
		gap: 8px;
	}

	.site-content .entry-content .sico-mosaic.wp-block-gallery > .wp-block-image {
		border-radius: 14px;
	}

	.site-content .entry-content .sico-about--gallery .sico-about__badge {
		left: 10px;
		bottom: calc(33.333% + 14px);
		flex-direction: row;
		padding: 12px 16px;
		gap: 10px;
	}

	.site-content .entry-content .sico-about--gallery .sico-badge__number {
		font-size: 22px;
	}

	.site-content .entry-content .sico-about--gallery .sico-badge__label {
		font-size: 13px;
		line-height: 1.3;
	}

	.site-content .sico-about--gallery .sico-about__badge .sico-icon {
		font-size: 30px;
	}

	.sico-mosaic__more {
		gap: 2px;
		font-size: 12px;
	}

	.sico-mosaic__more strong {
		font-size: 22px;
	}
}

/* ---------- Servicios (tarjetas con reverso) ---------- */
.sico-services {
	padding: 96px 16px 144px;
	background-color: var(--sico-light);
}

.sico-services__inner {
	padding: 16px;
}

.entry-content .sico-services__eyebrow {
	margin: 0 0 20px;
	font-family: var(--sico-font-system);
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	color: var(--sico-green);
}

.entry-content .sico-services__title {
	margin: 0 0 20px;
	font-family: var(--sico-font);
	font-size: 44px;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	color: var(--sico-primary);
}

.sico-services__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	padding: 10px;
}

.sico-flip {
	position: relative;
	height: 280px;
	overflow: hidden;
	outline-offset: 2px;
}

.entry-content .sico-flip__front,
.entry-content .sico-flip__back {
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 35px;
	background-color: var(--sico-accent);
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	text-align: center;
	color: #fff;
}

.entry-content .sico-flip__front {
	top: 0;
	z-index: 1;
}

.sico-flip__front::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, .64);
}

.sico-flip__front > * {
	position: relative;
}

.entry-content .sico-flip__back {
	top: 100%;
	z-index: 2;
	transition: top .6s ease-in-out;
}

.entry-content .sico-flip:hover .sico-flip__back,
.entry-content .sico-flip:focus-within .sico-flip__back,
.entry-content .sico-flip.is-flipped .sico-flip__back {
	top: 0;
}

/* Tarjeta destacada a todo el ancho (Placas Solares) */
.sico-services__grid > .sico-flip--wide {
	grid-column: 1 / -1;
}

.sico-flip .sico-icon {
	display: block;
	margin: 0 auto 18px;
	font-size: 50px;
	color: var(--sico-accent);
}

.entry-content .sico-flip__title {
	margin: 8px 0 16px;
	font-family: var(--sico-font);
	font-size: 26px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
}

.sico-flip__text {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
	color: var(--sico-text);
}

@media (max-width: 767px) {
	.sico-services {
		padding: 48px 16px;
	}

	.sico-services__inner {
		padding: 0;
	}

	.entry-content .sico-services__title {
		font-size: 37px;
	}

	.sico-services__grid {
		grid-template-columns: 1fr;
	}
}

/* ---------- Reformas integrales y mantenimiento (Servicios): foto + texto alternados ---------- */
.sico-split-section {
	padding: 96px 16px 80px;
}

.sico-split-section__inner {
	max-width: var(--sico-container);
	margin: 0 auto;
}

.entry-content .sico-split {
	scroll-margin-top: 24px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 64px;
	align-items: center;
	margin-top: 56px;
}

/* Foto (o mosaico) a la derecha */
.entry-content .sico-split--reverse > :first-child {
	order: 2;
}

.entry-content .sico-split__media {
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 20px;
}

.entry-content .sico-split__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.entry-content .sico-split__title {
	margin: 0 0 16px;
	font-family: var(--sico-font);
	font-size: 28px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--sico-primary);
}

.entry-content .sico-split__text {
	margin: 0 0 20px;
	font-family: var(--sico-font);
	font-size: 15px;
	line-height: 1.6;
	color: var(--sico-primary);
}

.entry-content .sico-split .sico-checklist {
	margin-bottom: 28px;
}

@media (max-width: 1024px) {
	.entry-content .sico-split {
		gap: 40px;
	}
}

@media (max-width: 767px) {
	.sico-split-section {
		padding: 48px 16px;
	}

	.entry-content .sico-split {
		grid-template-columns: 1fr;
		gap: 24px;
		margin-top: 36px;
	}

	.entry-content .sico-split--reverse > :first-child {
		order: 0;
	}

	.entry-content .sico-split__title {
		font-size: 24px;
	}
}

/* ---------- Tarjetas de servicios (portada): foto arriba, texto visible, se elevan al pasar ---------- */
.entry-content .sico-services__grid:has(.sico-svc-card) {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.sico-svc-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 20px;
	background-color: #fff;
	box-shadow: 0 1px 2px rgba(0, 48, 73, .06), 0 0 0 1px #E2E9E1;
	transition: transform .45s cubic-bezier(.2, .7, .2, 1), box-shadow .45s;
}

.entry-content .sico-svc-card__img {
	height: 220px;
	margin: 0;
	overflow: hidden;
}

.entry-content .sico-svc-card__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s cubic-bezier(.2, .7, .2, 1);
}

.sico-svc-card__body {
	position: relative;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 38px 24px 24px;
}

/* Icono en círculo verde que monta sobre la foto */
.entry-content .sico-svc-card__icon {
	position: absolute;
	top: -26px;
	left: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin: 0;
	border-radius: 50%;
	background-color: var(--sico-accent);
	box-shadow: 0 0 0 4px #fff;
	color: var(--sico-green-dark);
	transition: background-color .35s, color .35s;
}

.sico-svc-card__icon .sico-icon {
	font-size: 26px;
}

.entry-content .sico-svc-card__title {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--sico-primary);
}

.entry-content .sico-svc-card__text {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 14px;
	line-height: 1.55;
	color: #4A4F55;
}

.entry-content .sico-svc-card__link {
	margin: auto 0 0;
	padding-top: 10px;
}

.sico-svc-card__link a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--sico-font);
	font-size: 14px;
	font-weight: 600;
	color: var(--sico-green-dark);
	text-decoration: none;
}

/* Toda la tarjeta es clicable */
.sico-svc-card__link a::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: 20px;
}

.sico-svc-card__link a::after {
	content: "";
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--sico-accent) url(../icons/arrow-circle-green.svg) 50% 50% / 15px no-repeat;
	transition: transform .35s, background-color .35s;
}

.sico-svc-card:hover,
.sico-svc-card:focus-within {
	transform: translateY(-8px);
	box-shadow: 0 24px 50px rgba(0, 48, 73, .16), 0 0 0 1px #D5E0D4;
}

.sico-svc-card:hover .sico-svc-card__img img,
.sico-svc-card:focus-within .sico-svc-card__img img {
	transform: scale(1.06);
}

.entry-content .sico-svc-card:hover .sico-svc-card__icon,
.entry-content .sico-svc-card:focus-within .sico-svc-card__icon {
	background-color: var(--sico-green-dark);
	color: #fff;
}

.sico-svc-card:hover .sico-svc-card__link a::after,
.sico-svc-card:focus-within .sico-svc-card__link a::after {
	transform: translateX(4px);
	background: var(--sico-green-dark) url(../icons/arrow-circle-white.svg) 50% 50% / 15px no-repeat;
}

.sico-svc-card__link a:focus-visible {
	outline: none;
}

.sico-svc-card:focus-within {
	outline: 2px solid var(--sico-primary);
	outline-offset: 3px;
}

/* Tarjeta ancha (Placas Solares): foto a la izquierda */
.entry-content .sico-svc-card--wide {
	grid-column: 1 / -1;
	flex-direction: row;
}

.entry-content .sico-svc-card--wide .sico-svc-card__img {
	flex: 0 0 55%;
	height: auto;
	min-height: 300px;
}

.sico-svc-card--wide .sico-svc-card__body {
	justify-content: center;
	padding: 40px 48px 40px 64px;
}

.entry-content .sico-svc-card--wide .sico-svc-card__icon {
	top: 50%;
	left: -26px;
	margin-top: -26px;
}

.entry-content .sico-svc-card--wide .sico-svc-card__title {
	font-size: 28px;
}

.entry-content .sico-svc-card--wide .sico-svc-card__text {
	font-size: 15px;
}

.entry-content .sico-svc-card--wide .sico-svc-card__link {
	margin-top: 8px;
}

@media (prefers-reduced-motion: reduce) {
	.sico-svc-card,
	.entry-content .sico-svc-card__img img {
		transition: none;
	}
}

@media (max-width: 1024px) {
	.entry-content .sico-services__grid:has(.sico-svc-card) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.entry-content .sico-services__grid:has(.sico-svc-card) {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
		padding: 0;
	}

	.entry-content .sico-svc-card--wide {
		flex-direction: column;
	}

	.entry-content .sico-svc-card--wide .sico-svc-card__img {
		flex: none;
		height: 220px;
		min-height: 0;
	}

	.sico-svc-card--wide .sico-svc-card__body {
		padding: 38px 24px 24px;
	}

	.entry-content .sico-svc-card--wide .sico-svc-card__icon {
		top: -26px;
		left: 22px;
		margin-top: 0;
	}

	.entry-content .sico-svc-card--wide .sico-svc-card__title {
		font-size: 22px;
	}
}

/* ---------- Servicio 24/7 ---------- */
.sico-247 {
	padding: 80px 0;
	background-color: rgba(195, 226, 192, .43);
}

.entry-content .sico-247__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(2, 1fr);
	gap: 20px;
	padding: 10px;
}

.sico-247__intro,
.sico-card {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 10px;
}

.sico-card {
	border: 1px solid #B2B2B2;
}

.entry-content .sico-247__eyebrow {
	margin: 0;
	font-family: var(--sico-font-system);
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	color: var(--sico-text);
}

.entry-content .sico-247__title {
	margin: 0 0 calc(20px - 5%);
	font-family: var(--sico-font);
	font-size: 46px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--sico-text);
}

.sico-247__title mark {
	display: inline-block;
	font-weight: 700;
	color: var(--sico-green-dark);
}

.sico-247__title:hover mark {
	color: var(--sico-accent);
}

.entry-content .sico-card__icon {
	margin-bottom: 5%;
}

.sico-card__icon img {
	width: 16%;
	filter: brightness(0%) contrast(100%) saturate(195%) blur(0) hue-rotate(33deg);
}

.entry-content .sico-card__title {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 23px;
	font-weight: 600;
	line-height: 1;
	color: var(--sico-text);
}

.sico-card__text {
	margin: 0 0 calc(14.4px - 4%);
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--sico-text);
}

.sico-card__text--flush {
	margin-bottom: -4%;
}

@media (max-width: 1024px) {
	.sico-card__icon img {
		width: 25%;
	}
}

@media (max-width: 767px) {
	.entry-content .sico-247__grid {
		grid-template-columns: 1fr;
	}

	/* En móvil el bloque del icono mide 66px fijos, como en el diseño original */
	.entry-content .sico-card__icon {
		height: 66px;
		margin-bottom: 0;
	}

	.sico-card__icon img {
		width: 17%;
	}
}

/* ---------- Obras destacadas ---------- */
.sico-projects {
	padding: 144px 16px 64px;
}

.sico-projects__inner {
	display: flex;
}

.sico-projects__media,
.sico-projects__body {
	width: 50%;
	padding: 16px;
}

.sico-projects__body {
	padding-left: 48px;
}

.sico-projects__image img {
	width: 100%;
}

.entry-content .sico-projects__badge {
	margin: -20% 2% 0 60%;
	gap: 15px;
}

.entry-content .sico-projects__badge .sico-badge__number {
	margin-bottom: 0;
}

.entry-content .sico-projects__eyebrow {
	margin: 0 0 20px;
	font-family: var(--sico-font-system);
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	color: var(--sico-green);
}

.entry-content .sico-projects__title {
	margin: 0 0 calc(40px - 4%);
	font-family: sans-serif;
	font-size: 48px;
	font-weight: 700;
	line-height: 1.1;
	color: var(--sico-primary);
}

.sico-stats {
	display: flex;
	flex-wrap: wrap;
}

.entry-content .sico-stat {
	display: flex;
	align-items: flex-start;
	gap: 25px;
	width: 50%;
	margin-bottom: 5%;
}

.sico-stat .sico-icon {
	font-size: 45px;
	color: var(--sico-green);
}

.sico-stat__text {
	flex-grow: 1;
}

.entry-content .sico-stat__number {
	margin: 8px 0 0;
	font-family: var(--sico-font);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--sico-primary);
}

.sico-stat__label {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--sico-text);
}

@media (max-width: 1024px) {
	.sico-projects__inner {
		flex-wrap: wrap;
	}

	.sico-projects__media,
	.sico-projects__body {
		width: 100%;
		padding: 16px;
	}

	.entry-content .sico-projects__badge {
		margin-top: -16%;
	}

	.sico-stat .sico-icon {
		font-size: 40px;
	}
}

@media (max-width: 767px) {
	.sico-projects {
		padding: 48px 16px;
	}

	.sico-projects__media {
		margin-bottom: 5%;
		padding: 0;
	}

	.sico-projects__body {
		padding: 0;
	}

	.entry-content .sico-projects__badge {
		margin: -37% 2% 0 55%;
		padding: 16px 0;
	}

	.sico-projects__badge .sico-icon {
		font-size: 30px;
	}

	.entry-content .sico-projects__title {
		margin-bottom: calc(40px - 8%);
		font-size: 2.4rem;
	}

	.sico-stat .sico-icon {
		font-size: 35px;
	}

	.entry-content .sico-stat {
		flex-direction: column;
	}

	.sico-stat__text {
		align-self: stretch;
	}
}

/* ---------- Llamada a la acción ---------- */
.sico-cta {
	padding: 80px 0;
}

.sico-cta::before {
	background-color: var(--sico-text);
	opacity: .53;
}

.sico-cta__inner {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 10px;
}

.entry-content .sico-cta__title {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 56px;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	color: #fff;
}

.entry-content .sico-cta__buttons.wp-block-buttons {
	justify-content: center;
	padding-right: 48px;
}

.sico-cta__buttons .sico-btn.wp-block-button {
	padding-right: 0;
}

@media (max-width: 767px) {
	.entry-content .sico-cta__title {
		font-size: 32px;
	}

	.entry-content .sico-cta__buttons.wp-block-buttons {
		margin-bottom: 0;
		padding-right: 0;
	}
}

/* ==========================================================================
   COMPONENTES DE PÁGINAS INTERIORES
   ========================================================================== */

/* ---------- Cabecera de página (banner con título) ---------- */
.sico-banner {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 40vh;
	background-size: cover;
	background-position: 50% 0;
	background-repeat: no-repeat;
}

.sico-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--sico-text);
	opacity: .75;
	pointer-events: none;
}

.sico-banner__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: var(--sico-container);
	margin: 0 auto;
	padding: 16px;
}

.entry-content .sico-banner__title {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 56px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
}

@media (max-width: 1024px) {
	.sico-banner {
		min-height: 35vh;
	}
}

@media (max-width: 767px) {
	.sico-banner {
		min-height: 25vh;
	}

	.entry-content .sico-banner__title {
		font-size: 33px;
	}

	/* Tamaño del título en móvil según la página */
	.entry-content .sico-banner--m38 .sico-banner__title { font-size: 38px; }
	.entry-content .sico-banner--m39 .sico-banner__title { font-size: 39px; }
	.entry-content .sico-banner--m56 .sico-banner__title { font-size: 56px; }
}

/* Banner de páginas legales: más bajo y centrado */
.sico-banner--legal {
	min-height: 24vh;
}

.entry-content .sico-banner--legal .sico-banner__title {
	font-size: 41px;
	text-align: center;
}

@media (max-width: 1024px) {
	.sico-banner--legal {
		min-height: 35vh;
	}
}

@media (max-width: 767px) {
	.sico-banner--legal {
		min-height: 25vh;
	}

	.entry-content .sico-banner--legal .sico-banner__title {
		font-size: 33px;
	}
}

/* ---------- Insignia azul ---------- */
.sico-badge--dark {
	background-color: var(--sico-primary);
	color: #fff;
}

.entry-content .sico-badge--dark .sico-badge__number,
.sico-badge--dark .sico-badge__label {
	color: #fff;
}

/* ---------- "Sobre nosotros" con imagen de fondo en la columna ---------- */
.sico-about--bg .sico-about__media {
	align-content: flex-end;
	align-items: flex-end;
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
}

.entry-content .sico-about--bg .sico-about__badge {
	width: 40%;
	margin: 0 60% 0 0;
}

.sico-about--bg .sico-about__text {
	color: var(--sico-text);
}

.sico-about__text--spaced {
	margin-bottom: calc(34.4px - 2%);
}

@media (max-width: 1024px) {
	.sico-about--bg .sico-about__media {
		align-items: flex-start;
	}

	.entry-content .sico-about--bg .sico-about__badge {
		width: 38%;
		margin: -16% 60% 0 2%;
	}
}

@media (max-width: 767px) {
	.sico-about--bg .sico-about__media {
		padding-top: 276px;
	}

	.entry-content .sico-about--bg .sico-about__badge {
		width: 43%;
		margin: -37% 55% 0 2%;
	}
}

/* ---------- Campos de servicio (tarjetas con imagen y texto al pasar el ratón) ---------- */
.entry-content .sico-fields .sico-services__eyebrow {
	color: var(--sico-accent);
}

.sico-fields__row {
	display: flex;
}

.entry-content .sico-team {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: flex-start;
	width: calc(33.333% - 20px);
	margin: 0 20px 0 0;
}

.entry-content .sico-team:nth-child(2) {
	width: calc(33.333% - 20px);
	margin: 0 10px;
}

.entry-content .sico-team:nth-child(3) {
	margin: 0 0 0 20px;
}

.entry-content .sico-team__label {
	position: relative;
	z-index: 2;
	width: 78%;
	margin: 8% 22% -25% 0;
	padding: 16px;
	background-color: var(--sico-accent);
	font-family: var(--sico-font-system);
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	color: var(--sico-text);
}

.sico-team__card {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.sico-team__image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
}

.sico-team__card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background-color: rgba(0, 0, 0, .7);
	opacity: 0;
	transition: opacity .4s;
}

.entry-content .sico-team__hover {
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 2;
	width: 100%;
	padding: 63px 32px 16px;
	opacity: 0;
	transition: .3s .1s;
}

.sico-team:nth-child(n+2) .sico-team__hover {
	padding-top: 47px;
}

.sico-team__text {
	margin: 0;
	font-family: var(--sico-font-system);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: #fff;
}

.sico-team:hover .sico-team__card::before,
.sico-team:focus-within .sico-team__card::before {
	opacity: 1;
}

.entry-content .sico-team:hover .sico-team__hover,
.entry-content .sico-team:focus-within .sico-team__hover {
	opacity: 1;
	transform: translateY(-50%);
}

.entry-content .sico-team__icon {
	position: relative;
	z-index: 2;
	flex-grow: 1;
	width: auto;
	height: 68px;
	margin: -16% 0 -5% 84%;
	font-size: 30px;
	color: #69727D;
	-webkit-mask-position: calc(50% + 3px) 16px;
	mask-position: calc(50% + 3px) 16px;
	-webkit-mask-size: 30px 30px;
	mask-size: 30px 30px;
}

@media (max-width: 1024px) {
	.sico-fields__row {
		flex-wrap: wrap;
	}

	/* Márgenes del 2% / 10% de la columna (= 1% / 5% del contenedor) */
	.entry-content .sico-team,
	.entry-content .sico-team:nth-child(2),
	.entry-content .sico-team:nth-child(3) {
		width: 49%;
		margin: 0 1% 5% 0;
	}

	.entry-content .sico-team:nth-child(2) {
		margin: 0 0 5% 1%;
	}

	.entry-content .sico-team:nth-child(3) {
		margin: 0 1% 0 0;
	}

	.entry-content .sico-team__label {
		width: 80%;
		margin: 4% 20% -20% 0;
	}

	.entry-content .sico-team__hover,
	.sico-team:nth-child(n+2) .sico-team__hover {
		padding: 16px;
	}

	.entry-content .sico-team__icon {
		height: 68px;
		margin: -20% 0 0 79.5%;
	}
}

@media (max-width: 767px) {
	.entry-content .sico-team,
	.entry-content .sico-team:nth-child(2),
	.entry-content .sico-team:nth-child(3) {
		width: 98%;
		margin: 0 2% 10% 0;
	}

	.entry-content .sico-team:nth-child(2) {
		margin: 0 0 10% 2%;
	}

	.entry-content .sico-team:nth-child(3) {
		margin: 0 2% 0 0;
	}

	.entry-content .sico-team__icon {
		height: 56px;
		margin: -18% 0 0 80%;
		-webkit-mask-position: 50% 20px;
		mask-position: 50% 20px;
		-webkit-mask-size: 15px 15px;
		mask-size: 15px 15px;
	}
}

/* ---------- Contacto (diseño A: datos y WhatsApp a la izquierda, formulario guiado) ---------- */
.sico-contact {
	padding: 96px 16px;
}

.sico-contact__inner {
	display: grid;
	grid-template-columns: 420px minmax(0, 1fr);
	gap: 64px;
	align-items: start;
	max-width: var(--sico-container);
	margin: 0 auto;
}

.sico-contact__info {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.entry-content .sico-contact__eyebrow {
	margin: 0 0 -12px;
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--sico-green);
}

.entry-content .sico-contact__title {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 44px;
	font-weight: 700;
	line-height: 1.1;
	color: var(--sico-primary);
}

.entry-content .sico-contact__intro {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 16px;
	line-height: 1.6;
	color: #4A4F55;
}

/* Tarjeta gris con teléfono, email y ubicación */
.entry-content .sico-contact__list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 4px 0 0;
	padding: 28px;
	border-radius: 22px;
	background-color: var(--sico-light);
	list-style: none;
}

.sico-contact__list li {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 0;
	font-family: var(--sico-font);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--sico-primary);
}

.sico-contact__list li::before {
	content: "";
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background-color: var(--sico-accent);
	background-image: none;
	-webkit-mask: none;
	mask: none;
}

/* El icono va encima del círculo verde */
.sico-contact__list li {
	position: relative;
}

.sico-contact__list li::after {
	content: "";
	position: absolute;
	left: 13px;
	top: 50%;
	width: 22px;
	height: 22px;
	margin-top: -11px;
	background-color: var(--sico-green-dark);
	-webkit-mask: var(--sico-contact-icon) center / contain no-repeat;
	mask: var(--sico-contact-icon) center / contain no-repeat;
}

.sico-contact__list .sico-i-phone1 { --sico-contact-icon: url(../icons/phone1.svg); }
.sico-contact__list .sico-i-email1 { --sico-contact-icon: url(../icons/email1.svg); }
.sico-contact__list .sico-i-placeholder { --sico-contact-icon: url(../icons/placeholder.svg); }

.sico-contact__list a,
.sico-contact__text {
	display: flex;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

.sico-contact__list a:hover,
.sico-contact__list a:focus-visible {
	color: var(--sico-green-dark);
}

.sico-contact__label {
	display: block;
	margin-bottom: 2px;
	font-size: 13px;
	font-weight: 400;
	color: #4A4F55;
}

.sico-contact__text {
	display: flex;
	flex-direction: column;
}

/* Botón de WhatsApp */
.entry-content .sico-contact__wa {
	display: block;
}

.entry-content .sico-btn-wa {
	display: block;
	width: 100%;
}

.entry-content .sico-btn-wa .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	height: 56px;
	padding: 0 24px;
	border-radius: 999px;
	background-color: var(--sico-green-dark);
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 600;
	color: #fff;
	text-decoration: none;
	transition: background-color .3s;
}

.entry-content .sico-btn-wa .wp-block-button__link::before {
	content: "";
	width: 22px;
	height: 22px;
	background-color: currentColor;
	-webkit-mask: url(../icons/whatsapp.svg) center / contain no-repeat;
	mask: url(../icons/whatsapp.svg) center / contain no-repeat;
}

.entry-content .sico-btn-wa .wp-block-button__link:hover,
.entry-content .sico-btn-wa .wp-block-button__link:focus-visible {
	background-color: var(--sico-green);
	color: #fff;
}

/* Tarjeta del formulario */
.sico-contact__form {
	padding: 40px;
	border-radius: 24px;
	background-color: #fff;
	box-shadow: 0 24px 60px rgba(0, 48, 73, .10), 0 0 0 1px #D5E0D4;
}

.entry-content .sico-contact__form-title {
	margin: 0 0 6px;
	font-family: var(--sico-font);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.25;
	text-transform: none;
	color: var(--sico-primary);
}

.entry-content .sico-contact__form-sub {
	margin: 0 0 24px;
	font-family: var(--sico-font);
	font-size: 14px;
	color: #4A4F55;
}

.sico-contact__form .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.sico-contact__form .wpcf7 p {
	margin: 0;
}

.sico-cf-label {
	display: block;
	margin-bottom: 8px;
	font-family: var(--sico-font);
	font-size: 13px;
	font-weight: 600;
	color: var(--sico-primary);
}

.sico-cf-field {
	display: block;
}

.sico-cf-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.sico-contact__form .wpcf7 input[type="text"],
.sico-contact__form .wpcf7 input[type="email"],
.sico-contact__form .wpcf7 input[type="tel"],
.sico-contact__form .wpcf7 textarea {
	display: block;
	width: 100%;
	height: 52px;
	padding: 0 16px;
	border: 1px solid #D5E0D4;
	border-radius: 12px;
	background-color: #fff;
	font-family: var(--sico-font);
	font-size: 15px;
	color: var(--sico-text);
	box-shadow: none;
	transition: border-color .2s, box-shadow .2s;
}

.sico-contact__form .wpcf7 textarea {
	height: 140px;
	padding: 14px 16px;
	resize: vertical;
}

.sico-contact__form .wpcf7 ::placeholder {
	color: #8A9096;
}

.sico-contact__form .wpcf7 input:focus,
.sico-contact__form .wpcf7 textarea:focus {
	border-color: var(--sico-green-dark);
	outline: none;
	box-shadow: 0 0 0 3px rgba(64, 99, 61, .18);
}

/* «¿Qué necesitas?»: casillas con forma de pastilla */
.sico-cf-services .wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.sico-cf-services .wpcf7-list-item {
	margin: 0;
}

.sico-cf-services .wpcf7-list-item label {
	position: relative;
	display: inline-flex;
	align-items: center;
	height: 42px;
	padding: 0 16px;
	border: 1px solid #D5E0D4;
	border-radius: 999px;
	background-color: #fff;
	font-family: var(--sico-font);
	font-size: 14px;
	font-weight: 500;
	color: var(--sico-primary);
	cursor: pointer;
	transition: background-color .2s, border-color .2s, color .2s;
}

.sico-cf-services .wpcf7-list-item input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.sico-cf-services .wpcf7-list-item label:hover {
	border-color: var(--sico-green);
}

.sico-cf-services .wpcf7-list-item label:has(input:checked) {
	border-color: var(--sico-primary);
	background-color: var(--sico-primary);
	color: #fff;
}

.sico-cf-services .wpcf7-list-item label:has(input:focus-visible) {
	outline: 2px solid var(--sico-primary);
	outline-offset: 2px;
}

/* Casilla de privacidad */
.sico-cf-consent .wpcf7-list-item {
	margin: 0;
}

.sico-cf-consent label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-family: var(--sico-font);
	font-size: 13px;
	line-height: 1.5;
	color: #4A4F55;
	cursor: pointer;
}

.sico-cf-consent input[type="checkbox"] {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	accent-color: var(--sico-green-dark);
}

.sico-cf-consent a {
	color: var(--sico-green-dark);
	text-decoration: underline;
}

/* Enviar: estilo B (pastilla verde claro con flecha en círculo) */
.sico-cf-submit {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
}

.sico-contact__form .wpcf7 input[type="submit"] {
	height: 56px;
	padding: 0 70px 0 26px;
	border: 0;
	border-radius: 999px;
	background:
		url(../icons/arrow-circle-white.svg) right 19px center / 18px no-repeat,
		radial-gradient(circle at calc(100% - 28px) 50%, var(--sico-green-dark) 22px, transparent 23px),
		var(--sico-accent);
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 600;
	color: var(--sico-primary);
	box-shadow: none;
	cursor: pointer;
	transition: background-color .3s, color .3s;
}

.sico-contact__form .wpcf7 input[type="submit"]:hover,
.sico-contact__form .wpcf7 input[type="submit"]:focus-visible {
	background:
		url(../icons/arrow-circle-green.svg) right 16px center / 18px no-repeat,
		radial-gradient(circle at calc(100% - 28px) 50%, var(--sico-accent) 22px, transparent 23px),
		var(--sico-green-dark);
	color: #fff;
}

.sico-contact__form .wpcf7 input[type="submit"]:focus-visible {
	outline: 2px solid var(--sico-primary);
	outline-offset: 3px;
}

.sico-contact__form .wpcf7-spinner {
	margin: 0;
}

.sico-cf-note {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 13px;
	color: #4A4F55;
}

.sico-contact__form .wpcf7-not-valid-tip {
	margin-top: 6px;
	font-size: 13px;
}

.sico-contact__form .wpcf7 form .wpcf7-response-output {
	margin: 0;
	padding: 14px 16px;
	border-radius: 12px;
	font-family: var(--sico-font);
	font-size: 14px;
}

/* Campo trampa anti-spam: invisible para personas */
.sico-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Mapa */
.sico-map {
	line-height: 0;
	overflow: hidden;
}

.sico-map iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 50vh;
	border: 0;
}

@media (max-width: 1024px) {
	.sico-contact__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
		max-width: 720px;
	}

	.sico-map iframe {
		height: 40vh;
	}
}

@media (max-width: 767px) {
	.sico-contact {
		padding: 48px 16px;
	}

	.entry-content .sico-contact__title {
		font-size: 32px;
	}

	.entry-content .sico-contact__list {
		padding: 22px;
	}

	.sico-contact__form {
		padding: 24px 20px;
	}

	.sico-cf-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.sico-cf-services .wpcf7-list-item label {
		height: 40px;
		padding: 0 14px;
		font-size: 13px;
	}

	.sico-cf-submit,
	.sico-contact__form .wpcf7 input[type="submit"] {
		width: 100%;
	}
}

/* ---------- Galería (página) ----------
   Filtros, «Ver más» y ampliación los añade main.js; sin JavaScript se ven todas. */
.sico-gallery-section {
	padding: 56px 16px 40px;
}

.sico-gallery-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	max-width: var(--sico-container);
	margin: 0 auto 28px;
}

.sico-gallery-filters__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 42px;
	padding: 0 18px;
	border: 1px solid #D5E0D4;
	border-radius: 999px;
	background-color: #fff;
	font-family: var(--sico-font);
	font-size: 14px;
	font-weight: 500;
	color: var(--sico-primary);
	cursor: pointer;
	transition: background-color .2s, border-color .2s, color .2s;
}

.sico-gallery-filters__btn:hover {
	border-color: var(--sico-green);
}

.sico-gallery-filters__btn[aria-pressed="true"] {
	border-color: var(--sico-primary);
	background-color: var(--sico-primary);
	color: #fff;
}

.sico-gallery-filters__count {
	font-size: 12px;
	opacity: .75;
}

.sico-gallery-filters__btn:focus-visible,
.sico-gallery-more__btn:focus-visible,
.sico-gallery__open:focus-visible {
	outline: 2px solid var(--sico-primary);
	outline-offset: 3px;
}

.entry-content .sico-gallery.wp-block-gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	max-width: var(--sico-container);
	margin: 0 auto;
	padding: 0;
}

.entry-content .sico-gallery.wp-block-gallery > .wp-block-image {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: auto !important;
	margin: 0 !important;
}

.entry-content .sico-gallery.wp-block-gallery > [hidden] {
	display: none !important;
}

/* WordPress recorta las fotos de la galería con flex (regla con #id): se anula para que la
   foto sea cuadrada y la línea explicativa quede debajo */
.entry-content .sico-gallery.wp-block-gallery > .wp-block-image img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	flex: none !important;
	object-fit: cover;
	border-radius: 16px;
	background-color: #DDE3DC;
	transition: filter .3s ease;
}

.entry-content .sico-gallery.wp-block-gallery > .wp-block-image:hover img {
	filter: brightness(.92);
}

/* Línea que explica la foto */
.entry-content .sico-gallery.wp-block-gallery > .wp-block-image figcaption {
	position: static;
	width: auto;
	max-height: none;
	margin: 0;
	padding: 0 2px;
	overflow: visible;
	background: none;
	font-family: var(--sico-font);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	text-align: left;
	color: var(--sico-primary);
	text-shadow: none;
}

/* Botón que cubre la foto: al pasar, velo azul con lupa y tipo de trabajo */
.sico-gallery__open {
	position: absolute;
	inset: 0 0 auto;
	aspect-ratio: 1 / 1;
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	background-color: rgba(0, 48, 73, 0);
	color: #fff;
	cursor: zoom-in;
	transition: background-color .3s;
}

.sico-gallery__zoom {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border: 1px solid rgba(255, 255, 255, .6);
	border-radius: 50%;
	background-color: rgba(255, 255, 255, .18);
	opacity: 0;
	transform: scale(.85);
	transition: opacity .3s, transform .3s;
}

.sico-gallery__tag {
	position: absolute;
	left: 12px;
	bottom: 12px;
	padding: 6px 12px;
	border-radius: 999px;
	background-color: rgba(255, 255, 255, .94);
	font-family: var(--sico-font);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--sico-primary);
	opacity: 0;
	transform: translateY(6px);
	transition: opacity .3s, transform .3s;
}

.sico-gallery__open:hover,
.sico-gallery__open:focus-visible {
	background-color: rgba(0, 48, 73, .45);
}

.sico-gallery__open:hover > span,
.sico-gallery__open:focus-visible > span {
	opacity: 1;
	transform: none;
}

.sico-gallery-more {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	max-width: var(--sico-container);
	margin: 36px auto 0;
}

.sico-gallery-more__count {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 14px;
	color: #4A4F55;
}

.sico-gallery-more__btn {
	height: 52px;
	padding: 0 28px;
	border: 1.5px solid var(--sico-green-dark);
	border-radius: 999px;
	background-color: transparent;
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 600;
	color: var(--sico-green-dark);
	cursor: pointer;
	transition: background-color .3s, color .3s;
}

.sico-gallery-more__btn:hover {
	background-color: var(--sico-green-dark);
	color: #fff;
}

@media (max-width: 1023px) {
	.entry-content .sico-gallery.wp-block-gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.sico-gallery-section {
		padding: 32px 16px 28px;
	}

	.sico-gallery-filters {
		flex-wrap: nowrap;
		margin: 0 -16px 20px 0;
		padding: 0 16px 4px 0;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.sico-gallery-filters__btn {
		flex-shrink: 0;
		height: 38px;
		padding: 0 14px;
		font-size: 13px;
	}

	.entry-content .sico-gallery.wp-block-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.entry-content .sico-gallery.wp-block-gallery > .wp-block-image img,
	.sico-gallery__open {
		border-radius: 14px;
	}

	.entry-content .sico-gallery.wp-block-gallery > .wp-block-image figcaption {
		font-size: 13px;
	}

	.sico-gallery-more {
		align-items: stretch;
		margin-top: 24px;
		text-align: center;
	}
}

/* ---------- Cabecera de la Galería: ruta, título y frase ---------- */
.sico-banner--gallery {
	min-height: 360px;
	background-position: 50% 50%;
}

.sico-banner--gallery::before {
	background: linear-gradient(90deg, rgba(0, 48, 73, .88) 0%, rgba(0, 48, 73, .4) 75%);
	opacity: 1;
}

.entry-content .sico-banner__crumbs {
	margin: 0 0 14px;
	font-family: var(--sico-font);
	font-size: 13px;
	color: rgba(255, 255, 255, .8);
}

.entry-content .sico-banner__crumbs a {
	color: rgba(255, 255, 255, .8);
	text-decoration: none;
}

.entry-content .sico-banner__crumbs a:hover {
	color: #fff;
	text-decoration: underline;
}

.entry-content .sico-banner__text {
	max-width: 520px;
	margin: 14px 0 0;
	font-family: var(--sico-font);
	font-size: 17px;
	line-height: 1.55;
	color: rgba(255, 255, 255, .88);
}

@media (max-width: 767px) {
	.sico-banner--gallery {
		min-height: 300px;
	}

	.entry-content .sico-banner__text {
		font-size: 15px;
	}
}

/* ---------- Tarjeta azul de llamada a la acción (final de página) ---------- */
.sico-cta-card {
	padding: 24px 16px 80px;
}

.sico-cta-card__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	max-width: var(--sico-container);
	margin: 0 auto;
	padding: 40px 48px;
	border-radius: 24px;
	background-color: var(--sico-primary);
}

.entry-content .sico-cta-card__title {
	margin: 0 0 6px;
	font-family: var(--sico-font);
	font-size: 28px;
	font-weight: 600;
	line-height: 1.2;
	color: #fff;
}

.entry-content .sico-cta-card__subtitle {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 15px;
	line-height: 1.5;
	color: rgba(255, 255, 255, .75);
}

.sico-cta-card .sico-btn.wp-block-button {
	padding-right: 0;
}

@media (max-width: 767px) {
	.sico-cta-card {
		padding: 8px 16px 56px;
	}

	.sico-cta-card__inner {
		flex-direction: column;
		align-items: flex-start;
		padding: 28px 24px;
	}

	.entry-content .sico-cta-card__title {
		font-size: 22px;
	}

	.entry-content .sico-cta-card .sico-buttons.wp-block-buttons {
		margin-bottom: 0;
	}
}

/* ---------- Ampliación de fotos de la Galería (main.js) ---------- */
html.sico-lightbox-open {
	overflow: hidden;
}

.sico-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	flex-direction: column;
	background-color: rgba(8, 20, 26, .97);
	font-family: var(--sico-font);
	color: #fff;
}

.sico-lightbox[hidden] {
	display: none;
}

.sico-lightbox__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 28px;
}

.sico-lightbox__info {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	font-size: 15px;
	font-weight: 500;
}

.sico-lightbox__tag:not(:empty) {
	padding: 5px 12px;
	border-radius: 999px;
	background-color: rgba(195, 226, 192, .16);
	font-size: 13px;
	color: var(--sico-accent);
}

.sico-lightbox__stage {
	flex: 1;
	min-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 32px;
	padding: 0 28px;
}

.sico-lightbox__img {
	max-width: min(100%, 1100px);
	max-height: 100%;
	min-width: 0;
	object-fit: contain;
	border-radius: 12px;
}

.sico-lightbox__btn {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, .12);
	color: #fff;
	cursor: pointer;
	transition: background-color .2s;
}

.sico-lightbox__btn:hover {
	background-color: rgba(255, 255, 255, .24);
}

.sico-lightbox__btn:focus-visible,
.sico-lightbox__thumb:focus-visible {
	outline: 2px solid var(--sico-accent);
	outline-offset: 2px;
}

.sico-lightbox__thumbs {
	display: flex;
	justify-content: safe center;
	gap: 8px;
	padding: 20px 28px 24px;
	overflow-x: auto;
	scrollbar-width: none;
}

.sico-lightbox__thumb {
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	overflow: hidden;
	background: none;
	opacity: .5;
	cursor: pointer;
	transition: opacity .2s;
}

.sico-lightbox__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sico-lightbox__thumb:hover,
.sico-lightbox__thumb.is-active {
	opacity: 1;
}

.sico-lightbox__thumb.is-active {
	box-shadow: 0 0 0 2px var(--sico-accent);
}

@media (max-width: 767px) {
	.sico-lightbox__bar {
		padding: 14px 16px;
	}

	.sico-lightbox__stage {
		position: relative;
		gap: 0;
		padding: 0;
	}

	.sico-lightbox__img {
		border-radius: 0;
	}

	.sico-lightbox__prev,
	.sico-lightbox__next {
		position: absolute;
		top: 50%;
		width: 44px;
		height: 44px;
		margin-top: -22px;
		background-color: rgba(8, 20, 26, .6);
	}

	.sico-lightbox__prev {
		left: 8px;
	}

	.sico-lightbox__next {
		right: 8px;
	}

	.sico-lightbox__thumbs {
		justify-content: flex-start;
		padding: 14px 16px 18px;
	}

	.sico-lightbox__thumb {
		width: 48px;
		height: 48px;
	}
}

/* ---------- Páginas legales (texto corrido) ---------- */
.sico-legal {
	padding: 32px 0 48px;
}

.sico-legal__inner {
	max-width: var(--sico-container);
	margin: 0 auto;
	padding: 10px;
	font-family: var(--sico-font-system);
	font-size: 16px;
	line-height: 1.5;
	color: #333;
}

.entry-content .sico-legal__inner .wp-block-heading {
	margin: 8px 0 16px;
	font-family: inherit;
	font-weight: 500;
	line-height: 1.2;
	color: inherit;
}

.entry-content .sico-legal__inner h2 { font-size: 32px; }
.entry-content .sico-legal__inner h3 { font-size: 28px; }
.entry-content .sico-legal__inner h4 { font-size: 24px; }
.entry-content .sico-legal__inner h5 { font-size: 20px; }
.entry-content .sico-legal__inner h6 { font-size: 16px; }

.sico-legal__inner p {
	margin: 0 0 14.4px;
}

.entry-content .sico-legal__inner .wp-block-list {
	margin: 0;
	padding-left: 40px;
	list-style: disc;
}

.entry-content .sico-legal__inner ol.wp-block-list {
	list-style: decimal;
}

.sico-legal__inner a {
	color: #c36;
}

.sico-legal--wide .sico-legal__inner {
	max-width: none;
}

/* Salvaguarda: si una futura versión de WordPress vuelve a envolver el contenido de los Grupos
   en un contenedor interno, este no altera la maquetación. */
.entry-content .wp-block-group__inner-container {
	display: contents;
}

/* ==========================================================================
   Opiniones de clientes (reseñas de Google)
   ========================================================================== */

.sico-reviews {
	padding: 96px 16px;
	background-color: var(--sico-light);
}

.entry-content .sico-reviews__inner {
	display: grid;
	grid-template-columns: 340px minmax(0, 1fr);
	gap: 56px;
	align-items: center;
	max-width: 1240px;
	margin: 0 auto;
}

.sico-reviews__intro {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.entry-content .sico-reviews__eyebrow {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	color: var(--sico-green);
}

.entry-content .sico-reviews__title {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 40px;
	font-weight: 600;
	line-height: 1.12;
	color: var(--sico-primary);
}

.sico-reviews__rating {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.sico-reviews__score {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 64px;
	font-weight: 700;
	line-height: 1;
	color: var(--sico-primary);
}

.sico-reviews__score::after {
	content: " / 5";
	font-size: 18px;
	font-weight: 400;
	color: #5B6470;
}

.sico-reviews__count {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 15px;
	line-height: 1.5;
	color: #5B6470;
}

.sico-reviews__link {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 600;
}

.sico-reviews__link a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--sico-green-dark);
	text-decoration: none;
}

.sico-reviews__link a::after {
	content: "";
	width: 16px;
	height: 16px;
	background-color: currentColor;
	-webkit-mask: url(../icons/arrow-right.svg) center / contain no-repeat;
	mask: url(../icons/arrow-right.svg) center / contain no-repeat;
	transition: transform .3s;
}

.sico-reviews__link a:hover {
	color: var(--sico-primary);
}

.sico-reviews__link a:hover::after {
	transform: translateX(3px);
}

/* Estrellas (5 por defecto, --4 para cuatro) */
.sico-stars {
	display: block;
	width: 88px;
	height: 16px;
	background: linear-gradient(90deg, #F2B33D var(--sico-stars-fill, 100%), #D9DED8 0);
	-webkit-mask: url(../icons/stars.svg) left center / 100% 100% no-repeat;
	mask: url(../icons/stars.svg) left center / 100% 100% no-repeat;
}

.sico-stars--4 {
	--sico-stars-fill: 79%;
}

.sico-stars--lg {
	width: 128px;
	height: 23px;
}

/* Carrusel */
.sico-reviews__slider {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}

.entry-content .sico-reviews__track {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding: 2px;
	margin: -2px;
}

.sico-reviews__track::-webkit-scrollbar {
	display: none;
}

.entry-content .sico-review {
	display: flex;
	flex: 0 0 380px;
	flex-direction: column;
	gap: 16px;
	padding: 28px;
	border: 1px solid #E4ECE3;
	border-radius: 18px;
	background-color: #fff;
	scroll-snap-align: start;
}

.sico-review__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.sico-review__source {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 0;
	font-family: var(--sico-font);
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	color: #6B7280;
}

.sico-review__source::before {
	content: "✓";
	font-size: 12px;
}

.sico-review__text {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	font-family: var(--sico-font);
	font-size: 15px;
	line-height: 1.6;
	color: var(--sico-text);
}

.sico-review.is-expanded .sico-review__text {
	-webkit-line-clamp: unset;
}

.sico-review__more {
	align-self: flex-start;
	margin-top: -8px;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--sico-font);
	font-size: 14px;
	font-weight: 600;
	color: var(--sico-green-dark);
	cursor: pointer;
}

.sico-review__more:hover,
.sico-review__more:focus {
	background: none;
	color: var(--sico-primary);
}

.sico-review__author {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: auto;
}

.sico-review__avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	margin: 0;
	border-radius: 50%;
	background-color: var(--sico-green-dark);
	font-family: var(--sico-font);
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
}

.sico-review:nth-child(5n+2) .sico-review__avatar { background-color: var(--sico-primary); }
.sico-review:nth-child(5n+3) .sico-review__avatar { background-color: var(--sico-accent); color: var(--sico-green-dark); }
.sico-review:nth-child(5n+4) .sico-review__avatar { background-color: var(--sico-green); }
.sico-review:nth-child(5n+5) .sico-review__avatar { background-color: #E4ECE3; color: var(--sico-primary); }

.sico-review__name {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--sico-primary);
}

/* Controles (los añade el JavaScript) */
.sico-reviews__controls {
	display: flex;
	align-items: center;
	gap: 12px;
}

.sico-reviews__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid #D5E0D4;
	border-radius: 50%;
	background-color: #fff;
	color: var(--sico-primary);
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s, opacity .2s;
}

.sico-reviews__arrow .sico-svg {
	width: 18px;
	height: 18px;
}

.sico-reviews__arrow--prev .sico-svg {
	transform: scaleX(-1);
}

.sico-reviews__arrow:not(:disabled):hover,
.sico-reviews__arrow:focus-visible {
	border-color: var(--sico-green-dark);
	background-color: var(--sico-green-dark);
	color: #fff;
}

.sico-reviews__arrow:disabled {
	opacity: .35;
	cursor: default;
}

/* Escritorio: solo flechas. Móvil: solo puntos */
@media (min-width: 1025px) {
	.sico-reviews__controls .sico-reviews__dots {
		display: none;
	}
}

.sico-reviews__dots {
	display: flex;
	gap: 6px;
	margin-left: 12px;
}

.sico-reviews__dot {
	width: 6px;
	height: 6px;
	padding: 0;
	border: 0;
	border-radius: 3px;
	background-color: #CFD8CE;
	cursor: pointer;
	transition: width .3s, background-color .3s;
}

.sico-reviews__dot:hover,
.sico-reviews__dot:focus {
	background-color: var(--sico-green);
}

.sico-reviews__dot.is-active {
	width: 22px;
	background-color: var(--sico-green-dark);
}

@media (max-width: 1024px) {
	.entry-content .sico-reviews__inner {
		grid-template-columns: 1fr;
		gap: 36px;
	}
}

@media (max-width: 767px) {
	.sico-reviews {
		padding: 48px 20px;
	}

	.entry-content .sico-reviews__inner {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
	}

	.sico-reviews__intro {
		display: contents;
	}

	.entry-content .sico-reviews__title {
		font-size: 30px;
		line-height: 1.15;
	}

	.sico-reviews__rating {
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-rows: auto auto;
		column-gap: 14px;
		row-gap: 6px;
		align-items: center;
		padding: 16px 18px;
		border: 1px solid #E4ECE3;
		border-radius: 16px;
		background-color: #fff;
	}

	.sico-reviews__score {
		grid-row: 1 / span 2;
		font-size: 40px;
	}

	.sico-reviews__score::after {
		content: none;
	}

	.sico-reviews__rating .sico-stars--lg {
		align-self: end;
		width: 100px;
		height: 18px;
	}

	.sico-reviews__count {
		align-self: start;
		font-size: 13px;
	}

	.sico-reviews__slider {
		order: 2;
		margin-right: -20px;
	}

	.sico-reviews__link {
		order: 3;
	}

	.entry-content .sico-review {
		flex-basis: 300px;
		padding: 22px;
	}

	.sico-review__text {
		-webkit-line-clamp: 7;
		font-size: 14px;
	}

	.sico-reviews__controls {
		justify-content: center;
		margin-right: 20px;
	}

	.sico-reviews__arrow {
		display: none;
	}

	.sico-reviews__dots {
		margin-left: 0;
	}
}

/* Solo se muestran opiniones de 5 estrellas: una tarjeta con menos estrellas no aparece */
.sico-review:has(.sico-stars--1),
.sico-review:has(.sico-stars--2),
.sico-review:has(.sico-stars--3),
.sico-review:has(.sico-stars--4) {
	display: none !important;
}

/* ---------- Ampliación de fotos (lightbox de WordPress) ----------
   Fondo oscuro y controles claros en toda la web (galería y mosaico).
   WordPress pone los colores en línea: hace falta !important. */
.wp-lightbox-overlay .scrim {
	background-color: #08141A !important;
	opacity: .96;
}

.wp-lightbox-overlay .wp-lightbox-close-button,
.wp-lightbox-overlay .wp-lightbox-navigation-button {
	color: #fff !important;
	fill: #fff !important;
}

.wp-lightbox-overlay .wp-lightbox-close-button svg,
.wp-lightbox-overlay .wp-lightbox-navigation-button svg {
	fill: #fff !important;
}

.wp-lightbox-overlay .wp-lightbox-close-button:focus-visible,
.wp-lightbox-overlay .wp-lightbox-navigation-button:focus-visible {
	outline: 2px solid var(--sico-accent);
	outline-offset: 2px;
}

/* ==========================================================================
   Tipografía unificada: todos los subtítulos (verde, pequeños) y títulos de
   sección (azul) con la misma letra, tamaño y peso en todas las páginas.
   ========================================================================== */
.entry-content .sico-eyebrow,
.entry-content .sico-services__eyebrow,
.entry-content .sico-247__eyebrow,
.entry-content .sico-reviews__eyebrow,
.entry-content .sico-projects__eyebrow,
.entry-content .sico-contact__eyebrow {
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0;
	text-transform: none;
	color: var(--sico-green);
}

.entry-content .sico-about__title,
.entry-content .sico-services__title,
.entry-content .sico-247__title,
.entry-content .sico-reviews__title,
.entry-content .sico-projects__title,
.entry-content .sico-contact__title {
	font-family: var(--sico-font);
	font-size: 40px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	color: var(--sico-primary);
}

.entry-content .sico-247__title mark {
	font-weight: 600;
	color: var(--sico-green-dark);
}

.entry-content .sico-cta__title {
	font-family: var(--sico-font);
	font-size: 44px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: none;
}

.entry-content .sico-hero__eyebrow {
	font-family: var(--sico-font);
	font-size: 22px;
	font-weight: 500;
}

.entry-content .sico-badge__number,
.sico-badge__label {
	font-family: var(--sico-font);
}

.entry-content .sico-badge__number {
	font-weight: 600;
}

/* Aire entre el botón de la portada y las tarjetas de ventajas que montan encima */
.sico-hero {
	padding-bottom: 150px;
}

@media (max-width: 1024px) {
	.entry-content .sico-about__title,
	.entry-content .sico-services__title,
	.entry-content .sico-247__title,
	.entry-content .sico-reviews__title,
	.entry-content .sico-projects__title,
	.entry-content .sico-contact__title {
		font-size: 34px;
	}

	.entry-content .sico-cta__title {
		font-size: 36px;
	}

	.sico-hero {
		padding-bottom: 110px;
	}
}

@media (max-width: 767px) {
	.entry-content .sico-about__title,
	.entry-content .sico-services__title,
	.entry-content .sico-247__title,
	.entry-content .sico-reviews__title,
	.entry-content .sico-projects__title,
	.entry-content .sico-contact__title {
		font-size: 28px;
	}

	.entry-content .sico-cta__title {
		font-size: 28px;
	}

	.entry-content .sico-hero__eyebrow {
		font-size: 18px;
	}

	.sico-hero {
		padding-bottom: 90px;
	}
}

/* ---------- Llamada a la acción final de la portada: antetítulo, frase y dos botones ---------- */
.sico-cta {
	padding: 110px 0;
}

.sico-cta::before {
	background: linear-gradient(180deg, rgba(0, 48, 73, .72) 0%, rgba(0, 48, 73, .82) 100%);
	opacity: 1;
}

.sico-cta__inner {
	align-items: center;
	gap: 0;
	text-align: center;
}

.entry-content .sico-cta__eyebrow {
	margin: 0 0 14px;
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .04em;
	color: var(--sico-accent);
}

.entry-content .sico-cta__title {
	max-width: 760px;
	margin: 0 auto;
}

.entry-content .sico-cta__text {
	max-width: 620px;
	margin: 18px auto 34px;
	font-size: 17px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .86);
}

.entry-content .sico-cta__buttons.wp-block-buttons {
	flex-wrap: wrap;
	gap: 14px;
	padding-right: 0;
}

.entry-content .sico-cta__call .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	height: 56px;
	padding: 0 28px;
	border: 1px solid rgba(255, 255, 255, .55);
	border-radius: 999px;
	background: transparent;
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .3s, color .3s, border-color .3s;
}

.entry-content .sico-cta__call .wp-block-button__link:hover,
.entry-content .sico-cta__call .wp-block-button__link:focus-visible {
	border-color: #fff;
	background-color: #fff;
	color: var(--sico-primary);
}

@media (max-width: 767px) {
	.sico-cta {
		padding: 72px 16px;
	}

	.entry-content .sico-cta__text {
		font-size: 15px;
		margin-bottom: 26px;
	}

	.entry-content .sico-cta__buttons.wp-block-buttons {
		flex-direction: column;
		align-items: center;
	}
}

/* ---------- Servicio eléctrico 24/7 (portada): urgencias, tres pasos y barra de llamada ---------- */
.sico-urgencias {
	padding: 100px 0;
	background-color: var(--sico-light);
}

.entry-content .sico-urgencias__inner {
	display: flex;
	flex-direction: column;
	gap: 44px;
	width: 100%;
	max-width: var(--sico-container);
	margin: 0 auto;
}

.sico-urgencias__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.entry-content .sico-urgencias__eyebrow {
	margin: 0 0 10px;
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 500;
	color: var(--sico-green);
}

.entry-content .sico-urgencias__title {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 40px;
	font-weight: 600;
	line-height: 1.15;
	color: var(--sico-primary);
}

.entry-content .sico-urgencias__text {
	max-width: 560px;
	margin: 14px 0 0;
	font-size: 17px;
	line-height: 1.6;
	color: #4A4F55;
}

.entry-content .sico-urgencias__tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.entry-content .sico-urgencias__tags li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 7px 14px 7px 8px;
	border: 1px solid #D5E0D4;
	border-radius: 999px;
	background-color: #fff;
	font-family: var(--sico-font);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--sico-primary);
}

.entry-content .sico-urgencias__tags li::before {
	content: "";
	flex-shrink: 0;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--sico-accent) var(--sico-urg-icon) 50% 50% / 14px no-repeat;
}

.sico-urgencias__tags li:nth-child(1) { --sico-urg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2340633D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2L4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E"); }
.sico-urgencias__tags li:nth-child(2) { --sico-urg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2340633D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2.5'/%3E%3Crect x='9' y='7' width='6' height='10' rx='1.5'/%3E%3Cpath d='M9 12h6'/%3E%3C/svg%3E"); }
.sico-urgencias__tags li:nth-child(3) { --sico-urg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2340633D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22c4 0 7-2.8 7-6.8 0-3.4-2.3-5.6-4.2-8.2-.6 2-1.6 3-3 3.6.2-2.9-1-5.6-3.3-8.6C8.2 5.8 5 9.2 5 15.2 5 19.2 8 22 12 22z'/%3E%3C/svg%3E"); }
.sico-urgencias__tags li:nth-child(4) { --sico-urg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2340633D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3s6 6.4 6 11a6 6 0 0 1-12 0c0-4.6 6-11 6-11z'/%3E%3C/svg%3E"); }

.entry-content .sico-urgencias__steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	counter-reset: sico-step;
}

.sico-urgencias__step {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 32px 30px;
	border-radius: 22px;
	background-color: #fff;
	box-shadow: 0 14px 34px rgba(0, 48, 73, .07);
	counter-increment: sico-step;
	transition: transform .3s, box-shadow .3s;
}

.sico-urgencias__step:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 44px rgba(0, 48, 73, .12);
}

.sico-urgencias__step::before {
	content: counter(sico-step);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 10px;
	border-radius: 50%;
	background-color: var(--sico-accent);
	font-family: var(--sico-font);
	font-size: 20px;
	font-weight: 600;
	color: var(--sico-green-dark);
}

.sico-urgencias__step:last-child::before {
	background-color: var(--sico-green-dark);
	color: #fff;
}

.entry-content .sico-urgencias__step-title {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--sico-primary);
}

.entry-content .sico-urgencias__step-text {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: #4A4F55;
}

.sico-urgencias__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 26px 26px 26px 36px;
	border-radius: 24px;
	background-color: var(--sico-primary);
	color: #fff;
}

.sico-urgencias__bar-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding-left: 68px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 52'%3E%3Ccircle cx='26' cy='26' r='26' fill='%23C3E2C0' fill-opacity='.16'/%3E%3Cg fill='none' stroke='%23C3E2C0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='26' cy='26' r='10'/%3E%3Cpath d='M26 20.5V26l3.5 2.2'/%3E%3C/g%3E%3C/svg%3E") 0 50% / 52px no-repeat;
}

.entry-content .sico-urgencias__bar-title {
	margin: 0;
	font-family: var(--sico-font);
	font-size: 18px;
	font-weight: 600;
	color: #fff;
}

.entry-content .sico-urgencias__bar-text {
	margin: 0;
	font-size: 13px;
	color: rgba(255, 255, 255, .7);
}

.entry-content .sico-urgencias__buttons.wp-block-buttons {
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
}

.sico-urgencias__buttons .sico-btn.wp-block-button {
	padding-right: 0;
}

/* Botón de llamar: flecha cambiada por teléfono */
.entry-content .sico-btn--phone .wp-block-button__link::after,
.entry-content .sico-btn--phone .wp-block-button__link:hover::after,
.entry-content .sico-btn--phone .wp-block-button__link:focus-visible::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3.5l2 5-2.4 1.6a11 11 0 0 0 5.3 5.3L15 13.5l5 2V19a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
	background-position: 50% 50%;
}

.entry-content .sico-btn--phone .wp-block-button__link:hover::after,
.entry-content .sico-btn--phone .wp-block-button__link:focus-visible::after {
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2340633D' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3.5l2 5-2.4 1.6a11 11 0 0 0 5.3 5.3L15 13.5l5 2V19a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
}

.entry-content .sico-urgencias__wa .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 56px;
	padding: 0 24px 0 20px;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 999px;
	background: transparent;
	font-family: var(--sico-font);
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .3s, color .3s, border-color .3s;
}

.entry-content .sico-urgencias__wa .wp-block-button__link::before {
	content: "";
	width: 18px;
	height: 18px;
	background-color: currentColor;
	-webkit-mask: url(../icons/whatsapp.svg) 50% 50% / contain no-repeat;
	mask: url(../icons/whatsapp.svg) 50% 50% / contain no-repeat;
}

.entry-content .sico-urgencias__wa .wp-block-button__link:hover,
.entry-content .sico-urgencias__wa .wp-block-button__link:focus-visible {
	border-color: #fff;
	background-color: #fff;
	color: var(--sico-primary);
}

@media (max-width: 1024px) {
	.sico-urgencias {
		padding: 80px 20px;
	}

	.entry-content .sico-urgencias__title {
		font-size: 34px;
	}

	.sico-urgencias__bar {
		flex-direction: column;
		align-items: stretch;
	}
}

@media (max-width: 767px) {
	.sico-urgencias {
		padding: 56px 16px;
	}

	.entry-content .sico-urgencias__inner {
		gap: 28px;
	}

	.entry-content .sico-urgencias__title {
		font-size: 28px;
	}

	.entry-content .sico-urgencias__text {
		font-size: 15px;
	}

	.entry-content .sico-urgencias__tags li {
		font-size: 12.5px;
	}

	.entry-content .sico-urgencias__steps {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.sico-urgencias__step {
		display: grid;
		grid-template-columns: 40px 1fr;
		column-gap: 16px;
		row-gap: 4px;
		padding: 20px 18px;
	}

	.sico-urgencias__step::before {
		grid-row: span 2;
		width: 40px;
		height: 40px;
		margin: 0;
		font-size: 16px;
	}

	.entry-content .sico-urgencias__step-title {
		font-size: 16px;
	}

	.entry-content .sico-urgencias__step-text {
		font-size: 14px;
	}

	.sico-urgencias__bar {
		padding: 24px 20px;
	}

	.sico-urgencias__bar-info {
		padding-left: 60px;
		background-size: 44px;
	}

	.entry-content .sico-urgencias__bar-title {
		font-size: 15px;
	}

	.entry-content .sico-urgencias__buttons.wp-block-buttons {
		flex-direction: column;
		align-items: stretch;
	}

	.entry-content .sico-urgencias__buttons .wp-block-button__link {
		justify-content: space-between;
		width: 100%;
	}

	.entry-content .sico-urgencias__wa .wp-block-button__link {
		justify-content: center;
	}
}

/* Todas las cabeceras de sección alineadas a la izquierda, como el resto */
.entry-content .sico-services__eyebrow,
.entry-content .sico-services__title {
	text-align: left;
}

.sico-urgencias__head {
	align-items: flex-start;
	text-align: left;
}

.entry-content .sico-urgencias__tags {
	justify-content: flex-start;
}

/* Entre dos secciones grises (servicios y opiniones), la del 24/7 va en blanco */
.sico-urgencias {
	background-color: #fff;
}

.sico-urgencias__step {
	background-color: var(--sico-light);
	box-shadow: none;
}

.entry-content .sico-urgencias__tags li {
	background-color: var(--sico-light);
	border-color: transparent;
}

/* Botón de WhatsApp de la sección 24/7: verde corporativo */
.entry-content .sico-urgencias__wa .wp-block-button__link {
	border-color: var(--sico-green-dark);
	background-color: var(--sico-green-dark);
	color: #fff;
}

.entry-content .sico-urgencias__wa .wp-block-button__link:hover,
.entry-content .sico-urgencias__wa .wp-block-button__link:focus-visible {
	border-color: var(--sico-green);
	background-color: var(--sico-green);
	color: #fff;
}
