/* ============================================================================
   FullCarro Blog · blog.css — primitivas de layout, header, footer, botones
   ============================================================================ */

*, *::before, *::after { box-sizing: border-box; }

.fc-container {
  max-width: var(--ancho-contenedor);
  margin: 0 auto;
  padding: 0 var(--esp-5);
}

/* Oculto a la vista pero presente para lectores de pantalla y buscadores. */
.fc-sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ── Header ──────────────────────────────────────────────────────────── */
.fc-header {
  background: var(--navy);
  height: var(--alto-cabecera);
  display: flex;
  align-items: center;
}
.fc-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.fc-header__logo {
  font-family: var(--fuente-display);
  font-weight: 700;
  font-size: var(--texto-lg);
  color: var(--blanco);
  text-decoration: none;
}
.fc-header__logo span { color: var(--acento); }
.fc-header__logo em { font-style: normal; font-weight: 400; opacity: .75; }
.fc-header__nav {
  display: none;
  gap: var(--esp-5);
}
.fc-header__nav a {
  color: rgba(255,255,255,.85);
  text-decoration: none;
  font-size: var(--texto-sm);
  transition: color 160ms var(--ease-out-fuerte);
}
.fc-header__nav a:hover { color: var(--acento); }
@media (min-width: 768px) {
  .fc-header__nav { display: flex; }
}

/* ── Footer ──────────────────────────────────────────────────────────── */
.fc-footer {
  background: var(--navy);
  color: rgba(255,255,255,.72);
  border-top: 3px solid var(--acento);
  padding: var(--esp-10) 0 0;
  margin-top: var(--esp-12);
  font-size: var(--texto-sm);
}
.fc-footer a { color: rgba(255,255,255,.85); text-decoration: none; }
.fc-footer__top {
  display: grid;
  grid-template-columns: 1.5fr 1.6fr .9fr 1fr;
  gap: var(--esp-8);
}
.fc-footer__marca { min-width: 0; }
.fc-footer__logo { font-family: var(--fuente-display); font-weight: 700; font-size: var(--texto-xl); color: var(--blanco); }
.fc-footer__logo span { color: var(--acento); }
.fc-footer__logo em { font-style: normal; font-weight: 400; opacity: .7; }
.fc-footer__tag { line-height: 1.55; margin: var(--esp-3) 0 0; max-width: 34ch; color: rgba(255,255,255,.66); }
.fc-footer__titulo { font-family: var(--fuente-display); font-size: var(--texto-sm); letter-spacing: .05em; text-transform: uppercase; color: var(--blanco); margin: 0 0 var(--esp-4); }
.fc-footer__lista { list-style: none; margin: 0; padding: 0; }
.fc-footer__lista li { margin-bottom: var(--esp-2); }
.fc-footer__lista a { color: rgba(255,255,255,.66); }
.fc-footer__lista a:hover { color: var(--acento); }
.fc-footer__lista--columnas { columns: 2; column-gap: var(--esp-6); }
.fc-footer__ediciones a { display: flex; align-items: center; gap: var(--esp-2); }
.fc-footer__bandera { flex: none; width: 20px; height: 14px; border-radius: 2px; object-fit: cover; box-shadow: 0 0 0 1px rgba(0,0,0,.15); }
.fc-footer__cod { flex: none; font-size: var(--texto-xs); color: var(--blanco); background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); border-radius: var(--radio-sm); padding: 2px 6px; letter-spacing: .05em; }
.fc-footer__inner {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--esp-3);
  margin-top: var(--esp-8); padding-top: var(--esp-5); padding-bottom: var(--esp-8);
  border-top: 1px solid rgba(255,255,255,.12);
}
.fc-footer__nav { display: flex; flex-wrap: wrap; gap: var(--esp-5); }
.fc-footer__nav a { color: rgba(255,255,255,.66); }
.fc-footer__nav a:hover { color: var(--acento); }
@media (max-width: 820px) {
  .fc-footer__top { grid-template-columns: 1fr 1fr; }
  .fc-footer__marca { grid-column: 1 / 3; }
  .fc-footer__inner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 480px) {
  .fc-footer__top { grid-template-columns: 1fr; }
  .fc-footer__marca { grid-column: auto; }
}

