/*
Theme Name: Eskalamos
Theme URI: https://eskalamos.com
Author: Eskalamos
Description: Tema de bloques para Eskalamos. Sistemas de captación para empresas B2B.
Version: 2.0.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: Proprietary
Text Domain: eskalamos
*/

/* ---------- Tokens ---------- */

:root {
	--esk-marino: var(--wp--preset--color--marino, #0A1A40);
	--esk-marino-2: var(--wp--preset--color--marino-2, #142B66);
	--esk-azul: var(--wp--preset--color--azul, #1F54E8);
	--esk-hielo: var(--wp--preset--color--hielo, #F1F5FD);
	--esk-grafito: var(--wp--preset--color--grafito, #4A5675);
	--esk-linea: var(--wp--preset--color--linea, #DCE3F0);
	--esk-naranja: var(--wp--preset--color--naranja, #FF6A1A);
	--esk-naranja-hover: #FF8440;
	--esk-deep: #071331;
	--esk-bg: #FFFFFF;
	--esk-card: #FFFFFF;
	--esk-r-s: 10px;
	--esk-r-m: 18px;
	--esk-r-l: 28px;
	--esk-shadow: 0 1px 2px rgba(10, 26, 64, .06), 0 12px 32px -12px rgba(10, 26, 64, .18);
}

html { scroll-padding-top: 6rem; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

h1, h2, .wp-block-post-title { font-stretch: 108%; font-weight: 720; text-wrap: balance; letter-spacing: -0.025em; }
h3, h4 { font-stretch: 104%; font-weight: 680; letter-spacing: -0.01em; }
p, li { text-wrap: pretty; }

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--esk-naranja);
	outline-offset: 3px;
	border-radius: 4px;
}

.wp-site-blocks > * { margin-block: 0; }
.esk-content > .alignfull { margin-block: 0; }
.esk-content > .alignfull + * { margin-block-start: 0; }
.esk-main { margin: 0; }

/* Contenido alineado a la izquierda dentro del ancho de 1240px */
.esk-hero > :where(:not(.alignfull)),
.esk-band > :where(:not(.alignfull)),
.esk-prose > :where(:not(.alignfull)) {
	margin-left: max(0px, calc((100% - 1240px) / 2)) !important;
	margin-right: auto !important;
}

/* ---------- Botones ---------- */

.wp-element-button, .wp-block-button__link { font-stretch: 102%; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: inherit;
	border: 1.5px solid currentColor;
	padding: calc(0.9rem - 1.5px) calc(1.5rem - 1.5px);
}
.esk-hero .wp-block-button.is-style-outline > .wp-block-button__link,
.esk-band--dark .wp-block-button.is-style-outline > .wp-block-button__link { border-color: rgba(255, 255, 255, .35); }
.esk-hero .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.esk-band--dark .wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: #fff; background: rgba(255, 255, 255, .06); }
.esk-band:not(.esk-band--dark) .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--esk-marino); border-color: var(--esk-linea); background: #fff; }
.esk-band:not(.esk-band--dark) .wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: var(--esk-azul); color: var(--esk-azul); }

/* ---------- Cabecera ---------- */

.esk-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, .88);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	backdrop-filter: saturate(160%) blur(14px);
	color: var(--esk-marino);
	padding-block: .8rem;
	border-bottom: 1px solid rgba(10, 26, 64, .08);
}
.admin-bar .esk-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .esk-header { top: 46px; } }

.esk-header__inner { gap: 2rem; min-height: 3rem; }
.esk-logo { display: inline-flex; line-height: 0; }
.esk-logo img { height: 34px; width: auto; }

.esk-nav { gap: 1.75rem; }
.esk-nav .wp-block-navigation-item__content { color: var(--esk-marino); text-decoration: none; }
.esk-nav .wp-block-navigation-item__content:hover { color: var(--esk-azul); }
.esk-nav .wp-block-navigation__submenu-container {
	background: #fff !important;
	color: var(--esk-marino) !important;
	border: 1px solid var(--esk-linea) !important;
	border-radius: var(--esk-r-m);
	padding: .5rem !important;
	min-width: 17rem !important;
	box-shadow: var(--esk-shadow);
}
.esk-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .6rem .9rem; border-radius: var(--esk-r-s); }
.esk-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--esk-hielo); }
.esk-nav .esk-nav-cta > .wp-block-navigation-item__content {
	background: var(--esk-naranja);
	color: var(--esk-marino);
	font-weight: 650;
	padding: .65rem 1.15rem;
	border-radius: 999px;
}
.esk-nav .esk-nav-cta > .wp-block-navigation-item__content:hover { background: var(--esk-naranja-hover); color: var(--esk-marino); }

