/* ==========================================================================
   Fundación Vanessa — estilos de bloque para el editor de WordPress
   Se aplican en el sitio y dentro del editor. Elegibles desde «Estilos» en cada bloque.
   ========================================================================== */

/* ---------- Entradilla ---------- */
p.is-style-fv-lead {
	font-family: var(--fv-font-heading, 'Fraunces', Georgia, serif);
	font-size: clamp(1.25rem, 2.2vw, 1.55rem);
	line-height: 1.55;
	font-weight: 400;
	letter-spacing: -0.01em;
	color: var(--fv-text, #15161C);
}
p.is-style-fv-lead::first-letter {
	float: left;
	font-size: 3.6em;
	line-height: .82;
	font-weight: 600;
	margin: .06em .12em 0 0;
	color: var(--fv-primary, #DA251E);
}

/* ---------- Etiqueta ---------- */
p.is-style-fv-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: .6em;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--fv-primary, #DA251E);
}
p.is-style-fv-eyebrow::before {
	content: "";
	flex-shrink: 0;
	width: 30px;
	height: 2px;
	border-radius: 2px;
	background: var(--fv-primary, #DA251E);
}
p.is-style-fv-eyebrow + .wp-block-heading { margin-top: 0; }

/* ---------- Título de sección ---------- */
.wp-block-heading.is-style-fv-section {
	position: relative;
	padding-bottom: 18px;
	margin-top: 1.8em;
}
.wp-block-heading.is-style-fv-section::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 44px;
	height: 3px;
	border-radius: 3px;
	background: var(--fv-primary, #DA251E);
	box-shadow: 54px 0 0 -0.5px var(--fv-secondary, #496083);
}
.wp-block-heading.is-style-fv-section.has-text-align-center::after { left: 50%; margin-left: -49px; }

/* ---------- Recuadros ---------- */
.wp-block-group.is-style-fv-card,
.wp-block-group.is-style-fv-soft,
.wp-block-group.is-style-fv-dark {
	position: relative;
	overflow: hidden;
	border-radius: 28px;
	padding: clamp(26px, 4vw, 48px);
	margin-top: 2em;
	margin-bottom: 2em;
}
.wp-block-group.is-style-fv-card {
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--fv-secondary, #496083) 10%, transparent);
	box-shadow: 0 30px 60px -44px rgba(40, 53, 72, .55);
}
.wp-block-group.is-style-fv-soft { background: var(--fv-soft, #EEF1F6); }
.wp-block-group.is-style-fv-dark { background: var(--fv-dark, #283548); color: var(--fv-on-dark, #DDE2EA); }
.wp-block-group.is-style-fv-dark h1, .wp-block-group.is-style-fv-dark h2, .wp-block-group.is-style-fv-dark h3, .wp-block-group.is-style-fv-dark h4 { color: #fff; }
.wp-block-group.is-style-fv-dark a:not(.wp-block-button__link) { color: #fff; }
.wp-block-group.is-style-fv-dark::after {
	content: "";
	position: absolute;
	right: -40px;
	bottom: -30px;
	width: 260px;
	aspect-ratio: 600 / 397;
	background: #fff;
	opacity: .06;
	-webkit-mask: url(../img/mariposa.svg) center / contain no-repeat;
	mask: url(../img/mariposa.svg) center / contain no-repeat;
	transform: rotate(-12deg);
	pointer-events: none;
}
.wp-block-group.is-style-fv-card > :first-child, .wp-block-group.is-style-fv-soft > :first-child, .wp-block-group.is-style-fv-dark > :first-child,
.wp-block-group.is-style-fv-card > .wp-block-group__inner-container > :first-child { margin-top: 0; }
.wp-block-group.is-style-fv-card > :last-child, .wp-block-group.is-style-fv-soft > :last-child, .wp-block-group.is-style-fv-dark > :last-child,
.wp-block-group.is-style-fv-card > .wp-block-group__inner-container > :last-child { margin-bottom: 0; }

/* ---------- Datos en tarjetas ---------- */
.wp-block-columns.is-style-fv-facts {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 2em 0 2.4em;
}
.wp-block-columns.is-style-fv-facts > .wp-block-column {
	position: relative;
	margin: 0 !important;
	padding: 24px 24px 22px 24px;
	border-radius: 22px;
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--fv-secondary, #496083) 10%, transparent);
	box-shadow: 0 20px 40px -34px rgba(40, 53, 72, .55);
	transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s;
}
.wp-block-columns.is-style-fv-facts > .wp-block-column:hover { transform: translateY(-4px); box-shadow: 0 26px 46px -30px rgba(40, 53, 72, .55); }
.wp-block-columns.is-style-fv-facts > .wp-block-column::before {
	content: "";
	display: block;
	width: 38px;
	height: 26px;
	margin-bottom: 14px;
	background: var(--fv-primary, #DA251E);
	-webkit-mask: url(../img/mariposa.svg) center / contain no-repeat;
	mask: url(../img/mariposa.svg) center / contain no-repeat;
}
.wp-block-columns.is-style-fv-facts > .wp-block-column > p { margin: 0; }
.wp-block-columns.is-style-fv-facts > .wp-block-column > p:first-child {
	margin-bottom: 6px;
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--fv-secondary, #496083);
}
.wp-block-columns.is-style-fv-facts > .wp-block-column > p:nth-child(2) {
	font-family: var(--fv-font-heading, 'Fraunces', Georgia, serif);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--fv-text, #15161C);
}
.wp-block-columns.is-style-fv-facts > .wp-block-column > p:nth-child(n+3) {
	margin-top: 4px;
	font-size: .92rem;
	line-height: 1.5;
	color: color-mix(in srgb, var(--fv-text, #15161C) 62%, transparent);
}

/* ---------- Lista con checks ---------- */
.wp-block-list.is-style-fv-check {
	list-style: none;
	padding: 0;
	display: grid;
	gap: 14px;
}
.wp-block-list.is-style-fv-check > li {
	position: relative;
	margin: 0;
	padding-left: 46px;
	line-height: 1.6;
}
.wp-block-list.is-style-fv-check > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .1em;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--fv-primary-soft, #FCE9E8) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23DA251E' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 16px no-repeat;
}

/* ---------- Línea de tiempo ---------- */
.wp-block-list.is-style-fv-timeline {
	list-style: none;
	padding: 0;
	margin: 2em 0;
}
.wp-block-list.is-style-fv-timeline > li {
	position: relative;
	margin: 0;
	padding: 0 0 30px 52px;
	line-height: 1.6;
}
.wp-block-list.is-style-fv-timeline > li:last-child { padding-bottom: 0; }
.wp-block-list.is-style-fv-timeline > li::before {
	content: "";
	position: absolute;
	left: 13px;
	top: 30px;
	bottom: 0;
	width: 2px;
	background: linear-gradient(var(--fv-primary, #DA251E), color-mix(in srgb, var(--fv-secondary, #496083) 30%, transparent));
	border-radius: 2px;
}
.wp-block-list.is-style-fv-timeline > li:last-child::before { display: none; }
.wp-block-list.is-style-fv-timeline > li::after {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid color-mix(in srgb, var(--fv-primary, #DA251E) 30%, transparent);
	box-shadow: inset 0 0 0 5px #fff, inset 0 0 0 14px var(--fv-primary, #DA251E);
}
.wp-block-list.is-style-fv-timeline > li:last-child::after { box-shadow: inset 0 0 0 5px #fff, inset 0 0 0 14px var(--fv-secondary, #496083); border-color: color-mix(in srgb, var(--fv-secondary, #496083) 30%, transparent); }
.wp-block-list.is-style-fv-timeline > li > strong:first-child {
	display: block;
	margin-bottom: 2px;
	font-family: var(--fv-font-heading, 'Fraunces', Georgia, serif);
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--fv-primary, #DA251E);
}
.wp-block-list.is-style-fv-timeline > li:last-child > strong:first-child { color: var(--fv-secondary, #496083); }

/* ---------- Cita destacada ---------- */
blockquote.wp-block-quote.is-style-fv-highlight {
	margin: 2.4em 0;
	padding: 56px 0 8px;
	border: 0;
	border-radius: 0;
	background: none;
	text-align: center;
	font-family: var(--fv-font-heading, 'Fraunces', Georgia, serif);
	font-size: clamp(1.5rem, 3vw, 2.1rem);
	line-height: 1.3;
	letter-spacing: -0.015em;
}
blockquote.wp-block-quote.is-style-fv-highlight::before {
	content: "“";
	position: absolute;
	top: -6px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 6rem;
	line-height: 1;
	color: var(--fv-primary, #DA251E);
}
blockquote.wp-block-quote.is-style-fv-highlight em { color: var(--fv-primary, #DA251E); }
blockquote.wp-block-quote.is-style-fv-highlight cite {
	display: block;
	margin-top: 16px;
	font-family: var(--fv-font-body, 'Figtree', sans-serif);
	font-size: .85rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--fv-secondary, #496083);
}
.wp-block-group.is-style-fv-dark blockquote.wp-block-quote.is-style-fv-highlight { color: #fff; }
.wp-block-group.is-style-fv-dark blockquote.wp-block-quote.is-style-fv-highlight em, .wp-block-group.is-style-fv-dark blockquote.wp-block-quote.is-style-fv-highlight::before { color: #FF8A84; }
.wp-block-group.is-style-fv-dark blockquote.wp-block-quote.is-style-fv-highlight cite { color: var(--fv-accent, #A9BEE3); }

/* ---------- Separador con mariposa ---------- */
hr.wp-block-separator.wp-block-separator.is-style-fv-butterfly {
	width: 100%;
	max-width: none;
	height: 40px !important;
	min-height: 40px;
	padding: 0;
	box-sizing: content-box;
	overflow: visible;
	margin: 3em auto;
	border: 0 !important;
	opacity: 1;
	background:
		url(../img/mariposa.svg) center / 48px auto no-repeat,
		linear-gradient(to right,
			transparent 0,
			color-mix(in srgb, var(--fv-secondary, #496083) 30%, transparent) 18%,
			color-mix(in srgb, var(--fv-secondary, #496083) 30%, transparent) calc(50% - 44px),
			transparent calc(50% - 44px),
			transparent calc(50% + 44px),
			color-mix(in srgb, var(--fv-secondary, #496083) 30%, transparent) calc(50% + 44px),
			color-mix(in srgb, var(--fv-secondary, #496083) 30%, transparent) 82%,
			transparent 100%) center / 100% 1px no-repeat;
}

/* ---------- Videos insertados ---------- */
.wp-block-embed.is-type-video .wp-block-embed__wrapper {
	border-radius: 24px;
	overflow: hidden;
	background: var(--fv-dark, #283548);
	box-shadow: 0 30px 60px -36px rgba(40, 53, 72, .6);
}
.wp-block-embed.is-type-video iframe { display: block; }
.wp-block-embed.is-style-fv-framed {
	padding: 12px;
	border-radius: 32px;
	background: #fff;
	border: 1px solid color-mix(in srgb, var(--fv-secondary, #496083) 10%, transparent);
	box-shadow: 0 30px 60px -44px rgba(40, 53, 72, .55);
}
.wp-block-embed.is-style-fv-framed .wp-block-embed__wrapper { border-radius: 22px; box-shadow: none; }
.wp-block-embed.is-style-fv-framed figcaption { margin-bottom: 4px; }

/* ---------- Botones ---------- */
.wp-block-button .wp-block-button__link { transition: transform .2s, background-color .2s, color .2s, border-color .2s; }
.wp-block-button .wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--fv-primary-dark, #A91812); color: #fff; }
.wp-block-button.is-style-outline > .wp-block-button__link,
.entry-content .wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border: 1.5px solid currentColor;
	color: var(--fv-secondary, #496083);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.entry-content .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--fv-secondary, #496083); border-color: var(--fv-secondary, #496083); color: #fff; }
.wp-block-group.is-style-fv-dark .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; }
.wp-block-group.is-style-fv-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--fv-dark, #283548); }

/* ---------- Adaptable ---------- */
@media (max-width: 560px) {
	.wp-block-columns.is-style-fv-facts { grid-template-columns: 1fr; }
	p.is-style-fv-lead::first-letter { font-size: 3.1em; }
	.wp-block-list.is-style-fv-timeline > li { padding-left: 46px; }
}
