/* Demo de cotejo en el hero. Paleta y tipografías de la portada (fuentes.css).
   Cuatro tamaños de letra dentro de la tarjeta: 14 · 16 · 20 · 28. Espacios en múltiplos de 4/8.
   Objetivos táctiles >= 44 px; controles de formulario a 48 px; botón principal a 52 px. */

/* La composición del hero y la cabecera viven en portada.css. */

/* ---------- Tarjeta ---------- */
.dc{--vino:#5C0E1E;--vino-osc:#3A0911;--oro:#B48A52;--tinta:#2A1916;--suave:#5A4540;--linea:#E5DCD6;--borde:#8C7870;--error:#8A1C1C;
  position:relative;background:#FFFFFF;color:var(--tinta);border-radius:28px;padding:24px 20px 20px;box-sizing:border-box;
  box-shadow:0 0 0 1px rgba(243,231,218,.16),0 0 80px -20px rgba(180,138,82,.35),0 32px 64px -24px rgba(15,1,4,.75),0 10px 20px -10px rgba(15,1,4,.5);
  font-size:16px;line-height:1.5;scroll-margin-top:88px}
@media (min-width:600px){.dc{padding:32px}}
.dc *{box-sizing:border-box}
.dc :focus-visible{outline:2px solid var(--vino);outline-offset:2px}
.dc :where(h2,h3,h4,p){margin:0}
.dc [hidden]{display:none !important}
.dc-vivo{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Progreso 1-2-3 */
.dc-prog{display:flex;gap:8px;margin:0 0 8px;padding:0;list-style:none}
.dc-prog li{flex:1;height:4px;border-radius:2px;background:var(--linea);position:relative;overflow:hidden}
.dc-prog li::after{content:"";position:absolute;inset:0;background:var(--vino);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.dc-prog li[data-e="hecho"]::after,.dc-prog li[data-e="actual"]::after{transform:scaleX(1)}
.dc-prog li[data-e="actual"]::after{background:var(--oro)}
.dc-prog-txt{font-size:14px;color:var(--suave);margin:0 0 24px}
.dc-prog-txt b{color:var(--tinta);font-weight:700}

/* Pasos */
.dc-paso{animation:dc-entra .35s cubic-bezier(.2,.7,.2,1) both}
@keyframes dc-entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.dc-tit{font-family:'Newsreader',serif;font-weight:400;font-size:20px;line-height:1.25;letter-spacing:-.005em;outline:none}
.dc-sub{margin-top:4px;color:var(--suave)}
.dc-form{display:flex;flex-direction:column;gap:16px;margin-top:24px}
.dc-fila{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media (min-width:480px){.dc-fila{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.dc-campo{display:flex;flex-direction:column;gap:4px;min-width:0}
.dc-campo label{font-size:14px;font-weight:700;color:var(--tinta)}
.dc-op{font-weight:400;color:var(--suave)}
.dc-in{font:inherit;font-size:16px;width:100%;height:48px;padding:0 16px;border:1.5px solid var(--borde);border-radius:12px;background:#FFFFFF;color:var(--tinta);transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.dc-in::placeholder{color:#7A635B;opacity:1}
.dc-in:hover{border-color:var(--tinta)}
.dc-in:focus{border-color:var(--vino);box-shadow:0 0 0 3px rgba(180,138,82,.35);outline:none}
.dc-in[aria-invalid="true"]{border-color:var(--error)}
input[type="date"].dc-in{min-height:48px;text-align:left;display:block}
.dc-err{font-size:14px;color:var(--error);font-weight:700}
.dc-nota{font-size:14px;color:var(--suave)}
.dc-nota a{color:var(--vino)}

/* Aviso accesible (errores del servidor y validaciones) */
.dc-alerta{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:12px 16px;border-radius:12px;background:#FBEBE8;border:1px solid #E8C4BE;color:#6E1313;font-size:16px}
.dc-alerta svg{flex:none;width:20px;height:20px;margin-top:2px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

/* Botones */
.dc-btn{font:inherit;font-size:16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 24px;border-radius:12px;border:0;cursor:pointer;width:100%;text-decoration:none;transition:background-color .15s,transform .12s,box-shadow .2s}
.dc-btn--pri{background:var(--vino);color:#FFFFFF;box-shadow:0 6px 16px -8px rgba(92,14,30,.7)}
.dc-btn--pri:hover{background:var(--vino-osc);color:#FFFFFF}
.dc-btn--pri:active{transform:scale(.98)}
.dc-btn[disabled],.dc-btn[aria-disabled="true"]{opacity:.7;cursor:progress}
.dc-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.dc-btn--pri:hover svg{transform:translateX(3px)}
.dc-enlace{font:inherit;font-size:16px;background:none;border:0;color:var(--vino);text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:44px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center}
.dc-enlace:hover{color:var(--vino-osc)}
.dc-acciones{display:flex;flex-direction:column;gap:8px;margin-top:24px}

/* Combobox de país con bandera */
.dc-combo{position:relative}
.dc-combo .dc-in{padding-left:16px;padding-right:48px}
.dc-combo[data-sel="1"] .dc-in{padding-left:52px}
.dc-combo-flag{position:absolute;left:16px;top:50%;width:24px;height:18px;margin-top:-9px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px rgba(42,25,22,.18);pointer-events:none}
.dc-combo-x{position:absolute;right:2px;top:2px;width:44px;height:44px;border:0;background:none;border-radius:10px;cursor:pointer;color:var(--suave);display:flex;align-items:center;justify-content:center}
.dc-combo-x:hover{background:#F5F2F1;color:var(--tinta)}
.dc-combo-x svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.dc-lista{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 4px);max-height:240px;overflow:auto;margin:0;padding:4px;list-style:none;background:#FFFFFF;border:1px solid var(--linea);border-radius:12px;box-shadow:0 16px 32px -12px rgba(42,10,16,.35);overscroll-behavior:contain}
.dc-op-pais{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:8px;cursor:pointer;font-size:16px}
.dc-op-pais img{width:24px;height:18px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px rgba(42,25,22,.18);flex:none}
.dc-op-pais[aria-selected="true"],.dc-op-pais:hover{background:#F3E7DA}
.dc-vacio{padding:12px;color:var(--suave);font-size:14px}

/* Carga */
.dc-carga{margin-top:24px;display:flex;flex-direction:column;gap:12px}
.dc-esq{height:16px;border-radius:8px;background:linear-gradient(90deg,#EFE8E3 25%,#F8F3EF 50%,#EFE8E3 75%);background-size:200% 100%;animation:dc-brillo 1.4s linear infinite}
.dc-esq--b{height:88px;border-radius:12px}
@keyframes dc-brillo{to{background-position:-200% 0}}
.dc-giro{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid #E5DCD6;border-top-color:var(--vino);animation:dc-g .8s linear infinite;vertical-align:-2px;margin-right:8px}
@keyframes dc-g{to{transform:rotate(360deg)}}

/* Veredicto */
.dc-veredicto{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;margin-top:24px;padding:16px;border-radius:16px;border:1px solid transparent}
.dc-ver-ico{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#FFFFFF}
.dc-ver-ico svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dc-veredicto--hallazgo{background:#FBEBE8;border-color:#E8C4BE;color:#8A1C1C}
.dc-veredicto--revision{background:#FBF1DC;border-color:#EBD4A3;color:#7A4E00}
.dc-veredicto--neutro{background:#E9F3EC;border-color:#BFDCC9;color:#1E5B40}
.dc-ver-tit{font-family:'Newsreader',serif;font-weight:400;font-size:28px;line-height:1.1;letter-spacing:-.015em;color:var(--tinta);outline:none}
.dc-ver-guia{margin-top:8px;color:var(--suave)}
.dc-ver-meta{margin-top:8px;font-size:14px;color:var(--suave)}
.dc-sujeto{font-size:14px;color:var(--suave);overflow-wrap:anywhere}
.dc-sujeto b{color:var(--tinta)}
.dc-sujeto span{white-space:nowrap}

/* Coincidencias */
.dc-hits{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.dc-hit{padding:12px 16px;border:1px solid var(--linea);border-left-width:4px;border-radius:12px;min-width:0;opacity:0;animation:dc-entra .4s cubic-bezier(.2,.7,.2,1) both}
.dc-hit--alta{border-left-color:#8A1C1C}
.dc-hit--rev{border-left-color:#B48A52}
.dc-hit-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.dc-hit-nombre{font-size:16px;font-weight:700;overflow-wrap:anywhere;line-height:1.35}
.dc-hit-pt{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.dc-hit-meta{font-size:14px;color:var(--suave);overflow-wrap:anywhere}
.dc-hit-tipo{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:14px;color:var(--suave)}
.dc-hit-pistas{margin-top:4px;font-size:14px;color:var(--suave);overflow-wrap:anywhere}
.dc-chip{display:inline-block;padding:0 8px;border-radius:6px;font-size:14px;font-weight:700;line-height:1.6}
.dc-chip--alta{background:#FBEBE8;color:#8A1C1C}
.dc-chip--rev{background:#FBF1DC;color:#7A4E00}
.dc-mas{margin-top:12px;font-size:14px;color:var(--suave)}
.dc-mas a{color:var(--vino)}
.dc-aviso{margin-top:16px;padding-top:16px;border-top:1px solid var(--linea);font-size:14px;color:var(--suave)}
.dc-aviso p+p{margin-top:8px}
.dc-quedan{font-weight:700;color:var(--tinta)}

/* Cierre amable */
.dc-cierre{margin-top:24px;padding:24px;border-radius:16px;background:#3A0911;color:#F3E7DA}
.dc-cierre .dc-tit{color:#FBF4EE}
.dc-cierre p{color:#E4D3C6;margin-top:8px}
.dc-cierre .dc-btn{margin-top:16px;background:#F3E7DA;color:#3A0911;box-shadow:none}
.dc-cierre .dc-btn:hover{background:#FFFFFF;color:#3A0911}
.dc-cierre :focus-visible{outline-color:#D6B385}
.dc-cierre .dc-alerta{background:rgba(251,235,232,.1);border-color:rgba(232,196,190,.35);color:#F6D9D4}

@media (prefers-reduced-motion:reduce){
  .dc-paso,.dc-hit{animation:none;opacity:1}
  .dc-prog li::after{transition:none}
}
