/* =========================================================================
   Vademécum Clínico Chileno — Medvox
   Hoja de estilos aislada: todo cuelga de .medvox-vdm para no chocar
   con el tema de WordPress ni con Elementor.
   ========================================================================= */

.medvox-vdm{
  /* --- paleta clara (por defecto) --- */
  --vdm-ground:#F2F6FA; --vdm-surface:#FFFFFF; --vdm-surface2:#F7FAFD;
  --vdm-line:#DDE6EE; --vdm-line-soft:#EAF0F6;
  --vdm-ink:#16212B; --vdm-ink2:#41525F; --vdm-ink3:#6E8091;
  --vdm-brand:#0B4F8A; --vdm-brand2:#1976B8; --vdm-gold:#F6C945;
  --vdm-ok:#1F7A46; --vdm-warn:#A8710A; --vdm-avoid:#C05A17; --vdm-stop:#B3271E;
  --vdm-ok-bg:#E6F3EB; --vdm-warn-bg:#FBF1DC; --vdm-avoid-bg:#FBEBE0; --vdm-stop-bg:#FAE7E5;
  --vdm-shadow:0 1px 2px rgba(16,38,58,.06),0 6px 18px rgba(16,38,58,.06);
  --vdm-radius:10px;

  display:block;
  background:var(--vdm-ground);
  color:var(--vdm-ink);
  font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:15px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-align:left;
  border-radius:var(--vdm-radius);
  overflow:hidden;
}

/* Modo automático: sigue el esquema del sistema. Se activa con tema="auto". */
@media (prefers-color-scheme: dark){
  .medvox-vdm[data-tema="auto"]{
    --vdm-ground:#0C141B; --vdm-surface:#141F29; --vdm-surface2:#18242F;
    --vdm-line:#26333F; --vdm-line-soft:#1E2A35;
    --vdm-ink:#E8EFF5; --vdm-ink2:#AEC0CE; --vdm-ink3:#7E93A4;
    --vdm-brand:#5AA9E6; --vdm-brand2:#82C2F2; --vdm-gold:#F6C945;
    --vdm-ok:#5DBE86; --vdm-warn:#E0B45E; --vdm-avoid:#EE9159; --vdm-stop:#F0736A;
    --vdm-ok-bg:#12301F; --vdm-warn-bg:#332711; --vdm-avoid-bg:#33200F; --vdm-stop-bg:#331715;
    --vdm-shadow:0 1px 2px rgba(0,0,0,.35),0 6px 18px rgba(0,0,0,.28);
  }
}
.medvox-vdm[data-tema="oscuro"]{
  --vdm-ground:#0C141B; --vdm-surface:#141F29; --vdm-surface2:#18242F;
  --vdm-line:#26333F; --vdm-line-soft:#1E2A35;
  --vdm-ink:#E8EFF5; --vdm-ink2:#AEC0CE; --vdm-ink3:#7E93A4;
  --vdm-brand:#5AA9E6; --vdm-brand2:#82C2F2; --vdm-gold:#F6C945;
  --vdm-ok:#5DBE86; --vdm-warn:#E0B45E; --vdm-avoid:#EE9159; --vdm-stop:#F0736A;
  --vdm-ok-bg:#12301F; --vdm-warn-bg:#332711; --vdm-avoid-bg:#33200F; --vdm-stop-bg:#331715;
  --vdm-shadow:0 1px 2px rgba(0,0,0,.35),0 6px 18px rgba(0,0,0,.28);
}

/* --- reset defensivo contra el tema y Elementor --- */
.medvox-vdm *,
.medvox-vdm *::before,
.medvox-vdm *::after{ box-sizing:border-box; }
.medvox-vdm h1,.medvox-vdm h2,.medvox-vdm h3,.medvox-vdm h4,
.medvox-vdm p,.medvox-vdm ul,.medvox-vdm ol,.medvox-vdm dl,
.medvox-vdm dd,.medvox-vdm dt,.medvox-vdm figure,.medvox-vdm table{ margin:0; padding:0; }
.medvox-vdm h1,.medvox-vdm h2,.medvox-vdm h3,.medvox-vdm h4{
  font-family:Archivo,"Segoe UI",Helvetica,Arial,sans-serif;
  text-wrap:balance; letter-spacing:normal; text-transform:none; color:inherit;
}
.medvox-vdm ul{ list-style:disc; }
.medvox-vdm ul li{ margin:1px 0; }
.medvox-vdm a{ color:var(--vdm-brand2); text-decoration:underline; box-shadow:none; }
.medvox-vdm a:hover{ color:var(--vdm-brand); }
.medvox-vdm button{
  font-family:inherit; text-transform:none; letter-spacing:normal; border-radius:0;
  line-height:inherit; text-shadow:none; min-height:0; width:auto;
}
.medvox-vdm input,.medvox-vdm select,.medvox-vdm textarea{
  text-transform:none; letter-spacing:normal; min-height:0; width:auto; margin:0;
}
.medvox-vdm dl,.medvox-vdm dt,.medvox-vdm dd{ font-weight:inherit; }
.medvox-vdm img{ max-width:100%; height:auto; }
.medvox-vdm :focus-visible{ outline:2px solid var(--vdm-brand2); outline-offset:2px; }