.esk-nav .wp-block-navigation__responsive-container-open,
.esk-nav .wp-block-navigation__responsive-container-close { color: var(--esk-marino); }
.esk-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: #fff !important;
	color: var(--esk-marino) !important;
	padding: 1.5rem clamp(1.25rem, 5vw, 3rem);
}
.esk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 1rem; padding-top: 3rem; }
.esk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.15rem; }
.esk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	border: 0 !important;
	box-shadow: none;
	padding: .25rem 0 .25rem 1rem !important;
}
.esk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: .2rem 0; }
.esk-nav .wp-block-navigation__responsive-container.is-menu-open .esk-nav-cta > .wp-block-navigation-item__content { padding: .85rem 1.25rem; margin-top: .5rem; }

/* ---------- Héroe y bandas ---------- */

.esk-hero,
.esk-band--dark,
.esk-footer {
	--esk-bg: var(--esk-marino);
	--esk-card: var(--esk-marino);
	color: #fff;
}
.esk-hero :where(h1, h2, h3, h4, .wp-block-post-title),
.esk-band--dark :where(h1, h2, h3, h4) { color: #fff; }
.esk-hero a:not(.wp-element-button),
.esk-band--dark a:not(.wp-element-button) { color: #fff; }

.esk-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-color: var(--esk-marino);
	background-image:
		radial-gradient(60% 80% at 85% 0%, rgba(31, 84, 232, .55) 0%, rgba(31, 84, 232, 0) 70%),
		radial-gradient(40% 60% at 0% 100%, rgba(255, 106, 26, .14) 0%, rgba(255, 106, 26, 0) 70%);
	padding-block: clamp(4rem, 9vw, 7.5rem) clamp(3rem, 6vw, 5rem);
}
.esk-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image:
		linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
	background-size: 56px 56px;
	-webkit-mask-image: radial-gradient(80% 70% at 70% 20%, #000 0%, transparent 75%);
	mask-image: radial-gradient(80% 70% at 70% 20%, #000 0%, transparent 75%);
}
.esk-hero h1, .esk-hero .wp-block-post-title { max-width: 15em; margin-block: 0; }
.esk-hero--compact { padding-block: clamp(3.5rem, 7vw, 5.5rem); }
.esk-hero--compact h1, .esk-hero--compact .wp-block-post-title { font-size: clamp(2.2rem, 4.4vw, 3.5rem); }
.esk-hero--404 { min-height: 60vh; }

.esk-lead { font-size: var(--wp--preset--font-size--l); line-height: 1.55; max-width: 36em; }
.esk-hero .esk-lead { color: rgba(255, 255, 255, .8); margin-top: 1.5rem; }
.esk-hero .wp-block-buttons { margin-top: 2.25rem; gap: .9rem; }

.esk-band { padding-block: var(--wp--preset--spacing--50); }
.esk-band--niebla { background: var(--esk-hielo); --esk-bg: var(--esk-hielo); --esk-card: #fff; }
.esk-band--dark {
	background-color: var(--esk-marino);
	background-image: radial-gradient(70% 90% at 100% 0%, rgba(31, 84, 232, .35) 0%, rgba(31, 84, 232, 0) 70%);
}
.esk-band--tight { padding-block: var(--wp--preset--spacing--40); }

.esk-band p, .esk-hero p, .esk-band li { max-width: 40em; }
.esk-band > h2 { max-width: 20em; }
.esk-band > h2 + p { margin-top: 1rem; }
.esk-band--dark p { color: rgba(255, 255, 255, .8); }

.esk-intro { max-width: 40em; color: var(--esk-grafito); font-size: var(--wp--preset--font-size--l); line-height: 1.55; }
.esk-band--dark .esk-intro { color: rgba(255, 255, 255, .78); }
.esk-note { font-size: var(--wp--preset--font-size--s); color: var(--esk-grafito); }
.esk-band--dark .esk-note { color: rgba(255, 255, 255, .65); }
.esk-meta, .esk-meta a { font-size: var(--wp--preset--font-size--s); color: rgba(255, 255, 255, .72); text-decoration: none; }
.esk-band .esk-meta { color: var(--esk-grafito); }

/* ---------- Visuales SVG ---------- */

.esk-visual { margin: 0; line-height: 0; }
.esk-visual svg { width: 100%; height: auto; display: block; overflow: visible; }
.esk-svg { font-family: var(--wp--preset--font-family--archivo); }
.esk-svg-label { font-size: 17px; font-weight: 600; font-stretch: 104%; fill: currentColor; }
.esk-svg-note { font-size: 14px; fill: currentColor; opacity: .72; }
.esk-svg-num { font-size: 26px; font-weight: 750; font-stretch: 112%; fill: currentColor; }

/* El recorrido de la portada, dentro de un panel translúcido */
.esk-visual--flujo {
	color: #D6E2FF;
	margin-top: clamp(3rem, 6vw, 4.5rem);
	padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1.25rem, 3vw, 2.75rem) clamp(1rem, 2vw, 1.75rem);
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: var(--esk-r-l);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.esk-visual--flujo .esk-visual__v { display: none; max-width: 360px; }
@media (max-width: 720px) {
	.esk-visual--flujo .esk-visual__h { display: none; }
	.esk-visual--flujo .esk-visual__v { display: block; }
	.esk-visual--flujo .esk-svg-label { font-size: 18px; }
	.esk-visual--flujo .esk-svg-note { font-size: 13px; }
}

.esk-visual--sistema { color: #fff; max-width: 1000px; margin-block: 2.5rem 3rem; }
.esk-band:not(.esk-band--dark) .esk-visual--sistema { color: var(--esk-marino); }
.esk-visual--diagnostico {
	color: var(--esk-marino);
	max-width: 660px;
	background: #fff;
	border: 1px solid var(--esk-linea);
	border-radius: var(--esk-r-m);
	padding: 1.75rem;
	box-shadow: var(--esk-shadow);
}
.esk-visual--pci, .esk-visual--ciber, .esk-visual--logistica {
	color: var(--esk-marino);
	max-width: 420px;
	background: var(--esk-hielo);
	border-radius: var(--esk-r-m);
	padding: 1.5rem;
}
.esk-band--niebla :is(.esk-visual--pci, .esk-visual--ciber, .esk-visual--logistica) { background: #fff; --esk-card: #fff; }
.esk-band:not(.esk-band--niebla) :is(.esk-visual--pci, .esk-visual--ciber, .esk-visual--logistica) { --esk-card: var(--esk-hielo); }

@media (prefers-reduced-motion: no-preference) {
	.esk-visual--flujo svg { animation: esk-reveal 1.5s cubic-bezier(.2, .7, .2, 1) .2s both; }
	.esk-visual--flujo .esk-leak { animation: esk-fade .6s ease 1.5s both; }
}
@keyframes esk-reveal { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes esk-fade { from { opacity: 0; } to { opacity: 1; } }

/* ---------- Listas con estructura ---------- */

/* Pasos secuenciales */
.esk-steps { list-style: none; padding: 0; margin: 2rem 0 0; counter-reset: esk-step; display: grid; gap: .75rem; max-width: 56em; }
.esk-steps > li {
	counter-increment: esk-step;
	display: grid;
	grid-template-columns: 3.25rem 1fr;
	gap: 0 1.25rem;
	padding: 1.4rem 1.5rem;
	border: 1px solid var(--esk-linea);
	border-radius: var(--esk-r-m);
	background: #fff;
	max-width: none;
}
.esk-band--niebla .esk-steps > li { border-color: transparent; }
.esk-band--dark .esk-steps > li { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .1); }
.esk-steps > li::before {
	content: counter(esk-step, decimal-leading-zero);
	grid-row: span 2;
	display: grid;
	place-items: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	background: var(--esk-hielo);
	color: var(--esk-azul);
	font-size: 1.05rem;
	font-weight: 750;
	font-stretch: 110%;
}
.esk-band--dark .esk-steps > li::before { background: var(--esk-naranja); color: var(--esk-marino); }
.esk-steps > li > strong { display: block; font-size: var(--wp--preset--font-size--xl); font-stretch: 104%; line-height: 1.2; margin: .15rem 0 .35rem; }

/* Filas término + explicación */
.esk-rows { list-style: none; padding: 0; margin: 2rem 0 0; }
.esk-rows > li {
	display: grid;
	grid-template-columns: minmax(9rem, 15rem) 1fr;
	gap: .35rem 2rem;
	padding: 1.15rem 0;
	border-top: 1px solid var(--esk-linea);
	max-width: 60em;
}
.esk-rows > li:last-child { border-bottom: 1px solid var(--esk-linea); }
.esk-rows > li > strong { font-stretch: 104%; font-weight: 680; color: var(--esk-azul); }
.esk-band--dark .esk-rows > li { border-color: rgba(255, 255, 255, .14); }
.esk-band--dark .esk-rows > li > strong { color: var(--esk-naranja); }
@media (max-width: 640px) { .esk-rows > li { grid-template-columns: 1fr; } }

/* Lista de encaje */
.esk-fit { list-style: none; padding: 0; margin: 1.75rem 0 0; display: grid; gap: .9rem; }
.esk-fit > li { position: relative; padding-left: 2rem; }
.esk-fit > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background: var(--esk-naranja) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-6.5' fill='none' stroke='%230A1A40' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 80% no-repeat;
}
.esk-fit--no > li::before {
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6.5 6.5l7 7M13.5 6.5l-7 7' fill='none' stroke='%234A5675' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 80% no-repeat;
	border: 1px solid var(--esk-linea);
}

/* ---------- Tarjetas de capacidades ---------- */

.esk-caps { gap: 1.25rem; margin-top: 2.5rem; }
.esk-caps + .esk-caps { margin-top: 1.25rem; }
.esk-caps > .wp-block-column {
	background: #fff;
	border: 1px solid var(--esk-linea);
	border-radius: var(--esk-r-m);
	padding: 1.75rem 1.75rem 1.5rem;
	position: relative;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.esk-caps > .wp-block-column::before {
	content: "";
	display: block;
	width: 2.5rem;
	height: 4px;
	border-radius: 4px;
	background: var(--esk-naranja);
	margin-bottom: 1.25rem;
}
.esk-caps > .wp-block-column:has(a):hover { border-color: var(--esk-azul); box-shadow: var(--esk-shadow); }
.esk-band--niebla .esk-caps > .wp-block-column { border-color: transparent; }
.esk-band--dark .esk-caps > .wp-block-column { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .1); }
.esk-caps h3 { margin: 0 0 .6rem; }
.esk-caps h3 a { text-decoration: none; color: var(--esk-marino); }
.esk-caps h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.esk-caps p { color: var(--esk-grafito); }
.esk-caps p a { position: relative; z-index: 1; }
.esk-band--dark .esk-caps p { color: rgba(255, 255, 255, .78); }

/* ---------- Sectores ---------- */

.esk-sectors-list { margin-top: 2.5rem; display: grid; gap: 1.25rem; }
.esk-sector-row {
	align-items: center !important;
	gap: 2rem 3.5rem;
	padding: 1.25rem;
	margin-block: 0 !important;
	background: #fff;
	border: 1px solid var(--esk-linea);
	border-radius: var(--esk-r-l);
}
.esk-band--niebla .esk-sector-row { border-color: transparent; }
.esk-sector-row h3 { font-size: clamp(1.6rem, 3vw, 2.2rem); font-stretch: 106%; margin: 0 0 .75rem; }
.esk-sector-row h3 a { text-decoration: none; color: var(--esk-marino); }
.esk-sector-row h3 a:hover { color: var(--esk-azul); }
.esk-sector-row p { color: var(--esk-grafito); }
.esk-sector-row p:last-child a { font-weight: 600; color: var(--esk-azul); }

/* ---------- Tabla de experiencia ---------- */

.esk-table {
	margin: 2.5rem 0 0;
	overflow-x: auto;
	background: #fff;
	border: 1px solid var(--esk-linea);
	border-radius: var(--esk-r-m);
	padding: .5rem 1.5rem 1.25rem;
}
.esk-table table { border-collapse: collapse; width: 100%; min-width: 640px; border: 0; }
.wp-block-table.esk-table th, .wp-block-table.esk-table td { border-left: 0; border-right: 0; border-top: 0; }
.wp-block-table.esk-table td { border-bottom: 1px solid var(--esk-linea); }
.wp-block-table.esk-table tr:last-child td { border-bottom: 0; }
.wp-block-table.esk-table th { border-bottom: 1px solid var(--esk-linea); }
.esk-table thead { border: 0; }
.esk-table th { text-align: left; font-size: var(--wp--preset--font-size--s); font-weight: 600; color: var(--esk-grafito); padding: 1rem 1.25rem .9rem 0; }
.esk-table td { padding: 1.2rem 1.25rem 1.2rem 0; vertical-align: top; }
.esk-table td:first-child { font-weight: 650; font-stretch: 102%; width: 28%; }
.esk-table td:last-child { font-weight: 700; color: var(--esk-azul); font-variant-numeric: tabular-nums; width: 30%; }
.esk-table figcaption { margin-top: 1rem; font-size: var(--wp--preset--font-size--s); color: var(--esk-grafito); text-align: left; }
@media (max-width: 700px) {
	.esk-table { padding: .25rem 1.25rem 1rem; }
	.esk-table table { min-width: 0; }
	.esk-table thead { display: none; }
	.esk-table :where(table, tbody, tr, td) { display: block; width: auto !important; }
	.wp-block-table.esk-table tr { padding: 1.1rem 0; border-bottom: 1px solid var(--esk-linea); }
	.wp-block-table.esk-table tr:last-child { border-bottom: 0; }
	.wp-block-table.esk-table td { border: 0; padding: .15rem 0; }
	.esk-table td:last-child { margin-top: .4rem; }
	.esk-visual--sistema { display: none; }
}

/* ---------- Preguntas frecuentes ---------- */

.esk-faq { margin-top: 2rem; max-width: 52em; display: grid; gap: .75rem; }
.esk-faq .wp-block-details {
	margin: 0;
	padding: 1.15rem 1.4rem;
	background: #fff;
	border: 1px solid var(--esk-linea);
	border-radius: var(--esk-r-m);
}
.esk-band--niebla .esk-faq .wp-block-details { border-color: transparent; }
.esk-faq summary {
	cursor: pointer;
	font-weight: 650;
	font-stretch: 102%;
	font-size: var(--wp--preset--font-size--l);
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
}
.esk-faq summary::-webkit-details-marker { display: none; }
.esk-faq summary::after {
	content: "+";
	flex: none;
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--esk-hielo);
	color: var(--esk-azul);
	font-weight: 500;
	font-size: 1.25rem;
	line-height: 1;
}
.esk-faq details[open] summary::after { content: "–"; background: var(--esk-naranja); color: var(--esk-marino); }
.esk-faq details > :not(summary) { margin-top: .75rem; color: var(--esk-grafito); }

/* ---------- Llamada a la acción final ---------- */

.esk-cta {
	background-color: var(--esk-azul) !important;
	background-image:
		radial-gradient(60% 120% at 100% 0%, rgba(255, 106, 26, .35) 0%, rgba(255, 106, 26, 0) 60%),
		linear-gradient(135deg, var(--esk-marino) 0%, var(--esk-azul) 100%) !important;
}
.esk-cta h2 { max-width: 16em; }
.esk-cta .wp-block-buttons { margin-top: 2rem; }

/* ---------- Dos columnas texto + visual ---------- */

.esk-split { gap: 3rem 5rem; align-items: center !important; }
.esk-split--top { align-items: flex-start !important; }

/* ---------- Formularios (Contact Form 7) ---------- */

.esk-formbox {
	background: #fff;
	padding: clamp(1.5rem, 4vw, 2.75rem);
	border: 1px solid var(--esk-linea);
	border-radius: var(--esk-r-l);
	box-shadow: var(--esk-shadow);
	max-width: 46rem;
	color: var(--esk-marino);
}
.esk-formbox label { display: block; font-weight: 600; font-size: .95rem; margin-bottom: 1.1rem; }
.esk-formbox .wpcf7-form-control-wrap { display: block; margin-top: .4rem; }
.esk-formbox input[type="text"],
.esk-formbox input[type="email"],
.esk-formbox input[type="url"],
.esk-formbox select,
.esk-formbox textarea {
	width: 100%;
	font: inherit;
	font-weight: 400;
	color: var(--esk-marino);
	background: var(--esk-hielo);
	border: 1px solid transparent;
	border-radius: var(--esk-r-s);
	padding: .85rem 1rem;
	box-sizing: border-box;
	transition: border-color .15s ease, background-color .15s ease;
}
.esk-formbox :is(input, select, textarea):focus { background: #fff; border-color: var(--esk-azul); outline: none; box-shadow: 0 0 0 3px rgba(31, 84, 232, .15); }
.esk-formbox textarea { min-height: 7rem; resize: vertical; }
.esk-formbox [aria-invalid="true"] { border-color: #C62828; }
.esk-formbox .esk-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
@media (max-width: 640px) { .esk-formbox .esk-grid { grid-template-columns: 1fr; } }
.esk-step__label { display: inline-block; font-size: var(--wp--preset--font-size--s); font-weight: 600; color: var(--esk-azul); background: var(--esk-hielo); padding: .3rem .75rem; border-radius: 999px; margin: 0 0 1.25rem; }
.esk-js .esk-step { display: none; }
.esk-js .esk-step.is-active { display: block; }
.esk-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.5rem; }
.esk-formbox .esk-next,
.esk-formbox .wpcf7-submit {
	font: inherit;
	font-weight: 650;
	background: var(--esk-naranja);
	color: var(--esk-marino);
	border: 0;
	border-radius: 999px;
	padding: .95rem 1.6rem;
	cursor: pointer;
}
.esk-formbox .esk-next:hover, .esk-formbox .wpcf7-submit:hover { background: var(--esk-naranja-hover); }
.esk-formbox .esk-prev { font: inherit; background: none; border: 0; padding: .5rem 0; color: var(--esk-marino); text-decoration: underline; cursor: pointer; }
.esk-legal { font-size: var(--wp--preset--font-size--s); font-weight: 400; margin-top: .5rem; }
.esk-legal .wpcf7-list-item { margin: 0; }
.esk-legal label { font-weight: 400; display: inline; }
.esk-error, .wpcf7-not-valid-tip { display: block; color: #C62828; font-size: .85rem; font-weight: 500; margin-top: .35rem; }
.wpcf7 form .wpcf7-response-output { margin: 1.25rem 0 0; padding: .8rem 1rem; border-radius: var(--esk-r-s); font-size: .95rem; }
.wpcf7-spinner { margin: 0 .5rem; }
.esk-admin-note { background: #FFF1E8; padding: 1rem 1.25rem; border-left: 4px solid var(--esk-naranja); border-radius: var(--esk-r-s); color: var(--esk-marino); }

/* ---------- Recursos y artículos ---------- */

.esk-posts { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 1.25rem; max-width: none; }
.esk-posts > li {
	padding: 1.75rem;
	background: #fff;
	border: 1px solid var(--esk-linea);
	border-radius: var(--esk-r-m);
	position: relative;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.esk-posts > li:hover { border-color: var(--esk-azul); box-shadow: var(--esk-shadow); }
.esk-posts .wp-block-post-title { font-size: var(--wp--preset--font-size--xl); margin: .5rem 0 .75rem; }
.esk-posts .wp-block-post-title a { text-decoration: none; color: var(--esk-marino); }
.esk-posts .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.esk-posts .wp-block-post-excerpt { color: var(--esk-grafito); }
.esk-posts .wp-block-post-excerpt__more-link { color: var(--esk-azul); font-weight: 600; text-decoration: none; }
.wp-block-query-pagination { margin-top: 2rem; gap: 1rem; }

.esk-prose { padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50); }
.esk-prose h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); margin-top: 2.75rem; }
.esk-prose h3 { margin-top: 2rem; }
.esk-prose p, .esk-prose li { line-height: 1.75; }
.esk-prose ul, .esk-prose ol { padding-left: 1.25rem; }
.esk-prose a { color: var(--esk-azul); }
.esk-prose .esk-lead { color: var(--esk-grafito); }

/* Caja destacada dentro de artículos */
.esk-box {
	background: var(--esk-hielo);
	border-radius: var(--esk-r-m);
	padding: 1.5rem 1.75rem;
	border-left: 4px solid var(--esk-naranja);
}
.esk-box > :first-child { margin-top: 0; }
.esk-box > :last-child { margin-bottom: 0; }

/* ---------- Pie ---------- */

.esk-footer {
	background: var(--esk-deep);
	padding-block: clamp(3.5rem, 7vw, 5.5rem) 2rem;
	color: rgba(255, 255, 255, .72);
	font-size: .95rem;
}
.esk-footer a { color: #fff; text-decoration: none; }
.esk-footer a:hover { color: var(--esk-naranja); }
.esk-footer__cols { gap: 2.5rem; }
.esk-footer__claim { max-width: 22em; margin-top: 1.25rem; }
.esk-footer__title { font-size: .95rem; font-stretch: 100%; font-weight: 600; color: rgba(255, 255, 255, .55) !important; margin: 0 0 1rem; }
.esk-footer__list { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.esk-footer__legal { margin-top: 3.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255, 255, 255, .12); font-size: .875rem; }
.esk-footer__legal a + a { margin-left: 1.25rem; }

/* ---------- Móvil ---------- */

@media (max-width: 781px) {
	.esk-sector-row { padding: 1rem; }
	.esk-sector-row .esk-visual { max-width: none; }
	.esk-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.esk-hero .wp-block-button, .esk-hero .wp-block-button__link { width: 100%; text-align: center; }
	.esk-steps > li { grid-template-columns: 1fr; padding: 1.25rem; }
	.esk-steps > li::before { grid-row: auto; margin-bottom: .75rem; width: 2.75rem; height: 2.75rem; }
}

.esk-sector-row .esk-visual { background: var(--esk-hielo) !important; --esk-card: var(--esk-hielo) !important; }