/* ── Botones y enlaces con feedback instantáneo ─────────────────────── */
.fc-boton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--esp-2);
  padding: var(--esp-3) var(--esp-5);
  border-radius: var(--radio);
  border: none;
  background: var(--acento);
  color: var(--blanco);
  font-family: var(--fuente-cuerpo);
  font-weight: 600;
  font-size: var(--texto-base);
  cursor: pointer;
  text-decoration: none;
  transition: transform 160ms var(--ease-out-fuerte), background 160ms ease;
}
.fc-boton:hover { background: var(--acento-oscuro); }
.fc-boton:active { transform: scale(0.97); }

.fc-boton--fantasma {
  background: transparent;
  border: 1px solid var(--linea);
  color: var(--tinta);
}
.fc-boton--fantasma:hover { background: var(--gris-suave); }

@media (prefers-reduced-motion: reduce) {
  .fc-boton { transition: background 160ms ease; }
  .fc-boton:active { transform: none; }
}

/* ── Tarjeta base (reutilizada por el grid de índice/categoría) ────────*/
.fc-card {
  background: var(--blanco);
  border-radius: var(--radio-md);
  box-shadow: var(--sombra);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  transition: transform 160ms ease, box-shadow 160ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .fc-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--sombra-md);
  }
}
.fc-card__imagen { width: 100%; aspect-ratio: 16/9; object-fit: cover; background: var(--gris-suave); }
.fc-card__cuerpo { padding: var(--esp-4); display: flex; flex-direction: column; gap: var(--esp-2); flex: 1; }
.fc-card__categoria {
  display: inline-block;
  background: var(--acento-suave);
  color: var(--acento-oscuro);
  border: 1px solid var(--acento-suave-borde);
  font-size: var(--texto-xs);
  font-weight: 600;
  padding: 2px var(--esp-2);
  border-radius: var(--radio-full);
  width: fit-content;
}
.fc-card__titulo { font-family: var(--fuente-display); font-size: var(--texto-md); color: var(--navy); margin: 0; }
.fc-card__meta { font-size: var(--texto-xs); color: var(--gris); }

.fc-chip {
  padding: var(--esp-2) var(--esp-4);
  border-radius: var(--radio-full);
  background: rgba(255,255,255,.1);
  color: var(--blanco);
  text-decoration: none;
  font-size: var(--texto-sm);
  transition: background 160ms ease;
}
.fc-chip:hover { background: rgba(255,255,255,.2); }

/* ── Grid de tarjetas (índice y categoría) ──────────────────────────── */
.fc-seccion { padding: var(--esp-10) var(--esp-5); }
.fc-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--esp-5);
  /* Sin esto, una tarjeta sin imagen destacada se estira a la altura de sus
     vecinas y queda un bloque blanco vacío debajo del texto. */
  align-items: start;
}
@media (min-width: 768px) { .fc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .fc-grid { grid-template-columns: repeat(3, 1fr); } }

/* ── Artículo ────────────────────────────────────────────────────────── */
.fc-articulo { max-width: 780px; padding: var(--esp-8) var(--esp-5); }
.fc-breadcrumbs { font-size: var(--texto-xs); color: var(--gris); margin-bottom: var(--esp-4); }
.fc-breadcrumbs a { color: var(--gris); }
.fc-articulo__cabecera { margin-bottom: var(--esp-5); }
.fc-articulo__meta { display: flex; gap: var(--esp-3); font-size: var(--texto-sm); color: var(--gris); }
.fc-articulo__imagen { width: 100%; border-radius: var(--radio-md); margin: var(--esp-5) 0; }
.fc-articulo__cuerpo { font-size: var(--texto-md); line-height: 1.75; max-width: 680px; }
.fc-articulo__cuerpo h2 { margin-top: var(--esp-8); }

/* ── Ficha DTC (elemento distintivo) ────────────────────────────────── */
.fc-dtc-ficha {
  display: flex;
  align-items: center;
  gap: var(--esp-5);
  background: var(--navy);
  color: var(--blanco);
  border-radius: var(--radio-md);
  padding: var(--esp-5);
  margin: var(--esp-5) 0;
}
.fc-dtc-ficha__codigo { font-size: 36px; color: var(--acento); }
.fc-dtc-ficha__nombre { margin: 0; font-size: var(--texto-base); }

