/*
Theme Name: Agenmatik
Description: Tema de bloques de Agenmatik.
Version: 0.5.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: agenmatik
*/

:root {
	--blanco: var(--wp--preset--color--base);
	--superficie: var(--wp--preset--color--surface);
	--linea: var(--wp--preset--color--line);
	--suave: var(--wp--preset--color--muted);
	--texto: var(--wp--preset--color--contrast);
	--principal: var(--wp--preset--color--primary);
	--acento: var(--wp--preset--color--accent);
	--acento-oscuro: var(--wp--preset--color--accent-dark);
	--acento-suave: var(--wp--preset--color--accent-soft);
}

/* Estructura general */
main.wp-block-group,
.wp-site-blocks > footer { margin-block: 0 !important; }

.wp-block-post-content > .alignfull { margin-block: 0 !important; }

.wp-block-post-content > :first-child:not(.alignfull) { margin-top: 3rem; }
.wp-block-post-content > :last-child:not(.alignfull) { margin-bottom: 4rem; }

.seccion { padding-block: clamp(3.5rem, 7vw, 6rem); }
.seccion-gris { background: var(--superficie); }

/* Cabecera */
.wp-site-blocks > header {
	position: sticky;
	top: 0;
	z-index: 20;
	background: var(--blanco);
	border-bottom: 1px solid var(--linea);
}
.admin-bar .wp-site-blocks > header { top: 32px; }

.barra { padding-block: 0.9rem; }
.barra .wp-block-site-title {
	font-family: var(--wp--preset--font-family--manrope);
	font-size: 1.25rem;
	font-weight: 800;
	letter-spacing: -0.02em;
}
.barra .wp-block-site-title a { color: var(--principal); text-decoration: none; }
.barra .wp-block-navigation { font-size: 0.9rem; font-weight: 500; }
.barra .wp-block-navigation a { color: var(--suave); text-decoration: none; }
.barra .wp-block-navigation a:hover { color: var(--texto); }
.barra .wp-block-button__link { padding: 0.6rem 1rem; font-size: 0.875rem; white-space: nowrap; }

/* Cabeceras de sección */
.cabecera-seccion {
	max-width: 680px !important;
	margin-inline: auto !important;
	margin-bottom: 2.5rem;
	text-align: center;
}
.cabecera-seccion > * { margin-block: 0; }
.cabecera-seccion > * + * { margin-top: 0.9rem; }
.cabecera-seccion p { color: var(--suave); }

.cabecera-pagina { padding-block: clamp(3rem, 6vw, 5rem) 0; text-align: center; }
.cabecera-pagina .wp-block-post-title { margin: 0; }

/* Hero */
.hero { gap: clamp(2rem, 5vw, 4rem); }
.hero p.subtitulo { font-size: 1.125rem; color: var(--suave); max-width: 34rem; }

.etiqueta {
	display: inline-block;
	padding: 0.35rem 0.85rem;
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--principal);
	background: var(--blanco);
	border: 1px solid var(--linea);
	border-radius: 999px;
}
.etiqueta-suave { background: var(--acento-suave); border-color: transparent; }

.tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.25rem;
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--suave);
}

/* Botones */
.wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--texto);
	background: var(--blanco);
	border: 1px solid var(--linea);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { border-color: var(--principal); }
.wp-block-button__link:hover { opacity: 0.92; }
.centrado .wp-block-buttons,
.wp-block-buttons.centrado { justify-content: center; }
.boton-final { margin-top: 2.5rem !important; }

/* Rejillas: las tarjetas siempre ocupan todo el ancho disponible */
.rejilla.is-layout-grid,
.contenedor-suave.is-layout-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)) !important;
}
.rejilla.dos-col.is-layout-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 26rem), 1fr)) !important;
}
.tarjeta, .panel-oscuro { margin-block: 0 !important; }
.sin-corte { white-space: nowrap; }

/* Tarjetas */
.tarjeta {
	padding: 1.75rem;
	background: var(--blanco);
	border: 1px solid var(--linea);
	border-radius: 18px;
}
.tarjeta > * { margin-block: 0; }
.tarjeta > * + * { margin-top: 0.75rem; }
.tarjeta p, .tarjeta li { color: var(--suave); font-size: 0.9375rem; }
.tarjeta .wp-block-buttons { margin-top: 1.5rem; }
.tarjeta ul { padding-left: 1.1rem; }
.tarjeta strong { color: var(--texto); }

.tarjeta-destacada {
	border-color: var(--acento);
	box-shadow: 0 18px 40px -22px rgba(15, 45, 92, 0.45);
}

.precio {
	font-family: var(--wp--preset--font-family--manrope);
	font-size: 1.75rem !important;
	font-weight: 800;
	color: var(--texto) !important;
}

