/**
 * Theme custom styles.
 * Only add styles here that cannot be achieved through theme.json.
 * Use CSS custom properties from theme.json: var(--wp--preset--color--primary-light), etc.
 */

/* ─── Layout ─────────────────────────────────────────────────────────────── */

body {
	--theme-container-padding-x: var(--wp--preset--spacing--container);
}

@media (min-width: 1024px) {
	body {
		--theme-container-padding-x: var(--wp--preset--spacing--container-lg);
	}
}

/* ─── Header ──────────────────────────────────────────────────────────────── */

.site-header {
	border-bottom: 1px solid var(--wp--preset--color--line);
	z-index: 100;
}

/* Compensate for WordPress admin bar when user is logged in. */
.admin-bar .site-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px;
	}
}

/* ─── Navigation ──────────────────────────────────────────────────────────── */

/* Mobile overlay menu (overlayMenu: "mobile" in block — ≤781px). */
@media (max-width: 781px) {
	.wp-block-navigation__responsive-container.is-menu-open {
		background-color: var(--wp--preset--color--base);
		padding: var(--wp--preset--spacing--8);
	}

	.wp-block-navigation__responsive-container-open,
	.wp-block-navigation__responsive-container-close {
		color: var(--wp--preset--color--primary-light);
	}
}

/* ─── Footer ──────────────────────────────────────────────────────────────── */

.site-footer {
	margin-top: auto;
}

/* ─── Tipografía ──────────────────────────────────────────────────────────── */

h1,
h2,
h3,
h4,
h5,
h6 {
	text-wrap: balance;
}

p {
	text-wrap: pretty;
}

.is-tabular {
	font-variant-numeric: tabular-nums;
}

/* ─── Logotipo ────────────────────────────────────────────────────────────── */

.site-logo-link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.site-logo-link img {
	display: block;
	width: auto;
	height: 28px;
}

@media (max-width: 781px) {
	.site-logo-link img {
		height: 22px;
	}

	.site-header__login {
		display: none;
	}

	.site-header .wp-block-button__link {
		padding: 0.6em 1em;
		font-size: var(--wp--preset--font-size--sm);
		white-space: nowrap;
	}
}

/* Cabecera */
.site-header {
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.site-header__login a {
	color: inherit;
	text-decoration: none;
}

.site-header__login a:hover {
	color: var(--wp--preset--color--primary);
}

.site-footer .wp-block-navigation a,
.site-footer p a {
	color: inherit;
	text-decoration: none;
}

.site-footer a:hover {
	color: var(--wp--preset--color--secondary);
}

/* ─── Secciones (patrones) ────────────────────────────────────────────────── */

.eyebrow {
	margin: 0;
	text-transform: uppercase;
	font-weight: 700;
}

.is-centered {
	text-align: center;
}

.is-centered p {
	max-width: 40rem;
	margin-inline: auto;
}

.is-centered svg {
	display: block;
	margin-inline: auto;
}

.pill {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--2);
	align-self: flex-start;
	width: fit-content;
	border-radius: var(--wp--preset--border-radius--full);
}

.pill--success::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary-light);
}

.card {
	border-radius: var(--wp--preset--border-radius--xl);
}

.card--elevated {
	box-shadow: var(--wp--preset--shadow--card);
}

.kpi {
	border-radius: var(--wp--preset--border-radius--lg);
}

.kpi--primary {
	box-shadow: 0 0 0 4px var(--wp--preset--color--secondary-light);
}

.hero-visual {
	border-radius: var(--wp--preset--border-radius--xxl);
}

.icon-box {
	width: 52px;
	height: 52px;
	border-radius: var(--wp--preset--border-radius--lg);
}

.icon-box svg {
	display: block;
}

.logo-slot {
	margin: 0;
	border-radius: var(--wp--preset--border-radius--md);
}

.step-number {
	margin: 0;
}

/* Pestañas segmentadas (core/tabs) */
.tabs-segmented {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10);
}

