/* =========================================================
   Kuska International Network — ajustes del tema (nivel 2 y piezas nuevas).
   Se carga después de tokens.css y componentes.css (como hoy en el CMS).
   Mismo HTML, mismas clases jf-*: solo cambian los estilos.
   Las reglas con prefijo .jf-site ganan a los <style> que el CMS escribe dentro de cada módulo
   (secciones, carrusel); las marcadas !important ganan a los style="" en línea de los módulos.
   ========================================================= */

/* ---------- Base ---------- */
body { font-family: var(--font-sans); font-weight: 400; font-size: 16px; line-height: 26px; color: var(--ink); background: var(--surface); -webkit-font-smoothing: antialiased; }
::selection { background: var(--ocre-soft); color: var(--ink); }
:lang(zh), [lang|="zh"] { font-family: var(--font-zh); }
a { color: var(--link); }
a:hover { color: var(--terracota-strong); }
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 700; color: var(--ink); }

/* Foco visible común (azul sobre claro, blanco sobre azul) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.jf-header a:focus-visible, .jf-header button:focus-visible, .jf-header summary:focus-visible,
.jf-footer a:focus-visible, .jf-footer button:focus-visible { outline: 2px solid var(--header-focus); outline-offset: 2px; }

/* ---------- Logo (imagen del logotipo de Kuska) ---------- */
.jf-logo img { display: block; height: 32px; width: auto; }
.jf-footer .jf-logo img { height: 44px; }
@container (min-width: 768px) { .jf-header .jf-logo img { height: 40px; } }

/* ---------- Cabecera de dos filas ---------- */
.jf-header { border-bottom: 0; }
.jf-header-in { gap: var(--space-3); }
.jf-header .jf-nav a { display: flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: 0 var(--space-3);
  font-family: var(--font-sans); font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.2; }
.jf-header .jf-nav a:hover { background: var(--header-hover-bg); text-decoration: none; }
.jf-header .jf-iconbtn { color: var(--header-ink); }
.jf-header .jf-iconbtn .jf-icon { width: 22px; height: 22px; stroke-width: 1.75; }
/* Móvil: un solo panel con el menú de arriba y, debajo, las secciones */
.jf-header.is-open .jf-nav { background: var(--header-bg); border-top: 1px solid var(--header-line); border-bottom: 0; box-shadow: none; padding: var(--space-2) var(--space-4) var(--space-5); max-height: calc(100vh - var(--header-height)); overflow-y: auto; }
.jf-header.is-open .jf-nav ul { gap: 0; }
.jf-header.is-open .jf-nav a { font-size: 15px; letter-spacing: 0.04em; min-height: 48px; padding: 0 var(--space-2); border-bottom: 1px solid var(--header-line); }
.jf-header.is-open .jf-nav .jf-nav-secciones a { text-transform: none; letter-spacing: 0; font-size: 16px; font-weight: 500; }
.jf-site .jf-header .jf-nav .jf-nav-secciones { border-top: 0; margin-top: var(--space-4); padding-top: 0; }
@container (min-width: 768px) {
  .jf-header .jf-nav a, .jf-header.is-open .jf-nav a { font-size: 13px; padding: 0 var(--space-3); min-height: 44px; border-bottom: 0; }
}
/* Fila de secciones (escritorio) */
.jf-site .jf-secciones { border-top: 1px solid var(--header-line); background: var(--header-bg); }
.jf-site .jf-secciones-nav ul { padding: 0; gap: 0; }
.jf-site .jf-secciones-nav a { display: flex; align-items: center; min-height: 48px; box-sizing: border-box; padding: 0 var(--space-4); border-radius: 0;
  font-size: 14px; font-weight: 600; letter-spacing: 0.01em; color: var(--header-ink); }
.jf-site .jf-secciones-nav a:hover { background: var(--header-hover-bg); color: var(--header-ink); }
/* La primera sección lleva el mismo relleno que las demás: el gris de activa o al pasar el ratón no queda pegado a la palabra. */
.jf-site .jf-secciones-nav a[aria-current="page"] { background: var(--header-active-bg); color: var(--header-active-ink); }
.jf-site .jf-secciones-nav a:focus-visible { outline: 2px solid var(--header-focus); outline-offset: -4px; }

/* ---------- Selector de idioma (pieza nueva 8) ---------- */
.jf-idiomas { position: relative; }
.jf-idiomas > summary { list-style: none; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; min-width: 44px; box-sizing: border-box; padding: 0 var(--space-2); justify-content: center;
  color: var(--header-ink); font-size: 13px; font-weight: 600; letter-spacing: 0.04em; cursor: pointer; }
.jf-idiomas > summary::-webkit-details-marker { display: none; }
.jf-idiomas > summary:hover { background: var(--header-hover-bg); }
.jf-idiomas-actual { display: none; }
.jf-idiomas ul { position: absolute; right: 0; top: 100%; z-index: 30; list-style: none; margin: 0; padding: var(--space-1) 0; min-width: 180px;
  background: var(--surface-raised); border: 1px solid var(--ink); }
.jf-idiomas ul a { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: 44px; padding: 0 var(--space-4); color: var(--ink); text-decoration: none; font-size: 15px; }
.jf-idiomas ul a:hover { background: var(--surface-sunken); color: var(--ink); }
.jf-idiomas ul a[aria-current="true"] { font-weight: 700; }
.jf-idiomas ul a[aria-current="true"]::after { content: ""; width: 8px; height: 8px; background: var(--ink); }
.jf-idiomas ul a:focus-visible { outline: 2px solid var(--focus); outline-offset: -4px; }
@container (min-width: 768px) { .jf-idiomas-actual { display: inline; } }

