/* Aviso de privacidad (página independiente, mismo diseño que valeamigo.com) */
:root {
    --primario: #163a18;
    --acento: #3f8a3a;
    --azul-claro: #9db059;
    --primario-suave: #f3f7ea;
    --texto: #1f2a20;
    --texto-suave: #55634f;
    --borde: #dbe5d0;
    --fondo: #f4f7ef;
    --tarjeta: #ffffff;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
    margin: 0;
    background: var(--fondo);
    color: var(--texto);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.65;
}

header.portada {
    background: var(--primario);
    background: linear-gradient(135deg, var(--primario) 0%, #2f6b2b 100%);
    border-bottom: 4px solid var(--acento);
    color: #fff;
    padding: 40px 16px 56px;
}
header.portada .contenido { max-width: 820px; margin: 0 auto; }
header.portada .etiqueta {
    display: inline-block;
    font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
    background: rgba(255, 255, 255, .18);
    padding: 4px 10px; border-radius: 999px;
}
header.portada h1 { margin: 14px 0 6px; font-size: 30px; line-height: 1.2; }
header.portada p { margin: 0; opacity: .9; font-size: 15px; }

main {
    max-width: 820px;
    margin: -32px auto 0;
    padding: 0 16px 48px;
}
.tarjeta {
    background: var(--tarjeta);
    border-radius: 14px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 6px 20px rgba(0, 0, 0, .04);
    padding: 32px;
}

nav.indice {
    background: var(--fondo);
    border-radius: 10px;
    padding: 16px 20px;
    margin: 24px 0 8px;
}
nav.indice strong { display: block; font-size: 14px; margin-bottom: 6px; }
nav.indice ol {
    margin: 0; padding-left: 22px;
    columns: 2; column-gap: 28px;
    font-size: 14px;
}
nav.indice li { break-inside: avoid; padding: 2px 0; }
nav.indice a { color: var(--texto); text-decoration: none; }
nav.indice a:hover { color: var(--acento); }

h2 {
    font-size: 21px; line-height: 1.3;
    margin: 40px 0 12px;
    padding-top: 24px;
    border-top: 1px solid var(--borde);
    scroll-margin-top: 16px;
}
h2 .num { color: var(--acento); margin-right: 6px; }
h3 { font-size: 17px; margin: 28px 0 10px; }
p { margin: 0 0 14px; }
ul, ol { margin: 0 0 16px; padding-left: 22px; }
li { margin-bottom: 6px; }
a { color: var(--primario); }
a:hover { color: var(--acento); }
strong { font-weight: 600; }

.nota {
    background: var(--primario-suave);
    border-left: 4px solid var(--acento);
    border-radius: 6px;
    padding: 14px 16px;
    margin: 18px 0;
}
.nota p:last-child { margin-bottom: 0; }

.tabla { overflow-x: auto; margin: 0 0 20px; -webkit-overflow-scrolling: touch; }
table { width: 100%; border-collapse: collapse; font-size: 15px; }
th, td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--borde); }
th { background: var(--fondo); font-weight: 600; font-size: 14px; }
td:first-child { font-weight: 600; width: 32%; }
.sensible { color: var(--primario); }

.contacto {
    display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
    margin-top: 12px;
}
.contacto div {
    background: var(--fondo); border-radius: 10px; padding: 16px;
    font-size: 15px;
}
.contacto div p { margin: 0 0 4px; }

footer {
    text-align: center; color: var(--texto-suave); font-size: 13px;
    padding: 24px 16px 40px;
}

@media (max-width: 640px) {
    header.portada { padding: 28px 16px 48px; }
    header.portada h1 { font-size: 24px; }
    .tarjeta { padding: 22px 18px; border-radius: 12px; }
    nav.indice ol { columns: 1; }
    h2 { font-size: 19px; }
    .contacto { grid-template-columns: 1fr; }

    /* Tablas apiladas en móvil */
    .tabla table, .tabla tbody, .tabla tr, .tabla td { display: block; width: 100%; }
    .tabla thead { display: none; }
    .tabla tr { border: 1px solid var(--borde); border-radius: 10px; margin-bottom: 10px; padding: 4px 0; }
    .tabla td { border: 0; padding: 6px 14px; }
    .tabla td:first-child { width: 100%; color: var(--primario); }
    .tabla td[data-col]::before {
        content: attr(data-col);
        display: block; font-size: 12px; font-weight: 600;
        color: var(--texto-suave); text-transform: uppercase; letter-spacing: .04em;
    }
}

@media print {
    body { background: #fff; }
    header.portada { background: #fff; color: var(--texto); padding: 0 0 16px; }
    header.portada .etiqueta { display: none; }
    main { margin: 0; padding: 0; }
    .tarjeta { box-shadow: none; padding: 0; }
    nav.indice { display: none; }
}