.tabs-segmented .wp-block-tab-list {
	align-self: center;
	justify-content: center;
	padding: var(--wp--preset--spacing--1);
	gap: var(--wp--preset--spacing--1);
	background: var(--wp--preset--color--light);
	border-radius: var(--wp--preset--border-radius--lg);
}

.tabs-segmented .wp-block-tab-list button {
	padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--5);
	border-radius: var(--wp--preset--border-radius--md);
	color: var(--wp--preset--color--primary-light);
	font-weight: 600;
	transition: background-color 0.15s, color 0.15s;
}

.tabs-segmented .wp-block-tab-list button[aria-selected="true"] {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.tabs-segmented .wp-block-tab-list button[aria-selected="true"]::before {
	content: none;
}

.tabs-segmented .wp-block-tab-list button:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary-light);
	outline-offset: 2px;
}

/* WhatsApp */
.chat-wa {
	border-radius: var(--wp--preset--border-radius--xl);
}

.bubble {
	margin: 0;
	max-width: 92%;
}

.bubble--sent {
	align-self: flex-end;
	border-radius: 14px 4px 14px 14px;
}

.bubble--received {
	align-self: flex-end;
	max-width: 80%;
	border-radius: 14px 14px 4px 14px;
}

.note {
	border-radius: var(--wp--preset--border-radius--lg);
}

.invoice-box {
	border-radius: var(--wp--preset--border-radius--lg);
	overflow: hidden;
}

/* Navegador (maqueta del panel) */
.browser {
	border-radius: var(--wp--preset--border-radius--xl);
	overflow: hidden;
	box-shadow: var(--wp--preset--shadow--card);
}

.table-facturas {
	overflow-x: auto;
}

.table-facturas table {
	border-collapse: collapse;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
}

.table-facturas th {
	text-transform: uppercase;
	text-align: left;
	background: var(--wp--preset--color--secondary-light);
	color: var(--wp--preset--color--primary-light);
	font-size: var(--wp--preset--font-size--xs);
}

.table-facturas th,
.table-facturas td {
	padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4);
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--light);
}

.table-facturas td {
	font-variant-numeric: tabular-nums;
}

.badge,
.counter {
	display: inline-block;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	border-radius: var(--wp--preset--border-radius--full);
	padding: 3px 9px;
}

.counter {
	border-radius: var(--wp--preset--border-radius--xs);
	padding: 2px 8px;
	font-weight: 700;
}

.badge--info,
.counter--info {
	background: var(--wp--preset--color--secondary-light);
	color: var(--wp--preset--color--primary);
}

.badge--neutral,
.counter--neutral {
	background: var(--wp--preset--color--light);
	color: var(--wp--preset--color--primary-light);
}

.badge--warn,
.counter--warn {
	background: var(--wp--preset--color--warning-bg);
	color: var(--wp--preset--color--warning-fg);
}

/* Confianza */
.avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	border-radius: 50%;
	flex: none;
}

.seal .icon-box {
	width: 36px;
	height: 36px;
	border-radius: var(--wp--preset--border-radius--md);
}

/* Precios */
.plan {
	height: 100%;
}

.pill--mint {
	align-self: flex-start;
}

.plan .wp-block-buttons.is-full .wp-block-button,
.plan .wp-block-buttons.is-full .wp-block-button__link {
	width: 100%;
	text-align: center;
}

.feature-list {
	list-style: none;
	padding: 0;
}

.feature-list li {
	display: flex;
	gap: var(--wp--preset--spacing--2);
}

.feature-list li::before {
	content: "✓";
	font-weight: 800;
	color: var(--wp--preset--color--primary-light);
}

.plan--popular .feature-list li::before {
	color: var(--wp--preset--color--secondary);
}

.feature-list li:has(s)::before {
	content: "—";
	color: var(--wp--preset--color--line-strong);
}

.feature-list s {
	color: var(--wp--preset--color--disabled);
}

/* Planes (bloque dinámico) */
.planes {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--8);
}