.medvox-vdm .vdm-wrap{ max-width:1220px; margin:0 auto; padding:0 20px; }

/* --------------------------- cabecera --------------------------- */
.medvox-vdm .vdm-masthead{ background:var(--vdm-surface); border-bottom:1px solid var(--vdm-line); }
.medvox-vdm .vdm-mast-in{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:18px; padding:26px 0 20px; }
.medvox-vdm .vdm-brand{ display:flex; align-items:center; gap:12px; }
.medvox-vdm .vdm-brand-rule{ width:3px; height:34px; background:var(--vdm-gold); border-radius:2px; flex:none; }
.medvox-vdm .vdm-brand-mark{
  font-family:Archivo,"Segoe UI",Helvetica,Arial,sans-serif; font-weight:700; font-size:30px;
  letter-spacing:.02em; color:var(--vdm-brand); line-height:1;
}
.medvox-vdm .vdm-brand-sub{ font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--vdm-ink3); font-weight:600; }
.medvox-vdm .vdm-title{ flex:1 1 340px; }
.medvox-vdm .vdm-title h1{ font-size:26px; font-weight:700; letter-spacing:-.01em; line-height:1.2; }
.medvox-vdm .vdm-title p{ margin-top:4px; color:var(--vdm-ink2); font-size:13.5px; }
.medvox-vdm .vdm-meta{ display:flex; gap:22px; align-items:flex-end; }
.medvox-vdm .vdm-stat{ text-align:right; }
.medvox-vdm .vdm-stat b{
  display:block; font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:22px; font-weight:500; color:var(--vdm-brand); font-variant-numeric:tabular-nums; line-height:1;
}
.medvox-vdm .vdm-stat span{ font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--vdm-ink3); }

/* --------------------------- aviso --------------------------- */
.medvox-vdm .vdm-alert{
  display:flex; gap:12px; background:var(--vdm-surface2); border:1px solid var(--vdm-line);
  border-left:4px solid var(--vdm-gold); border-radius:var(--vdm-radius);
  padding:12px 16px; margin:18px 0; font-size:13.5px; color:var(--vdm-ink2);
}
.medvox-vdm .vdm-alert b{ color:var(--vdm-ink); }

/* --------------------------- barra de control --------------------------- */
.medvox-vdm .vdm-toolbar{
  position:sticky; top:0; z-index:40; background:var(--vdm-surface);
  border-bottom:1px solid var(--vdm-line); box-shadow:0 1px 0 rgba(16,38,58,.04);
}
.medvox-vdm .vdm-tb{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:12px 0; }
.medvox-vdm .vdm-search{
  flex:1 1 280px; display:flex; align-items:center; gap:9px; background:var(--vdm-surface2);
  border:1px solid var(--vdm-line); border-radius:8px; padding:9px 12px; margin:0;
}
.medvox-vdm .vdm-search input{
  flex:1; border:0; background:transparent; color:var(--vdm-ink); font:inherit; font-size:14.5px;
  outline:none; min-width:0; box-shadow:none; padding:0; height:auto;
}
.medvox-vdm .vdm-search svg{ flex:none; color:var(--vdm-ink3); }
.medvox-vdm select{
  font:inherit; font-size:13px; color:var(--vdm-ink); background:var(--vdm-surface2);
  border:1px solid var(--vdm-line); border-radius:8px; padding:8px 10px; max-width:190px;
  height:auto; line-height:1.4; box-shadow:none;
}
.medvox-vdm .vdm-btn{
  font:inherit; font-size:13px; font-weight:600; color:var(--vdm-ink2); background:var(--vdm-surface2);
  border:1px solid var(--vdm-line); border-radius:8px; padding:8px 13px; cursor:pointer;
  text-transform:none; letter-spacing:normal; box-shadow:none; line-height:1.4;
}
.medvox-vdm .vdm-btn:hover{ border-color:var(--vdm-brand2); color:var(--vdm-brand2); background:var(--vdm-surface2); }
.medvox-vdm .vdm-btn.is-on{ background:var(--vdm-stop-bg); border-color:var(--vdm-stop); color:var(--vdm-stop); }

