/* DF Cursada: todo bajo .dfc para no chocar con los estilos de Divi.
   Colores y fuentes: cambiar solo las variables de abajo (por ejemplo, para usar los colores globales de Divi). */
.dfc{
  --dfc-bg:#f5f7f9; --dfc-surface:#fff; --dfc-ink:#14202b; --dfc-muted:#5b6977; --dfc-line:#dfe5eb;
  --dfc-accent:#1f5fbf; --dfc-accent-soft:#e6eefb; --dfc-accent-ink:#fff;
  --dfc-warn:#b4540a; --dfc-warn-soft:#fdf0e3;
  --dfc-c1:#1f5fbf; --dfc-c2:#0f8a6a; --dfc-c3:#a8479a; --dfc-c4:#c26a12; --dfc-c5:#5a55c9; --dfc-c6:#b23b3b;
  --dfc-font:inherit;                      /* hereda la fuente de Divi */
  --dfc-display:inherit;                   /* fuente de títulos de Divi */
  --dfc-mono:ui-monospace,"Cascadia Mono",Consolas,"Liberation Mono",monospace;
  --dfc-r:10px;
  color:var(--dfc-ink);font-family:var(--dfc-font);font-size:15px;line-height:1.5;
  text-align:left;                         /* Divi justifica el texto por defecto */
}
.dfc *,.dfc *::before,.dfc *::after{box-sizing:border-box}
.dfc [hidden]{display:none!important}
.dfc a{color:var(--dfc-accent)}
.dfc :focus-visible{outline:2px solid var(--dfc-accent);outline-offset:2px}
/* resets frente a Divi */
.dfc button{font-family:inherit;text-transform:none;letter-spacing:normal;box-shadow:none;line-height:1.3}
.dfc h2,.dfc h3{padding:0;line-height:1.25;color:var(--dfc-ink);font-family:var(--dfc-display)}
.dfc ul{list-style:none;margin:0;padding:0}
.dfc ul li{padding:0}
.dfc table{margin:0;border-spacing:0}
.dfc p{padding-bottom:0}

.dfc-lede{color:var(--dfc-muted);max-width:62ch;margin:0}
.dfc-term{display:inline-flex;font-family:var(--dfc-mono);font-size:13px;background:var(--dfc-accent-soft);color:var(--dfc-accent);padding:3px 10px;border-radius:999px;margin-top:10px}
.dfc-tabs{display:flex;gap:4px;border-bottom:1px solid var(--dfc-line);margin:22px 0 20px;overflow-x:auto}
.dfc-tab{appearance:none;border:0;border-bottom:2px solid transparent;background:none;font-weight:600;font-size:15px;color:var(--dfc-muted);padding:10px 14px;cursor:pointer;white-space:nowrap}
.dfc-tab[aria-selected="true"]{color:var(--dfc-ink);border-bottom-color:var(--dfc-accent)}
.dfc-n{font-family:var(--dfc-mono);font-weight:400;font-size:12px;color:var(--dfc-muted);margin-left:4px}

.dfc-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.dfc-search{flex:1 1 260px;min-width:0;position:relative;display:block}
.dfc-search input{width:100%;font:inherit;font-size:15px;padding:10px 12px 10px 36px;border:1px solid var(--dfc-line);border-radius:var(--dfc-r);background:var(--dfc-surface);color:var(--dfc-ink);margin:0}
.dfc-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--dfc-muted)}
.dfc select{font:inherit;font-size:14px;padding:9px 10px;border:1px solid var(--dfc-line);border-radius:var(--dfc-r);background:var(--dfc-surface);color:var(--dfc-ink)}
.dfc-chips{display:flex;flex-wrap:wrap;gap:6px}
.dfc-chip{appearance:none;border:1px solid var(--dfc-line);background:var(--dfc-surface);color:var(--dfc-ink);font-weight:500;font-size:13px;padding:5px 11px;border-radius:999px;cursor:pointer}
.dfc-chip[aria-pressed="true"]{background:var(--dfc-ink);color:var(--dfc-surface);border-color:var(--dfc-ink)}
.dfc-chip.dfc-day{font-family:var(--dfc-mono);font-size:12px;min-width:38px}
.dfc-filters{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.dfc-filters > .dfc-search{flex:none}     /* en columna, flex-basis se volvía altura */
.dfc-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.dfc-lbl{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--dfc-muted);min-width:70px}