.planes__toggle {
	display: inline-flex;
	align-self: center;
	gap: var(--wp--preset--spacing--1);
	padding: var(--wp--preset--spacing--1);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--preset--border-radius--full);
	background: var(--wp--preset--color--base);
}

.planes__toggle[hidden] {
	display: none;
}

.planes__option {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--2);
	padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--5);
	border: 0;
	border-radius: var(--wp--preset--border-radius--full);
	background: transparent;
	color: var(--wp--preset--color--primary-light);
	font: inherit;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
	cursor: pointer;
}

.planes__option[aria-pressed="true"] {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.planes__option-tag {
	padding: 0 var(--wp--preset--spacing--2);
	border-radius: var(--wp--preset--border-radius--full);
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--xs);
}

.planes__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 21rem), 1fr));
	gap: var(--wp--preset--spacing--6);
}

.planes__grid[data-count="1"] {
	max-width: 28rem;
	margin-inline: auto;
}

.planes__grid[data-count="2"] {
	max-width: 58rem;
	margin-inline: auto;
}

.planes .plan {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--5);
	padding: var(--wp--preset--spacing--8);
	border: 1px solid var(--wp--preset--color--line);
}

.planes .plan--popular {
	padding: var(--wp--preset--spacing--10);
	border-color: var(--wp--preset--color--primary);
}

.planes .plan > *,
.plan__head > *,
.plan__price > * {
	margin: 0;
}

.plan__head,
.plan__price {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--1);
}

.plan__amount {
	display: flex;
	align-items: baseline;
	gap: var(--wp--preset--spacing--2);
}

.plan__amount .is-tabular {
	font-weight: 800;
	line-height: 1;
}

.planes .feature-list {
	padding: 0;
}

.planes .pill {
	padding: var(--wp--preset--spacing--1) var(--wp--preset--spacing--3);
	font-weight: 700;
}

.planes__option-tag {
	white-space: nowrap;
}

.plan__cta--outline {
	border: 1px solid var(--wp--preset--color--secondary);
}

.plan__trial {
	text-align: center;
}

.planes[data-billing="monthly"] [data-billing-show="yearly"],
.planes[data-billing="yearly"] [data-billing-show="monthly"] {
	display: none;
}

/* FAQ */
.faq-item {
	border-radius: var(--wp--preset--border-radius--lg);
}

.faq-item summary {
	cursor: pointer;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--md);
}

.faq-item p {
	margin-top: var(--wp--preset--spacing--3);
}

/* Core añade padding a todo grupo con fondo; estos contenedores gestionan el suyo en los hijos. */
.wp-block-group.browser,
.wp-block-group.card--email,
.wp-block-group.invoice-box,
.wp-block-group.icon-box,
p.avatar.has-background {
	padding: 0;
}

.table-facturas thead {
	border-bottom: 0;
}

.invoice-box > * + * {
	margin-block-start: 0;
}

/* WordPress inserta el blockGap entre secciones a ancho completo y deja franjas del color de página. */
.wp-block-post-content > .section {
	margin-block: 0;
}

/* Dos secciones seguidas sin fondo propio comparten el color de página: el espacio es solo el padding inferior de la primera. */
.section:not(.has-background) + .section:not(.has-background) {
	padding-top: 0;
}

.site-header .wp-block-button__link {
	padding-top: 0.65em;
	padding-bottom: 0.65em;
}

.wp-block-group.site-header {
	padding-block: 0;
}

/* ─── Precios ─────────────────────────────────────────────────────────────── */

.calc-inputs {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--6);
}

.calc-field {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--2);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
}

.calc-field__row {
	display: flex;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--4);
}

.calc-field strong {
	color: var(--wp--preset--color--primary-light);
	font-variant-numeric: tabular-nums;
}

.calc-field input[type="range"] {
	width: 100%;
	accent-color: var(--wp--preset--color--primary-light);
}

.calc-outputs {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--5);
}

.calc-stat {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--1);
}

.calc-stat__label {
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--secondary-light);
}

