/* Amate Diseño — línea gráfica «Del plano a la pieza» */
:root {
	--am-cian: var(--wp--preset--color--cian);
	--am-cian-texto: var(--wp--preset--color--cian-texto);
	--am-on-cian: var(--wp--preset--color--on-cian);
	--am-gris: var(--wp--preset--color--gris-amate);
	--am-triplay-texto: var(--wp--preset--color--triplay-texto);
	--am-superficie: var(--wp--preset--color--superficie);
	--am-superficie-alt: var(--wp--preset--color--superficie-alt);
	--am-seccion: var(--wp--preset--color--seccion);
	--am-tinta: var(--wp--preset--color--tinta);
	--am-tinta-suave: var(--wp--preset--color--tinta-suave);
	--am-inv: var(--wp--preset--color--tinta-inversa);
	--am-inv-suave: var(--wp--preset--color--tinta-inversa-suave);
	--am-linea: var(--wp--preset--color--linea);
	--am-linea-fuerte: var(--wp--preset--color--linea-fuerte);
	--am-mono: var(--wp--preset--font-family--plex-mono);
	--am-trazo-fino: 1px;
	--am-trazo-medio: 1.5px;
	--am-trazo-plancha: 2px;
	--am-error: #b3261e;
	--am-exito: #1e7a4c;
}

