/* Páginas legales y de soporte de las apps de PDEVELOP LLC (pdevelop.net/apps/). Lo genera legal_build.py. */
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/montserrat-400-latin.woff2) format('woff2'); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 700; font-display: swap; src: url(/fonts/montserrat-700-latin.woff2) format('woff2'); }

/* Todas las políticas comparten este acabado: mismas fuentes, tamaños, anchura, títulos, listas y tablas.
   Las clases de cada original (.wrap, .hero, .lede, .card, .field…) se igualan aquí; el texto no se toca. */
*, *:before, *:after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: 'Montserrat', system-ui, sans-serif; font-size: 16px; line-height: 1.65; color: #1c1c20; background: #f6f5f2; }

.pd-bar { background: #111114; padding: 16px 24px; }
.pd-mark { color: #fff; font-weight: 700; letter-spacing: .22em; text-decoration: none; font-size: 15px; }
.pd-doc { max-width: 720px; margin: 0 auto; padding: 32px 24px 48px; }
.pd-doc .wrap, .pd-doc main, .pd-doc section, .pd-doc .hero { display: block; max-width: none; margin: 0; padding: 0; }

/* cabecera común: icono, nombre y badge oficial (40 px de alto, margen libre ≥ 1/4 de su altura) */
.pd-app { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding-bottom: 28px; margin-bottom: 28px; border-bottom: 1px solid #e2e0da; }
.pd-app-icon { width: 64px; height: 64px; border-radius: 14px; }
.pd-doc .pd-app-name { font-size: 22px; font-weight: 700; line-height: 1.2; margin: 0; }
.pd-badge { display: inline-block; margin: 0; padding: 10px 0; line-height: 0; }
.pd-badge img { height: 40px; width: auto; }
.pd-badge + .pd-badge { margin-left: 12px; }

/* títulos */
.pd-doc h1 { font-size: 30px; line-height: 1.2; margin: 8px 0 12px; }
.pd-doc h2 { font-size: 20px; line-height: 1.3; margin: 36px 0 8px; }
.pd-doc h3 { font-size: 17px; line-height: 1.35; margin: 24px 0 6px; }

/* texto */
.pd-doc p { margin: 0 0 14px; }
.pd-doc a { color: #b4540a; }
.pd-doc strong { font-weight: 700; }
.pd-doc code { font: inherit; background: none; padding: 0; }
.pd-doc hr { border: 0; border-top: 1px solid #e2e0da; margin: 28px 0; }
.pd-doc .lede, .pd-doc .lead, .pd-doc .sub, .pd-doc .updated, .pd-doc .date, .pd-doc .field { font-size: 16px; color: #55544f; margin: 0 0 14px; }
.pd-doc .field { margin: 0 0 4px; }

/* cabecera y pie propios de cada original: una línea discreta, igual en todas */
.pd-doc header, .pd-doc .site { display: block; margin: 0 0 8px; }
.pd-doc .brand, .pd-doc .name, .pd-doc .kicker { display: inline; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: 0; color: #6b6a66; }
.pd-doc .brand a, .pd-doc .name { color: #6b6a66; text-decoration: none; }
.pd-doc .spacer { display: none; }
.pd-doc nav, .pd-doc .links { display: block; font-size: 14px; margin: 8px 0 20px; }
.pd-doc .lang { font-size: 14px; margin-left: 12px; }
.pd-doc nav a, .pd-doc .links a { margin-right: 16px; }
.pd-doc .kicker { display: block; margin-top: 8px; }
.pd-doc footer { margin: 40px 0 0; padding-top: 16px; border-top: 1px solid #e2e0da; color: #6b6a66; font-size: 14px; }
.pd-doc footer p { margin: 8px 0 0; }

/* recuadros */
.pd-doc .card, .pd-doc .callout { background: #fff; border: 1px solid #e2e0da; border-radius: 12px; padding: 16px 20px; margin: 20px 0; }
.pd-doc .card p:last-child, .pd-doc .callout p:last-child { margin-bottom: 0; }
.pd-doc .cards { display: grid; gap: 12px; }

/* listas */
.pd-doc ul, .pd-doc ol { padding-left: 22px; margin: 0 0 14px; }
.pd-doc li { margin: 4px 0; }

/* tablas */
.pd-doc .table-wrap, .pd-doc div:has(> table) { overflow-x: auto; margin: 16px 0; }
.pd-doc table { border-collapse: collapse; width: 100%; font-size: 14px; }
.pd-doc th, .pd-doc td { border: 1px solid #e2e0da; padding: 8px 10px; text-align: left; vertical-align: top; }
.pd-doc th { background: #efede8; }
.pd-doc img { max-width: 100%; }

/* pie común */
.pd-foot { border-top: 1px solid #e2e0da; color: #6b6a66; font-size: 14px; text-align: center; padding: 24px; }
.pd-foot p { margin: 4px 0; }
.pd-foot a { color: inherit; }
.pd-foot-legal { font-size: 13px; }

/* traducciones: aviso visible de que manda el original, y enlace pequeño al pie para volver a él */
.pd-foot-orig { font-size: 12px; }

/* Uniformidad (2026-09-29): los mismos elementos se ven igual en las seis políticas. Solo forma: el texto no cambia.
   · Línea de fecha del original: canta .updated · Mezcla .date · Fretbox/Monobox header .lede · Backstage h1 + p */
.pd-doc .updated, .pd-doc .date, .pd-doc header .lede, .pd-doc h1 + p { font-size: 14px; color: #6b6a66; margin: 0 0 20px; }
.pd-doc h1 + p strong { font-weight: 400; }
/* · Resumen inicial: canta .hero .lede · Mezcla .lead · Fretbox/Monobox .card → la misma caja */
.pd-doc .hero .lede, .pd-doc .lead, .pd-doc .card { display: block; background: #fff; border: 1px solid #e2e0da; border-radius: 12px; padding: 16px 20px; margin: 20px 0; font-size: 16px; color: #1c1c20; }
.pd-doc .card p { margin: 0; }
/* · Marca de la app encima del título: canta .name · Mezcla .kicker · Fretbox/Monobox .brand → misma línea */
.pd-doc .brand, .pd-doc .name, .pd-doc .kicker { display: block; margin: 0 0 4px; }
.pd-lang { margin: 0 0 16px; text-align: right; font-size: 14px; }
.pd-lang a { font-weight: 700; }