.medvox-vdm .vdm-tabs{ display:flex; gap:2px; overflow-x:auto; border-top:1px solid var(--vdm-line-soft); padding-bottom:1px; }
.medvox-vdm .vdm-tab{
  font:inherit; font-size:13px; font-weight:600; white-space:nowrap; color:var(--vdm-ink3);
  background:none; border:0; border-bottom:2px solid transparent; padding:10px 13px; cursor:pointer;
  text-transform:none; letter-spacing:normal; border-radius:0;
}
.medvox-vdm .vdm-tab:hover{ color:var(--vdm-ink); background:none; }
.medvox-vdm .vdm-tab[aria-selected="true"]{ color:var(--vdm-brand); border-bottom-color:var(--vdm-gold); }

/* --------------------------- índice A–Z --------------------------- */
.medvox-vdm .vdm-az{ display:flex; flex-wrap:wrap; gap:3px; padding:12px 0 4px; }
.medvox-vdm .vdm-az button{
  font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:12px; color:var(--vdm-ink3);
  background:var(--vdm-surface); border:1px solid var(--vdm-line); border-radius:5px;
  width:26px; height:26px; cursor:pointer; padding:0; line-height:1;
}
.medvox-vdm .vdm-az button:hover{ color:var(--vdm-brand); border-color:var(--vdm-brand2); }
.medvox-vdm .vdm-az button:disabled{ opacity:.3; cursor:default; }

/* --------------------------- fichas --------------------------- */
.medvox-vdm .vdm-list{ display:flex; flex-direction:column; gap:9px; padding:14px 0 60px; }
.medvox-vdm .vdm-card{
  background:var(--vdm-surface); border:1px solid var(--vdm-line); border-radius:var(--vdm-radius);
  border-left:4px solid var(--vdm-rx,var(--vdm-brand2)); box-shadow:var(--vdm-shadow); overflow:hidden;
}
.medvox-vdm .vdm-card-head{
  display:flex; flex-wrap:wrap; gap:10px 14px; align-items:baseline; padding:13px 16px; cursor:pointer;
  background:none; border:0; width:100%; text-align:left; font:inherit; color:inherit; border-radius:0;
}
.medvox-vdm .vdm-card-head:hover .vdm-dci{ color:var(--vdm-brand2); }
.medvox-vdm .vdm-dci{ font-family:Archivo,Helvetica,Arial,sans-serif; font-weight:600; font-size:16.5px; color:var(--vdm-ink); letter-spacing:-.005em; }
.medvox-vdm .vdm-atc{ font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:11.5px; color:var(--vdm-ink3); letter-spacing:.02em; }
.medvox-vdm .vdm-brands{ flex:1 1 200px; font-size:13px; color:var(--vdm-ink2); }
.medvox-vdm .vdm-chips{ display:flex; flex-wrap:wrap; gap:5px; margin-left:auto; }
.medvox-vdm .vdm-chip{
  font-size:10.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  padding:3px 8px; border-radius:20px; border:1px solid transparent; white-space:nowrap;
}
.medvox-vdm .vdm-c-ok{ background:var(--vdm-ok-bg); color:var(--vdm-ok); }
.medvox-vdm .vdm-c-warn{ background:var(--vdm-warn-bg); color:var(--vdm-warn); }
.medvox-vdm .vdm-c-avoid{ background:var(--vdm-avoid-bg); color:var(--vdm-avoid); }
.medvox-vdm .vdm-c-stop{ background:var(--vdm-stop-bg); color:var(--vdm-stop); }
.medvox-vdm .vdm-c-neutral{ background:var(--vdm-surface2); color:var(--vdm-ink3); border-color:var(--vdm-line); }
.medvox-vdm .vdm-card-body{ display:none; border-top:1px solid var(--vdm-line-soft); padding:4px 16px 16px; }
.medvox-vdm .vdm-card.is-open .vdm-card-body{ display:block; }
.medvox-vdm .vdm-card.is-open .vdm-card-head{ background:var(--vdm-surface2); }