.calc-stat__value {
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.calc-stat--big .calc-stat__value {
	font-size: var(--wp--preset--font-size--heading-3);
	line-height: 1.05;
	color: var(--wp--preset--color--secondary);
}

.calc-stat__hint {
	font-size: var(--wp--preset--font-size--sm);
	color: var(--wp--preset--color--secondary-light);
}

.calc-pair {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	gap: var(--wp--preset--spacing--5);
}

.table-comparativa {
	overflow-x: auto;
}

.table-comparativa table {
	width: 100%;
	min-width: 38rem;
	border-collapse: collapse;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
}

.table-comparativa th,
.table-comparativa td {
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--5);
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--light);
	font-size: var(--wp--preset--font-size--sm);
}

.table-comparativa thead {
	border-bottom: 0;
}

.table-comparativa thead th {
	background: var(--wp--preset--color--secondary-light);
	font-weight: 700;
}

.table-comparativa tbody tr:has(td[colspan]) td {
	background: var(--wp--preset--color--secondary-light);
	color: var(--wp--preset--color--primary-light);
	text-transform: uppercase;
	font-size: var(--wp--preset--font-size--xs);
}

.table-comparativa tbody th {
	font-weight: 400;
	text-align: left;
}

.table-comparativa .is-featured {
	background: var(--wp--preset--color--secondary-light);
	font-weight: 700;
}

.row-whatsapp:last-child {
	border-bottom: 0;
}

/* ─── Blog ────────────────────────────────────────────────────────────────── */

.post-cover {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--wp--preset--color--secondary-light);
}

.post-featured .post-cover {
	aspect-ratio: auto;
	min-height: 18rem;
	height: 100%;
}

.post-cover .wp-block-post-featured-image,
.post-cover .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.post-card,
.post-featured {
	position: relative;
	overflow: hidden;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.post-card:hover,
.post-featured:hover {
	border-color: var(--wp--preset--color--secondary);
	box-shadow: var(--wp--preset--shadow--card);
}

.post-card .wp-block-post-title a::after,
.post-featured .wp-block-post-title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.post-card .wp-block-post-title a,
.post-featured .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.wp-block-post-terms a {
	display: inline-block;
	padding: 2px 9px;
	border-radius: var(--wp--preset--border-radius--full);
	background: var(--wp--preset--color--secondary-light);
	color: var(--wp--preset--color--primary);
	font-weight: 600;
	text-decoration: none;
}

.wp-block-post-terms a[href*="/legal"] {
	background: var(--wp--preset--color--paused-bg);
	color: var(--wp--preset--color--paused-fg);
}

.wp-block-post-terms a[href*="/plantillas"] {
	background: var(--wp--preset--color--warning-bg);
	color: var(--wp--preset--color--warning-fg);
}

.wp-block-post-terms a[href*="/tesoreria"] {
	background: var(--wp--preset--color--success-bg);
	color: var(--wp--preset--color--success-fg);
}

.wp-block-post-terms a[href*="/odoo"] {
	background: var(--wp--preset--color--light);
	color: var(--wp--preset--color--primary-light);
}

.wp-block-post-time-to-read::before,
.wp-block-post-date + .wp-block-post-time-to-read::before {
	content: "· ";
}

.wp-block-post-date + .wp-block-post-time-to-read::before {
	content: none;
}

.chip {
	margin: 0;
	padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--4);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--preset--border-radius--full);
	background: var(--wp--preset--color--base);
	font-weight: 600;
}

.chip a {
	color: inherit;
	text-decoration: none;
}

.chip.is-active {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.chips-categorias {
	margin: 0;
}

.chips-categorias {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--2);
	padding: 0;
	list-style: none;
}

.chips-categorias li {
	padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--4);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--preset--border-radius--full);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
	font-weight: 600;
}

.chips-categorias li.current-cat {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.chips-categorias a {
	color: inherit;
	text-decoration: none;
}

.section-blog-archivo .wp-block-search {
	min-width: 16rem;
}

.section-blog-archivo .wp-block-search__input {
	min-height: 44px;
	padding: 0 var(--wp--preset--spacing--4);
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--preset--border-radius--md);
}

