/*
 * Estilos de bloque de Catalana (variantes de bloques nativos) y piezas de los patrones.
 * Usan los colores del tema con valor de reserva por si algún día se cambia de tema.
 */
:root {
	--crb-ink: var(--wp--preset--color--ink, #121414);
	--crb-brick: var(--wp--preset--color--brick, #b55329);
	--crb-brick-hi: var(--wp--preset--color--brick-hi, #c9663a);
	--crb-line: rgba(18, 20, 20, .12);
	--crb-line-d: rgba(255, 255, 255, .13);
	--crb-eo: cubic-bezier(.23, 1, .32, 1);
}

/* Antetítulo */
.is-style-antetitulo {
	display: block;
	font-family: var(--wp--preset--font-family--inter, Inter, sans-serif);
	font-size: .875rem !important;
	font-weight: 400;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--crb-ink);
	line-height: 1.5;
}
.is-style-antetitulo + :is(h1, h2, h3) { margin-top: .6rem !important; }
.has-text-align-center.is-style-antetitulo { letter-spacing: .1em; }

/* Botón con contorno (estilo "Contorno" de WordPress) y botón pequeño */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--crb-line);
	color: var(--crb-ink);
	padding: 18px 40px;
	transition: background .3s ease, color .3s ease, border-color .3s ease;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--crb-ink);
	border-color: var(--crb-ink);
	color: #fff;
}
:is(.has-ink-background-color, .has-dark-background-color) .wp-block-button.is-style-outline > .wp-block-button__link { border-color: var(--crb-line-d); color: #fff; }
:is(.has-ink-background-color, .has-dark-background-color) .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--crb-ink); }
.wp-block-button.is-style-pequeno > .wp-block-button__link { padding: 13px 26px; font-size: .94rem; }
.wp-block-button__link { transition: background .3s ease, color .3s ease, border-color .3s ease, transform .14s var(--crb-eo); }
.wp-block-button__link:active { transform: scale(.975); }

/* Cabecera de sección: título a la izquierda, texto a la derecha */
.cr-cabeza { gap: clamp(1.5rem, 4vw, 3.5rem) !important; margin-bottom: clamp(2.5rem, 4.5vw, 4rem) !important; }
.cr-cabeza :is(h1, h2) { max-width: 14ch; }
.cr-cabeza p:not(.is-style-antetitulo) { padding-bottom: .4rem; max-width: 60ch; }
.cr-centro { text-align: center; }

/* Cajas con línea (cuatro columnas) */
.wp-block-columns.is-style-cajas { gap: clamp(1.25rem, 2.6vw, 2.5rem) !important; flex-wrap: wrap !important; }
.wp-block-columns.is-style-cajas > .wp-block-column { padding-top: 1.9rem; border-top: 1px solid var(--crb-line); flex: 1 1 0; min-width: 0; }
.wp-block-columns.is-style-cajas .cr-icono { margin-bottom: 1.5rem; }
.wp-block-columns.is-style-cajas :is(h3, h4) { margin-bottom: .7rem; }
.wp-block-columns.is-style-cajas :is(h3, h4) + p { margin-top: 0; }
.wp-block-columns.is-style-cajas p { font-size: .94rem; line-height: 1.6; }
@media (max-width: 1100px) {
	.wp-block-columns.is-style-cajas > .wp-block-column { flex: 0 0 calc(50% - clamp(1.25rem, 2.6vw, 2.5rem) / 2) !important; }
}
@media (max-width: 760px) {
	.wp-block-columns.is-style-cajas > .wp-block-column { flex-basis: 100% !important; }
}

/* Dos columnas del boceto (foto + texto) */
.cr-duo { gap: clamp(1.5rem, 1.6vw, 31px) !important; }
.cr-duo--amplio { gap: clamp(2rem, 7.35vw, 141px) !important; }
.cr-duo .wp-block-image { margin: 0; }
.cr-duo .cr-foto-2 { margin-top: 1.7rem !important; }
.cr-duo .wp-block-heading + p { margin-top: 1.3rem; }
@media (max-width: 781px) {
	.cr-invertir-movil { flex-direction: column-reverse; }
	.cr-invertir-movil .wp-block-image img { aspect-ratio: 16 / 10 !important; }
}

/* Tarjetas escalonadas */
.wp-block-columns.is-style-escalonado { gap: clamp(1.25rem, 1.6vw, 30px) !important; }
.wp-block-columns.is-style-escalonado > .wp-block-column:nth-child(2) { margin-top: clamp(2.5rem, 5.7vw, 110px); }
.wp-block-columns.is-style-escalonado .wp-block-image { overflow: hidden; margin: 0 0 1.6rem; }
.wp-block-columns.is-style-escalonado .wp-block-image img { transition: transform .8s var(--crb-eo); }
.wp-block-columns.is-style-escalonado .is-style-antetitulo { color: var(--crb-brick); letter-spacing: .1em; font-size: .78rem !important; }
.wp-block-columns.is-style-escalonado :is(h3, h4) { margin-bottom: .8rem; }
@media (hover: hover) and (pointer: fine) {
	.wp-block-columns.is-style-escalonado > .wp-block-column:hover .wp-block-image img { transform: scale(1.06); }
}
@media (max-width: 781px) {
	.wp-block-columns.is-style-escalonado > .wp-block-column:nth-child(2) { margin-top: 0; }
}

/* Lista de enlaces (pie, menús en columnas) */
.wp-block-list.is-style-enlaces { list-style: none; padding: 0; margin: 0; }
.wp-block-list.is-style-enlaces li { padding-block: .36rem; margin: 0; }
.wp-block-list.is-style-enlaces a { text-decoration: none; }

/* Redes en círculos */
.wp-block-social-links.is-style-circulos { gap: 10px !important; }
.wp-block-social-links.is-style-circulos .wp-social-link {
	width: 45px;
	height: 45px;
	display: grid;
	place-items: center;
	border: 1px solid #252627;
	border-radius: 50%;
	background: transparent !important;
	color: #69727d !important;
	transition: background .3s ease, border-color .3s ease, color .3s ease;
}
.wp-block-social-links.is-style-circulos .wp-social-link a { padding: 0; color: inherit !important; }
.wp-block-social-links.is-style-circulos .wp-social-link svg { width: 15px; height: 15px; }
.wp-block-social-links.is-style-circulos .wp-social-link:hover { background: var(--crb-brick) !important; border-color: var(--crb-brick); color: #fff !important; transform: none; }

/* Imágenes de los patrones */
.wp-block-image img[style*="aspect-ratio"] { width: 100%; }

/* Contacto: la foto de fondo con formulario */
.wp-block-cover:has(.cr-form) { background: var(--wp--preset--color--dark, #161e1f); }

/* Llamada a pedir presupuesto dentro de un texto */
.cr-llamada-bloque { border-left: 3px solid var(--crb-brick); }
.cr-llamada-bloque > :first-child { margin-top: 0 !important; }
.cr-llamada-bloque > * + * { margin-top: .8rem; }
.cr-llamada-bloque .wp-block-buttons { margin-top: 1.4rem; }