/* Iconos */
.icono::before {
	content: "";
	display: block;
	width: 26px;
	height: 26px;
	margin-bottom: 1.1rem;
	background: var(--acento-oscuro);
	-webkit-mask: var(--i) center / contain no-repeat;
	mask: var(--i) center / contain no-repeat;
}
.i-calendario { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E"); }
.i-telefono { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.i-alerta { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.i-escudo { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E"); }
.i-mapa { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4 3 6v14l6-2 6 2 6-2V4l-6 2-6-2zM9 4v14M15 6v14'/%3E%3C/svg%3E"); }
.i-persona { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }

/* Contenedor suave: agrupa tarjetas, como comparativa y pasos */
.contenedor-suave {
	padding: 0.75rem;
	background: var(--superficie);
	border: 1px solid var(--linea);
	border-radius: 24px;
	gap: 0.75rem !important;
}

.titulo-menor {
	font-size: 0.75rem !important;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--suave) !important;
}
.titulo-menor-acento { color: var(--acento-oscuro) !important; }

.paso-num {
	font-family: var(--wp--preset--font-family--manrope);
	font-size: 0.8125rem !important;
	font-weight: 800;
	color: var(--acento-oscuro) !important;
}

/* Listas con check */
ul.checks { list-style: none; padding-left: 0 !important; margin: 0; }
ul.checks li {
	position: relative;
	padding-left: 1.6rem;
	margin-top: 0.6rem;
}
ul.checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.45em;
	width: 0.7rem;
	height: 0.7rem;
	background: var(--acento);
	border-radius: 50%;
	box-shadow: 0 0 0 3px var(--acento-suave);
}
ul.cruces li::before { background: var(--linea); box-shadow: 0 0 0 3px var(--superficie); }

/* Panel oscuro y cálculo */
.panel-oscuro {
	padding: 1.75rem;
	color: var(--blanco);
	background: var(--principal);
	border-radius: 18px;
}
.panel-oscuro > * { margin-block: 0; }
.panel-oscuro > * + * { margin-top: 0.75rem; }
.panel-oscuro p, .panel-oscuro li { color: #dbe4f0; font-size: 0.9375rem; }
.panel-oscuro h2, .panel-oscuro h3 { color: var(--blanco); }
.panel-oscuro .titulo-menor { color: #9fe3e4 !important; }
.panel-oscuro .wp-block-button__link { color: var(--principal); background: var(--blanco); }
.panel-oscuro a { color: var(--blanco); }

.calculo { box-shadow: 0 30px 60px -30px rgba(15, 45, 92, 0.55); }
.fila {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: 0.7rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}
.fila strong { color: var(--blanco); }
.cifra {
	font-family: var(--wp--preset--font-family--manrope);
	font-size: clamp(2.25rem, 4.5vw, 3rem) !important;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--acento) !important;
	margin-top: 1.5rem !important;
}
.nota { font-size: 0.8125rem !important; opacity: 0.85; }

.resaltado {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0.25rem 1rem;
	padding: 1rem 1.25rem;
	background: var(--acento-suave);
	border-radius: 12px;
	color: var(--principal) !important;
	font-size: 0.875rem !important;
}
.resaltado strong {
	font-family: var(--wp--preset--font-family--manrope);
	font-size: 1.125rem;
	font-weight: 800;
	color: var(--principal);
	white-space: nowrap;
}

/* Preguntas frecuentes */
.faq {
	max-width: 760px !important;
	margin-inline: auto !important;
}
.faq .wp-block-details {
	margin-block: 0.75rem 0;
	background: var(--blanco);
	border: 1px solid var(--linea);
	border-radius: 14px;
}
.faq summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding: 1.05rem 1.25rem;
	font-family: var(--wp--preset--font-family--manrope);
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
	content: "";
	flex: none;
	width: 0.55rem;
	height: 0.55rem;
	margin-top: -0.2rem;
	border-right: 2px solid var(--suave);
	border-bottom: 2px solid var(--suave);
	transform: rotate(45deg);
	transition: transform 0.2s;
}
.faq details[open] summary::after { margin-top: 0.2rem; transform: rotate(-135deg); }
.faq details > p { margin: 0; padding: 0 1.25rem 1.1rem; color: var(--suave); font-size: 0.9375rem; }

/* Llamada final */
.cta-final {
	padding: clamp(2.5rem, 6vw, 4rem) 1.5rem;
	text-align: center;
	color: var(--blanco);
	background: var(--principal);
	border-radius: 24px;
}
.cta-final > * { margin-block: 0; }
.cta-final > * + * { margin-top: 0.9rem; }
.cta-final h2 { color: var(--blanco); }
.cta-final p { color: #dbe4f0; }
.cta-final .wp-block-buttons { justify-content: center; margin-top: 1.5rem; }
.cta-final .wp-block-button__link { color: var(--principal); background: var(--blanco); }

/* Pie */
.pie { padding-block: 2.5rem; text-align: center; border-top: 1px solid var(--linea); font-size: 0.8125rem; color: var(--suave); }
.pie > * { margin-block: 0.4rem; }
.pie a { color: var(--suave); text-decoration: none; }
.pie a:hover { color: var(--texto); }
.pie-marca { font-family: var(--wp--preset--font-family--manrope); font-weight: 800; color: var(--principal); }

/* Foco visible y movimiento reducido */
a:focus-visible, summary:focus-visible, button:focus-visible { outline: 2px solid var(--acento-oscuro); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

@media (max-width: 781px) {
	.barra .wp-block-button__link { padding: 0.5rem 0.75rem; font-size: 0.8125rem; }
	.admin-bar .wp-site-blocks > header { top: 46px; }
}

/* Logo en la cabecera */
.marca { gap: 0.6rem !important; flex-shrink: 0; }
.barra .wp-block-site-logo { line-height: 0; }
.barra .wp-block-site-logo img { display: block; width: 38px; height: 38px; }

/* Página de preguntas frecuentes */
.preguntas { max-width: 760px !important; margin-inline: auto !important; }
.preguntas > * { margin-block: 0; }
.preguntas h2 { margin-top: 3rem; }
.preguntas h2:first-of-type { margin-top: 2rem; }
.preguntas h3 { margin-top: 2rem; }
.preguntas p { margin-top: 0.6rem; color: var(--suave); }