.newsletter-form {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--2);
}

.newsletter-form input[type="email"] {
	flex: 1 1 14rem;
	min-height: 48px;
	padding: 0 var(--wp--preset--spacing--4);
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--preset--border-radius--md);
	background: var(--wp--preset--color--base);
	font: inherit;
}

.newsletter-form input[type="email"]:focus {
	border-color: var(--wp--preset--color--primary-light);
	box-shadow: 0 0 0 3px var(--wp--preset--color--secondary-light);
	outline: none;
}

.newsletter-form button {
	min-height: 48px;
	border: 0;
	cursor: pointer;
}

/* ─── Artículo ────────────────────────────────────────────────────────────── */

.reading-progress {
	position: fixed;
	inset: 0 0 auto 0;
	height: 3px;
	z-index: 101;
	pointer-events: none;
}

.reading-progress::before {
	content: "";
	display: block;
	height: 100%;
	background: var(--wp--preset--color--primary-light);
	transform: scaleX(0);
	transform-origin: 0 50%;
	animation: clorec-progress linear both;
	animation-timeline: scroll(root);
}

@keyframes clorec-progress {
	to {
		transform: scaleX(1);
	}
}

.copy-link {
	margin-left: auto;
	padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--4);
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--preset--border-radius--md);
	background: var(--wp--preset--color--base);
	font: inherit;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	cursor: pointer;
}

.wp-block-breadcrumbs ol {
	margin: 0;
	padding: 0;
}

.wp-block-breadcrumbs a {
	color: var(--wp--preset--color--primary-light);
	text-decoration: none;
}

.post-cover--article {
	border-radius: var(--wp--preset--border-radius--xl);
}

.articulo-toc {
	display: block;
}

.toc {
	position: sticky;
	top: 6rem;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--2);
	font-size: var(--wp--preset--font-size--sm);
}

.toc__title {
	margin-bottom: var(--wp--preset--spacing--2);
	font-weight: 700;
	text-transform: uppercase;
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--primary-light);
}

.toc a {
	padding-left: var(--wp--preset--spacing--3);
	border-left: 2px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--primary-light);
	font-weight: 500;
	text-decoration: none;
}

.toc a.is-active {
	border-left-color: var(--wp--preset--color--primary-light);
	color: var(--wp--preset--color--primary);
	font-weight: 700;
}

.articulo-contenido {
	font-size: var(--wp--preset--font-size--md);
}

.articulo-contenido h2 {
	margin-top: var(--wp--preset--spacing--10);
	scroll-margin-top: 6rem;
	font-size: var(--wp--preset--font-size--xl);
}

.articulo-contenido ul {
	padding-left: var(--wp--preset--spacing--6);
}

.articulo-contenido .aviso {
	margin: var(--wp--preset--spacing--6) 0;
	padding: var(--wp--preset--spacing--5);
	border: 0;
	border-radius: var(--wp--preset--border-radius--xl);
	background: var(--wp--preset--color--whatsapp-bg);
}

.articulo-contenido .aviso p {
	margin: 0;
	padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4);
	border-radius: 14px 4px 14px 14px;
	background: var(--wp--preset--color--whatsapp-sent);
	font-size: var(--wp--preset--font-size--sm);
}

.articulo-contenido .aviso cite {
	display: block;
	margin-top: var(--wp--preset--spacing--3);
	font-size: var(--wp--preset--font-size--xs);
	font-style: normal;
	color: var(--wp--preset--color--primary-light);
}

.articulo-contenido .tip {
	margin: var(--wp--preset--spacing--6) 0;
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--5);
	border-radius: var(--wp--preset--border-radius--lg);
	background: var(--wp--preset--color--secondary-light);
	color: var(--wp--preset--color--primary);
}

.articulo-contenido .tip p {
	margin: 0;
}

@media (max-width: 781px) {
	.articulo-toc {
		display: none;
	}
}

