/* Pliki do pobrania — plg_content_plikidopobrania
 * Zmienne do nadpisania w szablonie: .pdp { --pdp-accent: ...; }
 */
.pdp {
  --pdp-accent: #0b62c4;
  --pdp-text: #1f2328;
  --pdp-muted: #667085;
  --pdp-bg: #fff;
  --pdp-soft: #f3f5f8;
  --pdp-border: #e2e6ed;
  --pdp-radius: 10px;
  --pdp-gap: 16px;
  --pdp-cols: 3;
  --pdp-ratio: 4 / 3;
  --pdp-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 2px 8px rgba(16, 24, 40, .08);
  --pdp-shadow-hover: 0 4px 10px rgba(16, 24, 40, .08), 0 14px 30px rgba(16, 24, 40, .12);
  margin: 1.5rem 0;
  color: var(--pdp-text);
  font-size: 1rem;
  line-height: 1.45;
}
.pdp *, .pdp *::before, .pdp *::after { box-sizing: border-box; }
.pdp ul { list-style: none; margin: 0; padding: 0; }
.pdp li { margin: 0; }
.pdp-heading { margin: 0 0 1rem; font-size: 1.3rem; }
.pdp-empty { color: var(--pdp-muted); font-style: italic; }
.pdp-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Typy plików */
.pdp-t-pdf { --t: #d93025; }
.pdp-t-word { --t: #2b5797; }
.pdp-t-excel { --t: #1e7145; }
.pdp-t-ppt { --t: #c43e1c; }
.pdp-t-archive { --t: #8a6d1d; }
.pdp-t-image { --t: #7b3fa0; }
.pdp-t-audio { --t: #d9730d; }
.pdp-t-video { --t: #b0124f; }
.pdp-t-text { --t: #4b5d6b; }
.pdp-t-other { --t: #5f6b7a; }
.pdp-ico { display: block; width: 100%; height: 100%; color: var(--t, #5f6b7a); }

/* Grupy (podfoldery) */
.pdp-group { margin-top: 1.75rem; }
.pdp-group__title {
  display: flex; align-items: center; gap: .5rem;
  margin: 0 0 .8rem; padding-left: .7rem;
  border-left: 3px solid var(--pdp-accent);
  font-size: 1.08rem; line-height: 1.3;
}
.pdp-group__count {
  font-size: .72rem; font-weight: 600; color: var(--pdp-muted);
  background: var(--pdp-soft); border-radius: 999px; padding: .1rem .5rem;
}

/* Przyciski */
.pdp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4em;
  padding: .55em .9em; margin: 0;
  border: 1px solid transparent; border-radius: calc(var(--pdp-radius) * .7);
  font: inherit; font-size: .875rem; font-weight: 600; line-height: 1.2;
  text-decoration: none !important; cursor: pointer; white-space: nowrap;
  transition: background-color .15s, color .15s, border-color .15s, filter .15s;
}
.pdp-btn svg { flex: 0 0 auto; width: 1.05em; height: 1.05em; }
.pdp-btn--primary { background: var(--pdp-accent); color: #fff !important; }
.pdp-btn--primary:hover, .pdp-btn--primary:focus-visible { filter: brightness(.9); }
.pdp-btn--ghost { background: transparent; color: var(--pdp-accent); border-color: currentColor; }
.pdp-btn--ghost:hover, .pdp-btn--ghost:focus-visible { background: var(--pdp-soft); }
.pdp-btn--icon { width: 2.3rem; height: 2.3rem; padding: 0; border-radius: 50%; }
.pdp-btn--icon svg { width: 1.1rem; height: 1.1rem; }
.pdp-btn--sm { font-size: .8rem; padding: .4em .7em; }
.pdp-btn:focus-visible, .pdp-title:focus-visible, .pdp-chip:focus-visible { outline: 2px solid var(--pdp-accent); outline-offset: 2px; }

.pdp-title {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  color: var(--pdp-text) !important; font-weight: 600; text-decoration: none !important; overflow-wrap: anywhere;
}
.pdp-title:hover { color: var(--pdp-accent) !important; text-decoration: underline !important; }

.pdp-meta {
  display: flex; flex-wrap: wrap; gap: .15rem 0;
  margin-top: .3rem; font-size: .8rem; color: var(--pdp-muted);
}
.pdp-meta > * + *::before { content: "\00B7"; margin: 0 .45rem; }
.pdp-meta__ext { font-weight: 600; color: var(--t, var(--pdp-muted)); }

/* ---------- Kafle ---------- */
.pdp-grid {
  display: grid; gap: var(--pdp-gap);
  grid-template-columns: repeat(auto-fill, minmax(max(150px, calc((100% - (var(--pdp-cols) - 1) * var(--pdp-gap)) / var(--pdp-cols))), 1fr));
}
.pdp-card {
  position: relative; display: flex; flex-direction: column; min-width: 0;
  background: var(--pdp-bg); border-radius: var(--pdp-radius); overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pdp--shadow .pdp-card { box-shadow: var(--pdp-shadow); }
.pdp--border .pdp-card { border: 1px solid var(--pdp-border); }
.pdp--flat .pdp-card { background: var(--pdp-soft); }
.pdp--hover .pdp-card:hover { transform: translateY(-3px); }
.pdp--hover.pdp--shadow .pdp-card:hover { box-shadow: var(--pdp-shadow-hover); }
.pdp--hover.pdp--border .pdp-card:hover { border-color: var(--pdp-accent); }

.pdp-thumb {
  position: relative; display: flex; align-items: center; justify-content: center;
  aspect-ratio: var(--pdp-ratio); overflow: hidden;
  background: var(--pdp-soft); color: var(--t); text-decoration: none !important;
}
.pdp-thumb::before { content: ""; position: absolute; inset: 0; background: var(--t); opacity: .08; }
.pdp--flat .pdp-thumb { background: #e9edf2; }
.pdp-thumb .pdp-ico { position: relative; width: auto; height: 46%; max-height: 104px; filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .08)); transition: transform .25s; }
.pdp-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.pdp-thumb--pdf img { object-position: top center; }
.pdp-thumb--svg img { object-fit: contain; padding: 12%; }
.pdp--hover .pdp-card:hover .pdp-thumb img { transform: scale(1.04); }
.pdp--hover .pdp-card:hover .pdp-thumb .pdp-ico { transform: scale(1.06) rotate(-2deg); }
.pdp-thumb[data-pdp-open] { cursor: zoom-in; }
.pdp-badge {
  position: absolute; top: .6rem; left: .6rem; z-index: 1;
  padding: .22em .5em; border-radius: 5px;
  background: var(--t); color: #fff; font-size: .68rem; font-weight: 700; letter-spacing: .04em; line-height: 1.3;
}
.pdp-body { flex: 1; min-width: 0; padding: .85rem 1rem .35rem; }
.pdp-actions { display: flex; flex-wrap: wrap; gap: .5rem; padding: .6rem 1rem 1rem; }
.pdp-actions .pdp-btn { flex: 1 1 auto; }

/* ---------- Lista ---------- */
.pdp-list { border-radius: var(--pdp-radius); overflow: hidden; }
.pdp--shadow .pdp-list { background: var(--pdp-bg); box-shadow: var(--pdp-shadow); }
.pdp--border .pdp-list { background: var(--pdp-bg); border: 1px solid var(--pdp-border); }
.pdp--flat .pdp-list { background: var(--pdp-soft); }
.pdp-row {
  display: flex; align-items: center; gap: .9rem;
  padding: .75rem 1rem; border-top: 1px solid var(--pdp-border);
  transition: background-color .15s;
}
.pdp-row:first-child { border-top: 0; }
.pdp--hover .pdp-row:hover { background: rgba(127, 140, 160, .07); }
.pdp-row__icon { flex: 0 0 auto; width: 32px; height: 38px; }
.pdp-row__main { flex: 1; min-width: 0; }
.pdp-row__actions { display: flex; flex: 0 0 auto; gap: .4rem; }

/* ---------- Tabela ---------- */
.pdp-table-wrap { border-radius: var(--pdp-radius); overflow: hidden; }
.pdp--shadow .pdp-table-wrap { box-shadow: var(--pdp-shadow); background: var(--pdp-bg); }
.pdp--border .pdp-table-wrap { border: 1px solid var(--pdp-border); background: var(--pdp-bg); }
.pdp--flat .pdp-table-wrap { background: var(--pdp-soft); }
.pdp-table { width: 100%; margin: 0; border-collapse: collapse; font-size: .92rem; background: transparent; }
.pdp-table th {
  padding: .65rem 1rem; border: 0; text-align: left;
  background: var(--pdp-soft); color: var(--pdp-muted);
  font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
}
.pdp--flat .pdp-table th { background: #e9edf2; }
.pdp-table td { padding: .7rem 1rem; border: 0; border-top: 1px solid var(--pdp-border); vertical-align: middle; background: transparent; }
.pdp--hover .pdp-table tbody tr:hover td { background: rgba(127, 140, 160, .07); }
.pdp-cell-name { display: flex; align-items: center; gap: .7rem; }
.pdp-cell-name .pdp-ico { flex: 0 0 auto; width: 24px; height: 29px; }
.pdp-nowrap { white-space: nowrap; color: var(--pdp-muted); }
.pdp-table td.pdp-cell-actions { text-align: right; white-space: nowrap; }
.pdp-cell-actions .pdp-btn + .pdp-btn { margin-left: .35rem; }
@media (max-width: 640px) {
  .pdp-table thead { display: none; }
  .pdp-table, .pdp-table tbody, .pdp-table tr, .pdp-table td { display: block; width: 100%; }
  .pdp-table tr { padding: .6rem 0; border-top: 1px solid var(--pdp-border); }
  .pdp-table tr:first-child { border-top: 0; }
  .pdp-table td { padding: .2rem 1rem; border: 0; }
  .pdp-table td.pdp-nowrap { display: inline-block; width: auto; padding-right: 0; font-size: .8rem; }
  .pdp-table td.pdp-cell-actions { text-align: left; padding-top: .5rem; }
}

/* ---------- Przyciski (chipy) ---------- */
.pdp-chips { display: flex; flex-wrap: wrap; gap: .6rem; }
.pdp-chip {
  display: inline-flex; align-items: center; gap: .55rem; max-width: 100%;
  padding: .5rem .95rem .5rem .65rem;
  border: 1px solid var(--pdp-border); border-radius: calc(var(--pdp-radius) * 2.5);
  background: var(--pdp-bg); color: var(--pdp-text) !important;
  font-size: .9rem; text-decoration: none !important;
  transition: border-color .15s, color .15s, box-shadow .15s, transform .15s;
}
.pdp--shadow .pdp-chip { border-color: transparent; box-shadow: var(--pdp-shadow); }
.pdp--flat .pdp-chip { border-color: transparent; background: var(--pdp-soft); }
.pdp-chip:hover { border-color: var(--pdp-accent); color: var(--pdp-accent) !important; }
.pdp--hover .pdp-chip:hover { transform: translateY(-2px); }
.pdp-chip .pdp-ico { flex: 0 0 auto; width: 20px; height: 24px; }
.pdp-chip__title { min-width: 0; overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.pdp-chip__meta { color: var(--pdp-muted); font-size: .76rem; white-space: nowrap; }

/* ---------- Okno podglądu ---------- */
.pdp-dialog {
  width: min(1100px, 94vw); height: min(92vh, 920px); max-width: none; max-height: none;
  margin: auto; padding: 0; border: 0; border-radius: 12px; overflow: hidden;
  background: #121317; color: #fff; box-shadow: 0 24px 70px rgba(0, 0, 0, .45);
}
.pdp-dialog[open] { display: flex; flex-direction: column; }
.pdp-dialog::backdrop { background: rgba(10, 12, 16, .78); }
.pdp-dialog__bar { display: flex; align-items: center; gap: 1rem; padding: .55rem .6rem .55rem 1rem; background: #1c1e24; }
.pdp-dialog__title { flex: 1; min-width: 0; overflow: hidden; font-size: .95rem; text-overflow: ellipsis; white-space: nowrap; }
.pdp-dialog__tools { display: flex; gap: .4rem; }
.pdp-dialog__tools a, .pdp-dialog__tools button {
  display: inline-flex; align-items: center; gap: .4rem; margin: 0;
  padding: .45rem .7rem; border: 0; border-radius: 8px;
  background: rgba(255, 255, 255, .1); color: #fff !important;
  font: inherit; font-size: .84rem; text-decoration: none !important; cursor: pointer;
}
.pdp-dialog__tools a:hover, .pdp-dialog__tools button:hover { background: rgba(255, 255, 255, .2); }
.pdp-dialog__tools svg { width: 16px; height: 16px; }
.pdp-dialog__main { position: relative; flex: 1; min-height: 0; }
.pdp-dialog__stage { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.pdp-dialog__stage img, .pdp-dialog__stage video { max-width: 100%; max-height: 100%; object-fit: contain; }
.pdp-dialog__stage iframe { width: 100%; height: 100%; border: 0; background: #fff; }
.pdp-dialog__audio { display: flex; flex-direction: column; align-items: center; gap: 1.25rem; padding: 2rem; text-align: center; }
.pdp-dialog__audio .pdp-ico { width: 72px; height: 86px; --t: #d9730d; }
.pdp-dialog__nav {
  position: absolute; top: 50%; z-index: 2; transform: translateY(-50%);
  display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 50%;
  background: rgba(0, 0, 0, .5); color: #fff; cursor: pointer;
}
.pdp-dialog__nav:hover { background: rgba(0, 0, 0, .75); }
.pdp-dialog__nav[hidden] { display: none; }
.pdp-dialog__nav--prev { left: 12px; }
.pdp-dialog__nav--next { right: 12px; }
.pdp-dialog__nav svg { width: 22px; height: 22px; }
@media (max-width: 600px) {
  .pdp-dialog { width: 100vw; height: 100dvh; max-height: 100dvh; border-radius: 0; }
  .pdp-dialog__tools .pdp-lbl { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .pdp *, .pdp *::before { transition: none !important; }
}