/* ---------- Pie ---------- */
.jf-footer { font-size: 14px; line-height: 22px; }
.jf-footer-in { justify-items: center; text-align: center; padding-top: var(--space-7); padding-bottom: var(--space-6); }
.jf-footer-legal { justify-content: center; width: 100%; color: var(--footer-ink-muted); }
.jf-footer a { color: var(--footer-ink); }
.jf-footer-social ul, .jf-footer ul { justify-content: center; }
.jf-footer-social a { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--footer-underline); font-family: var(--font-sans); font-size: 13px; }
.jf-footer-social a:hover { background: var(--header-hover-bg); }
@container site (min-width: 768px) { .jf-footer-in { grid-template-columns: 1fr; justify-items: center; } }

/* ---------- Botones ---------- */
.jf-btn { min-height: 48px; padding: 0 var(--space-5); font-family: var(--font-sans); font-size: 15px; font-weight: 600; letter-spacing: 0.02em; line-height: 1.2; text-align: center; }
.jf-btn-primary:hover { color: var(--on-terracota); }
.jf-btn-secondary { border-color: var(--ink); color: var(--ink); }
.jf-btn-secondary:hover { background: var(--ink); color: var(--surface); }
.jf-btn-ghost { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.jf-iconbtn:hover { background: var(--surface-sunken); }

/* ---------- Etiquetas de sección (CategoryTag) ----------
   Ficha gris de 28px a la vista; la zona que se pulsa mide 44px (borde transparente). */
.jf-tag { min-height: 44px; box-sizing: border-box; padding: 0 var(--space-2); border-top: 8px solid transparent; border-bottom: 8px solid transparent; background-clip: padding-box;
  font-family: var(--font-sans); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.25;
  background-color: var(--surface-sunken); color: var(--ink); }
a.jf-tag:hover { background-color: var(--ink); color: var(--on-terracota); }
.jf-tag[aria-current="true"], .jf-tag[aria-pressed="true"] { background-color: var(--ink); color: var(--on-terracota); }
.jf-band .jf-tag { background-color: var(--surface-sunken); }
/* Filtros y «Ir a»: fichas completas de 44px */
.jf-filter { gap: var(--space-2); }
.jf-filter .jf-tag { min-height: 44px; padding: 0 var(--space-4); border: 1px solid var(--line-strong); background-color: var(--surface); font-size: 12px; }
.jf-filter .jf-tag:hover, .jf-filter .jf-tag[aria-current="true"] { background-color: var(--ink); border-color: var(--ink); color: var(--on-terracota); }

/* ---------- Etiquetas de tema (TagList) ---------- */
.jf-tags-title, .jf-share-title { font-family: var(--font-sans); font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink); }
.jf-hashtag { min-height: 44px; border-color: var(--line-strong); font-size: 14px; font-weight: 500; }
.jf-hash { color: var(--ink-muted); }
.jf-hashtag:hover { background: var(--ink); border-color: var(--ink); color: var(--on-terracota); }
.jf-hashtag:hover .jf-hash { color: inherit; }

/* ---------- Compartir ---------- */
.jf-share { border-top-color: var(--line); }
.jf-share a, .jf-share button { border-color: var(--line-strong); font-size: 14px; font-weight: 600; }
.jf-share a:hover, .jf-share button:hover { background: var(--ink); border-color: var(--ink); color: var(--on-terracota); }
.jf-share .jf-icon { width: 18px; height: 18px; }

/* ---------- Secciones y franjas ---------- */
.jf-section-head { align-items: center; flex-wrap: wrap; gap: var(--space-2) var(--space-4); padding-top: var(--space-3); border-top: 2px solid var(--ink); }
.jf-section-title { font-family: var(--font-display); font-weight: 700; font-size: 24px; line-height: 1.2; letter-spacing: -0.005em; }
.jf-more { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink); text-underline-offset: 4px; }
.jf-band { background: var(--surface-sunken); }
.jf-band .jf-card { border-color: var(--surface-raised); }
.jf-band .jf-section-head { border-top-color: var(--ink); }
.jf-count { font-size: 14px; color: var(--ink-muted); }

/* ---------- Tarjeta de artículo (con y sin imagen) ---------- */
.jf-card { border-color: var(--line); background: var(--surface-raised); }
.jf-card:hover { border-color: var(--ink); }
.jf-card-media { aspect-ratio: 3 / 2; }
.jf-card-body { gap: var(--space-2); padding: var(--space-4) var(--space-4) var(--space-5); }
.jf-card-meta { gap: 0 var(--space-2); font-size: 13px; line-height: 20px; }
.jf-card-meta .jf-tag { margin-right: 2px; }
.jf-card-meta time { margin-left: 2px; }
.jf-card-title { font-family: var(--font-display); font-weight: 700; font-size: 19px; line-height: 1.3; letter-spacing: 0; text-wrap: pretty; }
.jf-card-link { color: var(--ink); }
.jf-card-link:hover { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.jf-card-excerpt { font-size: 15px; line-height: 24px; color: var(--ink-muted); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
.jf-card--text { border-top: 3px solid var(--ink); }
.jf-card--text .jf-card-title { font-size: 22px; }
/* «También en English · 中文» (buscador, pieza nueva 7) */
.jf-card-idiomas { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--space-2); margin: var(--space-1) 0 0; padding-top: var(--space-2); border-top: 1px solid var(--line); font-size: 13px; color: var(--ink-muted); }
.jf-card-idiomas a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); font-weight: 600; text-underline-offset: 3px; }

/* ---------- Cabecera de página ---------- */
.jf-pagehead { gap: var(--space-3); padding-top: var(--space-6); }
.jf-paises-grupo, .jf-buscador-grupo { padding: var(--space-6) 0; }
.jf-pagehead h1 { font-family: var(--font-display); font-weight: 700; font-size: 32px; line-height: 1.15; letter-spacing: -0.01em; text-wrap: balance; }
.jf-pagehead-eyebrow { gap: 0 var(--space-3); font-size: 13px; }
.jf-pagehead-eyebrow .jf-more { text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 500; }
.jf-pagehead-lead { font-size: 18px; line-height: 29px; color: var(--ink-muted); }
.jf-cover-img figcaption { font-size: 13px; }
@container site (min-width: 768px) {
  .jf-pagehead { padding-top: var(--space-7); }
  .jf-pagehead h1 { font-size: 48px; }
  .jf-pagehead-lead { font-size: 20px; line-height: 32px; }
  .jf-section-title { font-size: 30px; }
}

