/* Extensión pública D.O.C.: documento de lectura, créditos y aviso técnico. */
.doc-footer-bottom { flex-wrap:wrap; align-items:center; }
.doc-footer-bottom > a, .access-footer a[data-privacy-footer-link] { display:inline-flex; align-items:center; min-height:44px; color:var(--navy); font-size:13px; text-underline-offset:4px; }
.doc-footer-bottom .doc-team-credits { flex-basis:100%; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.privacy-page .privacy-header .header-inner { grid-template-columns:auto 1fr auto; }
.privacy-page .privacy-header .landing-account { grid-column:3; grid-row:1; }
.privacy-back { justify-self:end; display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:14px; }
.privacy-intro { padding-block:56px 36px; border-bottom:1px solid var(--line); }
.privacy-page .privacy-intro h1 { font-size:36px; line-height:1.2; font-weight:650; letter-spacing:-.03em; }
.privacy-intro > p { max-width:70ch; margin-top:20px; font-size:16px; }
.privacy-intro .privacy-date { color:var(--muted); font-size:14px; margin-top:12px; }
.privacy-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:64px; align-items:start; padding-block:40px 72px; }
.privacy-index { position:sticky; top:126px; }
.privacy-page .privacy-index h2 { font-size:16px; letter-spacing:0; line-height:1.4; }
.privacy-index ul { list-style:none; padding:0; margin:16px 0 0; }
.privacy-index a { display:inline-block; padding-block:7px; color:var(--muted); font-size:14px; line-height:1.5; }
.privacy-index a:hover { color:var(--navy); }
.privacy-document { max-width:70ch; min-width:0; overflow-wrap:anywhere; }
.privacy-document section { scroll-margin-top:130px; }
.privacy-document section + section { margin-top:36px; padding-top:32px; border-top:1px solid var(--line); }
.privacy-page .privacy-document h2 { font-size:24px; font-weight:650; line-height:1.3; letter-spacing:-.02em; margin-bottom:14px; }
.privacy-document p, .privacy-document li { font-size:16px; line-height:1.8; }
.privacy-document p + p { margin-top:14px; }
.privacy-document ul { padding-left:22px; margin:14px 0; }
.privacy-document li + li { margin-top:10px; }
.privacy-contact { font-style:normal; margin-top:16px; }
.privacy-contact a { display:inline-flex; align-items:center; min-height:44px; }
.doc-cookie-notice { position:fixed; z-index:80; inset:auto auto 20px 20px; width:min(760px,calc(100% - 40px)); display:flex; align-items:center; gap:24px; padding:24px; background:#fff; color:#163c48; border:1px solid #a9c0c8; border-radius:12px; max-height:calc(60dvh - 20px); overflow:auto; font-family:inherit; }
.doc-cookie-copy { flex:1; min-width:0; }
.doc-cookie-notice .doc-cookie-copy h2 { font-family:inherit; font-size:18px; font-weight:650; letter-spacing:-.01em; line-height:1.4; text-wrap:initial; }
.doc-cookie-copy p { font-size:14px; line-height:1.65; margin:8px 0; max-width:65ch; }
.doc-cookie-copy a { display:inline-flex; align-items:center; min-height:44px; color:#004b64; font-size:14px; font-weight:600; text-underline-offset:4px; }
.doc-cookie-dismiss { flex-shrink:0; min-height:46px; padding:12px 20px; border:1px solid #004b64; border-radius:8px; background:#004b64; color:#fff; font-family:inherit; font-size:14px; font-weight:650; line-height:1.4; cursor:pointer; }
.doc-cookie-dismiss:hover { background:#003b50; }
.doc-cookie-dismiss:active { background:#002b3c; }
.doc-cookie-notice :is(a,button):focus-visible { outline:3px solid #007d85; outline-offset:3px; }
html.doc-cookie-notice-open { scroll-padding-bottom:calc(var(--doc-cookie-notice-height,240px) + 44px); }
html.doc-cookie-notice-open body { padding-bottom:calc(var(--doc-cookie-notice-height,240px) + 44px); }
.doc-cookie-noscript { padding:20px; background:#eff7f7; color:#163c48; font-size:14px; }
@media print {
    @page { size:A4; margin:18mm; }
    .privacy-page :is(.privacy-header,.privacy-index,.landing-footer,.doc-cookie-notice,.doc-cookie-noscript,.skip-link) { display:none !important; }
    html.doc-cookie-notice-open body.privacy-page { padding:0; }
    body.privacy-page .container { width:auto; max-width:none; margin:0; }
    .privacy-page .privacy-intro { padding:0 0 12pt; }
    .privacy-page .privacy-intro h1 { font-size:24pt; }
    .privacy-page .privacy-date { font-size:10pt; margin-top:6pt; }
    .privacy-page .privacy-layout { display:block; padding:12pt 0 0; }
    .privacy-page .privacy-document { max-width:none; }
    .privacy-page .privacy-document section + section { margin-top:14pt; padding-top:10pt; }
    .privacy-page .privacy-document h2 { font-size:13pt; line-height:1.3; margin-bottom:6pt; break-after:avoid; }
    .privacy-page .privacy-document :is(p,li,address,a) { font-size:11pt; line-height:1.45; }
    .privacy-page .privacy-document p + p { margin-top:6pt; }
    .privacy-page .privacy-document ul { margin:6pt 0; }
    .privacy-page .privacy-document li + li { margin-top:4pt; }
    .privacy-page .privacy-contact a { min-height:0; }
}
@media (max-width:900px) {
    .privacy-layout { grid-template-columns:1fr; gap:32px; }
    .privacy-index { position:static; padding-bottom:24px; border-bottom:1px solid var(--line); }
    .privacy-index ul { columns:2; column-gap:24px; }
    .privacy-index li { break-inside:avoid; }
}
@media (max-width:620px) {
    .privacy-page .privacy-header .header-inner { grid-template-columns:1fr auto; gap:12px; }
    .privacy-page .privacy-header .landing-account { grid-column:2; grid-row:1; justify-self:end; max-width:142px; padding:10px 12px; font-size:12px; white-space:normal; }
    .privacy-header .privacy-back { grid-row:2; grid-column:1 / -1; justify-self:start; }
    .privacy-intro { padding-top:36px; }
    .privacy-page .privacy-intro h1 { font-size:30px; }
    .privacy-index ul { columns:1; }
    .privacy-layout { padding-bottom:44px; }
    .privacy-page .privacy-document h2 { font-size:22px; }
    .doc-cookie-notice { bottom:12px; left:12px; width:calc(100% - 24px); padding:18px; gap:12px; flex-wrap:wrap; }
    .doc-cookie-copy { flex-basis:100%; }
    .doc-cookie-dismiss { min-width:120px; }
    .doc-footer-bottom .doc-team-credits { font-size:12px; }
}
