/* Ajuridic · Sucesiones. Extiende la base editorial del preparador. */
.su-tool [hidden] { display: none !important; }
.su-tool .su-sr { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
.su-tool h1 { max-width: 17ch; font-size: clamp(2.2rem, 4.2vw, 4.1rem); }
.su-tool .ex-hero-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); }
.su-tool .ex-hero-grid > *, .su-tool .ex-result-grid > *, .su-tool .ex-fields > * { min-width: 0; }
.su-tool .su-dossier { margin: 0; background: #fff; border: 1px solid var(--linea); border-top: 5px solid var(--verd); padding: clamp(20px, 3vw, 34px); }
.su-tool .su-dossier ol { list-style: none; margin: 0; padding: 0; }
.su-tool .su-dossier li { display: flex; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--linea); }
.su-tool .su-dossier b, .su-tool .su-factors > li > span { color: var(--verd); font: 700 .85rem var(--font-titular); }
.su-tool .su-dossier li > span { font-weight: 600; }
.su-tool .su-dossier small { display: block; font-weight: 400; font-size: .84rem; color: var(--tinta-2); margin-top: 4px; }
.su-tool .su-dossier figcaption { font-size: .82rem; color: var(--tinta-2); margin-top: 18px; }
.su-tool #su-controls, .su-tool .su-assets { margin: 0; border: 0; padding: 0; min-width: 0; }
.su-tool .su-progress { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; padding: 0; margin: 0 0 32px; gap: 12px; }
.su-tool .su-progress li { border-top: 3px solid var(--linea); padding-top: 12px; color: var(--tinta-2); font-size: .92rem; }
.su-tool .su-progress span { margin-right: 8px; font-weight: 700; }
.su-tool .su-progress [aria-current] { border-color: var(--verd); color: var(--verd-fosc); font-weight: 700; }
.su-tool .su-step > h3 { font-size: 1.45rem; margin-bottom: 14px; }
.su-tool .su-step > p { max-width: 80ch; margin-bottom: 22px; }
.su-tool input[type="date"], .su-tool select { min-width: 0; max-width: 100%; width: 100%; min-height: 48px; border: 1px solid #aeb5a3; border-radius: 0; padding: 10px; background: #fff; color: var(--tinta); font: 400 1rem var(--font-texto); }
.su-tool .su-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 14px; }
.su-tool .su-choice { display: flex; align-items: start; gap: 12px; min-height: 48px; cursor: pointer; padding: 12px 0; line-height: 1.5; }
.su-tool .su-options .su-choice { padding: 18px; border: 1px solid var(--linea); background: #fff; }
.su-tool .su-choice:has(input:checked) { background: var(--verd-suau); }
.su-tool .su-choice input { width: 20px; height: 20px; margin: 2px 0 0; flex: none; accent-color: var(--verd); }
.su-tool .su-assets legend { font-weight: 600; }
.su-tool .su-note { border-left: 3px solid var(--verd); padding: 18px 22px; background: var(--verd-suau); margin: 20px 0; }
.su-tool .su-note p { margin: 8px 0 0; }
.su-tool .su-note a { display: inline-block; margin-top: 10px; }
.su-tool .su-error { color: var(--error); padding-block: 12px; }
.su-tool .su-small, .su-tool .su-print-source { font-size: .86rem; color: var(--tinta-2); }
.su-tool .ex-alert p + p { margin-top: 12px; }
.su-tool .ex-alert a { display: inline-block; margin-top: 12px; }
.su-tool .ex-check-label { min-height: 44px; }
.su-tool .ex-result { box-shadow: none; }
.su-tool .su-factors { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); list-style: none; margin: 32px 0 0; padding: 0; }
.su-tool .su-factors li { border-top: 1px solid var(--verd); border-right: 1px solid var(--linea); padding: 20px; }
.su-tool .su-factors li:first-child { padding-left: 0; }
.su-tool .su-factors li:last-child { border-right: 0; }
.su-tool .su-factors h3 { font-size: 1.13rem; margin: 18px 0 12px; }
.su-tool .su-factors p, .su-tool .su-factors a { font-size: .89rem; }
.su-tool .su-official { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 30px; align-items: center; }
.su-tool .su-official h2 { margin-bottom: 18px; }
.su-tool .su-source-links { display: flex; flex-wrap: wrap; gap: 12px 30px; padding-left: 18px; margin: 26px 0; }
.su-tool button:disabled { cursor: not-allowed; opacity: .5; }
.su-tool a, .su-tool h1, .su-tool h2, .su-tool h3 { overflow-wrap: anywhere; }
@media (max-width: 900px) { .su-tool .su-factors { grid-template-columns: 1fr; } .su-tool .su-factors li, .su-tool .su-factors li:first-child { border-right: 0; padding: 20px 0; } .su-tool .su-factors h3 { margin-top: 8px; } }
@media (max-width: 760px) { .su-tool .ex-hero-grid, .su-tool .su-official, .su-tool .su-options { grid-template-columns: 1fr; } .su-tool .su-dossier { max-width: none; } .su-tool .su-dossier li { padding-block: 14px; } }
@media (max-width: 430px) { .su-tool .su-progress { grid-template-columns: 1fr; gap: 8px; } .su-tool .su-progress li { padding: 8px 0 0; border-top-width: 2px; } .su-tool .ex-field { padding: 16px; } .su-tool .ex-result { padding: 20px 16px; } .su-tool .ex-result-actions { display: grid; } .su-tool .ex-actions { gap: 10px; } }
@media (prefers-reduced-motion: reduce) { .su-tool *, .su-tool *::before, .su-tool *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
@media print {
  .su-tool .saltar, .su-tool #su-form, .su-tool #su-factors, .su-tool #su-sources, .su-tool #goria-ayuda, .su-tool #kai-widget { display: none !important; }
  .su-tool .ex-result, .su-tool .ex-alert { break-inside: auto; }
  .su-tool .ex-result-grid { grid-template-columns: 1fr; gap: 8mm; }
  .su-tool .ex-result h2 { margin-bottom: 6mm; }
  .su-tool .ex-checklist li { break-inside: avoid; padding: 2mm 0; }
  .su-tool .su-note { background: transparent; margin-block: 4mm; }
  .su-tool #su-result { font-size: 10pt; }
  .su-tool .su-print-source { display: block; }
}