/* ── Tabla de contenidos (acordeón móvil / lista desktop) ───────────── */
.fc-toc {
  background: var(--gris-suave);
  border-radius: var(--radio);
  padding: var(--esp-4);
  margin: var(--esp-5) 0;
}
.fc-toc summary { font-weight: 600; cursor: pointer; }
.fc-toc ul { margin: var(--esp-3) 0 0; padding-left: var(--esp-5); }
.fc-toc__nivel-3 { margin-left: var(--esp-4); font-size: var(--texto-sm); }
@media (min-width: 1024px) {
  .fc-toc { position: sticky; top: var(--esp-5); float: right; width: 240px; margin-left: var(--esp-8); }
}

/* ── Rating ──────────────────────────────────────────────────────────── */
.fc-rating { margin: var(--esp-8) 0; padding: var(--esp-5); background: var(--gris-suave); border-radius: var(--radio-md); text-align: center; }
.fc-rating__form { display: flex; justify-content: center; gap: var(--esp-1); }
.fc-rating__estrella {
  background: none; border: none; font-size: 28px; color: var(--linea); cursor: pointer;
  transition: transform 150ms ease-out, color 150ms ease;
}
.fc-rating__estrella:hover, .fc-rating__estrella:active { color: var(--acento); transform: scale(1.15); }
.fc-rating__resumen { display: block; margin-top: var(--esp-2); font-size: var(--texto-sm); color: var(--gris); }

/* ── Comentarios ─────────────────────────────────────────────────────── */
.fc-comentarios { margin: var(--esp-8) 0; }
.fc-comentario { padding: var(--esp-3) 0; border-bottom: 1px solid var(--linea); }
.fc-comentario__autor { font-weight: 600; margin: 0; }
.fc-comentario__texto { margin: var(--esp-1) 0 0; color: var(--tinta); }

/* ── Relacionados y compartir ────────────────────────────────────────── */
.fc-relacionados { margin: var(--esp-8) 0; }
.fc-compartir { display: flex; align-items: center; gap: var(--esp-3); margin: var(--esp-8) 0; }

@media (prefers-reduced-motion: reduce) {
  .fc-rating__estrella { transition: color 150ms ease; }
  .fc-rating__estrella:hover, .fc-rating__estrella:active { transform: none; }
}

/* ── Pico y Placa ────────────────────────────────────────────────────────── */
.fc-pyp-grid { display: grid; grid-template-columns: 1fr; gap: var(--esp-4); }
@media (min-width: 768px) { .fc-pyp-grid { grid-template-columns: repeat(2, 1fr); } }
.fc-pyp-card { background: var(--blanco); border-radius: var(--radio-md); box-shadow: var(--sombra); padding: var(--esp-5); }
.fc-pyp-card--libre { background: var(--exito-bg); }
.fc-pyp-card__cabecera { display: flex; align-items: center; gap: var(--esp-2); margin-bottom: var(--esp-3); }
.fc-pyp-card__cabecera h3 { margin: 0; font-size: var(--texto-base); }
.fc-pyp-card__placas { display: flex; flex-wrap: wrap; gap: var(--esp-2); margin: var(--esp-2) 0; }
.fc-pyp-placa {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: var(--radio-sm);
  background: var(--peligro-bg); color: var(--peligro-texto);
  font-size: var(--texto-lg);
}
.fc-pyp__libre { color: var(--exito-texto); font-weight: 600; }
.fc-pyp-card__nota { font-size: var(--texto-xs); color: var(--gris); margin-top: var(--esp-2); }

/* ── Página estática ─────────────────────────────────────────────────── */
.fc-pagina-estatica { max-width: 780px; padding: var(--esp-8) var(--esp-5); }

/* ── Paginación de categorías ────────────────────────────────────────── */
.fc-paginacion {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--esp-4);
  margin-top: var(--esp-10);
  flex-wrap: wrap;
}
.fc-paginacion__cuenta { font-size: var(--texto-sm); color: var(--gris); }