.dfc-group h2{font-weight:700;font-size:20px;margin:26px 0 4px}
.dfc-sub{color:var(--dfc-muted);font-size:13px;margin:0 0 12px}
.dfc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
@media (max-width:420px){.dfc-grid{grid-template-columns:1fr}}
.dfc-card{background:var(--dfc-surface);border:1px solid var(--dfc-line);border-radius:var(--dfc-r);padding:14px 16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.dfc-cardtop{display:flex;gap:10px;align-items:flex-start}
.dfc-card h3{font-weight:700;font-size:17px;margin:0}
.dfc-com{font-family:var(--dfc-mono);font-weight:500;font-size:13px;color:var(--dfc-accent);background:var(--dfc-accent-soft);border-radius:5px;padding:1px 6px;margin-left:6px;vertical-align:2px}
.dfc-alt{font-size:12px;color:var(--dfc-muted);margin-top:2px}
.dfc-prof{font-size:14px;color:var(--dfc-muted)}
.dfc-add{margin-left:auto;flex:none;appearance:none;border:1px solid var(--dfc-line);background:var(--dfc-surface);color:var(--dfc-ink);border-radius:8px;font-weight:500;font-size:12px;padding:5px 9px;cursor:pointer;white-space:nowrap}
.dfc-add[aria-pressed="true"]{background:var(--dfc-accent);border-color:var(--dfc-accent);color:var(--dfc-accent-ink)}
.dfc-add:disabled{opacity:.45;cursor:default}
.dfc-sched{display:flex;flex-direction:column;gap:6px}
.dfc-sched li{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:baseline;font-size:14px}
.dfc-tipo{font-family:var(--dfc-mono);font-size:11px;font-weight:500;padding:1px 6px;border-radius:4px;border:1px solid var(--dfc-line);color:var(--dfc-muted);text-align:center;min-width:34px}
.dfc-when{font-family:var(--dfc-mono);font-size:13px;font-variant-numeric:tabular-nums}
.dfc-where{grid-column:2;font-size:13px;color:var(--dfc-muted)}
.dfc-where b{color:var(--dfc-ink);font-weight:500}
.dfc-none{font-style:italic;color:var(--dfc-muted);font-size:13px}
.dfc details{border-top:1px dashed var(--dfc-line);padding-top:8px;font-size:13px}
.dfc summary{cursor:pointer;color:var(--dfc-muted);font-weight:500}
.dfc dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:8px 0 0}
.dfc dt{color:var(--dfc-muted);white-space:nowrap;font-weight:400}
.dfc dt.dfc-dth{grid-column:1/-1;color:var(--dfc-ink);font-weight:600;margin-top:4px}
.dfc dd{margin:0;padding:0}
.dfc-foot{display:flex;gap:12px;align-items:center;font-size:13px;margin-top:auto}
.dfc-foot a{font-weight:500;text-decoration:none}
.dfc-foot a:hover{text-decoration:underline}
.dfc-empty{color:var(--dfc-muted);padding:30px 0;text-align:center}

.dfc-weekhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.dfc-weekhead p{margin:0;color:var(--dfc-muted);font-size:14px;max-width:70ch}
.dfc-example{font-size:12px;background:var(--dfc-warn-soft);color:var(--dfc-warn);padding:2px 8px;border-radius:999px}
.dfc-weekscroll{overflow-x:auto;border:1px solid var(--dfc-line);border-radius:var(--dfc-r);background:var(--dfc-surface)}
.dfc-week{display:grid;grid-template-columns:48px repeat(6,minmax(120px,1fr));min-width:780px;position:relative}
.dfc-dh{font-weight:600;font-size:13px;padding:8px;border-bottom:1px solid var(--dfc-line);border-left:1px solid var(--dfc-line);background:var(--dfc-surface)}
.dfc-hcol{position:relative}
.dfc-hcol span{position:absolute;right:6px;transform:translateY(-50%);font-family:var(--dfc-mono);font-size:11px;color:var(--dfc-muted)}
.dfc-col{position:relative;border-left:1px solid var(--dfc-line);background-image:linear-gradient(var(--dfc-line) 1px,transparent 1px);background-size:100% var(--dfc-hh)}
.dfc-blk{position:absolute;left:3px;right:3px;border-radius:6px;padding:4px 6px;font-size:12px;line-height:1.25;overflow:hidden;color:var(--dfc-ink);background:color-mix(in srgb,var(--k) 16%,var(--dfc-surface));border-left:3px solid var(--k)}
.dfc-blk b{display:block;font-weight:600}
.dfc-blk .dfc-t{font-family:var(--dfc-mono);font-size:11px;color:var(--dfc-muted)}
.dfc-blk.dfc-clash{outline:2px solid var(--dfc-warn);outline-offset:-2px}
.dfc-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.dfc-it{display:flex;gap:6px;align-items:center;font-size:13px;background:var(--dfc-surface);border:1px solid var(--dfc-line);border-radius:999px;padding:3px 6px 3px 10px}
.dfc-sw{width:10px;height:10px;border-radius:3px;background:var(--k)}
.dfc-it button{appearance:none;border:0;background:none;color:var(--dfc-muted);cursor:pointer;font-size:15px;line-height:1;padding:0 4px}
.dfc-clashmsg{margin-top:10px;font-size:13px;color:var(--dfc-warn)}

.dfc-count{font-size:13px;color:var(--dfc-muted);margin:10px 0}
.dfc-per{margin-top:18px}
.dfc-per h3{font-size:16px;margin:0 0 6px;display:flex;gap:8px;align-items:baseline}
.dfc-per h3 small{font-family:var(--dfc-mono);font-size:12px;color:var(--dfc-muted);font-weight:400}
.dfc-tblwrap{overflow-x:auto}
.dfc-tbl{width:100%;border-collapse:collapse;background:var(--dfc-surface);border:1px solid var(--dfc-line);font-size:14px}
.dfc-tbl td{padding:7px 12px;border:0;border-top:1px solid var(--dfc-line);vertical-align:top}
.dfc-tbl tr:first-child td{border-top:0}
.dfc-tbl td.dfc-doc{color:var(--dfc-muted);width:38%}
.dfc-tbl td.dfc-lk{width:1%;white-space:nowrap}
.dfc mark{background:var(--dfc-accent-soft);color:inherit;border-radius:2px;padding:0}
@media (max-width:600px){.dfc-tbl td{display:block}.dfc-tbl td.dfc-doc{width:auto;border-top:0;padding-top:0}.dfc-tbl td.dfc-lk{padding-top:0}}
.dfc-more{margin-top:14px}