/* ---------- Cuerpo del artículo ---------- */
.jf-prose { font-size: 17px; line-height: 30px; }
.jf-prose h1, .jf-prose h2 { font-family: var(--font-display); font-weight: 700; letter-spacing: -0.005em; }
.jf-prose h1 { font-size: 30px; line-height: 1.2; }
.jf-prose h2 { font-size: 24px; line-height: 1.25; }
.jf-prose h3 { font-size: 19px; line-height: 28px; }
.jf-prose a { color: var(--ink); text-decoration-thickness: 1px; }
.jf-prose a:hover { color: var(--ink); }
.jf-prose li::marker { color: var(--ink); }
.jf-prose blockquote { border-left: 3px solid var(--ocre); padding-left: var(--space-5); font-size: 19px; line-height: 31px; font-weight: 500; font-style: italic; }
.jf-prose th { background: var(--ink); color: var(--on-terracota); font-weight: 600; }
.jf-prose .jf-table-wrap th:first-child { background: var(--ink); }
.jf-prose .jf-table-wrap { border-color: var(--line); }
.jf-prose figcaption { font-size: 13px; }
.jf-bookquote::before { font-family: var(--font-display); font-weight: 700; font-size: 80px; color: var(--ocre); }
.jf-prose .jf-bookquote p, .jf-bookquote p { font-weight: 500; }
.jf-poem::before, .jf-poem::after { background: var(--ocre); }
.jf-sources li::before { font-family: var(--font-display); font-weight: 700; font-size: 18px; color: var(--ink); }
.jf-src-medium, .jf-attr-author { font-family: var(--font-sans); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }

/* ---------- Paginación ---------- */
.jf-page a, .jf-page span { padding: 0 var(--space-3); font-family: var(--font-sans); font-size: 15px; font-weight: 600; letter-spacing: 0; }
.jf-page a:hover { background: var(--surface-sunken); color: var(--ink); }
.jf-page a[aria-current="page"] { background: var(--ink); color: var(--on-terracota); }
.jf-page .jf-page-edge { padding: 0 var(--space-4); border-color: var(--ink); }

/* ---------- Formularios: contacto y buscador ---------- */
.jf-field label { font-weight: 600; font-size: 15px; }
.jf-field label .jf-field-hint { font-weight: 400; }
.jf-field select { font: inherit; color: var(--ink); background: var(--surface-raised); padding: 10px var(--space-3); box-sizing: border-box; width: 100%; }
.jf-field select[aria-invalid="true"] { border-color: var(--error); border-width: 2px; }
.jf-field input:disabled, .jf-field select:disabled, .jf-field textarea:disabled { background: var(--surface-sunken); color: var(--ink-muted); border-color: var(--line-strong); }
.jf-field input, .jf-field textarea, .jf-site .jf-field select { min-height: 48px; border: 1px solid var(--line-strong); border-radius: 0; font-size: 16px; }
.jf-field input:hover, .jf-field textarea:hover, .jf-site .jf-field select:hover { border-color: var(--ink); }
.jf-field-error { color: var(--error); }
.jf-alert { border-radius: 0; border-left: 0; }
.jf-alert-ok { background: var(--exito-soft); color: var(--exito); border-top: 3px solid var(--exito); }
.jf-alert-error { background: var(--error-soft); color: var(--error); border-top: 3px solid var(--error); }
.jf-contact-aside { padding: var(--space-5); background: var(--surface-sunken); }
.jf-contact-aside .jf-field-hint { color: var(--ink); font-size: 15px; line-height: 24px; }
.jf-buscador-form .jf-btn { min-height: 48px; }
.jf-buscador-form input[type="search"] { font-size: 17px; }

/* ---------- Aviso de cookies ---------- */
.jf-cookies { border: 1px solid var(--ink); box-shadow: none; }
.jf-cookies h2 { font-family: var(--font-display); font-weight: 700; font-size: 20px; line-height: 1.25; letter-spacing: 0; }
.jf-cookies p { color: var(--ink-muted); font-size: 14px; }
.jf-check input { accent-color: var(--ink); }

/* ---------- 404 y mantenimiento ---------- */
.jf-404 .jf-404-num { font-family: var(--font-display); font-weight: 800; font-size: 120px; line-height: .9; letter-spacing: -0.04em; color: var(--ink); }
.jf-404 h1 { font-family: var(--font-display); font-weight: 700; font-size: 30px; line-height: 1.2; }
.jf-404 .jf-404-num::after { content: ""; display: block; width: 64px; height: 3px; margin-top: var(--space-4); background: var(--ocre); }
@container site (min-width: 768px) { .jf-404 .jf-404-num { font-size: 200px; } .jf-404 h1 { font-size: 40px; } }
/* Mantenimiento (pantalla sin cabecera ni pie) */
.jf-mantenimiento { min-height: 100vh; min-height: 100dvh; box-sizing: border-box; display: grid; place-items: center; padding: var(--space-7) var(--space-4); background: var(--header-bg); color: var(--header-ink); text-align: center; }
.jf-mantenimiento-in { display: grid; gap: var(--space-5); justify-items: center; max-width: 520px; }
.jf-mantenimiento img { height: 56px; width: auto; }
.jf-mantenimiento h1 { margin: 0; color: var(--header-ink); font-size: 26px; line-height: 1.25; }
.jf-mantenimiento p { margin: 0; color: var(--footer-ink-muted); font-size: 16px; line-height: 26px; }
.jf-mantenimiento a { color: var(--header-ink); }
.jf-mantenimiento-raya { width: 64px; height: 3px; background: var(--ocre); }