/* ── Otras ciudades de pico y placa (malla temática) ─────────────────── */
.fc-pyp-otras { margin-top: var(--esp-10); padding-top: var(--esp-6); border-top: 1px solid var(--linea); }
.fc-pyp-otras h2 { font-size: var(--texto-lg); margin-bottom: var(--esp-4); }
.fc-pyp-otras__lista {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: var(--esp-2);
  font-size: var(--texto-sm);
}
.fc-pyp-otras__lista a {
  display: inline-block;
  padding: var(--esp-2) var(--esp-3);
  background: var(--gris-suave);
  border-radius: var(--radio-full);
  color: var(--tinta);
  text-decoration: none;
}
.fc-pyp-otras__lista a:hover { background: var(--acento-suave); color: var(--acento-oscuro); }

/* ── Páginas de cuenta (registro, login, restablecer) ────────────────── */
.fc-cuenta {
  max-width: 460px;
  padding: var(--esp-10) var(--esp-5);
}
.fc-cuenta__intro { color: var(--gris); font-size: var(--texto-base); }
.fc-cuenta__pie { margin-top: var(--esp-5); font-size: var(--texto-sm); }

.fc-form { display: flex; flex-direction: column; gap: var(--esp-2); margin-top: var(--esp-5); }
.fc-form label { font-size: var(--texto-sm); font-weight: 600; color: var(--navy); margin-top: var(--esp-3); }
.fc-form input {
  padding: var(--esp-3) var(--esp-4);
  border: 1px solid var(--linea);
  border-radius: var(--radio);
  font-family: var(--fuente-cuerpo);
  font-size: var(--texto-md);
}
.fc-form input:focus { outline: 2px solid var(--acento); outline-offset: 1px; }
.fc-form .fc-boton { margin-top: var(--esp-5); }

.fc-alerta {
  background: var(--aviso-bg);
  color: var(--aviso-texto);
  border-radius: var(--radio);
  padding: var(--esp-3) var(--esp-4);
  font-size: var(--texto-sm);
  margin: var(--esp-4) 0;
}

/* ── Formulario de comentario al pie del artículo ────────────────────── */
.fc-comentar { display: flex; flex-direction: column; gap: var(--esp-2); margin-top: var(--esp-6); }
.fc-comentar__quien { font-size: var(--texto-sm); color: var(--gris); margin: 0; }
.fc-comentar__label { font-size: var(--texto-sm); font-weight: 600; color: var(--navy); }
.fc-comentar textarea {
  width: 100%;
  padding: var(--esp-3) var(--esp-4);
  border: 1px solid var(--linea);
  border-radius: var(--radio);
  font-family: var(--fuente-cuerpo);
  font-size: var(--texto-md);
  resize: vertical;
}
.fc-comentar textarea:focus { outline: 2px solid var(--acento); outline-offset: 1px; }
.fc-comentar .fc-boton { align-self: flex-start; }

/* ── Estado de cuenta en el header (comentarista) ────────────────────── */
.fc-header__cuenta {
  display: flex;
  align-items: center;
  gap: var(--esp-3);
  font-size: var(--texto-sm);
}
.fc-header__cuenta-nombre { color: rgba(255,255,255,.85); }
.fc-header__cuenta-entrar {
  color: rgba(255,255,255,.85);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px;          /* área de toque un poco mayor que el ícono */
  line-height: 0;
}
.fc-header__cuenta-entrar:hover { color: var(--acento); }
.fc-header__logout { margin: 0; }
.fc-header__logout-boton {
  background: none;
  border: none;
  color: rgba(255,255,255,.85);
  font-family: var(--fuente-cuerpo);
  font-size: var(--texto-sm);
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
}
.fc-header__logout-boton:hover { color: var(--acento); }

/* ── Placa de edición de país ────────────────────────────────────────── */
.fc-placa-caja { position: relative; }
.fc-placa-caja > summary { list-style: none; cursor: pointer; }
.fc-placa-caja > summary::-webkit-details-marker { display: none; }

