/*
 * KummaraDS — kds-raiz (#2003)
 * ============================================================
 * La base de una página armada SÓLO con la librería, sin Bootstrap: la tienda.
 * Va con la clase en el <html>:
 *
 *   <html lang="es" class="kds-raiz kds-tienda">
 *
 * Todo está adentro de :where(.kds-raiz …): pesa cero, así cualquier clase de un
 * componente le gana, y en el panel (que no lleva la clase) no toca nada aunque el
 * panel cargue toda la carpeta css/ds.
 *
 *   .kds-solo-lector   texto que lee el lector de pantalla y no se ve
 *   .kds-saltar        «Saltar al contenido»: el primer enlace de la página, visible sólo con el teclado
 *                      <a class="kds-saltar" href="#contenido">Saltar al contenido</a>
 *
 * Además (#2005): casillas y cursor en los colores del tema, lugar fijo para la barra de desplazamiento (abrir un
 * cajón no hace saltar la página), lo fijo arriba no tapa el foco, fieldset sin marco, campos sin clase de 16px
 * (el iPhone no agranda la página), autocompletado sin amarillo, movimiento reducido y colores forzados.
 * ============================================================
 */

:where(.kds-raiz) {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

:where(.kds-raiz) *,
:where(.kds-raiz) *::before,
:where(.kds-raiz) *::after {
    box-sizing: border-box;
}

:where(.kds-raiz) body {
    margin: 0;
    font-family: var(--kds-fuente);
    font-size: var(--kds-fs-3);
    font-weight: var(--kds-peso-texto);
    line-height: var(--kds-lh-texto);
    color: var(--kds-texto);
    background: var(--kds-fondo);
}

:where(.kds-raiz) :is(h1, h2, h3, h4, h5, h6) {
    margin: 0 0 .5rem;
    font-weight: var(--kds-peso-fuerte);
    line-height: var(--kds-lh-titulo);
    color: inherit;
}

:where(.kds-raiz) p { margin: 0 0 1rem; }

:where(.kds-raiz) :is(ul, ol) {
    margin: 0 0 1rem;
    padding-left: 1.5rem;
}

:where(.kds-raiz) :is(ul, ol) :is(ul, ol) { margin-bottom: 0; }

:where(.kds-raiz) a {
    color: var(--kds-enlace);
    text-underline-offset: .18em;
}

:where(.kds-raiz) :is(img, svg) { vertical-align: middle; }

:where(.kds-raiz) img {
    max-width: 100%;
    height: auto;
}

:where(.kds-raiz) :is(button, input, select, textarea) {
    margin: 0;
    font: inherit;
    letter-spacing: inherit;
    color: inherit;
}

:where(.kds-raiz) button { cursor: pointer; }

:where(.kds-raiz) :is(button, [role="button"]):disabled { cursor: default; }

:where(.kds-raiz) label { display: inline-block; }

:where(.kds-raiz) table { border-collapse: collapse; }

:where(.kds-raiz) hr {
    margin: 1.5rem 0;
    border: 0;
    border-top: 1px solid var(--kds-borde);
}

:where(.kds-raiz) [hidden] { display: none !important; }

:where(.kds-raiz) :focus-visible {
    outline: var(--kds-foco-ancho) solid var(--kds-foco);
    outline-offset: var(--kds-foco-sep);
}

:where(.kds-raiz) ::selection {
    background: var(--kds-seleccion);
    color: var(--kds-texto);
}

/* ---- Lo que suma la base (#2005) ---- */
:where(.kds-raiz) {
    accent-color: var(--kds-marca);
    caret-color: var(--kds-tinta);
    scrollbar-gutter: stable;
    scroll-padding-top: var(--kds-pegado-arriba, 0px);
    scroll-padding-bottom: var(--kds-barra-fija-alto, 0px);
}

:where(.kds-raiz) body { overflow-wrap: break-word; }

:where(.kds-raiz) :is(h1, h2, h3, h4, h5, h6) { text-wrap: balance; }

:where(.kds-raiz) p { text-wrap: pretty; }

:where(.kds-raiz) small { font-size: var(--kds-fs-2); }

:where(.kds-raiz) :is(dl, dt, dd) { margin: 0; }

:where(.kds-raiz) abbr[title] { text-decoration: none; }

:where(.kds-raiz) video {
    display: block;
    max-width: 100%;
    height: auto;
}

:where(.kds-raiz) fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

:where(.kds-raiz) legend { padding: 0; }

:where(.kds-raiz) :is(input, select, textarea):not([class]) { font-size: max(1rem, 16px); }

:where(.kds-raiz) :is(a, button, input, select, textarea, label, summary, [role="button"]) { touch-action: manipulation; }

:where(.kds-raiz) input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

:where(.kds-raiz) :is(input, textarea, select):-webkit-autofill {
    -webkit-box-shadow: 0 0 0 100rem var(--kds-superficie) inset;
    -webkit-text-fill-color: var(--kds-texto);
}

.kds-saltar {
    position: absolute;
    top: var(--kds-aire-2, .5rem);
    left: var(--kds-aire-4, 1rem);
    z-index: var(--kds-capa-aviso, 2000);
    display: inline-flex;
    align-items: center;
    min-height: var(--kds-tactil, 2.75rem);
    padding: var(--kds-aire-2, .5rem) var(--kds-aire-4, 1rem);
    background: var(--kds-tinta, #212529);
    color: var(--kds-fondo, #fff);
    font-weight: var(--kds-peso-ui, 600);
    transform: translateY(-200%);
}

.kds-saltar:focus { transform: none; }

@media (prefers-reduced-motion: reduce) {
    :where(.kds-raiz) *,
    :where(.kds-raiz) *::before,
    :where(.kds-raiz) *::after {
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 1ms !important;
        scroll-behavior: auto !important;
    }
}

@media (forced-colors: active) {
    :where(.kds-raiz) :focus-visible { outline-color: Highlight; }
    :where(.kds-raiz) select { appearance: auto; }
}

@media print {
    :where(.kds-raiz) body {
        background: #fff;
        color: #000;
    }

    .kds-saltar { display: none; }
}

.kds-solo-lector {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
