/*
 * VM Documente — stil de bază, neutru. Tema îl poate ajusta prin variabilele de mai jos
 * sau îl poate opri complet din Setări (ori cu filtrul `vmdoc_load_css`).
 */
.vmdoc {
  --vmdoc-accent: #2d5c87;
  --vmdoc-accent-contrast: #fff;
  --vmdoc-text: inherit;
  --vmdoc-muted: #6b7280;
  --vmdoc-border: rgba(0, 0, 0, .12);
  --vmdoc-hover: rgba(0, 0, 0, .035);
  --vmdoc-radius: 6px;
  --vmdoc-gap: .75rem;
  color: var(--vmdoc-text);
  margin: 0 0 1.5em;
}

.vmdoc *, .vmdoc *::before, .vmdoc *::after { box-sizing: border-box; }

.vmdoc ul.vmdoc-list,
.vmdoc ul.vmdoc-categories,
.vmdoc ul.vmdoc-categories ul { list-style: none; margin: 0; padding: 0; }

/* Lista de documente */
.vmdoc-item {
  display: flex;
  gap: var(--vmdoc-gap);
  align-items: flex-start;
  padding: .7em .5em;
  border-bottom: 1px solid var(--vmdoc-border);
  margin: 0;
}
.vmdoc-item:hover { background: var(--vmdoc-hover); }
.vmdoc-item__body { display: flex; flex-direction: column; gap: .2em; min-width: 0; }
.vmdoc-item__title { font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
.vmdoc-item__title:hover { text-decoration: underline; }
.vmdoc-item__meta { display: flex; flex-wrap: wrap; gap: .25em 1em; font-size: .85em; color: var(--vmdoc-muted); }
.vmdoc-item__details { color: inherit; }

/* Eticheta de tip fișier */
.vmdoc-ext {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6em;
  height: 2.6em;
  border-radius: var(--vmdoc-radius);
  background: #64748b;
  color: #fff;
  font-size: .72em;
  font-weight: 700;
  letter-spacing: .02em;
  line-height: 1;
}
.vmdoc-ext--pdf { background: #c0392b; }
.vmdoc-ext--doc, .vmdoc-ext--docx, .vmdoc-ext--odt, .vmdoc-ext--rtf { background: #2b579a; }
.vmdoc-ext--xls, .vmdoc-ext--xlsx, .vmdoc-ext--ods, .vmdoc-ext--csv { background: #217346; }
.vmdoc-ext--ppt, .vmdoc-ext--pptx, .vmdoc-ext--odp { background: #b7472a; }
.vmdoc-ext--zip, .vmdoc-ext--rar, .vmdoc-ext--7z { background: #7c5e10; }

/* Subcategorii pliabile */
.vmdoc-folder { border: 1px solid var(--vmdoc-border); border-radius: var(--vmdoc-radius); margin: 0 0 .5em; }
.vmdoc-folder > summary {
  display: flex;
  align-items: center;
  gap: .6em;
  padding: .7em .9em;
  cursor: pointer;
  font-weight: 600;
  list-style: none;
}
.vmdoc-folder > summary::-webkit-details-marker { display: none; }
.vmdoc-folder > summary::before {
  content: "";
  width: .5em;
  height: .5em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transition: transform .15s ease;
  flex: 0 0 auto;
}
.vmdoc-folder[open] > summary::before { transform: rotate(45deg); }
.vmdoc-folder > summary:hover { background: var(--vmdoc-hover); }
.vmdoc-folder__name { flex: 1 1 auto; }
.vmdoc-folder__body { padding: 0 .9em .6em; }
.vmdoc-folder__body .vmdoc-folder { margin-top: .5em; }

.vmdoc-count {
  display: inline-block;
  min-width: 1.8em;
  padding: .1em .5em;
  border-radius: 1em;
  background: var(--vmdoc-hover);
  color: var(--vmdoc-muted);
  font-size: .8em;
  font-weight: 600;
  text-align: center;
}

/* Index categorii */
.vmdoc-categories > li { padding: .6em 0; border-bottom: 1px solid var(--vmdoc-border); }
.vmdoc-categories > li > a { font-weight: 600; }
.vmdoc-categories ul { margin: .4em 0 0 1.2em; }
.vmdoc-categories ul li { padding: .15em 0; }
.vmdoc-categories .vmdoc-count { margin-left: .4em; }

/* Căutare */
.vmdoc-search { display: flex; flex-wrap: wrap; gap: .5em; margin: 0 0 1.2em; }
.vmdoc-search input[type="search"] { flex: 1 1 14em; min-width: 0; padding: .55em .7em; }
.vmdoc-search select { padding: .5em; }
.vmdoc-search button,
.vmdoc-button {
  display: inline-block;
  padding: .55em 1.1em;
  border: 0;
  border-radius: var(--vmdoc-radius);
  background: var(--vmdoc-accent);
  color: var(--vmdoc-accent-contrast);
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
.vmdoc-button--secondary { background: transparent; color: var(--vmdoc-accent); box-shadow: inset 0 0 0 1px currentColor; }

/* Temele (ex. Enfold: `#top .main_color a`) colorează linkurile cu selectori mai specifici;
   butoanele își păstrează culorile indiferent de temă. */
html body .vmdoc a.vmdoc-button,
html body .vmdoc a.vmdoc-button:visited,
html body .vmdoc a.vmdoc-button:hover,
html body .vmdoc a.vmdoc-button:focus { color: var(--vmdoc-accent-contrast); background: var(--vmdoc-accent); text-decoration: none; }
html body .vmdoc a.vmdoc-button--secondary,
html body .vmdoc a.vmdoc-button--secondary:visited,
html body .vmdoc a.vmdoc-button--secondary:hover,
html body .vmdoc a.vmdoc-button--secondary:focus { color: var(--vmdoc-accent); background: transparent; }
html body .vmdoc a.vmdoc-button:hover { filter: brightness(1.08); }

/* Pagina documentului */
.vmdoc-breadcrumbs { display: flex; flex-wrap: wrap; gap: .4em; margin: 0 0 1em; font-size: .9em; color: var(--vmdoc-muted); }
.vmdoc-facts { display: grid; grid-template-columns: max-content 1fr; gap: .3em 1.2em; margin: 0 0 1.2em; }
.vmdoc-facts dt { color: var(--vmdoc-muted); margin: 0; }
.vmdoc-facts dd { margin: 0; }
.vmdoc-actions { display: flex; flex-wrap: wrap; gap: .5em; }
.vmdoc-preview { display: block; width: 100%; height: 80vh; min-height: 420px; border: 1px solid var(--vmdoc-border); border-radius: var(--vmdoc-radius); margin-top: 1em; }

/* Un singur document în pagină */
.vmdoc-card { display: flex; align-items: center; gap: var(--vmdoc-gap); padding: .8em; border: 1px solid var(--vmdoc-border); border-radius: var(--vmdoc-radius); }
.vmdoc-card__body { flex: 1 1 auto; display: flex; flex-direction: column; gap: .2em; min-width: 0; }
.vmdoc-card__title { font-weight: 600; overflow-wrap: anywhere; }

.vmdoc-pagination { display: flex; flex-wrap: wrap; gap: .3em; margin-top: 1em; }
.vmdoc-pagination a, .vmdoc-pagination span { padding: .3em .7em; border: 1px solid var(--vmdoc-border); border-radius: var(--vmdoc-radius); text-decoration: none; }
.vmdoc-pagination [aria-current] { background: var(--vmdoc-accent); color: var(--vmdoc-accent-contrast); border-color: var(--vmdoc-accent); }

.vmdoc-block__title { margin: 0 0 .6em; }
.vmdoc-empty, .vmdoc-results__count { color: var(--vmdoc-muted); }
.vmdoc-notice { padding: .7em 1em; border-left: 4px solid #d97706; background: rgba(217, 119, 6, .08); }
.vmdoc-more { margin-top: .6em; }

@media (max-width: 600px) {
  .vmdoc-card { flex-wrap: wrap; }
  .vmdoc-preview { height: 60vh; }
}