body { -webkit-font-smoothing: antialiased; }
.wp-site-blocks > * + *, main.alignfull > * + *, main.alignfull > .alignfull { margin-block-start: 0 !important; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--am-cian-texto); outline-offset: 2px; }
.am-seccion :where(a, button, input, select, textarea):focus-visible { outline-color: var(--am-cian); }
::selection { background: var(--am-cian); color: #000; }

/* ── Secciones ───────────────────────────── */
.am-sec { padding-top: var(--wp--preset--spacing--90); padding-bottom: var(--wp--preset--spacing--90); }
.am-seccion { background: var(--am-seccion); color: var(--am-inv); }
.am-seccion a:not(.wp-element-button) { color: var(--am-inv); }
.am-seccion a:not(.wp-element-button):hover { color: var(--am-cian); }
.am-banda { background: var(--am-superficie-alt); }
.am-reticula { background-image: radial-gradient(var(--am-linea) 1px, transparent 1.2px); background-size: 24px 24px; }
.am-texto-suave { color: var(--am-tinta-suave); }
.am-seccion .am-texto-suave { color: var(--am-inv-suave); }
.am-entrada { font-size: var(--wp--preset--font-size--l); line-height: 1.6; max-width: 36em; }
.am-cabecera-sec { align-items: flex-end !important; gap: 24px; }
.am-cabecera-sec h2 { margin-top: 20px !important; max-width: 16ch; }

/* ── Plancha: lámina curva del logotipo (fondo SVG, sin JavaScript) ── */
.am-plancha,
.is-style-plancha-etiqueta,
.is-style-plancha-doble {
	display: inline-flex !important;
	align-items: center;
	width: auto !important;
	max-width: 100%;
	padding: 7px 20px !important;
	font-family: var(--am-mono);
	font-size: 11px !important;
	font-weight: 500;
	letter-spacing: .12em;
	line-height: 1.3 !important;
	text-transform: uppercase;
	color: var(--am-cian-texto);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 40' preserveAspectRatio='none'%3E%3Cpath d='M8 2 Q100 5.5 192 2 Q200.5 20 192 38 Q100 34.5 8 38 Q-0.5 20 8 2 Z' fill='none' stroke='%2321b9ec' stroke-width='1.5' vector-effect='non-scaling-stroke' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.is-style-plancha-doble, .am-plancha--doble { padding: 10px 30px 7px 28px !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -4 206 45' preserveAspectRatio='none'%3E%3Cpath d='M10 -2 Q104 1.5 194 -2 Q202.5 16 194 34 Q104 30.5 10 34 Q1.5 16 10 -2 Z' fill='none' stroke='%23757575' stroke-width='1.5' vector-effect='non-scaling-stroke' stroke-linejoin='round'/%3E%3Cpath d='M4 3 Q98 6.5 188 3 Q196.5 21 188 39 Q98 35.5 4 39 Q-4.5 21 4 3 Z' fill='none' stroke='%2321b9ec' stroke-width='1.5' vector-effect='non-scaling-stroke' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.am-seccion :is(.am-plancha, .is-style-plancha-etiqueta, .is-style-plancha-doble) { color: var(--am-cian); }
.am-seccion :is(.is-style-plancha-doble, .am-plancha--doble) { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -4 206 45' preserveAspectRatio='none'%3E%3Cpath d='M10 -2 Q104 1.5 194 -2 Q202.5 16 194 34 Q104 30.5 10 34 Q1.5 16 10 -2 Z' fill='none' stroke='%23ffffff' stroke-width='1.5' vector-effect='non-scaling-stroke' stroke-linejoin='round'/%3E%3Cpath d='M4 3 Q98 6.5 188 3 Q196.5 21 188 39 Q98 35.5 4 39 Q-4.5 21 4 3 Z' fill='none' stroke='%2321b9ec' stroke-width='1.5' vector-effect='non-scaling-stroke' stroke-linejoin='round'/%3E%3C/svg%3E"); }

/* Cifra dentro de plancha grande */
.is-style-plancha-cifra { display: inline-flex !important; align-items: center; gap: 14px; width: auto !important; padding: 24px 44px 18px 36px !important; line-height: 1.3; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -4 206 45' preserveAspectRatio='none'%3E%3Cpath d='M10 -2 Q104 1.5 194 -2 Q202.5 16 194 34 Q104 30.5 10 34 Q1.5 16 10 -2 Z' fill='none' stroke='%23757575' stroke-width='2' vector-effect='non-scaling-stroke' stroke-linejoin='round'/%3E%3Cpath d='M4 3 Q98 6.5 188 3 Q196.5 21 188 39 Q98 35.5 4 39 Q-4.5 21 4 3 Z' fill='none' stroke='%2321b9ec' stroke-width='2' vector-effect='non-scaling-stroke' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
.am-seccion .is-style-plancha-cifra { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -4 206 45' preserveAspectRatio='none'%3E%3Cpath d='M10 -2 Q104 1.5 194 -2 Q202.5 16 194 34 Q104 30.5 10 34 Q1.5 16 10 -2 Z' fill='none' stroke='%23ffffff' stroke-width='2' vector-effect='non-scaling-stroke' stroke-linejoin='round'/%3E%3Cpath d='M4 3 Q98 6.5 188 3 Q196.5 21 188 39 Q98 35.5 4 39 Q-4.5 21 4 3 Z' fill='none' stroke='%2321b9ec' stroke-width='2' vector-effect='non-scaling-stroke' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.is-style-plancha-cifra strong { font-weight: 300; font-size: 44px; line-height: 1; white-space: nowrap; }

/* ── Cota: línea de dimensión ─────────────── */
.is-style-cota, .am-cota {
	display: flex !important; align-items: center; gap: 8px;
	font-family: var(--am-mono); font-size: 12px !important; font-weight: 500; letter-spacing: .04em; line-height: 1.3 !important;
	color: var(--am-cian-texto); white-space: nowrap;
}
.is-style-cota::before, .is-style-cota::after, .am-cota::before, .am-cota::after {
	content: ""; flex: 1 1 24px; min-width: 16px; height: 9px;
	border-inline: var(--am-trazo-fino) solid var(--am-cian);
	background: linear-gradient(var(--am-cian), var(--am-cian)) center / 100% var(--am-trazo-fino) no-repeat;
}
.is-style-cota::before, .am-cota::before { border-right: 0; }
.is-style-cota::after, .am-cota::after { border-left: 0; }
.am-seccion :is(.is-style-cota, .am-cota) { color: var(--am-cian); }
@media (max-width: 480px) { .is-style-cota, .am-cota { white-space: normal; text-align: center; } }

/* ── Traslape: foto con lámina desfasada ──── */
.wp-block-image.is-style-traslape { position: relative; margin-top: 12px; margin-right: 12px; }
.wp-block-image.is-style-traslape::before { content: ""; position: absolute; top: -12px; right: -12px; bottom: 12px; left: 12px; border: var(--am-trazo-medio) solid var(--am-cian); pointer-events: none; }
.wp-block-image.is-style-traslape img { position: relative; display: block; width: 100%; object-fit: cover; }
.am-hero .wp-block-image.is-style-traslape img { aspect-ratio: 4 / 5; }
.am-corte .wp-block-image.is-style-traslape img { aspect-ratio: 4 / 3; }

/* ── Botones ──────────────────────────────── */
.wp-element-button, .wp-block-button__link { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; transition: background-color .15s, color .15s, border-color .15s; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--am-tinta); border-color: var(--am-linea-fuerte); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: transparent; color: var(--am-cian-texto); border-color: var(--am-cian); }
.am-seccion .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover { background: var(--am-inv); color: #000; border-color: var(--am-inv); }
.am-seccion .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--am-inv); border-color: var(--am-inv-suave); }
.am-seccion .wp-block-button.is-style-outline > .wp-block-button__link:hover { color: var(--am-cian); border-color: var(--am-cian); }
.is-style-enlace-subrayado a, a.am-enlace { color: var(--am-cian-texto); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; font-weight: 500; font-size: 15px; }

/* ── Encabezado ───────────────────────────── */
.am-encabezado { border-bottom: var(--am-trazo-fino) solid var(--am-linea); background: var(--am-superficie); }
.am-encabezado__fila { padding-top: 16px; padding-bottom: 16px; gap: 32px; }
.am-logo img { height: 40px !important; width: auto !important; display: block; }
.am-logo { margin: 0 !important; }
.am-encabezado .wp-block-navigation { margin-left: auto; gap: 24px; }
.am-encabezado .wp-block-navigation a { color: var(--am-tinta); padding-block: 6px; border-bottom: 2px solid transparent; text-decoration: none; }
.am-encabezado .wp-block-navigation a:hover { color: var(--am-cian-texto); }
.am-encabezado .wp-block-navigation .current-menu-item > a, .am-encabezado .wp-block-navigation a[aria-current="page"] { border-bottom-color: var(--am-cian); }
@media (max-width: 781px) { .am-encabezado .am-boton-cabecera { display: none; } }

/* ── Hero ─────────────────────────────────── */
.am-hero { gap: clamp(32px, 6vw, 64px) !important; }
.am-hero h1 { margin: 24px 0 !important; text-wrap: balance; }
.am-hero h1 em { font-style: normal; color: var(--am-cian); }
.am-hero .am-entrada { color: var(--am-inv-suave); margin-bottom: 32px; }
.am-hero .is-style-cota { margin-top: 8px !important; }

/* ── Tarjeta de servicio ──────────────────── */
.am-servicio { background: var(--am-superficie); border: var(--am-trazo-fino) solid var(--am-linea); padding: 24px !important; gap: 14px !important; transition: border-color .15s; height: 100%; }
.am-servicio:hover { border-color: var(--am-cian); }
.am-servicio .am-servicio__icono { margin: 0 !important; }
.am-servicio .am-servicio__icono img { width: 56px; height: 56px; }
.am-servicio__num { font-family: var(--am-mono); font-size: 11px !important; letter-spacing: .12em; color: var(--am-tinta-suave); margin: 0 !important; }
.am-servicio h3 { margin: 0 !important; }
.am-servicio p { margin: 0; }
.am-servicio .am-servicio__texto { color: var(--am-tinta-suave); font-size: 15px; line-height: 1.6; }
.am-servicio .am-materiales { margin-top: auto !important; padding-top: 12px; border-top: var(--am-trazo-fino) solid var(--am-linea); font-family: var(--am-mono); font-size: 12px; line-height: 1.5; color: var(--am-triplay-texto); }

/* ── Tarjeta de proyecto ─────────────────── */
.am-proyecto { gap: 14px !important; }
.am-proyecto .wp-block-image { margin: 0 !important; overflow: hidden; background: var(--am-superficie-alt); }
.am-proyecto .wp-block-image img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; transition: transform .4s; }
.am-proyecto:hover .wp-block-image img { transform: scale(1.03); }
.am-proyecto .am-meta { display: flex; justify-content: space-between; gap: 12px; margin: 0 !important; font-family: var(--am-mono); font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--am-tinta-suave); }
.am-proyecto .am-meta span:last-child { color: var(--am-triplay-texto); letter-spacing: .04em; text-transform: none; }
.am-proyecto h3 { margin: 0 !important; }
.am-proyecto:hover h3 { color: var(--am-cian-texto); }

/* ── Pasos (lista numerada técnica) ───────── */
.am-pasos { list-style: none; padding: 0 !important; margin: 0 0 32px; counter-reset: paso; display: grid; gap: 18px; }
.am-pasos li { counter-increment: paso; display: grid; grid-template-columns: 40px 1fr; gap: 12px; }
.am-pasos li::before { content: counter(paso, decimal-leading-zero); font-family: var(--am-mono); font-size: 13px; color: var(--am-cian); padding-top: 3px; }

/* ── Formulario de cotización ─────────────── */
.am-form, .am-form * { box-sizing: border-box; }
.am-form > * { min-width: 0; }
.am-form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; }
.am-form .am-ancho { grid-column: 1 / -1; }
.am-campo { display: flex; flex-direction: column; gap: 6px; }
.am-campo label { font-family: var(--am-mono); font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--am-tinta-suave); }
.am-campo input, .am-campo select, .am-campo textarea { font: 400 16px/1.5 var(--wp--preset--font-family--jost); color: var(--am-tinta); background: var(--am-superficie); border: 0; border-bottom: var(--am-trazo-medio) solid var(--am-linea-fuerte); border-radius: 2px 2px 0 0; padding: 12px 16px; width: 100%; }
.am-banda .am-campo :is(input, select, textarea) { background: var(--am-superficie); }
.am-campo textarea { min-height: 120px; resize: vertical; }
.am-campo :is(input, select, textarea):focus { outline: none; border-bottom: 2px solid var(--am-cian-texto); box-shadow: inset 0 0 0 1px var(--am-linea); }
.am-campo__ayuda { font-size: 13px; line-height: 1.4; color: var(--am-tinta-suave); }
.am-campo__archivo { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding: 16px; border: var(--am-trazo-fino) dashed var(--am-linea-fuerte); background: var(--am-superficie); font-size: 14px; color: var(--am-tinta-suave); }
.am-campo__archivo input { padding: 0; border: 0; background: none; width: auto; font-size: 14px; }
.am-trampa { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.am-aviso { grid-column: 1 / -1; padding: 14px 18px; border-left: 3px solid; font-size: 15px; }
.am-aviso--ok { border-color: var(--am-exito); color: var(--am-exito); background: rgba(30,122,76,.07); }
.am-aviso--error { border-color: var(--am-error); color: var(--am-error); background: rgba(179,38,30,.06); }
@media (max-width: 700px) { .am-form { grid-template-columns: 1fr; } }

/* ── Pie ──────────────────────────────────── */
.am-pie { padding-top: var(--wp--preset--spacing--80); padding-bottom: 32px; }
.am-pie h4 { font-family: var(--am-mono); font-size: 11px !important; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--am-cian); margin: 0 0 16px !important; }
.am-pie p { font-size: 14px; line-height: 1.7; color: var(--am-inv-suave); margin: 0; }
.am-pie .am-logo-pie img { height: 56px !important; width: auto !important; }
.am-pie__base { margin-top: 48px !important; padding-top: 24px; border-top: 1px solid rgba(241,241,242,.18); font-family: var(--am-mono); font-size: 12px; color: var(--am-inv-suave); }
.am-pie__base p { font-size: 12px; }

/* ── Contenido de entradas ────────────────── */
.am-lectura > * { max-width: 720px; margin-left: auto !important; margin-right: auto !important; }
.am-lectura > .alignwide { max-width: 1240px; }
.am-lectura > .alignfull { max-width: none; }
.wp-block-post-title { text-wrap: balance; }
.am-fecha { font-family: var(--am-mono); font-size: 12px; letter-spacing: .06em; color: var(--am-tinta-suave); }

@media (prefers-reduced-motion: reduce) { *, *::before { transition: none !important; animation: none !important; } }
