/* AnimusLex · estilos de las herramientas PDF (mismos colores que el resto del sitio) */
[hidden] { display: none !important; }
body { font-family: 'Inter', sans-serif; background-color: #1a0808; color: #f5e8d8; }
h1, h2, h3, h4, .serif { font-family: 'Playfair Display', serif; }
.bg-black-rich { background-color: #1a0808; }
.bg-black-soft { background-color: #2a0e0e; }
.text-gold { color: #d4af37; }
.text-cream-soft { color: #d4c0a8; }
.text-cream-muted { color: #a89180; }
.border-gold-subtle { border-color: rgba(212, 175, 55, 0.35); }
.gradient-bg-dark {
  background: radial-gradient(ellipse at top, rgba(212,175,55,0.10) 0%, transparent 50%),
              radial-gradient(ellipse at bottom right, rgba(139, 0, 0, 0.25) 0%, transparent 60%),
              linear-gradient(180deg, #1a0808 0%, #0f0505 100%);
}
.card-premium { background: linear-gradient(135deg, #3a1414 0%, #2a0e0e 100%); border: 1px solid rgba(212, 175, 55, 0.22); }
.btn-gold { background: linear-gradient(135deg, #d4af37 0%, #f2d06b 50%, #d4af37 100%); color: #1a0808; font-weight: 700; transition: all .3s ease; }
.btn-gold:hover { box-shadow: 0 10px 36px rgba(212, 175, 55, 0.5); transform: translateY(-2px); }
.btn-gold:disabled, .btn-borde:disabled { opacity: .5; cursor: wait; transform: none; box-shadow: none; }
.btn-borde { border: 1px solid rgba(212,175,55,.6); color: #f2d06b; font-weight: 600; background: transparent; }
.btn-borde:hover { background: rgba(212,175,55,.12); }
.gradient-text-gold { background: linear-gradient(135deg, #e6c555 0%, #f2d06b 50%, #d4af37 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.prose-custom p { color: #d4c0a8; line-height: 1.85; margin-bottom: 1.25rem; font-size: 1.05rem; }
.prose-custom strong { color: #f2d06b; font-weight: 600; }
.prose-custom ul, .prose-custom ol { color: #d4c0a8; padding-left: 1.5rem; margin-bottom: 1.5rem; list-style: disc; }
.prose-custom ol { list-style: decimal; }
.prose-custom li { margin-bottom: .6rem; line-height: 1.7; }
details summary { cursor: pointer; user-select: none; }
details[open] summary .arrow { transform: rotate(180deg); }
.arrow { display: inline-block; transition: transform .3s; }

/* herramienta */
.herramienta { background: linear-gradient(135deg, #3a1414 0%, #241010 100%); border: 1px solid rgba(212,175,55,.35); border-radius: 1.25rem; box-shadow: 0 20px 60px rgba(0,0,0,.45); }
.zona { display: block; border: 2px dashed rgba(212,175,55,.55); border-radius: 1rem; padding: 2.25rem 1.25rem; text-align: center; cursor: pointer; transition: all .25s; background: rgba(212,175,55,.04); }
.zona:hover, .zona-activa { background: rgba(212,175,55,.12); border-color: #f2d06b; }
.zona .icono { font-size: 2.6rem; line-height: 1; }
.zona .titulo { color: #f2d06b; font-weight: 700; font-size: 1.15rem; margin-top: .6rem; }
.zona .sub { color: #a89180; font-size: .9rem; margin-top: .25rem; }
.sello-privado { display: inline-flex; gap: .5rem; align-items: center; font-size: .85rem; color: #e6d8c0; background: rgba(46,125,50,.18); border: 1px solid rgba(129,199,132,.45); padding: .35rem .8rem; border-radius: 999px; }
.info-archivo { background: rgba(0,0,0,.25); border: 1px solid rgba(212,175,55,.25); border-radius: .8rem; padding: .8rem 1rem; }
.opcion { display: flex; gap: .75rem; align-items: flex-start; padding: .75rem .9rem; border: 1px solid rgba(212,175,55,.22); border-radius: .8rem; cursor: pointer; }
.opcion:has(input:checked) { border-color: #d4af37; background: rgba(212,175,55,.09); }
.opcion input { margin-top: .3rem; accent-color: #d4af37; }
.opcion b { color: #f5e8d8; } .opcion span.desc { display: block; color: #a89180; font-size: .88rem; }
.campo label { display: block; font-size: .85rem; color: #d4c0a8; margin-bottom: .3rem; }
.campo input[type=text], .campo input[type=number], .campo select { width: 100%; background: #1a0808; border: 1px solid rgba(212,175,55,.35); color: #f5e8d8; border-radius: .6rem; padding: .55rem .75rem; }
.campo input:focus, .campo select:focus { outline: none; border-color: #f2d06b; }
.check-linea { display: flex; gap: .6rem; align-items: center; color: #d4c0a8; font-size: .95rem; }
.check-linea input { accent-color: #d4af37; width: 1.05rem; height: 1.05rem; }
#progreso progress { width: 100%; height: .6rem; accent-color: #d4af37; }
.aviso-firma { background: rgba(183,28,28,.22); border: 1px solid rgba(239,154,154,.5); color: #ffdede; border-radius: .8rem; padding: .8rem 1rem; font-size: .95rem; }
.error { background: rgba(183,28,28,.25); border: 1px solid rgba(239,154,154,.55); color: #ffdede; border-radius: .8rem; padding: .8rem 1rem; }
.resumen { color: #f2d06b; font-weight: 700; font-size: 1.1rem; margin-bottom: .75rem; }
.aviso { color: #ffd59a; margin-top: .9rem; }
.nota { color: #a89180; font-size: .9rem; margin-top: .8rem; }
.fila-parte { display: flex; justify-content: space-between; align-items: center; gap: .8rem; background: rgba(0,0,0,.25); border: 1px solid rgba(212,175,55,.25); border-radius: .7rem; padding: .65rem .9rem; }
.fila-parte .nombre { color: #f5e8d8; font-weight: 600; overflow-wrap: anywhere; }
.fila-parte .detalle { color: #a89180; font-size: .85rem; }
.fila-mal { border-color: rgba(239,154,154,.6); }
.btn-descarga { flex: none; color: #1a0808; background: #d4af37; font-weight: 700; font-size: .85rem; padding: .45rem .9rem; border-radius: 999px; }
.btn-descarga:hover { background: #f2d06b; }
.paso-num { flex: none; width: 2rem; height: 2rem; border-radius: 999px; background: rgba(212,175,55,.15); border: 1px solid rgba(212,175,55,.5); color: #f2d06b; display: flex; align-items: center; justify-content: center; font-weight: 700; }