/* Core añade padding a grupos con fondo: las tarjetas con imagen a sangre lo gestionan en los hijos. */
.wp-block-group.post-card,
.wp-block-group.post-featured,
.wp-block-group.card--rows {
	padding: 0;
}

.wp-block-query-pagination {
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
}

.wp-block-query-pagination a {
	text-decoration: none;
}

/* ─── Gravity Forms ───────────────────────────────────────────────────────── */

.gform_wrapper.gform-theme {
	--gf-color-primary: var(--wp--preset--color--primary-light);
	--gf-color-primary-darker: var(--wp--preset--color--primary);
	--gf-color-primary-lighter: var(--wp--preset--color--primary-light);
	--gf-radius: var(--wp--preset--border-radius--md);
	--gf-ctrl-radius: var(--wp--preset--border-radius--md);
	--gf-ctrl-border-color: var(--wp--preset--color--line-strong);
	--gf-ctrl-size: 2.75rem;
	--gf-font-family-base: inherit;
	--gf-ctrl-btn-bg-color-primary: var(--wp--preset--color--secondary);
	--gf-ctrl-btn-bg-color-hover-primary: var(--wp--preset--color--primary);
	--gf-ctrl-btn-bg-color-focus-primary: var(--wp--preset--color--primary);
	--gf-ctrl-btn-border-color-primary: var(--wp--preset--color--secondary);
	--gf-ctrl-btn-radius: var(--wp--preset--border-radius--full);
	--gf-ctrl-btn-font-weight: 600;
}

.gform_wrapper .gfield_label {
	font-weight: 600;
}

.gform_wrapper.gform-theme .gform_footer .gform_button,
.gform_wrapper.gform-theme .gform_footer input[type="submit"] {
	border-radius: var(--wp--preset--border-radius--full);
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--primary);
	font-weight: 600;
}

.gform_wrapper.gform-theme .gform_footer .gform_button:hover,
.gform_wrapper.gform-theme .gform_footer input[type="submit"]:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--secondary-light);
}

.gform_confirmation_message {
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--5);
	border-radius: var(--wp--preset--border-radius--lg);
	background: var(--wp--preset--color--success-bg);
	color: var(--wp--preset--color--success-fg);
	font-weight: 600;
}

/* ─── Páginas legales ─────────────────────────────────────────────────────── */

.table-legal table {
	width: 100%;
	border-collapse: collapse;
}

.table-legal td {
	padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4);
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	vertical-align: top;
	font-size: var(--wp--preset--font-size--sm);
}

.table-legal td:first-child {
	width: 30%;
	color: var(--wp--preset--color--primary);
}

.contenido-texto h2 {
	margin-top: var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--xl);
}

.contenido-texto h3 {
	font-size: var(--wp--preset--font-size--lg);
}

.contenido-texto ul {
	padding-left: var(--wp--preset--spacing--6);
}

/* ─── Contacto ────────────────────────────────────────────────────────────── */

.contact-card {
	position: relative;
	transition: border-color 0.15s;
}

.contact-card:hover {
	border-color: var(--wp--preset--color--secondary);
}

.contact-card a {
	color: inherit;
	text-decoration: none;
}

.contact-card a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.wp-block-group.contact-card .icon-box {
	flex: none;
}

.gform_wrapper .gf-chips .gfield_radio {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--2);
}

.gform_wrapper .gf-chips .gchoice {
	position: relative;
	margin: 0;
}

.gform_wrapper .gf-chips input[type="radio"] {
	position: absolute;
	opacity: 0;
	inset: 0;
	margin: 0;
	cursor: pointer;
}

.gform_wrapper .gf-chips .gchoice label {
	display: inline-flex;
	margin: 0;
	padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--4);
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--preset--border-radius--full);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
	cursor: pointer;
}

