/* ==========================================================================
   FamDev: estilos del tema
   Variables de color/tipografía vienen de theme.json (--wp--preset--*).
   ========================================================================== */

:root {
	--fd-ink: var(--wp--preset--color--ink, #0b0c0f);
	--fd-ink-2: var(--wp--preset--color--ink-2, #15171c);
	--fd-paper: var(--wp--preset--color--paper, #fff);
	--fd-paper-2: var(--wp--preset--color--paper-2, #f4f5f7);
	--fd-text: var(--wp--preset--color--text, #14161a);
	--fd-muted: var(--wp--preset--color--muted, #5b6270);
	--fd-muted-dark: var(--wp--preset--color--muted-dark, #a3aab8);
	--fd-accent: var(--wp--preset--color--accent, #115cfa);
	--fd-accent-hover: var(--wp--preset--color--accent-hover, #0447d4);
	--fd-magenta: var(--wp--preset--color--magenta, #d81b60);
	--fd-line: var(--wp--preset--color--line, #e3e6eb);
	--fd-line-dark: #262a33;
	--fd-radius: 20px;
	--fd-header-h: 72px;
	--fd-pad-x: clamp(1rem, 4vw, 2rem);
	--fd-content: var(--wp--style--global--content-size, 760px);
	--fd-wide: var(--wp--style--global--wide-size, 1200px);
	--fd-section-y: var(--wp--preset--spacing--60, clamp(3rem, 7vw, 5.5rem));
	--fd-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--fd-header-h) + 1rem); -webkit-text-size-adjust: 100%; }
body { margin: 0; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; overflow-x: clip; }
img, video, svg { max-width: 100%; height: auto; }
::selection { background: var(--fd-accent); color: #fff; }
:focus-visible { outline: 3px solid var(--fd-accent); outline-offset: 3px; border-radius: 4px; }
a { text-underline-offset: .18em; text-decoration-thickness: 1px; }
h1, h2, h3, h4, h5, h6 { text-wrap: balance; margin-block: 0 .5em; }
p { text-wrap: pretty; }

.fd-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.fd-skip { position: absolute; left: 1rem; top: -100px; z-index: 1000; background: var(--fd-paper); color: var(--fd-text); padding: .75rem 1rem; border-radius: 8px; }
.fd-skip:focus { top: 1rem; }
.fd-main:focus { outline: none; }

/* ---------- Layout del contenido (tema clásico con bloques) ---------- */
.fd-main { padding-top: var(--fd-header-h); }
.fd-has-hero .fd-main { padding-top: 0; }

.fd-content > * { max-width: var(--fd-content); margin-inline: auto; padding-inline: var(--fd-pad-x); }
.fd-content > .alignwide { max-width: calc(var(--fd-wide) + 2 * var(--fd-pad-x)); }
.fd-content > .alignfull { max-width: none; padding-inline: 0; }
.fd-content > *:first-child { margin-top: 0; }
.fd-content > *:last-child { margin-bottom: 0; }
.fd-content > .alignfull + .alignfull { margin-top: 0; }
.fd-content > .wp-block-group.alignfull { margin-block: 0; }

/* Grupos a ancho completo = secciones */
.wp-block-group.alignfull.fd-section,
.wp-block-group.alignfull.is-style-fd-dark,
.wp-block-group.alignfull.is-style-fd-soft {
	padding-block: var(--fd-section-y);
	padding-inline: var(--fd-pad-x);
}
.wp-block-group.alignfull > .alignwide { max-width: var(--fd-wide); }

/* ---------- Secciones ---------- */
.is-style-fd-soft { background: var(--fd-paper-2); }
.is-style-fd-dark {
	background: var(--fd-ink);
	color: #e9ebef;
	--fd-muted: var(--fd-muted-dark);
	--fd-line: var(--fd-line-dark);
}
.is-style-fd-dark :where(h1, h2, h3, h4, h5, h6) { color: #fff; }
.is-style-fd-dark a:where(:not(.wp-element-button):not(.fd-btn)) { color: #8fb3ff; }
.is-style-fd-dark a:where(:not(.wp-element-button):not(.fd-btn)):hover { color: #fff; }

/* ---------- Tipografía de apoyo ---------- */
.is-style-fd-eyebrow {
	font-size: .8125rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	color: var(--fd-accent); margin-bottom: .75rem;
}
.is-style-fd-dark .is-style-fd-eyebrow,
.wp-block-cover .is-style-fd-eyebrow { color: #8fb3ff; }
.is-style-fd-lead { font-size: var(--wp--preset--font-size--large); color: var(--fd-muted); line-height: 1.6; }
.has-text-align-center.is-style-fd-lead { margin-inline: auto; max-width: 46rem; }
.fd-muted, .fd-muted a { color: var(--fd-muted); }

/* ---------- Botones ---------- */
.wp-element-button, .wp-block-button__link, .fd-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	transition: background-color .2s var(--fd-ease), color .2s var(--fd-ease), border-color .2s var(--fd-ease), transform .2s var(--fd-ease);
}
.wp-block-button__link:hover, .fd-btn:hover { transform: translateY(-1px); }
.fd-btn {
	background: var(--fd-accent); color: #fff; text-decoration: none; font-weight: 600; line-height: 1.2;
	padding: .85rem 1.6rem; border-radius: 999px; border: 0;
}
.fd-btn:hover { background: var(--fd-accent-hover); color: #fff; }
.fd-btn--small { padding: .6rem 1.1rem; font-size: .9375rem; }
.wp-block-button.is-style-fd-ghost .wp-block-button__link {
	background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.55);
}
.wp-block-button.is-style-fd-ghost .wp-block-button__link:hover { background: #fff; color: var(--fd-ink); }
:where(.is-style-fd-soft, .fd-section:not(.is-style-fd-dark)) .wp-block-button.is-style-fd-ghost .wp-block-button__link {
	color: var(--fd-text); box-shadow: inset 0 0 0 1.5px var(--fd-line);
}
:where(.is-style-fd-soft, .fd-section:not(.is-style-fd-dark)) .wp-block-button.is-style-fd-ghost .wp-block-button__link:hover { background: var(--fd-text); color: #fff; }

/* ---------- Cabecera ---------- */
.fd-header {
	position: fixed; inset: 0 0 auto 0; z-index: 100; height: var(--fd-header-h);
	color: #fff; background: rgba(11, 12, 15, .82);
	-webkit-backdrop-filter: saturate(160%) blur(14px); backdrop-filter: saturate(160%) blur(14px);
	border-bottom: 1px solid rgba(255,255,255,.06);
	transition: background-color .3s var(--fd-ease), border-color .3s var(--fd-ease);
}
.admin-bar .fd-header { top: var(--wp-admin--admin-bar--height, 32px); }
.fd-has-hero .fd-header:not(.is-scrolled) { background: transparent; border-color: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
.fd-header__inner {
	height: 100%; max-width: calc(var(--fd-wide) + 2 * var(--fd-pad-x)); margin-inline: auto; padding-inline: var(--fd-pad-x);
	display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
}
.fd-brand { display: inline-flex; align-items: center; gap: .65rem; color: inherit; text-decoration: none; }
.fd-brand__logo { width: 40px; height: 40px; display: block; }
.fd-brand__name { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.3rem; letter-spacing: -.01em; }

.fd-nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: .25rem; }
.fd-nav__list a { color: rgba(255,255,255,.86); text-decoration: none; font-weight: 500; font-size: .975rem; padding: .55rem .8rem; border-radius: 999px; }
.fd-nav__list a:hover { color: #fff; background: rgba(255,255,255,.08); }
.fd-nav__lang a { font-weight: 600; font-size: .8125rem; letter-spacing: .08em; box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); }
.fd-nav__cta { margin-left: .5rem; }
.fd-nav__list .fd-nav__cta a { color: #fff; background: var(--fd-accent); }
.fd-nav__list .fd-nav__cta a:hover { background: var(--fd-accent-hover); }

.fd-nav-toggle { display: none; }

@media (max-width: 860px) {
	.fd-nav-toggle {
		display: inline-grid; place-items: center; width: 44px; height: 44px; margin-right: -8px;
		background: transparent; border: 0; color: #fff; cursor: pointer; border-radius: 12px;
	}
	.fd-nav-toggle__bars, .fd-nav-toggle__bars::before, .fd-nav-toggle__bars::after {
		content: ""; display: block; width: 22px; height: 2px; background: currentColor; border-radius: 2px;
		transition: transform .25s var(--fd-ease), opacity .2s;
	}
	.fd-nav-toggle__bars { position: relative; }
	.fd-nav-toggle__bars::before { position: absolute; top: -7px; }
	.fd-nav-toggle__bars::after { position: absolute; top: 7px; }
	.fd-nav-open .fd-nav-toggle__bars { background: transparent; }
	.fd-nav-open .fd-nav-toggle__bars::before { transform: translateY(7px) rotate(45deg); }
	.fd-nav-open .fd-nav-toggle__bars::after { transform: translateY(-7px) rotate(-45deg); }

	.fd-nav {
		position: fixed; inset: var(--fd-header-h) 0 auto 0; background: var(--fd-ink);
		padding: 1rem var(--fd-pad-x) 2rem; border-bottom: 1px solid var(--fd-line-dark);
		transform: translateY(-8px); opacity: 0; visibility: hidden;
		transition: opacity .2s var(--fd-ease), transform .25s var(--fd-ease), visibility 0s .25s;
	}
	.admin-bar .fd-nav { top: calc(var(--fd-header-h) + var(--wp-admin--admin-bar--height, 46px)); }
	.fd-nav-open .fd-nav { transform: none; opacity: 1; visibility: visible; transition-delay: 0s; }
	.fd-nav-open .fd-header { background: var(--fd-ink); }
	.fd-nav__list { flex-direction: column; align-items: stretch; gap: .25rem; }
	.fd-nav__list a { display: block; font-size: 1.125rem; padding: .85rem 1rem; }
	.fd-nav__lang a { display: inline-block; }
	.fd-nav__cta { margin: .75rem 0 0; }
	.fd-nav__cta a { text-align: center; }
}

/* ---------- Portada (bloque Cover con vídeo) ---------- */
.wp-block-cover.fd-hero { min-height: 100svh !important; padding: calc(var(--fd-header-h) + 2rem) var(--fd-pad-x) 4rem; color: #fff; }
.wp-block-cover.fd-hero .wp-block-cover__inner-container { max-width: 980px; }
.fd-hero h1 { font-size: var(--wp--preset--font-size--display); color: #fff; margin-bottom: 1.25rem; }
.fd-hero .is-style-fd-lead { color: rgba(255,255,255,.82); }
.fd-hero .wp-block-buttons { margin-top: 2rem; }
.fd-hero__meta { margin-top: 2.5rem; font-size: .875rem; color: rgba(255,255,255,.65); letter-spacing: .02em; }
.wp-block-cover.fd-page-hero { min-height: 62svh !important; padding: calc(var(--fd-header-h) + 3rem) var(--fd-pad-x) 3.5rem; }

/* Cabecera de página sin imagen */
.fd-page-header { padding-top: calc(var(--fd-section-y) * .8) !important; padding-bottom: calc(var(--fd-section-y) * .7) !important; }
.fd-page-header h1 { font-size: clamp(2.25rem, 5.5vw, 3.75rem); }

/* ---------- Tarjetas ---------- */
.wp-block-group.is-style-fd-card {
	background: var(--fd-paper); border: 1px solid var(--fd-line); border-radius: var(--fd-radius);
	padding: clamp(1.25rem, 3vw, 2rem); height: 100%;
	transition: transform .25s var(--fd-ease), box-shadow .25s var(--fd-ease), border-color .25s;
}
.is-style-fd-soft .wp-block-group.is-style-fd-card { border-color: transparent; }
.is-style-fd-dark .wp-block-group.is-style-fd-card { background: var(--fd-ink-2); border-color: var(--fd-line-dark); }
.wp-block-group.is-style-fd-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -24px rgba(11,12,15,.35); }
.is-style-fd-dark .wp-block-group.is-style-fd-card:hover { border-color: #3a404c; box-shadow: none; }
.wp-block-group.is-style-fd-card > :last-child { margin-bottom: 0; }
.wp-block-group.is-style-fd-card h3 { font-size: 1.375rem; margin-bottom: .4rem; }
.wp-block-group.is-style-fd-card h3 a { color: inherit; text-decoration: none; }
.wp-block-group.is-style-fd-card h3 a:hover { color: var(--fd-accent); }
.is-style-fd-dark .wp-block-group.is-style-fd-card h3 a:hover { color: #8fb3ff; }
.fd-card__status { font-size: .8125rem; font-weight: 600; color: var(--fd-muted); margin: 0 0 .5rem; }
.fd-card__links { display: flex; flex-wrap: wrap; gap: .5rem 1rem; font-weight: 600; font-size: .9375rem; margin-top: 1rem; }
.fd-card__links a { text-decoration: none; }
.fd-card__links a::after { content: " →"; }

/* Rejillas (grupo con layout grid de WordPress) */
.wp-block-group.is-layout-grid { gap: clamp(1rem, 2.5vw, 1.5rem); }

/* ---------- Listas ---------- */
ul.is-style-fd-check { list-style: none; padding-left: 0; }
ul.is-style-fd-check li { position: relative; padding-left: 1.9rem; margin-bottom: .55rem; }
ul.is-style-fd-check li::before {
	content: ""; position: absolute; left: 0; top: .32em; width: 1.15rem; height: 1.15rem; border-radius: 50%;
	background: var(--fd-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='m4 8.4 2.6 2.6L12 5.6'/%3E%3C/svg%3E") center/70% no-repeat;
}
ul.is-style-fd-tags { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; margin: .75rem 0 0; }
ul.is-style-fd-tags li {
	font-size: .78rem; font-weight: 500; line-height: 1; padding: .45rem .65rem; border-radius: 999px;
	background: var(--fd-paper-2); color: var(--fd-muted); border: 1px solid var(--fd-line);
}
.is-style-fd-dark ul.is-style-fd-tags li { background: rgba(255,255,255,.04); color: var(--fd-muted-dark); }

/* ---------- Imágenes ---------- */
.wp-block-image.is-style-fd-phone img {
	border-radius: clamp(22px, 3.2vw, 38px); border: clamp(5px, .7vw, 8px) solid #101114;
	box-shadow: 0 30px 60px -30px rgba(11,12,15,.55), 0 0 0 1px rgba(255,255,255,.06);
	background: #101114;
}
.wp-block-image.is-style-fd-app-icon img { border-radius: 22.5%; box-shadow: 0 12px 30px -14px rgba(11,12,15,.5); }
.wp-block-image.is-style-rounded img, .fd-rounded img { border-radius: var(--fd-radius); }
.fd-phones { align-items: end; }
.fd-phones .wp-block-image { margin: 0; }
@media (min-width: 782px) {
	.fd-phones > .wp-block-column:nth-child(2) { transform: translateY(-1.5rem); }
}

/* ---------- Cifras ---------- */
.fd-stats { text-align: left; }
.fd-stat { border-top: 1px solid var(--fd-line); padding-top: 1rem; }
.fd-stat__num { font-family: var(--wp--preset--font-family--heading); font-size: clamp(2rem, 4vw, 2.75rem); font-weight: 600; line-height: 1; margin: 0 0 .4rem; color: inherit; }
.fd-stat__label { margin: 0; color: var(--fd-muted); font-size: .9375rem; }

/* ---------- Pasos (proceso) ---------- */
.fd-step__num { font-family: var(--wp--preset--font-family--heading); font-weight: 600; color: var(--fd-accent); font-size: 1rem; margin-bottom: .5rem; letter-spacing: .04em; }
.is-style-fd-dark .fd-step__num { color: #8fb3ff; }

/* ---------- Preguntas frecuentes (bloque Detalles) ---------- */
.wp-block-details { border-bottom: 1px solid var(--fd-line); padding-block: 1.1rem; margin: 0; }
.wp-block-details:first-of-type { border-top: 1px solid var(--fd-line); }
.wp-block-details summary {
	cursor: pointer; list-style: none; font-family: var(--wp--preset--font-family--heading); font-weight: 600;
	font-size: 1.1875rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: ""; flex: 0 0 auto; width: 1.6rem; height: 1.6rem; border-radius: 50%; border: 1px solid var(--fd-line);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath stroke='%23115cfa' stroke-width='1.8' stroke-linecap='round' d='M8 4v8M4 8h8'/%3E%3C/svg%3E") center/55% no-repeat;
	transition: transform .25s var(--fd-ease);
}
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details > :not(summary) { margin-top: .75rem; color: var(--fd-muted); }

/* ---------- Texto largo (políticas, aviso legal) ---------- */
.fd-prose { font-size: 1.0625rem; }
.fd-prose h2 { font-size: clamp(1.5rem, 3vw, 1.875rem); margin-top: 2.5rem; }
.fd-prose h3 { font-size: 1.25rem; margin-top: 2rem; }
.fd-prose ul, .fd-prose ol { padding-left: 1.25rem; }
.fd-prose li { margin-bottom: .35rem; }
.fd-prose table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.fd-prose th, .fd-prose td { border-bottom: 1px solid var(--fd-line); padding: .6rem .5rem; text-align: left; vertical-align: top; }

/* ---------- Bloque de contacto ---------- */
.fd-contact h2 { font-size: clamp(2.25rem, 5vw, 3.5rem); }
.fd-contact .fd-btn, .fd-contact .wp-block-button__link { font-size: 1.125rem; padding: 1rem 2rem; }

/* ---------- Pie ---------- */
.fd-footer { background: var(--fd-ink); color: var(--fd-muted-dark); font-size: .9375rem; }
.fd-footer a { color: #e9ebef; text-decoration: none; }
.fd-footer a:hover { color: #fff; text-decoration: underline; }
.fd-footer__inner {
	max-width: calc(var(--fd-wide) + 2 * var(--fd-pad-x)); margin-inline: auto;
	padding: clamp(3rem, 6vw, 4.5rem) var(--fd-pad-x) 2rem;
	display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 2.5rem;
}
.fd-footer .fd-brand { color: #fff; margin-bottom: 1rem; }
.fd-footer__brand p { max-width: 26rem; }
.fd-footer__company { line-height: 1.7; }
.fd-footer__company strong { color: #e9ebef; }
.fd-footer__title { font-family: var(--wp--preset--font-family--body); font-size: .8125rem; letter-spacing: .14em; text-transform: uppercase; color: #fff; margin-bottom: 1rem; }
.fd-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.fd-footer__bottom {
	max-width: calc(var(--fd-wide) + 2 * var(--fd-pad-x)); margin-inline: auto; padding: 1.5rem var(--fd-pad-x) 2.5rem;
	border-top: 1px solid var(--fd-line-dark); font-size: .875rem;
}
.fd-footer__bottom p { margin: 0; }
@media (max-width: 900px) { .fd-footer__inner { grid-template-columns: 1fr 1fr; } .fd-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 520px) { .fd-footer__inner { grid-template-columns: 1fr; } }

/* ---------- 404 ---------- */
.fd-404 { min-height: 70svh; display: grid; place-items: center; text-align: center; padding: var(--fd-section-y) var(--fd-pad-x); }
.fd-404__inner { max-width: 40rem; }

/* ---------- Animación suave al aparecer (solo con JS y sin «reducir movimiento») ---------- */
@media (prefers-reduced-motion: no-preference) {
	.fd-js .fd-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--fd-ease), transform .7s var(--fd-ease); }
	.fd-js .fd-reveal.is-visible { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ---------- Editor: que el contenido se vea como en la web ---------- */
.editor-styles-wrapper .wp-block-group.alignfull.is-style-fd-dark,
.editor-styles-wrapper .wp-block-group.alignfull.is-style-fd-soft,
.editor-styles-wrapper .wp-block-group.alignfull.fd-section { padding-inline: var(--fd-pad-x); }

/* ---------- Tarjetas de apps (portada) ---------- */
.fd-app-card { display: flex; flex-direction: column; }
.fd-app-card .fd-card__phone { margin-top: auto; padding-top: 1.5rem; }
.fd-app-card .fd-card__phone img { display: block; width: min(100%, 260px); margin-inline: auto; }
.fd-app-hero__phone img { display: block; width: min(100%, 340px); margin-inline: auto; }
.fd-phones .wp-block-image img { width: 100%; }

/* ---------- Pasos numerados (páginas de apps) ---------- */
ol.fd-steps-list { list-style: none; counter-reset: fd-step; padding: 0; margin: 1.5rem 0 0; display: grid; gap: 1rem; }
ol.fd-steps-list li { counter-increment: fd-step; position: relative; padding: .2rem 0 0 3.25rem; min-height: 2.25rem; font-size: 1.0625rem; }
ol.fd-steps-list li::before {
	content: counter(fd-step); position: absolute; left: 0; top: 0; width: 2.25rem; height: 2.25rem; border-radius: 50%;
	display: grid; place-items: center; background: var(--fd-accent); color: #fff; font-weight: 600; font-family: var(--wp--preset--font-family--heading);
}

/* ---------- Vídeo de portada sin póster: fondo de marca y fundido al empezar ---------- */
.wp-block-cover.fd-hero {
	background-color: var(--fd-ink);
	background-image: radial-gradient(70% 60% at 85% 10%, rgba(17, 92, 250, .28), transparent 70%), radial-gradient(60% 50% at 5% 100%, rgba(216, 27, 96, .16), transparent 70%);
}
.fd-hero .wp-block-cover__video-background { opacity: 0; transition: opacity 1.2s var(--fd-ease); }
.fd-hero .wp-block-cover__video-background.is-playing { opacity: 1; }

/* ---------- Retrato, avatar y perfiles ---------- */
.fd-portrait img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: center top; border-radius: var(--fd-radius); filter: grayscale(1); }
.fd-about-header .fd-portrait img { max-width: 320px; }
.wp-block-image.fd-avatar img { border-radius: 50%; object-fit: cover; aspect-ratio: 1; filter: grayscale(1); }
.wp-block-image.fd-avatar { margin: 0; flex: 0 0 auto; }
.fd-profiles a { font-weight: 600; text-decoration: none; }
.fd-profiles a:hover { text-decoration: underline; }

/* ---------- Artículos ---------- */
.fd-article-header h1 { font-size: clamp(2rem, 4.6vw, 3.25rem); }
.fd-byline { gap: .75rem; margin-top: 1.5rem; }
.fd-byline__text { margin: 0; font-size: .9375rem; color: var(--fd-muted); }
.fd-byline__text a { color: #fff; font-weight: 600; text-decoration: none; }
.fd-article h2 { margin-top: 2.25rem; }
.fd-article p, .fd-article li { font-size: 1.125rem; line-height: 1.75; }
.fd-prose code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .9em; background: var(--fd-paper-2); border: 1px solid var(--fd-line); border-radius: 6px; padding: .1em .35em; }
.fd-author { margin-bottom: 2.5rem; }
.fd-author h3 { margin-top: 0; }
.fd-author .wp-block-columns { margin: 0; gap: 1.25rem; }
.fd-article-card h3 { font-size: 1.25rem; line-height: 1.3; }

/* ---------- Servicios ---------- */
.fd-service-card h2 { font-size: 1.5rem; margin-bottom: .5rem; }
.fd-service-card h2 a, .fd-service-card h3 a { color: inherit; text-decoration: none; }
.fd-service-card h2 a:hover { color: var(--fd-accent); }
.wp-block-group.is-style-fd-card h3 a { color: inherit; }
.fd-page-header .is-style-fd-eyebrow a { color: inherit; text-decoration: none; }

/* ---------- Trayectoria ---------- */
ul.fd-timeline { list-style: none; padding-left: 0; border-left: 2px solid var(--fd-line); margin-left: .5rem; }
ul.fd-timeline li { position: relative; padding: 0 0 1.1rem 1.5rem; }
ul.fd-timeline li::before { content: ""; position: absolute; left: -7px; top: .5em; width: 12px; height: 12px; border-radius: 50%; background: var(--fd-accent); box-shadow: 0 0 0 4px var(--fd-paper); }

/* ---------- Menú: más enlaces ---------- */
@media (min-width: 861px) and (max-width: 1100px) {
	.fd-nav__list a { padding: .5rem .55rem; font-size: .925rem; }
}

/* Tarjetas apiladas dentro de una columna (no ocupan toda la altura) */
.wp-block-column > .wp-block-group.is-style-fd-card { height: auto; }
.wp-block-column > .wp-block-group.is-style-fd-card + .wp-block-group.is-style-fd-card { margin-top: 1rem; }
