/* Copia certificada de Turing (6 nov 2026): recuadro en la nota, aviso de publicación eliminada, página del certificado,
   marcas en los dichos de las diputaciones y Panel › Copias certificadas.
   Rediseño del mismo día: documento con sello, folio y QR; cadena de custodia; certificado con aspecto de constancia. */
:root {
  --cc-tinta: #0b1233;
  --cc-texto: #2b3350;
  --cc-gris: #5d6580;
  --cc-borde: #d6deef;
  --cc-fondo: #f6f8fd;
  --cc-papel: #fffefb;
  --cc-acento: #1d4ed8;
  --cc-acento-2: #0a1b3f;
  --cc-acento-suave: #e7eefc;
  --cc-oro: #a8771c;
  --cc-oro-suave: #f8f0dc;
  --cc-bien: #157347;
  --cc-bien-suave: #e3f4ea;
  --cc-curso: #8a6d1d;
  --cc-curso-suave: #fbf3dc;
  --cc-mal: #b42318;
  --cc-mal-suave: #fdecea;
  --cc-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, 'Liberation Mono', monospace;
}

/* ---------- Piezas comunes ---------- */
.cc-caja {
  border: 1px solid var(--cc-borde);
  border-radius: 14px;
  background: var(--cc-fondo);
  padding: 1.1rem 1.2rem;
  color: var(--cc-tinta);
}
.cc-caja h3 { font-size: 1.05rem; margin: 0 0 .35rem; display: flex; gap: .5rem; align-items: center; }
.cc-caja h3 i { color: var(--cc-acento); }
.cc-caja p { margin: 0 0 .6rem; }
.cc-huella { font-family: var(--cc-mono); font-size: .8rem; word-break: break-all; background: #fff; border: 1px solid var(--cc-borde); border-radius: 6px; padding: .1rem .35rem; color: var(--cc-tinta); }
.cc-botones { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: .3rem; }
.cc-sello-chip { display: inline-flex; align-items: center; gap: .35rem; font-size: .8rem; font-weight: 700; border-radius: 999px; padding: .2rem .65rem; background: var(--cc-bien-suave); color: var(--cc-bien); }
.cc-sello-chip.mal { background: var(--cc-mal-suave); color: var(--cc-mal); }
.cc-sello-chip.curso { background: var(--cc-curso-suave); color: var(--cc-curso); }
.cc-procedencia { font-size: .88rem; color: var(--cc-gris); display: flex; gap: .45rem; align-items: flex-start; margin: .2rem 0 .8rem; }
.cc-procedencia i { margin-top: .22rem; color: var(--cc-acento); }
.cc-lista { list-style: none; margin: .4rem 0 .8rem; padding: 0; display: grid; gap: .45rem; }
.cc-lista li { display: grid; grid-template-columns: 1.4rem 1fr; gap: .4rem; align-items: start; font-size: .94rem; line-height: 1.4; }
.cc-lista li > i { margin-top: .2rem; color: var(--cc-acento); text-align: center; }
.cc-lista li.cc-espera > i { color: #8a93ad; }
.cc-lista li.cc-falla > i { color: var(--cc-mal); }
.cc-detalles { margin-top: .6rem; font-size: .9rem; }
.cc-detalles summary { cursor: pointer; font-weight: 600; }
.cc-detalles ol { padding-left: 1.2rem; margin: .5rem 0 0; }
.cc-detalles code { font-size: .78rem; word-break: break-all; }

.cc-eliminada {
  border: 1px solid var(--cc-mal);
  background: var(--cc-mal-suave);
  color: #5c1009;
  border-radius: 12px;
  padding: .85rem 1rem;
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  margin: 0 0 1rem;
}
.cc-eliminada > i { font-size: 1.35rem; margin-top: .1rem; color: var(--cc-mal); }
.cc-eliminada p { margin: 0; }
.cc-eliminada a { color: inherit; font-weight: 600; }

/* ---------- Recuadro en /medios/nota/{id} ---------- */
.cc-documento {
  position: relative;
  border: 1px solid var(--cc-borde);
  border-top: 4px solid var(--cc-acento);
  border-radius: 16px;
  background:
    radial-gradient(120% 70% at 100% 0%, rgba(29, 78, 216, .06), transparent 60%),
    linear-gradient(var(--cc-papel), var(--cc-papel));
  padding: clamp(1rem, 3vw, 1.5rem);
  color: var(--cc-texto);
  box-shadow: 0 1px 0 rgba(11, 18, 51, .03), 0 10px 30px -18px rgba(11, 18, 51, .25);
}
.cc-documento.mal { border-top-color: var(--cc-mal); }
.cc-documento-cabeza { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; padding-bottom: 1rem; border-bottom: 1px dashed var(--cc-borde); }
.cc-emblema { width: 84px; height: 84px; flex: none; }
.cc-emblema-borde { fill: none; stroke: var(--cc-acento); stroke-width: 3; }
.cc-emblema-fino { fill: none; stroke: var(--cc-acento); stroke-width: .8; stroke-dasharray: 2 2.4; }
.cc-emblema-centro { fill: var(--cc-acento); }
.cc-emblema-texto { font: 700 8.2px/1 var(--cc-mono); fill: var(--cc-acento-2); }
.cc-emblema-marca { fill: none; stroke: #fff; stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.cc-documento.mal .cc-emblema-borde, .cc-documento.mal .cc-emblema-fino { stroke: var(--cc-mal); }
.cc-documento.mal .cc-emblema-centro { fill: var(--cc-mal); }
.cc-antetitulo { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--cc-gris); margin: 0 0 .2rem; }
.cc-folio { font-family: var(--cc-mono); font-size: clamp(1.05rem, 2.6vw, 1.3rem); letter-spacing: .06em; color: var(--cc-tinta); margin: 0 0 .35rem; }
.cc-folio strong { font-weight: 700; }
.cc-estado-linea { margin: 0; display: flex; flex-wrap: wrap; gap: .4rem .6rem; align-items: center; }
.cc-fecha { font-size: .84rem; color: var(--cc-gris); }
.cc-qr { display: grid; justify-items: center; gap: .25rem; text-decoration: none; color: var(--cc-gris); font-size: .7rem; font-weight: 600; text-align: center; }
.cc-qr img { width: 92px; height: 92px; border-radius: 8px; border: 1px solid var(--cc-borde); background: #fff; padding: 3px; image-rendering: pixelated; }
.cc-qr:hover img, .cc-qr:focus-visible img { border-color: var(--cc-acento); }

.cc-cadena { list-style: none; margin: 1rem 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .6rem; counter-reset: none; }
.cc-eslabon { position: relative; display: grid; grid-template-rows: auto auto 1fr; gap: .3rem; padding: .75rem .7rem .8rem; border-radius: 12px; background: #fff; border: 1px solid var(--cc-borde); font-size: .84rem; line-height: 1.4; }
.cc-eslabon::after { content: ''; position: absolute; top: 1.55rem; right: -.62rem; width: .62rem; height: 2px; background: var(--cc-borde); }
.cc-eslabon:last-child::after { display: none; }
.cc-eslabon-ic { width: 2rem; height: 2rem; border-radius: 50%; display: grid; place-items: center; background: var(--cc-curso-suave); color: var(--cc-curso); font-size: .9rem; }
.cc-eslabon.ok .cc-eslabon-ic { background: var(--cc-bien-suave); color: var(--cc-bien); }
.cc-eslabon.ok::after { background: var(--cc-bien); opacity: .45; }
.cc-eslabon.mal .cc-eslabon-ic { background: var(--cc-mal-suave); color: var(--cc-mal); }
.cc-eslabon.mal { border-color: #f1c4bf; }
.cc-eslabon-t { font-weight: 700; color: var(--cc-tinta); font-size: .86rem; line-height: 1.25; }
.cc-eslabon-n { color: var(--cc-gris); font-weight: 600; }
.cc-eslabon-d { color: var(--cc-gris); }
.cc-eslabon-d a { font-weight: 600; white-space: nowrap; }

.cc-huella-fila { display: flex; flex-wrap: wrap; gap: .4rem .6rem; align-items: center; padding: .65rem .8rem; border-radius: 10px; background: var(--cc-fondo); border: 1px solid var(--cc-borde); margin-bottom: .6rem; }
.cc-huella-et { font-size: .8rem; font-weight: 700; color: var(--cc-gris); }
.cc-huella-fila .cc-huella { flex: 1 1 18rem; font-size: .78rem; }
.cc-legal { margin-top: .9rem; border-top: 1px dashed var(--cc-borde); padding-top: .75rem; font-size: .9rem; }
.cc-legal summary { cursor: pointer; font-weight: 700; color: var(--cc-tinta); list-style-position: inside; }
.cc-legal summary i { color: var(--cc-oro); margin-right: .25rem; }
.cc-legal p { margin: .55rem 0 0; color: var(--cc-texto); max-width: 52rem; }

/* Insignia «Respaldada y certificada» (Lo esencial de la nota, fichas de diputación) */
.cc-insignia { display: inline-flex; align-items: center; gap: .4rem; padding: .25rem .7rem .25rem .3rem; border-radius: 999px; background: var(--cc-acento-suave); color: var(--cc-acento-2); font-size: .8rem; font-weight: 700; text-decoration: none; border: 1px solid #c9d7f7; line-height: 1.2; }
.cc-insignia .cc-insignia-ic { width: 1.45rem; height: 1.45rem; border-radius: 50%; display: grid; place-items: center; background: var(--cc-acento); color: #fff; font-size: .7rem; }
.cc-insignia .cc-insignia-folio { font-family: var(--cc-mono); font-weight: 600; color: var(--cc-gris); letter-spacing: .03em; }
a.cc-insignia:hover, a.cc-insignia:focus-visible { background: #dbe6fd; color: var(--cc-acento-2); }
.cc-insignia.mal { background: var(--cc-mal-suave); border-color: #f1c4bf; color: #7a170f; }
.cc-insignia.mal .cc-insignia-ic { background: var(--cc-mal); }

/* ---------- Dichos (tarjetas de posturas en diputación, iniciativa y caso) ---------- */
.pst-marca.respaldada { background: var(--cc-acento-suave); color: var(--cc-acento-2); border: 1px solid #c9d7f7; }
.pst-marca.respaldada i { color: var(--cc-acento); }
.pst-marca.eliminada { background: var(--cc-mal-suave); color: #7a170f; border: 1px solid #f1c4bf; }
.pst-marca.respaldada a, .pst-marca.eliminada a { text-decoration: none; }
.pst-marca.respaldada a:hover, .pst-marca.eliminada a:hover { text-decoration: underline; }
.pst-marca-folio { font-family: var(--cc-mono); font-weight: 600; opacity: .8; margin-left: .15rem; }
.pst-enlaces { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin: .2rem 0 .55rem; }
.pst-enlace { display: inline-flex; align-items: center; gap: .4rem; padding: .32rem .7rem; border-radius: 999px; border: 1px solid var(--mr-linea, #e3dfe9); background: #fff; color: var(--mr-tinta, #211a2c); font-size: .82rem; font-weight: 600; text-decoration: none; line-height: 1.2; transition: background .15s, border-color .15s; }
.pst-enlace:hover, .pst-enlace:focus-visible { background: var(--mr-papel, #f7f6f9); border-color: var(--cc-acento); color: var(--cc-acento-2); }
.pst-enlace .fa-arrow-up-right-from-square { font-size: .7em; opacity: .7; }
.pst-enlace-medio { font-weight: 400; color: var(--mr-piedra, #686173); }
.pst-enlace.analisis { background: var(--cc-acento-suave); border-color: #c9d7f7; color: var(--cc-acento-2); }
.pst-enlace.analisis:hover, .pst-enlace.analisis:focus-visible { background: #dbe6fd; }
.pst-enlace.certificado { border-color: #e6d6ad; background: var(--cc-oro-suave); color: #6b4a0d; }
.pst-enlace.certificado:hover, .pst-enlace.certificado:focus-visible { background: #f3e5c2; border-color: var(--cc-oro); color: #4f3608; }
.pst-meta-fuente { display: inline-flex; align-items: center; gap: .35rem; }

/* ---------- Página del certificado /medios/certificado/{folio} ---------- */
.cc-cert { max-width: 920px; margin: 0 auto; }
.ccp-hoja {
  position: relative;
  background: var(--cc-papel);
  color: var(--cc-texto);
  border-radius: 6px;
  padding: clamp(1.1rem, 4vw, 2.6rem);
  box-shadow: 0 1px 2px rgba(11, 18, 51, .08), 0 24px 60px -30px rgba(11, 18, 51, .45);
  outline: 1px solid var(--cc-borde);
  outline-offset: -10px;
  border: 10px solid #fff;
}
.ccp-hoja::before { content: ''; position: absolute; inset: 14px; border: 1.5px solid var(--cc-acento-2); border-radius: 2px; pointer-events: none; opacity: .85; }
.ccp-hoja::after { content: ''; position: absolute; inset: 19px; border: .5px solid var(--cc-oro); border-radius: 1px; pointer-events: none; opacity: .7; }
.ccp-hoja > * { position: relative; z-index: 1; }
.ccp-hoja.mal::before { border-color: var(--cc-mal); }
.ccp-marca-agua { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; z-index: 0; overflow: hidden; }
.ccp-marca-agua svg { width: min(70%, 460px); opacity: .045; }
.ccp-cabeza { display: grid; grid-template-columns: 1fr auto; gap: 1.25rem; align-items: start; padding-bottom: 1.1rem; border-bottom: 2px solid var(--cc-acento-2); }
.ccp-emisor { display: flex; gap: .9rem; align-items: center; }
.ccp-emisor img { height: 44px; width: auto; }
.ccp-emisor-t { font-size: .76rem; color: var(--cc-gris); line-height: 1.35; }
.ccp-emisor-t strong { display: block; color: var(--cc-tinta); font-size: .92rem; }
.ccp-qr { text-align: center; font-size: .66rem; color: var(--cc-gris); font-weight: 600; max-width: 128px; }
.ccp-qr img { width: 118px; height: 118px; border: 1px solid var(--cc-borde); background: #fff; padding: 4px; border-radius: 6px; image-rendering: pixelated; display: block; margin: 0 auto .25rem; }
.ccp-titulo { text-align: center; margin: 1.4rem 0 1rem; }
.ccp-titulo .cc-antetitulo { color: var(--cc-oro); letter-spacing: .18em; }
.ccp-titulo h2 { font-family: var(--mr-serif, Georgia, serif); font-size: clamp(1.5rem, 4vw, 2.1rem); font-weight: 700; color: var(--cc-tinta); margin: .15rem 0 .5rem; letter-spacing: .01em; }
.ccp-folio-caja { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: .3rem 1rem; align-items: center; border: 1px solid var(--cc-borde); background: #fff; border-radius: 999px; padding: .35rem 1rem; font-size: .85rem; color: var(--cc-gris); }
.ccp-folio-caja strong { font-family: var(--cc-mono); color: var(--cc-tinta); letter-spacing: .08em; font-size: 1rem; }
.ccp-consta { font-family: var(--mr-serif, Georgia, serif); font-size: clamp(1rem, 2.2vw, 1.08rem); line-height: 1.7; color: var(--cc-tinta); margin: 1.1rem auto 1.3rem; max-width: 46rem; text-align: justify; hyphens: auto; }
.ccp-consta .ccp-hace { font-variant: small-caps; letter-spacing: .08em; font-weight: 700; }
.ccp-seccion { margin: 1.4rem 0 0; }
.ccp-seccion h3 { display: flex; align-items: center; gap: .55rem; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--cc-acento-2); font-weight: 800; margin: 0 0 .6rem; padding-bottom: .35rem; border-bottom: 1px solid var(--cc-borde); }
.ccp-seccion h3 .ccp-num { display: inline-grid; place-items: center; width: 1.45rem; height: 1.45rem; border-radius: 50%; background: var(--cc-acento-2); color: #fff; font-size: .72rem; letter-spacing: 0; }
.cc-tabla { width: 100%; border-collapse: collapse; font-size: .92rem; margin: 0; }
.cc-tabla th, .cc-tabla td { text-align: left; vertical-align: top; padding: .5rem .55rem; border-bottom: 1px solid #e9edf6; }
.cc-tabla th { width: 32%; font-weight: 600; color: var(--cc-gris); font-size: .84rem; }
.cc-tabla td { color: var(--cc-tinta); }
.cc-tabla tr:last-child th, .cc-tabla tr:last-child td { border-bottom: 0; }
.ccp-cadena { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.ccp-cadena li { display: grid; grid-template-columns: 2rem 1fr; gap: .65rem; align-items: start; font-size: .92rem; }
.ccp-cadena .cc-eslabon-ic { width: 2rem; height: 2rem; }
.ccp-cadena li.ok .cc-eslabon-ic { background: var(--cc-bien-suave); color: var(--cc-bien); }
.ccp-cadena li.mal .cc-eslabon-ic { background: var(--cc-mal-suave); color: var(--cc-mal); }
.ccp-cadena strong { color: var(--cc-tinta); }
.ccp-cadena p { margin: .1rem 0 0; color: var(--cc-gris); }
.ccp-fundamento { background: var(--cc-oro-suave); border: 1px solid #ecdcb4; border-radius: 10px; padding: .9rem 1rem; font-size: .9rem; color: #3f3420; }
.ccp-fundamento p { margin: 0 0 .5rem; }
.ccp-fundamento p:last-child { margin-bottom: 0; }
.ccp-pie { margin-top: 1.6rem; padding-top: 1rem; border-top: 2px solid var(--cc-acento-2); display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; font-size: .78rem; color: var(--cc-gris); }
.ccp-pie .cc-emblema { width: 74px; height: 74px; }
.ccp-pie strong { color: var(--cc-tinta); }
.cc-cert-cabeza { display: flex; gap: 1rem; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-bottom: 1rem; }
.cc-cert-folio { font-family: var(--cc-mono); font-size: 1.05rem; letter-spacing: .04em; }
.cc-cert-qr { width: 112px; height: 112px; border-radius: 8px; border: 1px solid #e3dfe9; background: #fff; }
.cc-cita { margin: .2rem 0 0; padding: .9rem 1.1rem; border-left: 4px solid var(--cc-acento); background: #fff; border-radius: 0 10px 10px 0; font-family: var(--mr-serif, Georgia, serif); white-space: pre-line; color: var(--cc-tinta); line-height: 1.6; }
.cc-imagenes { display: flex; flex-wrap: wrap; gap: .5rem; margin: .2rem 0 0; }
.cc-imagenes img { width: 140px; height: 140px; object-fit: cover; border-radius: 8px; border: 1px solid #e3dfe9; }
.ccp-acciones { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; margin: 1.2rem 0 0; }
.ccp-verifica ol { padding-left: 1.2rem; margin: 0; font-size: .9rem; }
.ccp-verifica li { margin-bottom: .35rem; }
.ccp-verifica code { font-size: .78rem; word-break: break-all; }
.cc-form-folio { display: flex; gap: .5rem; flex-wrap: wrap; max-width: 520px; margin: 0 auto; }
.cc-form-folio input { flex: 1 1 220px; text-transform: uppercase; font-family: var(--cc-mono); letter-spacing: .08em; }
.ccp-buscar { text-align: center; }
.ccp-buscar p { color: var(--cc-gris); }

/* ---------- Panel › Copias certificadas ---------- */
.pcc-estado { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem; font-size: .86rem; color: var(--mr-piedra, #686173); background: #fff; border: 1px solid var(--mr-linea, #e3dfe9); border-radius: 999px; padding: .4rem .9rem; margin: 0 0 1rem; width: fit-content; max-width: 100%; }
.pcc-pulso { width: .6rem; height: .6rem; border-radius: 50%; background: #16a34a; box-shadow: 0 0 0 0 rgba(22, 163, 74, .5); animation: pcc-pulso 2s infinite; }
.pcc-pulso.pausa { background: #a8a29e; animation: none; }
@keyframes pcc-pulso { 70% { box-shadow: 0 0 0 .5rem rgba(22, 163, 74, 0); } 100% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0); } }
.pcc-sep { opacity: .5; }
.pcc-error { display: flex; gap: .75rem; align-items: flex-start; border: 1px solid #e8a39b; background: var(--cc-mal-suave); color: #5c1009; border-radius: 12px; padding: .8rem 1rem; margin: 0 0 1rem; }
.pcc-error > i { font-size: 1.25rem; color: var(--cc-mal); margin-top: .1rem; }
.pcc-error-texto { display: block; margin: .35rem 0 .5rem; padding: .45rem .6rem; background: #fff; border: 1px solid #f1c4bf; border-radius: 8px; font-family: var(--cc-mono); font-size: .8rem; color: #7a170f; white-space: pre-wrap; word-break: break-word; }
.pcc-cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr)); gap: .75rem; margin: 0 0 1.5rem; }
.pcc-cifra { background: #fff; border: 1px solid var(--mr-linea, #e3dfe9); border-radius: 14px; padding: .85rem 1rem; border-top: 3px solid #c8c3d2; }
.pcc-cifra.ok { border-top-color: #16a34a; }
.pcc-cifra.curso { border-top-color: var(--cc-acento); }
.pcc-cifra.fallo { border-top-color: var(--cc-mal); }
.pcc-cifra.fallo:not(.cero) .pcc-cifra-n { color: var(--cc-mal); }
.pcc-cifra.cero { opacity: .75; }
.pcc-cifra-et { font-size: .8rem; color: var(--mr-piedra, #686173); font-weight: 600; }
.pcc-cifra-n { font-size: 1.8rem; font-weight: 800; line-height: 1.15; color: var(--mr-tinta, #211a2c); font-variant-numeric: tabular-nums; }
.pcc-cifra-sub { font-size: .78rem; color: var(--mr-piedra, #686173); }
.pcc-cifra.cambio .pcc-cifra-n { animation: pcc-cambio 1.2s ease; }
@keyframes pcc-cambio { 0% { color: var(--cc-acento); transform: scale(1.06); } 100% { transform: none; } }
.pcc-lista-cab { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .6rem; }
.pcc-filtros { display: flex; flex-wrap: wrap; gap: .4rem; }
.pcc-filtros .badge { background: rgba(0, 0, 0, .08); color: inherit; font-weight: 700; margin-left: .15rem; }
.pcc-filtros .btn-primary .badge { background: rgba(255, 255, 255, .25); }
.pcc-tabla-caja { background: #fff; border: 1px solid var(--mr-linea, #e3dfe9); border-radius: 14px; overflow-x: auto; transition: opacity .2s; }
.pcc-tabla-caja[aria-busy="true"] { opacity: .72; }
.pcc-tabla { margin: 0; }
.pcc-tabla thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--mr-piedra, #686173); background: #faf9fc; }
.pcc-fila.fallo > td:first-child { box-shadow: inset 4px 0 0 var(--cc-mal); }
.pcc-fila.listo > td:first-child { box-shadow: inset 4px 0 0 #16a34a; }
.pcc-fila.curso > td:first-child { box-shadow: inset 4px 0 0 var(--cc-acento); }
.pcc-pasos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .3rem; }
.pcc-paso { display: inline-flex; align-items: center; gap: .35rem; border-radius: 8px; padding: .22rem .5rem; font-size: .76rem; line-height: 1.15; background: #f1f0f4; color: #57526a; border: 1px solid transparent; }
.pcc-paso > span { display: grid; }
.pcc-paso-n { font-size: .66rem; text-transform: uppercase; letter-spacing: .04em; opacity: .75; font-weight: 700; }
.pcc-paso-t { font-weight: 600; }
.pcc-paso.ok { background: var(--cc-bien-suave); color: var(--cc-bien); }
.pcc-paso.curso { background: var(--cc-acento-suave); color: var(--cc-acento); }
.pcc-paso.curso i { animation: fa-spin 2s linear infinite; }
.pcc-paso.fallo { background: var(--cc-mal-suave); color: var(--cc-mal); border-color: #f1c4bf; }
.pcc-fila-error { margin: .45rem 0 0; font-size: .8rem; color: #7a170f; background: var(--cc-mal-suave); border-radius: 8px; padding: .35rem .55rem; word-break: break-word; }
.pcc-detalle { margin-top: .4rem; font-size: .82rem; }
.pcc-detalle summary { cursor: pointer; color: var(--mr-piedra, #686173); font-weight: 600; }
.pcc-detalle dl { display: grid; grid-template-columns: max-content 1fr; gap: .2rem .8rem; margin: .5rem 0; }
.pcc-detalle dt { font-weight: 700; color: var(--mr-tinta, #211a2c); }
.pcc-detalle dd { margin: 0; }
.pcc-objetivos { margin: 0 0 .5rem; padding-left: 1.1rem; }
.pcc-objetivos li.fallo { color: var(--cc-mal); }
.pcc-objetivos code { font-size: .75rem; color: #7a170f; }
.pcc-vacio td { text-align: center; color: var(--mr-piedra, #686173); padding: 1.5rem; }

/* ---------- Analizador: aviso de publicaciones públicas ---------- */
.az-solo-publicas { display: flex; gap: .5rem; align-items: flex-start; margin-top: .4rem; }
.az-solo-publicas > i { margin-top: .2rem; }

/* ---------- Pantallas chicas ---------- */
@media (max-width: 991.98px) {
  .cc-cadena { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cc-eslabon::after { display: none; }
  .cc-eslabon:last-child { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) {
  .cc-documento-cabeza { grid-template-columns: auto 1fr; }
  .cc-qr { grid-column: 1 / -1; grid-template-columns: auto 1fr; justify-items: start; align-items: center; text-align: left; gap: .6rem; }
  .cc-qr img { width: 76px; height: 76px; }
  .cc-emblema { width: 64px; height: 64px; }
  .cc-cadena { grid-template-columns: 1fr; }
  .cc-tabla th { width: auto; display: block; border-bottom: 0; padding-bottom: 0; }
  .cc-tabla td { display: block; padding-top: .15rem; }
  .ccp-hoja { border-width: 4px; }
  .ccp-hoja::before { inset: 6px; }
  .ccp-hoja::after { inset: 9px; }
  .ccp-cabeza { grid-template-columns: 1fr; }
  .ccp-qr { max-width: none; display: flex; gap: .6rem; align-items: center; text-align: left; }
  .ccp-qr img { width: 84px; height: 84px; margin: 0; }
  .ccp-consta { text-align: left; }
  .ccp-pie { grid-template-columns: 1fr; }
}

/* ---------- Impresión del certificado ---------- */
/* ---------- Respaldo en Internet Archive (logo y por qué da autenticidad) ---------- */
.cc-logo-ia { width: 1.6rem; height: auto; display: block; }
.cc-eslabon-ia .cc-logo-ia { width: .95rem; }
.cc-ia { margin: 1.1rem 0; border: 1px solid var(--cc-borde); border-left: 4px solid #1f1f1f; border-radius: .6rem; background: var(--cc-papel); padding: .9rem 1rem; color: var(--cc-texto); }
.cc-ia.ok { border-left-color: var(--cc-bien); }
.cc-ia.mal { border-left-color: var(--cc-mal); }
.cc-ia.curso { border-left-color: var(--cc-curso); }
.cc-ia-cabeza { display: flex; align-items: center; gap: .75rem; }
.cc-ia-logo { flex: 0 0 auto; width: 2.6rem; height: 2.6rem; border-radius: .45rem; background: #1f1f1f; color: #fff; display: grid; place-items: center; }
.cc-ia-titulo p { margin: 0; }
.cc-ia-marca { font-weight: 700; letter-spacing: .14em; font-size: .78rem; color: var(--cc-tinta); }
.cc-ia-marca span { font-weight: 500; letter-spacing: .02em; color: var(--cc-gris); }
.cc-ia-estado { font-weight: 700; font-size: 1rem; color: var(--cc-tinta); }
.cc-ia.ok .cc-ia-estado i { color: var(--cc-bien); }
.cc-ia.mal .cc-ia-estado i { color: var(--cc-mal); }
.cc-ia.curso .cc-ia-estado i { color: var(--cc-curso); }
.cc-ia-texto { margin: .65rem 0 0; font-size: .92rem; }
.cc-ia-copias { list-style: none; margin: .55rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.cc-ia-copias a { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .7rem; border-radius: 999px; border: 1px solid var(--cc-borde); background: var(--cc-fondo); color: var(--cc-tinta); font-size: .85rem; font-weight: 600; text-decoration: none; }
.cc-ia-copias a:hover, .cc-ia-copias a:focus-visible { border-color: var(--cc-acento); color: var(--cc-acento); }
.cc-ia-porque { margin-top: .7rem; font-size: .9rem; }
.cc-ia-porque summary { cursor: pointer; font-weight: 700; color: var(--cc-acento); }
.cc-ia-porque ul { margin: .5rem 0 0; padding-left: 1.1rem; }
.cc-ia-porque li { margin-bottom: .35rem; }
.cc-ia-marcas { margin: .5rem 0 0; font-size: .75rem; color: var(--cc-gris); }

@media print {
  .cabecera, .pie, .migas, .om-cabecera, .ccp-acciones, .ccp-no-imprimir, .aviso-dona, .mr-dona-flotante { display: none !important; }
  .ccp-hoja { box-shadow: none; border-width: 0; }
  .cc-cert { max-width: none; }
  details.ccp-verifica, details.cc-legal { display: block; }
  details.ccp-verifica > *, details.cc-legal > * { display: block; }
}

/* ---------- Modo oscuro (si el sitio lo pide) ---------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .cc-caja { --cc-tinta: #ece8f6; --cc-borde: #3a3450; --cc-fondo: #1c1830; --cc-acento: #8fb4ff; --cc-acento-suave: #1e2a4a; --cc-mal: #ff8a7a; --cc-mal-suave: #3a1714; }
}
:root[data-theme="dark"] .cc-caja { --cc-tinta: #ece8f6; --cc-borde: #3a3450; --cc-fondo: #1c1830; --cc-acento: #8fb4ff; --cc-acento-suave: #1e2a4a; --cc-mal: #ff8a7a; --cc-mal-suave: #3a1714; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .cc-ia { background: #16132a; border-color: #3a3450; color: #d9d4ea; }
  :root:not([data-theme="light"]) .cc-ia-marca, :root:not([data-theme="light"]) .cc-ia-estado { color: #f1eefb; }
  :root:not([data-theme="light"]) .cc-ia-copias a { background: #1c1830; border-color: #3a3450; color: #ece8f6; }
}
:root[data-theme="dark"] .cc-ia { background: #16132a; border-color: #3a3450; color: #d9d4ea; }
:root[data-theme="dark"] .cc-ia-marca, :root[data-theme="dark"] .cc-ia-estado { color: #f1eefb; }
:root[data-theme="dark"] .cc-ia-copias a { background: #1c1830; border-color: #3a3450; color: #ece8f6; }