.medvox-vdm .vdm-grid{ display:grid; grid-template-columns:172px 1fr; gap:0; }
.medvox-vdm .vdm-grid dt{
  font-size:11px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; color:var(--vdm-brand);
  padding:9px 14px 9px 0; border-top:1px solid var(--vdm-line-soft);
}
.medvox-vdm .vdm-grid dd{ padding:9px 0; border-top:1px solid var(--vdm-line-soft); font-size:14px; color:var(--vdm-ink2); }
.medvox-vdm .vdm-grid dd strong{ color:var(--vdm-ink); }
.medvox-vdm .vdm-grid ul{ padding-left:17px; }
.medvox-vdm .vdm-tri{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:6px; }
.medvox-vdm .vdm-tri div{ background:var(--vdm-surface2); border:1px solid var(--vdm-line-soft); border-radius:7px; padding:8px 10px; font-size:13px; }
.medvox-vdm .vdm-tri b{ display:block; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--vdm-ink3); margin-bottom:2px; }
.medvox-vdm .vdm-tox{ background:var(--vdm-stop-bg); border:1px solid var(--vdm-stop); border-radius:8px; padding:11px 13px; margin-top:10px; }
.medvox-vdm .vdm-tox h4{ font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--vdm-stop); margin-bottom:6px; }
.medvox-vdm .vdm-tox p{ margin:3px 0; font-size:13.5px; color:var(--vdm-ink2); }
.medvox-vdm .vdm-tox .vdm-antidoto{ font-weight:600; color:var(--vdm-stop); }
.medvox-vdm .vdm-list.is-urg .vdm-card-body{ display:block; }
.medvox-vdm .vdm-list.is-urg .vdm-grid{ display:none; }
.medvox-vdm .vdm-list.is-urg .vdm-tox{ margin-top:0; }

/* --------------------------- tablas de agrupación --------------------------- */
.medvox-vdm .vdm-panel{ padding:16px 0 60px; }
.medvox-vdm .vdm-gsec{ margin-bottom:26px; }
.medvox-vdm .vdm-gsec h3{
  font-size:15px; font-weight:600; color:var(--vdm-ink); padding-bottom:7px;
  border-bottom:2px solid var(--vdm-gold); display:flex; justify-content:space-between; align-items:baseline; gap:10px;
}
.medvox-vdm .vdm-gsec h3 span{ font-family:"IBM Plex Mono",ui-monospace,monospace; font-size:12px; color:var(--vdm-ink3); font-variant-numeric:tabular-nums; }
.medvox-vdm .vdm-tblwrap{ overflow-x:auto; border:1px solid var(--vdm-line); border-radius:var(--vdm-radius); background:var(--vdm-surface); margin-top:9px; }
.medvox-vdm table{ border-collapse:collapse; width:100%; font-size:13.5px; min-width:560px; background:transparent; }
.medvox-vdm th{
  background:var(--vdm-surface2); text-align:left; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--vdm-ink3); font-weight:600; padding:9px 12px; border:0; border-bottom:1px solid var(--vdm-line);
  position:sticky; top:0;
}
.medvox-vdm td{ padding:9px 12px; border:0; border-bottom:1px solid var(--vdm-line-soft); color:var(--vdm-ink2); vertical-align:top; }
.medvox-vdm tr:last-child td{ border-bottom:0; }
.medvox-vdm tr:nth-child(even) td{ background:transparent; }
.medvox-vdm td.vdm-k{ color:var(--vdm-ink); font-weight:500; white-space:nowrap; }
.medvox-vdm .vdm-empty{ text-align:center; color:var(--vdm-ink3); padding:50px 0; font-size:14px; }
.medvox-vdm .vdm-loading{ text-align:center; color:var(--vdm-ink3); padding:60px 20px; font-size:14px; }

/* --------------------------- pie --------------------------- */
.medvox-vdm .vdm-foot{ border-top:1px solid var(--vdm-line); background:var(--vdm-surface); padding:24px 0 32px; font-size:12.5px; color:var(--vdm-ink3); }
.medvox-vdm .vdm-foot p{ margin-bottom:8px; }
.medvox-vdm .vdm-foot b{ color:var(--vdm-ink2); }

/* --------------------------- responsivo --------------------------- */
@media (max-width:760px){
  .medvox-vdm .vdm-grid{ grid-template-columns:1fr; }
  .medvox-vdm .vdm-grid dt{ padding-bottom:0; border-top:1px solid var(--vdm-line-soft); }
  .medvox-vdm .vdm-grid dd{ border-top:0; padding-top:2px; }
  .medvox-vdm .vdm-tri{ grid-template-columns:1fr; }
  .medvox-vdm .vdm-chips{ margin-left:0; width:100%; }
  .medvox-vdm .vdm-meta{ width:100%; justify-content:flex-start; }
  .medvox-vdm .vdm-stat{ text-align:left; }
  .medvox-vdm select{ max-width:100%; flex:1 1 140px; }
}
@media print{
  .medvox-vdm .vdm-toolbar,.medvox-vdm .vdm-az,.medvox-vdm .vdm-foot{ display:none; }
  .medvox-vdm .vdm-card-body{ display:block !important; }
  .medvox-vdm{ background:#fff; }
}
@media (prefers-reduced-motion:reduce){
  .medvox-vdm *{ animation:none !important; transition:none !important; }
}