/* =========================================================
   Piezas nuevas de Kuska (nivel 3)
   ========================================================= */

/* ---------- Anchos completos ----------
   Las franjas a sangre salen del contenedor de 1200 px con 100cqw (ancho de .jf-site, sin la barra de desplazamiento).
   overflow-x: clip evita cualquier desplazamiento horizontal sin romper el position: sticky. */
.jf-site { overflow-x: clip; --kuska-borde: max(var(--space-4), calc(50cqw - 584px)); --kuska-raya-ficha: #b3bac1; }

/* ---------- Carrusel de destacados (portada) ----------
   A sangre y pegado a la cabecera. Texto sobre la foto con una sombra de azul marino a transparente:
   única excepción a «sin degradados». La zona del texto queda siempre al 90 % de azul (contraste AA con cualquier foto). */
.jf-site .jf-carrusel { position: relative; margin: 0 calc(50% - 50cqw); }
.jf-site .jf-carrusel-pista { border-radius: 0; border: 0; }
.jf-site .jf-carrusel-diapo { aspect-ratio: 4 / 5; max-height: none; background: var(--header-bg); }
.jf-site .jf-carrusel-diapo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.jf-site .jf-carrusel-texto { position: absolute; inset: auto 0 0 0; box-sizing: border-box; padding: 112px var(--kuska-borde) 76px; color: var(--header-ink);
  background: linear-gradient(to top, rgba(15,29,48,.9) 0, rgba(15,29,48,.9) calc(100% - 112px), rgba(15,29,48,0) 100%); }
.jf-site .jf-carrusel-diapo:not(:has(img)) .jf-carrusel-texto { inset: 0; display: flex; flex-direction: column; justify-content: flex-end; background: var(--header-bg); color: var(--header-ink); }
.jf-site .jf-carrusel-cat { display: inline-flex; align-items: center; min-height: 28px; padding: 0 var(--space-3); background: var(--ocre); color: var(--ink);
  font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; line-height: 1.2; }
.jf-site .jf-carrusel-texto h2 { margin: var(--space-3) 0 0; max-width: 30ch; color: var(--header-ink); font-size: 24px; line-height: 1.22; font-weight: 700; text-wrap: balance; }
.jf-site .jf-carrusel-diapo:has(a:focus-visible) { outline: 3px solid var(--header-focus); outline-offset: -6px; }
/* Controles sobre la foto: flechas a los lados; puntos y pausa abajo a la derecha. Todo 44 × 44 px. */
.jf-site .jf-carrusel-controles { position: absolute; inset: 0; margin: 0; display: block; pointer-events: none; }
.jf-site .jf-carrusel-controles[hidden] { display: none; }
.jf-site .jf-carrusel-controles > * { pointer-events: auto; }
.jf-site .jf-carrusel-controles .jf-iconbtn { position: absolute; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; min-width: 44px; padding: 0; box-sizing: border-box;
  background: var(--scrim); color: var(--header-ink); border: 1px solid var(--visor-borde); border-radius: 0; }
.jf-site .jf-carrusel-controles .jf-iconbtn:hover { background: var(--header-bg); border-color: var(--header-ink); }
.jf-site .jf-carrusel-controles .jf-iconbtn .jf-icon { width: 22px; height: 22px; }
.jf-site .jf-carrusel-controles button:focus-visible { outline: 2px solid var(--header-focus); outline-offset: 2px; }
.jf-site [data-carrusel-anterior] { left: var(--space-3); top: 38%; translate: 0 -50%; }
.jf-site [data-carrusel-siguiente] { right: var(--space-3); top: 38%; translate: 0 -50%; }
.jf-site [data-carrusel-pausa] { right: var(--kuska-borde); bottom: var(--space-4); }
.jf-site .jf-carrusel-puntos { position: absolute; z-index: 2; right: calc(var(--kuska-borde) + 52px); bottom: var(--space-4); margin: 0; gap: 0; }
.jf-site .jf-carrusel-punto { width: 44px; height: 44px; }
.jf-site .jf-carrusel-punto::before { width: 22px; height: 3px; border-radius: 0; background: rgba(255,255,255,.6); }
.jf-site .jf-carrusel-punto:hover::before { background: var(--header-ink); }
.jf-site .jf-carrusel-punto[aria-current="true"]::before { width: 22px; height: 5px; background: var(--ocre); }
@container site (min-width: 768px) {
  .jf-site .jf-carrusel-diapo { aspect-ratio: 16 / 9; max-height: 620px; }
  .jf-site .jf-carrusel-texto { padding-top: 160px; background: linear-gradient(to top, rgba(15,29,48,.9) 0, rgba(15,29,48,.9) calc(100% - 160px), rgba(15,29,48,0) 100%); }
  .jf-site .jf-carrusel-texto h2 { font-size: clamp(28px, 3.2cqw, 42px); line-height: 1.18; }
  .jf-site [data-carrusel-anterior] { left: var(--space-5); top: 45%; }
  .jf-site [data-carrusel-siguiente] { right: var(--space-5); top: 45%; }
}

/* ---------- Países y embajadas: listado ---------- */
/* «Edición del mes»: tarjeta blanca con borde, foto a la izquierda */
.jf-site .jf-paises-destacado { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; padding: 0 !important; margin: var(--space-2) 0 var(--space-6);
  align-items: stretch !important; background: var(--surface-raised); color: var(--ink); border: 1px solid var(--line); }
.jf-paises-destacado .jf-cover-img { margin: 0 !important; }
.jf-paises-destacado .jf-cover-img img { display: block; width: 100%; height: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.jf-site .jf-paises-destacado > div { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-5) var(--space-4); }
.jf-site .jf-paises-destacado .jf-pagehead-eyebrow { display: block; min-height: 0; padding: 0; background: none; color: var(--ink); font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; line-height: 1.4; }
.jf-site .jf-paises-destacado h2 { margin: var(--space-2) 0 0; color: var(--ink); font-size: 30px; line-height: 1.15; }
.jf-paises-destacado h2 img { border: 1px solid var(--line); }
.jf-paises-destacado p { margin: 0; }
.jf-site .jf-paises-destacado .jf-pagehead-meta { color: var(--ink-muted); font-size: 14px; }
.jf-site .jf-paises-entradilla { margin-top: var(--space-3) !important; padding-top: var(--space-4); border-top: 1px solid var(--line); font-size: 15px; line-height: 25px; color: var(--ink); }
.jf-site .jf-paises-destacado > div > p:last-child { margin-top: auto !important; padding-top: var(--space-4); gap: var(--space-3) var(--space-5) !important; }
.jf-site .jf-paises-destacado .jf-btn-primary { background: var(--ocre); border-color: var(--ocre); color: var(--ink); font-size: 14px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.jf-site .jf-paises-destacado .jf-btn-primary:hover { background: var(--ink); border-color: var(--ink); color: var(--on-terracota); }
.jf-site .jf-paises-destacado > div > p:last-child .jf-pagehead-meta { font-size: 13px; }
@container site (min-width: 768px) {
  .jf-site .jf-paises-destacado { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) !important; }
  .jf-paises-destacado .jf-cover-img img { aspect-ratio: auto; min-height: 380px; }
  .jf-site .jf-paises-destacado > div { padding: var(--space-6) var(--space-6) var(--space-5); }
  .jf-site .jf-paises-destacado h2 { font-size: 36px; }
}
/* Sello dorado (franja de la portada y vitrina) */
.jf-paises-sello { justify-self: start; display: inline-flex; align-items: center; min-height: 28px; padding: 0 var(--space-3); background: var(--ocre); color: var(--ink);
  font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; line-height: 1.2; }
/* Índice de continentes: franja gris a todo el ancho con «Ir a» */
.jf-site .jf-paises-indice { position: sticky; top: 0; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); overflow: visible;
  margin: 0 calc(50% - 50cqw); padding: var(--space-3) var(--kuska-borde); background: var(--surface-sunken); border: 0; }