.fc-placa {
  display: inline-flex;
  align-items: center;
  height: 26px;
  border: 1.5px solid rgba(255,255,255,.5);
  border-radius: var(--radio-sm);
  overflow: hidden;
}
.fc-placa__codigo {
  background: #1b3a6b;
  color: var(--blanco);
  font-size: var(--texto-xs);
  padding: 0 7px;
  height: 100%;
  display: flex;
  align-items: center;
}
.fc-placa__nombre { color: var(--blanco); font-size: var(--texto-sm); padding: 0 8px; }
.fc-placa__flecha { color: rgba(255,255,255,.6); padding-right: 7px; font-size: 10px; }
.fc-placa-caja[open] .fc-placa { border-color: var(--acento); }

.fc-ediciones {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: var(--z-cabecera);
  min-width: 240px;
  background: var(--blanco);
  border: 1px solid var(--linea);
  border-radius: var(--radio-md);
  box-shadow: var(--sombra-md);
  padding: var(--esp-3);
}
.fc-ediciones__titulo {
  font-size: var(--texto-xs);
  color: var(--gris);
  letter-spacing: .06em;
  margin: 0 0 var(--esp-2);
  text-transform: uppercase;
}
.fc-ediciones__opcion {
  display: flex;
  align-items: center;
  gap: var(--esp-2);
  padding: var(--esp-2);
  border-radius: var(--radio-sm);
  text-decoration: none;
}
.fc-ediciones__opcion:hover { background: var(--gris-suave); }
.fc-ediciones__opcion.is-actual { background: var(--acento-suave); }
.fc-ediciones__codigo {
  font-size: var(--texto-xs);
  background: var(--gris-suave);
  color: var(--tinta);
  padding: 2px 6px;
  border-radius: 3px;
}
.fc-ediciones__nombre { flex: 1; font-size: var(--texto-sm); color: var(--navy); }
.fc-ediciones__cuenta { font-size: var(--texto-xs); color: var(--gris); }

.fc-placa__bandera,
.fc-ediciones__bandera {
  flex: none;
  border-radius: 2px;
  object-fit: cover;               /* proporciones distintas por país: recorta, no deforma */
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .10);
}
.fc-placa__bandera { width: 20px; height: 14px; margin-right: 4px; }  /* .fc-placa no tiene gap: separa la bandera del código */
.fc-ediciones__bandera { width: 22px; height: 15px; }

/* ── Ajuste de integración: varios hijos en .fc-header__inner ──────────
   El logo, la placa, la navegación y la cuenta comparten la barra. Sin
   este gap quedaban pegados entre sí sin aire en pantallas angostas. */
.fc-header__inner { gap: var(--esp-2); }
.fc-placa-caja { flex-shrink: 0; }

