/* Estructura funcional. Se conserva al desactivar el diseño oscuro. */
.bdoc-library { --bdoc-columns:2; --bdoc-icon-size:24px; box-sizing:border-box; }
.bdoc-library *, .bdoc-library *::before, .bdoc-library *::after { box-sizing:border-box; }
.bdoc-library [hidden] { display:none !important; }
.bdoc-library .bdoc-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.bdoc-library .bdoc-header { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.bdoc-library .bdoc-search { display:flex; align-items:center; gap:12px; }
.bdoc-library .bdoc-search-input { width:100%; min-width:0; }
.bdoc-library .bdoc-filters { display:flex; flex-wrap:wrap; gap:8px; }
.bdoc-library .bdoc-grid { display:grid; grid-template-columns:repeat(var(--bdoc-columns),minmax(0,1fr)); gap:16px; }
.bdoc-library .bdoc-card { display:flex; flex-direction:column; min-width:0; overflow-wrap:anywhere; }
.bdoc-library .bdoc-card-top, .bdoc-library .bdoc-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.bdoc-library .bdoc-footer { margin-top:auto; }
.bdoc-library .bdoc-icon { display:inline-flex; justify-content:center; align-items:center; flex-shrink:0; }
.bdoc-library .bdoc-icon svg, .bdoc-library .bdoc-icon img { width:var(--bdoc-icon-size); height:var(--bdoc-icon-size); object-fit:contain; }
.bdoc-library .bdoc-search-icon, .bdoc-library .bdoc-arrow { display:inline-flex; flex:0 0 20px; width:20px; height:20px; }
.bdoc-library .bdoc-search-icon svg, .bdoc-library .bdoc-arrow svg, .bdoc-library .bdoc-close svg, .bdoc-library .bdoc-search-icon img, .bdoc-library .bdoc-arrow img, .bdoc-library .bdoc-close img { width:100%; height:100%; object-fit:contain; }
.bdoc-library .bdoc-consult { display:inline-flex; align-items:center; gap:12px; }
.bdoc-library .bdoc-status { display:inline-flex; align-items:center; gap:6px; }
.bdoc-library .bdoc-status-dot { width:5px; height:5px; border-radius:50%; background:currentColor; }
.bdoc-library .bdoc-dialog { width:min(1000px,94vw); max-width:94vw; max-height:90vh; overflow:auto; padding:28px; border:1px solid #667085; border-radius:12px; color:#182230; background:#fff; }
.bdoc-library .bdoc-dialog::backdrop { background:rgb(0 0 0 / 75%); }
.bdoc-library .bdoc-dialog-body { padding-top:18px; }
.bdoc-library .bdoc-close { position:sticky; top:0; display:flex; margin-left:auto; align-items:center; justify-content:center; width:40px; height:40px; padding:9px; cursor:pointer; z-index:1; }
.bdoc-library .bdoc-pdf { display:block; width:100%; height:65vh; min-height:300px; border:1px solid #667085; background:#fff; }
.bdoc-library .bdoc-pdf-actions { display:flex; flex-wrap:wrap; gap:16px; margin:18px 0; }
.bdoc-library .bdoc-intro img { max-width:100%; height:auto; }
.bdoc-library .bdoc-viewer-help { font-size:13px; }
html.bdoc-modal-open { overflow:hidden; }
.bdoc-library :is(button,a,input):focus-visible { outline:3px solid var(--bdoc-accent,#d4a800); outline-offset:3px; }
@media(max-width:767px) { .bdoc-library .bdoc-grid { grid-template-columns:1fr; } .bdoc-library .bdoc-dialog { padding:16px; } .bdoc-library .bdoc-header { align-items:flex-start; } }
/* Apariencia opcional: solo se aplica cuando el widget tiene .bdoc-skin. */
.bdoc-skin { --bdoc-bg:#0b1525; --bdoc-card:#152235; --bdoc-accent:#f0c419; --bdoc-text:#f6f8fc; --bdoc-muted:#a3b2c7; --bdoc-border:#293950; color:var(--bdoc-text); background:var(--bdoc-bg); padding:24px; border-radius:8px; font-family:inherit; }
.bdoc-skin .bdoc-header { margin-bottom:24px; }
.bdoc-skin .bdoc-eyebrow { color:var(--bdoc-accent); text-transform:uppercase; letter-spacing:.16em; font-size:11px; font-weight:700; margin:0 0 12px; }
.bdoc-skin .bdoc-heading { color:var(--bdoc-text); text-transform:uppercase; font-size:clamp(22px,3vw,30px); line-height:1.15; font-weight:800; margin:0; }
.bdoc-skin .bdoc-count { flex-shrink:0; border:1px solid var(--bdoc-border); border-radius:30px; padding:7px 12px; font-size:12px; color:var(--bdoc-muted); }
.bdoc-skin .bdoc-search { background:var(--bdoc-card); border:1px solid var(--bdoc-border); border-radius:7px; padding:11px 16px; color:var(--bdoc-muted); }
.bdoc-skin .bdoc-search-input { background:transparent; border:0; border-radius:0; box-shadow:none; padding:3px 0; margin:0; font-family:inherit; font-size:14px; color:var(--bdoc-text); }
.bdoc-skin .bdoc-search-input::placeholder { color:var(--bdoc-muted); opacity:1; }
.bdoc-skin .bdoc-filters { margin:14px 0 24px; }
.bdoc-skin .bdoc-filter { background:transparent; color:var(--bdoc-muted); border:1px solid var(--bdoc-border); border-radius:5px; padding:8px 13px; font-size:12px; line-height:1.4; cursor:pointer; font-family:inherit; }
.bdoc-skin .bdoc-filter:is(.is-active,:hover) { color:var(--bdoc-accent); border-color:var(--bdoc-accent); background:rgb(240 196 25 / 5%); }
.bdoc-skin .bdoc-card { background:var(--bdoc-card); border:1px solid var(--bdoc-border); border-radius:10px; padding:26px; min-height:260px; }
.bdoc-skin .bdoc-card-top { margin-bottom:24px; }
.bdoc-skin .bdoc-icon { color:var(--bdoc-accent); border:1px solid rgb(240 196 25 / 25%); background:rgb(240 196 25 / 4%); border-radius:7px; padding:10px; }
.bdoc-skin .bdoc-number { color:var(--bdoc-muted); font-size:10px; letter-spacing:.1em; }
.bdoc-skin .bdoc-category { color:var(--bdoc-muted); font-size:10px; text-transform:uppercase; letter-spacing:.14em; margin:0 0 10px; }
.bdoc-skin .bdoc-title { color:var(--bdoc-text); font-size:22px; font-weight:800; line-height:1.2; margin:0 0 14px; }
.bdoc-skin .bdoc-description { color:var(--bdoc-muted); font-size:13px; line-height:1.7; margin:0 0 24px; }
.bdoc-skin .bdoc-footer { border-top:1px solid var(--bdoc-border); padding-top:18px; }
.bdoc-skin .bdoc-status { color:var(--bdoc-muted); font-size:11px; }
.bdoc-skin .bdoc-status-dot { background:var(--bdoc-accent); }
.bdoc-skin .bdoc-consult { color:var(--bdoc-accent); font-size:12px; font-weight:700; text-decoration:none; }
.bdoc-skin .bdoc-consult:hover { text-decoration:underline; }
.bdoc-skin .bdoc-info-card { display:flex; flex-direction:column; justify-content:center; padding:26px; border:1px dashed var(--bdoc-border); border-radius:10px; min-height:260px; }
.bdoc-skin .bdoc-info-title { color:var(--bdoc-accent); font-size:clamp(26px,3vw,38px); line-height:1.05; margin:0 0 18px; font-weight:800; white-space:pre-line; }
.bdoc-skin .bdoc-info-subtitle { color:var(--bdoc-text); font-size:20px; margin:0 0 14px; line-height:1.2; font-weight:700; }
.bdoc-skin .bdoc-info-text { color:var(--bdoc-muted); font-size:13px; line-height:1.7; margin:0; }
.bdoc-skin .bdoc-empty { color:var(--bdoc-muted); padding:24px 0; }
.bdoc-skin .bdoc-dialog { background:var(--bdoc-bg); color:var(--bdoc-text); border-color:var(--bdoc-border); font-family:inherit; }
.bdoc-skin .bdoc-dialog-category { text-transform:uppercase; color:var(--bdoc-accent); font-size:12px; letter-spacing:.1em; }
.bdoc-skin .bdoc-dialog-title { color:var(--bdoc-text); font-size:28px; margin:12px 0; }
.bdoc-skin .bdoc-dialog-description, .bdoc-skin .bdoc-viewer-help { color:var(--bdoc-muted); }
.bdoc-skin .bdoc-intro { margin-top:18px; line-height:1.6; }
.bdoc-skin .bdoc-close { color:var(--bdoc-text); border:1px solid var(--bdoc-border); border-radius:6px; background:var(--bdoc-card); }
.bdoc-skin .bdoc-pdf-actions a { color:var(--bdoc-accent); }
@media(max-width:767px) { .bdoc-skin { padding:16px; } .bdoc-skin .bdoc-card,.bdoc-skin .bdoc-info-card { padding:22px; } .bdoc-skin .bdoc-heading { font-size:22px; } .bdoc-skin .bdoc-count { font-size:10px; padding:6px 8px; } }
@media(prefers-reduced-motion:no-preference) { .bdoc-skin .bdoc-filter,.bdoc-skin .bdoc-consult { transition:color .15s,border-color .15s; } }