.jf-site .jf-paises-indice::before { content: "Ir a"; margin-right: var(--space-2); color: var(--ink); font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.jf-site .jf-paises-indice .jf-tag { min-height: 44px; padding: 0 var(--space-4); border: 1px solid var(--line-strong); background-color: var(--surface-raised); color: var(--ink);
  font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.jf-site .jf-paises-indice .jf-tag:hover { background-color: var(--ink); border-color: var(--ink); color: var(--on-terracota); }
.jf-site .jf-paises-indice .jf-tag[aria-current="true"] { background-color: var(--ink); border-color: var(--ink); border-bottom: 3px solid var(--ocre); color: var(--on-terracota); font-weight: 700; }
/* Continente: versalitas pequeñas, número y raya fina hasta el borde */
.jf-site .jf-paises-grupo { padding: var(--space-6) 0 0; scroll-margin-top: 80px; }
.jf-site .jf-paises-grupo .jf-section-head { display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: var(--space-4); margin: 0 0 var(--space-3); padding: 0; border: 0; }
.jf-site .jf-paises-grupo .jf-section-head::after, .jf-site .jf-pais-notas .jf-section-head::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.jf-site .jf-paises-grupo .jf-section-title, .jf-site .jf-pais-notas .jf-section-title { margin: 0; font-size: 13px; line-height: 1.3; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; }
.jf-site .jf-paises-grupo .jf-section-head .jf-pagehead-meta { font-size: 12px; white-space: nowrap; }
/* Cuadrícula unida por bordes de 1 px; los huecos de la última fila quedan en gris (fondo de la lista) */
.jf-site .jf-paises-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1px !important; margin: 0; background: var(--line); border: 1px solid var(--line); }
.jf-site .jf-paises-pais { position: relative; min-height: 64px; box-sizing: border-box; padding: var(--space-3) !important; gap: var(--space-3) !important; background: var(--surface-raised); border: 0 !important; }
.jf-site .jf-paises-pais:hover { background: #f3f4f5; }
.jf-paises-pais img { border: 1px solid var(--line); }
.jf-paises-pais a { color: var(--ink); text-decoration: none; }
.jf-paises-pais a::after { content: ""; position: absolute; inset: 0; }
.jf-paises-pais:hover a { text-decoration: underline; text-underline-offset: 3px; }
.jf-paises-pais a:focus-visible { outline: none; }
.jf-paises-pais:has(a:focus-visible) { z-index: 1; outline: 2px solid var(--focus); outline-offset: -2px; }
.jf-paises-pais strong { font-size: 15px; font-weight: 600; line-height: 1.3; }
.jf-paises-pais small { font-size: 12px; color: var(--ink-muted); }
/* «En preparación»: gris claro y texto atenuado (#4A5868 sobre #EBEDEE ≈ 6,3:1). El CMS pone opacity .6 en línea. */
.jf-site .jf-paises-pais--preparacion { opacity: 1 !important; background: #ebedee; }
.jf-site .jf-paises-pais--preparacion:hover { background: #ebedee; }
.jf-paises-pais--preparacion img { filter: grayscale(1); opacity: .6; }
.jf-paises-pais--preparacion strong, .jf-paises-pais--preparacion a { color: var(--ink-muted); }
@container site (min-width: 768px) { .jf-site .jf-paises-lista { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } .jf-site .jf-paises-pais { padding: var(--space-3) var(--space-4) !important; } }
@container site (min-width: 1024px) { .jf-site .jf-paises-lista { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }

/* ---------- Países y embajadas: ficha ---------- */
/* Cabecera: franja azul a todo el ancho; bandera a la izquierda; datos en columnas; raya dorada debajo */
.jf-site .jf-pais-cabecera { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--space-1) var(--space-4);
  margin: 0 calc(50% - 50cqw); padding: var(--space-6) var(--kuska-borde) var(--space-5); background: var(--header-bg); color: var(--header-ink); border-bottom: 3px solid var(--ocre); }
.jf-site .jf-pais-cabecera > div:not(.jf-pagehead-eyebrow) { display: contents !important; }
.jf-site .jf-pais-cabecera .jf-pagehead-eyebrow { grid-column: 2; grid-row: 1; gap: 0 var(--space-2); color: var(--footer-ink-muted); font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
.jf-site .jf-pais-cabecera .jf-pagehead-eyebrow .jf-more { min-height: 32px; color: var(--footer-ink-muted); font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; text-decoration: none; }
.jf-site .jf-pais-cabecera .jf-pagehead-eyebrow .jf-more:hover { color: var(--header-ink); text-decoration: underline; }
.jf-site .jf-pais-cabecera .jf-pagehead-eyebrow a:focus-visible { outline-color: var(--header-focus); }
.jf-site .jf-pais-cabecera .jf-pagehead-eyebrow > span { font-size: 0; }
.jf-site .jf-pais-cabecera .jf-pagehead-eyebrow > span::before { content: "·"; font-size: 13px; }
.jf-site .jf-pais-cabecera > div > img { grid-column: 1; grid-row: 1 / span 3; align-self: center; width: 72px !important; border: 1px solid var(--header-line); }
.jf-site .jf-pais-cabecera h1 { grid-column: 2; margin: 0; color: var(--header-ink); font-size: 34px; line-height: 1.1; }
.jf-site .jf-pais-cabecera .jf-pagehead-lead { grid-column: 2; margin: 0; color: var(--footer-ink-muted); font-size: 15px; line-height: 24px; }
.jf-site .jf-pais-cabecera .jf-pais-datos { grid-column: 1 / -1; display: grid !important; gap: 0 !important; margin: var(--space-5) 0 0 !important; border-top: 1px solid var(--header-line); }
.jf-site .jf-pais-cabecera .jf-pais-datos > div { min-width: 0; padding: var(--space-3) 0; border-top: 0; border-bottom: 1px solid var(--header-line); }
.jf-site .jf-pais-cabecera .jf-pais-datos > div:last-child { border-bottom: 0; padding-bottom: 0; }
.jf-site .jf-pais-cabecera .jf-pais-datos dt { color: var(--footer-ink-muted); font-size: 11px !important; font-weight: 700; letter-spacing: 0.16em; line-height: 1.4; }
.jf-site .jf-pais-cabecera .jf-pais-datos dd strong { color: var(--header-ink); font-size: 17px; }
@container site (min-width: 768px) {
  .jf-site .jf-pais-cabecera { padding-top: var(--space-7); padding-bottom: var(--space-6); column-gap: var(--space-5); }
  .jf-site .jf-pais-cabecera > div > img { width: 96px !important; }
  .jf-site .jf-pais-cabecera h1 { font-size: 48px; }
  .jf-site .jf-pais-cabecera .jf-pais-datos { display: flex !important; }
  .jf-site .jf-pais-cabecera .jf-pais-datos > div { padding: var(--space-4) var(--space-6) 0; border-bottom: 0; border-left: 1px solid var(--header-line); }
  .jf-site .jf-pais-cabecera .jf-pais-datos > div:first-child { padding-left: 0; border-left: 0; }
}
/* Foto de la sede a todo el ancho, pegada a la franja */
.jf-site .jf-pais > .jf-cover-img { margin: 0 calc(50% - 50cqw) var(--space-6); }
.jf-site .jf-pais > .jf-cover-img img { aspect-ratio: 16 / 10; max-height: 560px; border-radius: 0; }
@container site (min-width: 768px) { .jf-site .jf-pais > .jf-cover-img img { aspect-ratio: 21 / 8; } }
.jf-pais .jf-cover-img figcaption, .jf-pais-credito { font-size: 13px; color: var(--ink-muted); }
.jf-pais-escudo { width: 72px; height: auto; }
/* Ficha de la embajada: una sola caja gris con borde; dos columnas en escritorio */
.jf-site .jf-pais-ficha { padding: 0; margin: 0 0 var(--space-6); background: var(--surface-sunken); border: 1px solid var(--kuska-raya-ficha); }
.jf-site .jf-pais-ficha > .jf-section-head { justify-content: space-between; margin: 0; padding: var(--space-4) var(--space-5); border-top: 0; border-bottom: 1px solid var(--kuska-raya-ficha); }
.jf-site .jf-pais-ficha .jf-section-title { margin: 0; font-size: 13px; line-height: 1.3; letter-spacing: 0.2em; text-transform: uppercase; }
.jf-site .jf-pais-ficha > .jf-section-head .jf-pagehead-meta { font-size: 12px; color: var(--ink-muted); }
.jf-site .jf-pais-ficha .jf-project-layout { grid-template-columns: minmax(0, 1fr); gap: 0; margin: 0; padding: var(--space-5); }
.jf-site .jf-pais-ficha .jf-pfacts { position: static; order: 0; padding: 0; border: 0; background: none; gap: var(--space-3); }
.jf-site .jf-pais-ficha .jf-pfacts h3, .jf-site .jf-pais-ficha .jf-pais-personal h3 { margin: 0 0 var(--space-2); font-size: 12px; letter-spacing: 0.16em; color: var(--ink); }
.jf-site .jf-pais-ficha .jf-pfacts dl { gap: 0; }
.jf-site .jf-pais-ficha .jf-pfacts dl > div { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: var(--space-3); padding: var(--space-3) 0; border-bottom: 1px solid var(--kuska-raya-ficha); }
.jf-site .jf-pais-ficha .jf-pfacts dl > div:last-child { border-bottom: 0; }
.jf-site .jf-pais-ficha .jf-pfacts dt { padding-top: 2px; color: var(--ink); font-size: 11px; letter-spacing: 0.12em; line-height: 20px; }
.jf-site .jf-pais-ficha .jf-pfacts dd { margin: 0; font-size: 14px; line-height: 22px; }
.jf-site .jf-pais-ficha .jf-pais-personal { margin-top: var(--space-5); padding-top: var(--space-5); border-top: 1px solid var(--kuska-raya-ficha); gap: var(--space-2); }
.jf-site .jf-pais-ficha .jf-pais-personal ul { gap: 0 !important; margin: 0; }
.jf-site .jf-pais-ficha .jf-pais-personal li { padding: var(--space-3) 0; border-top: 1px solid var(--kuska-raya-ficha); font-size: 14px; line-height: 22px; color: var(--ink-muted); }
.jf-site .jf-pais-ficha .jf-pais-personal li:first-child { padding-top: 0; border-top: 0; }
.jf-site .jf-pais-ficha .jf-pais-personal li strong { display: block; color: var(--ink); font-size: 17px; line-height: 1.35; }
.jf-site .jf-pais-ficha .jf-pais-personal li > .jf-pagehead-meta { font-size: 12px; line-height: 18px; }
.jf-site .jf-pais-ficha .jf-pais-personal li > .jf-pagehead-meta:first-child { color: var(--ink); font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 2px; }
@container site (min-width: 768px) {
  .jf-site .jf-pais-ficha .jf-project-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-7); padding: var(--space-5) var(--space-5) var(--space-6); align-items: start; }
  .jf-site .jf-pais-ficha .jf-pfacts dl > div { grid-template-columns: 140px minmax(0, 1fr); }
  .jf-site .jf-pais-ficha .jf-pais-personal { margin-top: 0; padding-top: 0; border-top: 0; }
}
/* Redes: icono en un cuadrito */
.jf-pais-red { display: inline-flex !important; align-items: center; gap: var(--space-2); }
.jf-pais-red::before { content: ""; flex: none; width: 28px; height: 28px; box-sizing: border-box; border: 1px solid var(--line-strong); background: var(--surface-raised) center / 14px 14px no-repeat; }
.jf-pais-red--x::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%231a2e49'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M5%205l14%2014M19%205L5%2019'%2F%3E%3C%2Fsvg%3E"); }
.jf-pais-red--facebook::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%231a2e49'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M15%203h-2.5A3.5%203.5%200%20009%206.5V10H6.5v4H9v7h4v-7h2.5l.5-4h-3V7a1%201%200%20011-1h1z'%2F%3E%3C%2Fsvg%3E"); }
.jf-pais-red--instagram::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%231a2e49'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'3.5'%20y%3D'3.5'%20width%3D'17'%20height%3D'17'%20rx%3D'4.5'%2F%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'4'%2F%3E%3Cpath%20d%3D'M17%207h.01'%2F%3E%3C%2Fsvg%3E"); }
.jf-pais-red--linkedin::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%231a2e49'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M4.5%209.5v10M4.5%204.5v.01M9.5%2019.5v-10M9.5%2013.5a4%204%200%20018%200v6'%2F%3E%3C%2Fsvg%3E"); }
.jf-pais-red--youtube::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%231a2e49'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Crect%20x%3D'2.5'%20y%3D'5.5'%20width%3D'19'%20height%3D'13'%20rx%3D'3'%2F%3E%3Cpath%20d%3D'M10%209.5v5l4.5-2.5z'%2F%3E%3C%2Fsvg%3E"); }
.jf-pais-red--tiktok::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'%231a2e49'%20stroke-width%3D'2'%20stroke-linecap%3D'round'%20stroke-linejoin%3D'round'%3E%3Cpath%20d%3D'M14%203.5v11a4%204%200%2011-4-4M14%203.5a5%205%200%20005%205'%2F%3E%3C%2Fsvg%3E"); }
/* Texto de la edición con el índice a la derecha (en el móvil, arriba) */
.jf-site .jf-pais-edicion { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); padding: var(--space-5) 0; }
.jf-site .jf-pais-edicion .jf-prose h2 { font-size: 22px; line-height: 1.3; margin-top: 0; }
.jf-site .jf-pais-indice { order: -1; padding: var(--space-3) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.jf-site .jf-pais-indice h2 { margin: 0 0 var(--space-1); color: var(--ink); font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
.jf-site .jf-pais-indice ul { list-style: none; margin: 0; padding: 0; }
.jf-site .jf-pais-indice a { display: flex; align-items: center; min-height: 44px; color: var(--ink-muted); font-size: 14px; text-decoration: none; }
.jf-site .jf-pais-indice a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
@container site (min-width: 1024px) {
  .jf-site .jf-pais-edicion { grid-template-columns: minmax(0, 1fr) 240px; gap: 0 var(--space-6); align-items: start; }
  .jf-site .jf-pais-indice { order: 0; position: sticky; top: var(--space-5); padding: 0 0 var(--space-2) var(--space-5); border: 0; border-left: 1px solid var(--line); }
  .jf-site .jf-pais-indice a { min-height: 36px; }
}
/* Notas relacionadas: título en versalitas con raya y tarjetas compactas */
.jf-site .jf-pais-notas { padding-top: var(--space-6); }
.jf-site .jf-pais-notas .jf-section-head { flex-wrap: nowrap; justify-content: flex-start; gap: var(--space-4); margin-bottom: var(--space-4); padding-top: 0; border-top: 0; }
.jf-site .jf-pais-notas .jf-grid { gap: var(--space-4); }
.jf-site .jf-pais-notas .jf-card-media { aspect-ratio: 16 / 10; }
.jf-site .jf-pais-notas .jf-card-body { gap: var(--space-1); padding: var(--space-2) var(--space-4) var(--space-4); }
.jf-site .jf-pais-notas .jf-card-meta { font-size: 12px; }
.jf-site .jf-pais-notas .jf-card-meta .jf-tag { padding: 0; background-color: transparent; font-size: 10px; letter-spacing: 0.14em; }
.jf-site .jf-pais-notas .jf-card-meta a.jf-tag:hover { background-color: transparent; color: var(--ink); text-decoration: underline; }
.jf-site .jf-pais-notas .jf-card-title { font-size: 16px; line-height: 1.35; }
.jf-site .jf-pais-notas .jf-card-excerpt { display: none; }
.jf-pais-datos > div, .jf-empresa-cifras > div { min-width: 140px; padding-top: var(--space-2); border-top: 2px solid var(--ink); }
.jf-pais-datos dd strong { font-size: 18px; font-weight: 700; }
.jf-pais-datos dt, .jf-empresa-cifras dt { font-size: 12px !important; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.jf-empresa-cabecera img { border: 1px solid var(--line); }
.jf-pfacts { border: 1px solid var(--line); padding: var(--space-5); }
.jf-pfacts h2, .jf-pfacts h3, .jf-pais-personal h3 { margin: 0; font-family: var(--font-sans); font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink); }
.jf-pfacts dt { font-family: var(--font-sans); font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-muted); }
.jf-pfacts dd { font-size: 15px; line-height: 24px; overflow-wrap: anywhere; }
.jf-pfacts dd a { color: var(--ink); text-underline-offset: 3px; display: inline-block; padding: 10px 0; margin: -10px 0; }
.jf-pfacts .jf-btn { width: 100%; }
.jf-pais-personal { display: grid; gap: var(--space-4); align-content: start; }
.jf-pais-personal li { padding-top: var(--space-3); border-top: 1px solid var(--line); line-height: 24px; }
.jf-pais-personal li strong { font-size: 17px; }
.jf-pais-personal .jf-pagehead-meta { font-size: 13px; }

/* ---------- Página de sección: título sin recuento ni fichas debajo ---------- */
.jf-site .jf-pagehead:not(:has(.jf-pagehead-lead, .jf-pagehead-meta)) { padding-bottom: var(--space-5); margin-bottom: var(--space-3); border-bottom: 1px solid var(--line); }

/* ---------- Directorio de empresas ----------
   El logo es la imagen de la tarjeta: cuadrado, a todo el ancho, sin recortar (centrado sobre blanco). */
.jf-site .jf-directorio-empresa { border: 0; background: transparent; }
.jf-site .jf-directorio-empresa:hover { border-color: transparent; }
.jf-site .jf-directorio-logo { position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: var(--surface-raised); border: 1px solid var(--line); }
.jf-site .jf-directorio-logo img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; box-sizing: border-box; padding: 8%; object-fit: contain; object-position: center; filter: none; }
.jf-site .jf-directorio-empresa:hover .jf-directorio-logo { border-color: var(--ink); }
.jf-site .jf-directorio-empresa .jf-card-body { gap: var(--space-1); padding: var(--space-3) 0 0; }
.jf-site .jf-directorio-empresa .jf-card-title { font-size: 18px; }
.jf-empresa-cifras dd { font-size: 32px !important; line-height: 1.1; }
.jf-empresa-cifras dd strong { font-weight: 700; }
.jf-empresa-cifras > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: var(--space-1); max-width: 220px; }
.jf-empresa-cifras dt { order: 0; }
.jf-empresa-qr { width: 140px; height: 140px; padding: var(--space-2); background: var(--surface-raised); border: 1px solid var(--line); }

/* ---------- Ediciones de la revista ---------- */
.jf-ediciones { margin-top: var(--space-7); }
.jf-ediciones .jf-card-media { background: var(--surface-sunken); }
.jf-ediciones .jf-card-media img { object-fit: cover; }
.jf-ediciones .jf-card-body { padding: var(--space-3) var(--space-3) var(--space-4); }
.jf-ediciones .jf-card-title { font-size: 15px; line-height: 1.35; }
.jf-ediciones .jf-card-excerpt { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink); -webkit-line-clamp: unset; }
.jf-prose .jf-ediciones .jf-card-media img { border-radius: 0; }