/* ── Franja de última hora (solo si hay algo de menos de 48 h) ───────── */
.fc-ahora { background: #16294d; border-top: 1px solid rgba(255,255,255,.08); }
.fc-ahora__inner { display: flex; align-items: center; gap: var(--esp-3); padding: 7px var(--esp-5); }
.fc-ahora__sello {
  background: var(--acento);
  color: #3d2a10;
  font-size: 10px;
  letter-spacing: .08em;
  padding: 2px 7px;
  border-radius: 3px;
  flex-shrink: 0;
}
.fc-ahora__titular {
  color: rgba(255,255,255,.82);
  font-size: var(--texto-xs);
  text-decoration: none;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.fc-ahora__titular:hover { color: var(--acento); }

/* ── Hero del home: mosaico + ticker ─────────────────────────────────── */
.fc-mosaico-hero { padding: var(--esp-5) 0 var(--esp-8); }

.fc-ticker { display: flex; align-items: stretch; background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio-md); overflow: hidden; margin-bottom: var(--esp-4); }
.fc-ticker__hoy { background: var(--acento); color: var(--navy); font-family: var(--fuente-display); font-weight: 700; letter-spacing: .03em; text-transform: uppercase; display: flex; align-items: center; padding: 0 var(--esp-5); flex: none; }
.fc-ticker__track { display: flex; align-items: center; gap: var(--esp-6); padding: var(--esp-3) var(--esp-4); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; flex: 1; min-width: 0; }
.fc-ticker__track::-webkit-scrollbar { display: none; }
.fc-ticker__item { display: flex; align-items: center; gap: var(--esp-3); text-decoration: none; color: var(--tinta); scroll-snap-align: start; flex: 0 0 auto; max-width: 340px; }
.fc-ticker__item img { width: 46px; height: 40px; border-radius: var(--radio-sm); object-fit: cover; flex: none; }
.fc-ticker__item span { font-size: var(--texto-sm); font-weight: 500; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fc-ticker__nav { display: flex; align-items: center; gap: var(--esp-2); padding: 0 var(--esp-4); flex: none; }
.fc-ticker__nav button { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--linea); background: var(--blanco); color: var(--tinta); cursor: pointer; font-size: 1.1rem; line-height: 1; }
.fc-ticker__nav button:hover { border-color: var(--acento); color: var(--acento); }

.fc-mosaico { display: grid; grid-template-columns: 1fr 1fr 1.3fr; grid-template-rows: 238px 238px; gap: var(--esp-3); }
.fc-mtile { position: relative; min-width: 0; border-radius: var(--radio-lg); overflow: hidden; text-decoration: none; background: var(--navy); }
.fc-mtile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fc-mtile__grad { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(9,16,30,.9) 4%, rgba(9,16,30,.35) 46%, rgba(9,16,30,.05) 100%); }
.fc-mtile__c { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding: var(--esp-4); }
.fc-mtile__eb { font-size: var(--texto-xs); letter-spacing: .1em; text-transform: uppercase; color: var(--acento); margin-bottom: var(--esp-1); }
.fc-mtile__titulo { color: var(--blanco); font-family: var(--fuente-display); font-weight: 700; font-size: var(--texto-md); line-height: 1.2; overflow-wrap: anywhere; }
.fc-mtile--destacado { grid-column: 3; grid-row: 1 / 3; border-radius: var(--radio-lg); }
.fc-mtile--destacado .fc-mtile__c { padding: var(--esp-6); }
.fc-mtile__titulo--grande { font-size: var(--texto-2xl); line-height: 1.14; }
.fc-mtile__btn { align-self: flex-start; margin-top: var(--esp-4); background: var(--acento); color: var(--navy); font-weight: 700; font-size: var(--texto-sm); padding: 10px 18px; border-radius: var(--radio); }

@media (max-width: 860px) {
  .fc-mosaico { grid-template-columns: 1fr 1fr; grid-template-rows: 160px 160px auto; }
  .fc-mtile--destacado { grid-column: 1 / 3; grid-row: 3; min-height: 260px; }
  /* En 2 columnas angostas el título se recorta: bájalo y límítalo a 3 líneas. */
  .fc-mtile:not(.fc-mtile--destacado) .fc-mtile__titulo {
    font-size: var(--texto-sm);
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  }
  .fc-mtile__titulo--grande { font-size: var(--texto-xl); }
  .fc-ticker__item { max-width: none; flex: 0 0 80%; }
}

/* ── Página de autor ─────────────────────────────────────────────────── */
.fc-autor__cabecera { margin-bottom: var(--esp-8); }
.fc-autor__rol {
  font-size: var(--texto-xs);
  color: var(--gris);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0 0 var(--esp-1);
}
.fc-autor__cuenta { color: var(--gris); font-size: var(--texto-sm); margin: var(--esp-2) 0 0; }

/* ── Firma del artículo (autoría verificable + fecha real) ───────────── */
.fc-articulo__meta { flex-wrap: wrap; }
.fc-articulo__autor { color: var(--acento-oscuro); text-decoration: none; font-weight: 600; }
.fc-articulo__autor:hover { text-decoration: underline; }
.fc-articulo__actualizado {
  background: var(--gris-suave);
  color: var(--tinta);
  font-size: var(--texto-xs);
  padding: 2px var(--esp-2);
  border-radius: var(--radio-full);
}

/* ── Cabecera de bloque por categoría (home) ─────────────────────────── */
.fc-bloque__cab { display: flex; align-items: baseline; justify-content: space-between; gap: var(--esp-4); margin-bottom: var(--esp-4); }
.fc-bloque__titulo { margin: 0; }
.fc-bloque__vertodo { color: var(--acento); font-weight: 600; font-size: var(--texto-sm); text-decoration: none; white-space: nowrap; flex: none; }
.fc-bloque__vertodo:hover { text-decoration: underline; }

