/* assets/css/blocks.css
 *
 * Estilos de los bloques, en un archivo y no dentro de cada página.
 *
 * Antes, el aspecto de un bloque «faq» estaba escrito en el <style> de
 * guia-d1.html, otra vez en el de builder.html y otra en el del panel. Una
 * mejora visual había que hacerla tres veces y acertar en las tres. Aquí se
 * hace una vez y la heredan el visor, la vista previa del editor, la
 * impresión y la exportación — que es literalmente el criterio de aceptación
 * de este refactor.
 *
 * Las variables (--tinta, --papel…) las pone cada página: los bloques se
 * adaptan al sitio donde caen en vez de imponer su propia paleta. Si una
 * variable no existe, el valor de repuesto del var() mantiene el bloque
 * legible.
 */

/* ─── Prosa ─── */
.blk-lista { margin: 0; padding-left: 1.2em; }
.blk-lista li { margin: .3em 0; }

.blk-nota {
  display: flex; gap: 12px; align-items: flex-start;
  margin: 22px 0; padding: 16px 18px;
  border: 1px solid var(--linea, var(--color-linea, #DCE3E9)); border-radius: 14px;
  background: var(--tarjeta, #fff);
}
.blk-nota--consejo { border-left: 4px solid var(--acento, #002D55); }
.blk-nota--aviso { border-left: 4px solid var(--alerta, #c0392b); background: rgba(192, 57, 43, .05); }
.blk-nota__ic { font-size: 1.3rem; line-height: 1.2; }
.blk-nota__t { display: block; margin-bottom: 4px; }

.blk-cita { margin: 24px 0; padding-left: 18px; border-left: 3px solid var(--acento, #002D55); }
.blk-cita blockquote { margin: 0; font-size: 1.08em; font-style: italic; }
.blk-cita figcaption { margin-top: 8px; font-size: .85em; color: var(--apagado, var(--color-mudo, #4E617A)); }

.blk-curio { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.blk-curio__card {
  padding: 15px; border: 1px solid var(--linea, var(--color-linea, #DCE3E9)); border-radius: 14px;
  background: var(--tarjeta, #fff);
}
.blk-curio__ic { font-size: 1.2rem; }
.blk-curio__tag {
  margin: 6px 0 4px; font-size: .68rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .05em; color: var(--apagado, var(--color-mudo, #4E617A));
}
.blk-curio__txt { font-size: .92em; line-height: 1.5; }

/* ─── Datos ─── */
.blk-datos { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; margin: 0; }
.blk-datos dt { font-weight: 700; color: var(--apagado, var(--color-mudo, #4E617A)); }
.blk-datos dd { margin: 0; }

.blk-clima {
  display: flex; flex-wrap: wrap; gap: 24px; align-items: center;
  padding: 18px; border: 1px solid var(--linea, var(--color-linea, #DCE3E9)); border-radius: 16px;
  background: var(--tarjeta, #fff);
}
.blk-clima__temp { font-size: 2.6rem; font-weight: 800; line-height: 1; }
.blk-clima__temp sup { font-size: .4em; }
.blk-clima__stats { display: flex; gap: 18px; margin-top: 10px; }
.blk-clima__stat .n { font-size: 1.2rem; font-weight: 700; }
.blk-clima__stat .l { font-size: .72rem; color: var(--apagado, var(--color-mudo, #4E617A)); }
.blk-clima__notas { max-width: 46ch; font-size: .92em; line-height: 1.55; }

.blk-comp { display: grid; gap: 10px; }
.blk-comp__row { display: grid; grid-template-columns: minmax(120px, 1fr) 3fr auto; gap: 12px; align-items: center; }
.blk-comp__lbl { font-size: .9em; }
.blk-comp__wrap { height: 10px; border-radius: 6px; background: var(--linea, var(--color-linea, #DCE3E9)); overflow: hidden; }
.blk-comp__bar { width: 0; height: 100%; border-radius: 6px; background: var(--acento, #002D55); transition: width .8s ease; }
.blk-comp__num { font-size: .8em; font-weight: 700; color: var(--apagado, var(--color-mudo, #4E617A)); }

.blk-faq { display: grid; gap: 8px; }
.blk-faq__item { border: 1px solid var(--linea, var(--color-linea, #DCE3E9)); border-radius: 12px; overflow: hidden; background: var(--tarjeta, #fff); }
.blk-faq__q {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  width: 100%; padding: 13px 15px; border: 0; background: none;
  font: inherit; font-weight: 600; text-align: left; cursor: pointer;
}
.blk-faq__arrow { transition: transform .2s ease; }
.blk-faq__q[aria-expanded="true"] .blk-faq__arrow { transform: rotate(180deg); }
.blk-faq__a { padding: 0 15px 14px; font-size: .93em; line-height: 1.55; }

/* ─── Medios ─── */
.blk-galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.blk-galeria__fig { margin: 0; }
.blk-galeria__fig img { width: 100%; height: 170px; object-fit: cover; border-radius: 12px; display: block; }
.blk-galeria__fig figcaption { margin-top: 6px; font-size: .78em; line-height: 1.4; color: var(--apagado, var(--color-mudo, #4E617A)); }
/* El crédito nunca se oculta: es una condición de la licencia, no un adorno. */
.blk-cred { display: block; font-size: .92em; opacity: .85; color: inherit; }
a.blk-cred:hover { text-decoration: underline; }

.blk-mapa__ctrl { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 10px; }
.blk-mapa__btn {
  padding: 6px 13px; border: 1.5px solid var(--linea, var(--color-linea, #DCE3E9)); border-radius: 20px;
  background: var(--tarjeta, #fff); font: inherit; font-size: .78rem; font-weight: 700; cursor: pointer;
}
.blk-mapa__btn.is-on { background: var(--acento, #002D55); border-color: var(--acento, #002D55); color: #fff; }
.blk-mapa__lienzo { height: 380px; border-radius: 14px; overflow: hidden; }
.blk-mapa__capa h3 { margin: 14px 0 6px; font-size: 1rem; }
.blk-mapa__coord { font-size: .82em; color: var(--apagado, var(--color-mudo, #4E617A)); }
.blk-mapa__desc { font-size: .88em; }

.blk-fuentes { margin: 0; padding-left: 1.1em; font-size: .9em; line-height: 1.6; }
.blk-fuentes__lic, .blk-fuentes__fecha { color: var(--apagado, var(--color-mudo, #4E617A)); }

/* ─── Documento heredado, aislado ─── */
.blk-legacy__frame { width: 100%; border: 0; border-radius: 14px; background: var(--tarjeta, #fff); }
.blk-legacy--estatico p { font-size: .92em; color: var(--apagado, var(--color-mudo, #4E617A)); }

/* ─── Editor: formulario y vista previa, lado a lado ─── */
.blk-editor { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr); gap: 20px; align-items: start; }
.blk-editor__tipo { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-weight: 700; }
.blk-editor__previa-t {
  margin-bottom: 8px; font-size: .7rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .06em; color: var(--apagado, var(--color-mudo, #4E617A));
}
.blk-editor__previa { padding: 14px; border: 1px dashed var(--linea, var(--color-linea, #DCE3E9)); border-radius: 14px; }
.blk-previa__vacia, .blk-previa__error { margin: 0; font-size: .85em; color: var(--apagado, var(--color-mudo, #4E617A)); }
.blk-previa__error { color: var(--alerta, #c0392b); }

.blk-campo { margin-bottom: 14px; }
.blk-campo__lbl { display: block; margin-bottom: 5px; font-size: .8rem; font-weight: 700; }
.blk-campo__in, .blk-campo__ta {
  width: 100%; padding: 9px 11px; border: 1px solid var(--linea, var(--color-linea, #DCE3E9));
  border-radius: 9px; font: inherit; font-size: .9rem; background: var(--tarjeta, #fff);
}
.blk-campo__ta { resize: vertical; }
.blk-campo__ta--json { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .8rem; }
.blk-campo__ta--json.is-mal { border-color: var(--alerta, #c0392b); }
.blk-campo__in--num { max-width: 140px; }
.blk-campo__help { display: block; margin-top: 4px; font-size: .74rem; color: var(--apagado, var(--color-mudo, #4E617A)); }

.blk-lista-ed__fila { display: flex; gap: 8px; align-items: flex-start; margin-bottom: 8px; }
.blk-lista-ed__campos { display: grid; gap: 6px; flex: 1; }
.blk-lista-ed__acc { display: flex; gap: 4px; }
.blk-lista-ed__btn {
  padding: 5px 8px; border: 1px solid var(--linea, var(--color-linea, #DCE3E9)); border-radius: 7px;
  background: var(--tarjeta, #fff); cursor: pointer; font-size: .8rem;
}
.blk-lista-ed__btn[disabled] { opacity: .35; cursor: default; }
.blk-lista-ed__add {
  padding: 7px 14px; border: 1.5px dashed var(--linea, var(--color-linea, #DCE3E9)); border-radius: 9px;
  background: none; font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer;
}

@media (max-width: 760px) {
  .blk-editor { grid-template-columns: 1fr; }
  .blk-comp__row { grid-template-columns: 1fr; gap: 4px; }
}

/* ─── Impresión ───
 * Los bloques ya llegan en su forma estática (las FAQ abiertas, los mapas
 * como lista): aquí solo se quita lo que no tiene sentido en papel. */
@media print {
  .blk-mapa__ctrl, .blk-legacy__frame { display: none; }
  .blk-faq__a { display: block !important; }
  .blk-galeria { grid-template-columns: repeat(2, 1fr); }
  .blk-nota, .blk-faq__item, .blk-curio__card { break-inside: avoid; }
}

/* ═══════════════ Widgets de datos en vivo ═══════════════
   feature/dynamic-widgets-platform.

   El estado NO se distingue solo por el color: además hay una etiqueta con
   palabras («Actualizado», «Sin actualizar», «No disponible»). Un borde de
   otro color no dice nada a quien no distingue esos dos colores, y este es
   justo el dato en el que hay que fiarse de si está al día. */

.wg {
  border: 1px solid var(--blk-linea, var(--color-linea, #DCE3E9));
  border-radius: 12px;
  padding: 14px 16px;
  margin: 16px 0;
  background: var(--blk-fondo, #fff);
}
.wg--caducado { border-color: #e0b400; background: #fffdf3; }
.wg--sin-datos,
.wg--error { border-color: #d9c2c2; background: #fdf7f7; }

.wg__cabecera { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.wg__icono { font-size: 1.2rem; }
.wg__titulo { font-weight: 700; flex: 1; }
.wg__estado {
  font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  padding: 3px 8px; border-radius: 20px; white-space: nowrap;
}
.wg__estado--fresco { background: #e6f4ea; color: #1b5e20; }
.wg__estado--caducado { background: #fff4d6; color: #7a5900; }
.wg__estado--sin-datos,
.wg__estado--error { background: #f3e3e3; color: #7a2020; }
.wg__estado--cargando { background: var(--color-brand-mist, #E8ECEF); color: var(--color-mudo, #4E617A); }

.wg__aviso {
  font-size: .82rem; line-height: 1.5; margin: 0 0 10px;
  color: #6b5b00; background: #fffbe9; border-left: 3px solid #e0b400;
  padding: 8px 10px; border-radius: 0 6px 6px 0;
}
.wg--sin-datos .wg__aviso,
.wg--error .wg__aviso { color: #6b2020; background: #fbf0f0; border-left-color: #c05353; }

.wg__pie {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
  margin-top: 12px; padding-top: 8px; border-top: 1px solid var(--blk-linea, var(--color-linea, #DCE3E9));
  font-size: .72rem; color: var(--blk-suave, var(--color-mudo, #4E617A));
}
.wg__fuente { color: inherit; text-decoration: underline; }
.wg__oficial { margin-left: auto; white-space: nowrap; }

/* Esqueleto de carga: tres barras que laten. Un hueco vacío parece que la
   guía está rota; esto parece lo que es, algo que viene de camino. */
.wg__esqueleto { display: grid; gap: 8px; }
.wg__esqueleto span {
  display: block; height: 12px; border-radius: 6px;
  background: linear-gradient(90deg, var(--color-brand-mist, #E8ECEF) 25%, #F4F7F9 50%, var(--color-brand-mist, #E8ECEF) 75%);
  background-size: 200% 100%; animation: wg-latido 1.4s ease-in-out infinite;
}
.wg__esqueleto span:nth-child(2) { width: 70%; }
.wg__esqueleto span:nth-child(3) { width: 45%; }
@keyframes wg-latido { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
/* Quien ha pedido menos movimiento no necesita ver latir un esqueleto. */
@media (prefers-reduced-motion: reduce) { .wg__esqueleto span { animation: none; } }

.wg-nota { font-size: .78rem; color: var(--blk-suave, var(--color-mudo, #4E617A)); margin: 8px 0 0; line-height: 1.5; }

/* ── Clima ── */
.wg-clima__ahora { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.wg-clima__icono { font-size: 2.2rem; }
.wg-clima__txt { display: flex; flex-direction: column; }
.wg-clima__temp { font-size: 1.6rem; font-weight: 700; line-height: 1.1; }
.wg-clima__desc { font-size: .82rem; color: var(--blk-suave, var(--color-mudo, #4E617A)); }
.wg-clima__meta { font-size: .76rem; color: var(--blk-suave, var(--color-mudo, #4E617A)); margin-left: auto; }
.wg-clima__horas { display: flex; gap: 6px; margin-top: 12px; overflow-x: auto; }
.wg-clima__hora {
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  min-width: 46px; padding: 6px 4px; border-radius: 8px; background: var(--blk-soft, var(--color-brand-mist, #E8ECEF));
  font-size: .74rem;
}
.wg-clima__hora-temp { font-weight: 700; }
.wg-rec { margin-top: 10px; padding: 8px 10px; border-radius: 8px; background: var(--blk-soft, var(--color-brand-mist, #E8ECEF)); font-size: .8rem; }
.wg-rec p { margin: 2px 0 0; }
.wg-rec--warning { background: #fff4d6; }
.wg-rec--danger { background: #fbe6e6; }

/* ── Festivos ── */
.wg-festivos__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.wg-festivos__lista li { display: flex; gap: 10px; align-items: baseline; font-size: .86rem; }
.wg-festivos__fecha { font-variant-numeric: tabular-nums; font-weight: 700; min-width: 68px; }
.wg-festivos__nombre { flex: 1; }
.wg-etiqueta {
  font-size: .66rem; text-transform: uppercase; letter-spacing: .05em;
  background: var(--blk-soft, var(--color-brand-mist, #E8ECEF)); padding: 2px 6px; border-radius: 10px;
}

/* ── Moneda ── */
.wg-moneda__base { margin: 0 0 8px; font-size: .84rem; }
.wg-moneda__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.wg-moneda__lista li {
  display: flex; gap: 5px; align-items: baseline;
  background: var(--blk-soft, var(--color-brand-mist, #E8ECEF)); padding: 5px 10px; border-radius: 8px;
}
.wg-moneda__valor { font-weight: 700; font-variant-numeric: tabular-nums; }
.wg-moneda__cod { font-size: .74rem; color: var(--blk-suave, var(--color-mudo, #4E617A)); }

/* ── Idiomas ── */
.wg-idiomas { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; font-size: .86rem; }
.wg-idiomas dt { font-weight: 700; }
.wg-idiomas dd { margin: 0; }

/* ── Frases ── */
.wg-frases__tabla { width: 100%; border-collapse: collapse; font-size: .84rem; }
.wg-frases__tabla td { padding: 5px 6px; border-bottom: 1px solid var(--blk-linea, var(--color-linea, #DCE3E9)); vertical-align: top; }
.wg-frases__local { font-weight: 700; }
.wg-frases__pron { color: var(--blk-suave, var(--color-mudo, #4E617A)); font-style: italic; white-space: nowrap; }

/* ── Taxis ── */
.wg-taxis { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.wg-taxis li { display: flex; gap: 8px; align-items: baseline; font-size: .86rem; flex-wrap: wrap; }
.wg-taxis__nombre { flex: 1; min-width: 140px; }
.wg-taxis__tel { font-variant-numeric: tabular-nums; }
.wg-taxis__mapa { font-size: .74rem; color: var(--blk-suave, var(--color-mudo, #4E617A)); }

/* Impreso, un widget es una nota de que el dato está en la versión en línea:
   ni el latido del esqueleto ni un color de fondo que se coma el tóner. */
@media print {
  .wg { border: 1px solid #ccc; background: none; break-inside: avoid; }
  .wg__esqueleto { display: none; }
}

/* ───────────── Galería: rejilla y carrusel ─────────────
   El carrusel es scroll con anclaje, no un componente con temporizador: se
   pasa con el dedo, con la rueda y con las flechas del teclado sin que haya
   que escribir ni una línea de JavaScript que pueda romperse. */
.blk-galeria--grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px;
}
.blk-galeria--carousel {
  display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory;
  padding-bottom: 8px; scrollbar-width: thin;
}
.blk-galeria--carousel .blk-galeria__fig {
  flex: 0 0 min(80%, 460px); scroll-snap-align: center; margin: 0;
}
.blk-galeria__fig img {
  width: 100%; height: auto; display: block; border-radius: 10px;
  /* Reserva el hueco antes de cargar: sin esto la página salta. */
  background: rgba(0, 0, 0, .04);
}
.blk-galeria--carousel:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

@media print {
  /* En papel un carrusel es una foto y el resto perdidas. */
  .blk-galeria--carousel { display: grid; grid-template-columns: repeat(2, 1fr); overflow: visible; }
  .blk-galeria--carousel .blk-galeria__fig { flex: none; }
}

/* ───────────── Constructor de galerías ───────────── */
.gal-builder { margin: 8px 0; }
.gal-zona {
  border: 2px dashed var(--linea, var(--color-linea, #DCE3E9)); border-radius: 14px; padding: 22px;
  text-align: center; cursor: pointer; transition: border-color .15s, background .15s;
}
.gal-zona.is-encima { border-color: var(--acento, #002D55); background: rgba(0, 45, 85, .06); }
.gal-zona:focus-visible { outline: 2px solid var(--acento, #002D55); outline-offset: 2px; }
.gal-zona__t { margin: 0 0 10px; color: var(--apagado, var(--color-mudo, #4E617A)); font-size: .9rem; }

.gal-lista { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px; }
.gal-item {
  display: grid; grid-template-columns: 96px 1fr auto; gap: 12px; align-items: start;
  padding: 10px; border: 1.5px solid var(--linea, var(--color-linea, #DCE3E9)); border-radius: 12px;
}
.gal-item.is-portada { border-color: var(--acento, #002D55); }
.gal-item.is-fallo { border-color: var(--alerta, #c0392b); }
.gal-item.is-arrastrando { opacity: .45; }
.gal-item.is-destino { border-style: dashed; border-color: var(--acento, #002D55); }
.gal-previa img, .gal-previa__hueco {
  width: 96px; height: 72px; object-fit: cover; border-radius: 8px; display: block;
}
.gal-previa__hueco {
  display: grid; place-items: center; background: rgba(0, 0, 0, .05); font-size: 1.4rem;
}
.gal-estado { grid-column: 1 / -1; order: -1; }
.gal-badge { display: inline-flex; align-items: center; gap: 6px; font-size: .75rem; }
.gal-badge--failed { color: var(--alerta, #c0392b); }
.gal-badge--ready { color: var(--ok, #2e7d32); }
.gal-badge__err { color: var(--alerta, #c0392b); }
.gal-barra {
  display: inline-block; width: 90px; height: 5px; border-radius: 3px;
  background: rgba(0, 0, 0, .12); overflow: hidden;
}
.gal-barra__in { display: block; height: 100%; background: var(--acento, #002D55); transition: width .2s; }
/* Indeterminado: no se sabe cuánto queda y no se finge que sí. */
.gal-barra--indet { position: relative; }
.gal-barra--indet::after {
  content: ''; position: absolute; inset: 0; width: 35%;
  background: var(--acento, #002D55); animation: gal-indet 1.1s ease-in-out infinite;
}
@keyframes gal-indet { 0% { transform: translateX(-100%); } 100% { transform: translateX(320%); } }
@media (prefers-reduced-motion: reduce) {
  .gal-barra--indet::after { animation: none; width: 100%; opacity: .5; }
}

.gal-cuerpo { display: grid; gap: 6px; min-width: 0; }
.gal-campo { display: block; }
.gal-campo__et { display: flex; align-items: center; gap: 4px; font-size: .72rem; color: var(--apagado, var(--color-mudo, #4E617A)); }
.gal-campo__in {
  width: 100%; padding: 6px 9px; border: 1px solid var(--linea, var(--color-linea, #DCE3E9));
  border-radius: 8px; font: inherit; font-size: .85rem;
}
.gal-candado { font-size: .8rem; }
.gal-acciones { display: flex; flex-wrap: wrap; gap: 4px; }
.gal-btn {
  padding: 5px 9px; border: 1px solid var(--linea, var(--color-linea, #DCE3E9)); border-radius: 8px;
  background: none; font: inherit; font-size: .8rem; cursor: pointer;
}
.gal-btn[disabled] { opacity: .35; cursor: default; }
.gal-btn--principal { padding: 9px 16px; font-weight: 700; }
.gal-oculto { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.gal-aviso { margin: 10px 0; font-size: .85rem; }
.gal-aviso--error { color: var(--alerta, #c0392b); }

@media (max-width: 560px) {
  .gal-item { grid-template-columns: 72px 1fr; }
  .gal-previa img, .gal-previa__hueco { width: 72px; height: 56px; }
  .gal-acciones { grid-column: 1 / -1; }
}

/* ── Reservas (plantilla guide-mobile-v2, sección 11) ── */
.blk-reservas { display: flex; flex-direction: column; gap: 9px; }
.blk-reservas__card {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  border: 1px solid var(--line, #ebebeb); border-radius: 12px; padding: 12px 14px; background: #fff;
}
.blk-reservas__det { font-size: 13px; color: var(--muted, var(--color-mudo, #4E617A)); margin-top: 2px; }
.blk-reservas__estado {
  flex: 0 0 auto; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 99px;
  background: var(--color-brand-mist, #E8ECEF); color: var(--color-mudo, #4E617A);
}
.blk-reservas__estado.is-ok { background: #e7f6ec; color: #14733c; }

/* ── Presupuesto (kinds/texto.js · kind 'presupuesto') ── */
.blk-presu { display: flex; flex-direction: column; }
.blk-presu__fila {
  display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
  padding: 9px 2px; border-bottom: 1px solid var(--line, var(--color-linea, #DCE3E9));
}
.blk-presu__fila:last-child { border-bottom: 0; }
.blk-presu__concepto { display: block; }
.blk-presu__nota { display: block; font-size: 12.5px; color: var(--muted, var(--color-mudo, #4E617A)); }
.blk-presu__importe { font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; }
.blk-presu__total { border-top: 2px solid var(--ink, var(--color-brand-ink, #0B2742)); border-bottom: 0; margin-top: 2px; font-weight: 700; }

/* ── Checklist (kinds/texto.js · kind 'checklist') ── */
.blk-check { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.blk-check__item { display: flex; align-items: flex-start; gap: 10px; }
.blk-check__item input { width: 18px; height: 18px; margin-top: 1px; flex: 0 0 auto; accent-color: var(--brand, var(--color-brand-coral, #FF3B2F)); }
.blk-check__item input:checked + label { text-decoration: line-through; color: var(--muted, var(--color-mudo, #4E617A)); }
@media print { .blk-check__item input { accent-color: #000; } }