/* ---------- Franja de países en la portada (pieza nueva 10) ----------
   El CMS no le pone clase propia: se engancha por aria-labelledby="paises-t" (pedir .jf-paises-portada). */
:is(.jf-paises-portada, [aria-labelledby="paises-t"]) .jf-card-meta img, :is(.jf-paises-portada, [aria-labelledby="paises-t"]) .jf-card-title img { border: 1px solid var(--line); }
:is(.jf-paises-portada, [aria-labelledby="paises-t"]) .jf-card-meta .jf-tag { gap: 8px !important; }
:is(.jf-paises-portada, [aria-labelledby="paises-t"]) .jf-card:first-child { border-color: var(--header-bg); background: var(--header-bg); }
:is(.jf-paises-portada, [aria-labelledby="paises-t"]) .jf-card:first-child .jf-card-link { color: var(--header-ink); font-size: 24px; }
:is(.jf-paises-portada, [aria-labelledby="paises-t"]) .jf-card:first-child .jf-card-link:focus-visible { outline-color: var(--header-focus); }
:is(.jf-paises-portada, [aria-labelledby="paises-t"]) .jf-card:first-child .jf-card-title img { border-color: var(--header-line); width: 32px !important; }
/* Sello «Edición del mes» en la tarjeta */
:is(.jf-paises-portada, [aria-labelledby="paises-t"]) .jf-card:first-child .jf-card-meta > span:only-child { display: inline-flex; align-items: center; min-height: 28px; padding: 0 var(--space-3); background: var(--ocre); color: var(--ink);
  font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