/* ── Carrusel de artículos relacionados ──────────────────────────────── */
.fc-carrusel {
  display: flex;
  gap: var(--esp-4);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: var(--esp-3);
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.fc-carrusel__item {
  flex: 0 0 220px;
  scroll-snap-align: start;
}
@media (max-width: 620px) {
  .fc-carrusel__item { flex-basis: 72%; }
}

/* ── Hero de la categoría de códigos DTC ─────────────────────────────── */
.fc-dtc-hero {
  background: var(--navy);
  padding: var(--esp-8) 0;
  margin-bottom: var(--esp-6);
}
.fc-dtc-hero .fc-titulo-hero { color: var(--blanco); margin: 0; }
.fc-dtc-hero__sub {
  color: rgba(255,255,255,.75);
  font-size: var(--texto-base);
  max-width: 640px;
  margin: var(--esp-3) 0 var(--esp-5);
}
.fc-dtc-hero__buscar { display: flex; gap: var(--esp-2); max-width: 560px; flex-wrap: wrap; align-items: flex-start; }
.fc-dtc-buscar { position: relative; flex: 1 1 280px; }
.fc-dtc-buscar input {
  width: 100%;
  padding: var(--esp-3) var(--esp-4);
  border: 1px solid var(--linea);
  border-radius: var(--radio-sm);
  font-size: var(--texto-md);
}
.fc-dtc-buscar input:focus { outline: 2px solid var(--acento); outline-offset: 1px; }
.fc-dtc-resultados {
  position: absolute; top: calc(100% + 4px); left: 0; right: 0;
  margin: 0; padding: var(--esp-1); list-style: none;
  background: var(--blanco); color: var(--tinta);
  border: 1px solid var(--linea); border-radius: var(--radio-sm);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
  max-height: 320px; overflow-y: auto; z-index: 30; text-align: left;
}
.fc-dtc-resultados__item {
  padding: var(--esp-2) var(--esp-3); border-radius: var(--radio-sm);
  font-size: var(--texto-sm); line-height: 1.3; cursor: pointer;
}
.fc-dtc-resultados__item.is-activo,
.fc-dtc-resultados__item:hover { background: var(--gris-suave); }
.fc-dtc-hero__aviso { color: var(--acento); font-size: var(--texto-sm); margin: var(--esp-3) 0 0; }

/* ── Buscador del header (lupa + dropdown) ───────────────────────────── */
.fc-buscar { position: relative; }
.fc-buscar__lupa { display: inline-flex; align-items: center; justify-content: center; padding: 6px; color: rgba(255,255,255,.85); cursor: pointer; list-style: none; }
.fc-buscar__lupa::-webkit-details-marker { display: none; }
.fc-buscar__lupa:hover { color: var(--acento); }
.fc-buscar[open] .fc-buscar__lupa { color: var(--acento); }
.fc-buscar__form {
  position: absolute; top: calc(100% + 8px); right: 0; z-index: 40;
  display: flex; gap: var(--esp-2);
  background: var(--blanco); border: 1px solid var(--linea);
  border-radius: var(--radio-md); padding: var(--esp-3);
  box-shadow: 0 10px 30px rgba(16,31,61,.25); width: min(88vw, 360px);
}
.fc-buscar__input { flex: 1; min-width: 0; padding: var(--esp-3); border: 1px solid var(--linea); border-radius: var(--radio-sm); font-size: var(--texto-md); }
.fc-buscar__input:focus { outline: 2px solid var(--acento); outline-offset: 1px; }

/* Página de resultados */
.fc-buscar-pagina { display: flex; gap: var(--esp-2); max-width: 560px; margin-bottom: var(--esp-6); }
.fc-buscar-pagina__input { flex: 1; min-width: 0; padding: var(--esp-3) var(--esp-4); border: 1px solid var(--linea); border-radius: var(--radio-sm); font-size: var(--texto-md); }
.fc-buscar-pagina__input:focus { outline: 2px solid var(--acento); outline-offset: 1px; }
.fc-buscar-pagina__cuenta { color: var(--gris); font-size: var(--texto-sm); margin: 0 0 var(--esp-5); }
.fc-buscar-pagina__vacio { color: var(--tinta); }
