/* =====================================================
   DECLARACIÓN DE ACCESIBILIDAD
   Documento largo: índice fijo a la izquierda en escritorio y
   texto a ~68 caracteres por línea. Usa los tokens de custom.css.
===================================================== */

.dda-page {
    padding: var(--lv-s6) 0 var(--lv-s7);
}

.dda-layout {
    display: grid;
    grid-template-columns: minmax(14rem, 3fr) minmax(0, 8fr);
    gap: var(--lv-s6);
    align-items: start;
}

/* --- Índice --- */

.dda-toc {
    position: sticky;
    top: calc(var(--lv-header-h) + var(--lv-s3));
    border-top: 1px solid var(--lv-ink);
    padding-top: var(--lv-s2);
}

.dda-toc__title {
    margin: 0 0 var(--lv-s1);
    color: var(--lv-ink-2);
    font-size: var(--lv-fs-sm);
    font-weight: 600;
}

.dda-toc ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.dda-toc li + li {
    border-top: 1px solid var(--lv-rule);
}

.dda-toc a {
    display: block;
    padding: .625rem 0;
    color: var(--lv-ink);
    font-size: var(--lv-fs-sm);
    line-height: 1.35;
    text-decoration: none;
}

.dda-toc a:hover {
    color: var(--lv-green-ink);
    text-decoration: underline;
    text-underline-offset: .2em;
}

/* --- Documento --- */

.dda-doc {
    max-width: 38rem;   /* ~70-75 caracteres a 17px */
    color: var(--lv-ink);
    line-height: 1.65;
}

.dda-doc p {
    margin: 0 0 1em;
}

.dda-doc a {
    color: var(--lv-blue);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .18em;
    overflow-wrap: anywhere;
}

.dda-doc a:hover {
    color: var(--lv-blue-ink);
    text-decoration-thickness: 2px;
}

.dda-intro p {
    font-size: var(--lv-fs-md);
    line-height: 1.5;
}

.dda-section {
    margin-top: var(--lv-s5);
    scroll-margin-top: calc(var(--lv-header-h) + var(--lv-s3));
}

/* Títulos de sección con filete, como en el resto de páginas */
.dda-section h2 {
    margin: 0 0 var(--lv-s3);
    padding-bottom: var(--lv-s2);
    border-bottom: 1px solid var(--lv-ink);
    font-size: var(--lv-fs-lg);
    line-height: 1.15;
}

/* Situación de cumplimiento: dato clave de la declaración.
   Filete ámbar (color de "aviso" en la web) porque la conformidad es parcial. */
.dda-status {
    padding: .25rem 0 .25rem var(--lv-s3);
    border-left: 6px solid var(--lv-amber);
    font-family: var(--lv-font-display);
    font-size: var(--lv-fs-md);
    font-weight: 500;
    line-height: 1.35;
}

/* Listas */
.dda-list {
    margin: 0 0 1em;
    padding-left: 1.25rem;
}

.dda-list li {
    margin-bottom: .5em;
    padding-left: .25rem;
}

.dda-list li::marker {
    color: var(--lv-green);
}

.dda-list--refs li {
    margin-bottom: .875em;
}

.dda-list--sub {
    margin: .5em 0 0;
}

.dda-list--sub li::marker {
    color: var(--lv-ink-2);
}

/* Referencia normativa en línea propia y más discreta */
.dda-ref {
    display: block;
    color: var(--lv-ink-2);
    font-size: var(--lv-fs-sm);
}

.dda-or {
    margin: -.25em 0 .5em !important;
    padding-left: 1.5rem;
    color: var(--lv-ink-2);
    font-style: italic;
}

.dda-meta {
    color: var(--lv-ink-2);
    font-size: var(--lv-fs-sm);
}

/* --- Responsive --- */

@media (max-width: 991px) {

    .dda-page {
        padding: var(--lv-s5) 0 var(--lv-s6);
    }

    .dda-layout {
        grid-template-columns: 1fr;
        gap: var(--lv-s4);
    }

    /* En una columna se mantiene la medida de lectura (~68 caracteres) */
    .dda-toc {
        position: static;
        max-width: 38rem;   /* ~70-75 caracteres a 17px */
    }

    .dda-intro p {
        font-size: var(--lv-fs-base);
    }
}

@media (max-width: 575px) {

    .dda-section h2 {
        font-size: var(--lv-fs-md);
    }

    .dda-status {
        padding-left: var(--lv-s2);
        border-left-width: 4px;
        font-size: var(--lv-fs-base);
    }
}