.gform_wrapper .gf-chips .gchoice:has(input:checked) label {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

.gform_wrapper .gf-chips .gchoice:has(input:focus-visible) label {
	outline: 2px solid var(--wp--preset--color--primary-light);
	outline-offset: 2px;
}

/* ─── Lista de espera ─────────────────────────────────────────────────────── */

.site-header--espera {
	position: static;
}

.avatars {
	display: flex;
}

.avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin-left: -8px;
	border: 2px solid var(--wp--preset--color--secondary-light);
	border-radius: 50%;
	font-size: 11px;
	font-weight: 800;
}

.avatar:first-child {
	margin-left: 0;
}

.avatar--a {
	background: var(--wp--preset--color--secondary-light);
	color: var(--wp--preset--color--primary);
}

.avatar--b {
	background: var(--wp--preset--color--success-bg);
	color: var(--wp--preset--color--success-fg);
}

.avatar--c {
	background: var(--wp--preset--color--warning-bg);
	color: var(--wp--preset--color--warning-fg);
}

.pill--dark {
	margin: 0;
}

.dots {
	display: flex;
	gap: 6px;
}

.dots i {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--wp--preset--color--line);
}

.is-blurred {
	filter: blur(2.5px);
	opacity: 0.75;
	pointer-events: none;
	user-select: none;
}

.mini-bars {
	display: flex;
	gap: 7px;
	height: 80px;
	align-items: flex-end;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.mini-bars span {
	display: flex;
	flex: 1;
	gap: 3px;
	align-items: flex-end;
	height: 100%;
}

.mini-bars i,
.mini-bars b {
	flex: 1;
	border-radius: 4px 4px 0 0;
}

.mini-bars i {
	background: #B5C9C8;
}

.mini-bars b {
	background: var(--wp--preset--color--primary-light);
}

/* Formulario en línea: email + botón, consentimiento debajo. */
.espera-gf {
	max-width: 540px;
}

.espera-gf .gform_wrapper form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--wp--preset--spacing--3);
	align-items: start;
}

.espera-gf .gform-body,
.espera-gf .gform_body,
.espera-gf .gform_fields {
	display: contents;
}

.espera-gf .gfield--type-email {
	grid-column: 1;
	grid-row: 1;
}

.espera-gf .gfield--type-consent {
	grid-column: 1 / -1;
	grid-row: 2;
	font-size: var(--wp--preset--font-size--sm);
}

.espera-gf .gform_footer {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	padding: 0;
}

.espera-gf .gform_wrapper.gform-theme {
	--gf-ctrl-size: 3.5rem;
	--gf-ctrl-btn-size-md: 3.5rem;
	--gf-ctrl-border-color: var(--wp--preset--color--line-strong);
}

.espera-gf .gform_footer .gform_button,
.espera-gf .gform_footer input[type="submit"] {
	height: 3.5rem;
	padding: 0 var(--wp--preset--spacing--6);
	font-size: var(--wp--preset--font-size--md);
	font-weight: 700;
	white-space: nowrap;
	margin: 0;
}

.espera-gf .validation_message,
.espera-gf .gform_validation_errors {
	font-weight: 600;
}

.espera-ok {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--1);
}

.espera-ok strong {
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 800;
}

@media (max-width: 600px) {
	.espera-gf .gform_wrapper form {
		grid-template-columns: 1fr;
	}

	.espera-gf .gfield--type-email,
	.espera-gf .gform_footer,
	.espera-gf .gfield--type-consent {
		grid-column: 1;
		grid-row: auto;
	}

	.espera-gf .gform_footer .gform_button,
	.espera-gf .gform_footer input[type="submit"] {
		width: 100%;
	}
}

.cta-espera-card {
	border-radius: var(--wp--preset--border-radius--xxl, 32px);
	text-align: center;
}

.is-blurred .kpi p {
	white-space: nowrap;
}

/* ─── Cifras (Mogan) ──────────────────────────────────────────────────────── */

.stat,
.step-number,
.calc-stat--big .calc-stat__value {
	font-family: var(--wp--preset--font-family--mogan);
	font-weight: 400;
}

.card {
	border-radius: var(--wp--preset--border-radius--lg);
}

:focus-visible {
	outline: 3px solid var(--wp--preset--color--secondary);
	outline-offset: 3px;
}
