/* com_stockage — local library gallery (documents view). Override colours with
   --stk-accent / --stk-border on .stk-library from the template. */
.stk-library { --stk-accent: currentColor; --stk-border: rgba(0, 0, 0, .12); }
.stk-library__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 1.5rem 1.25rem;
    list-style: none;
    margin: 1.5rem 0;
    padding: 0;
}
.stk-doc { min-width: 0; text-align: center; }
.stk-doc__link { display: flex; flex-direction: column; align-items: center; gap: .6rem; color: inherit; text-decoration: none; }
.stk-doc__thumb {
    display: flex; align-items: center; justify-content: center;
    width: 100%; max-width: 160px; aspect-ratio: 3 / 4;
    overflow: hidden; border: 1px solid var(--stk-border); background: #fff;
    transition: box-shadow .2s, transform .2s;
}
.stk-doc__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.stk-doc__icon { font: 700 1.1rem/1 system-ui, sans-serif; letter-spacing: .05em; opacity: .55; }
.stk-doc__title { font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.stk-doc__link:hover .stk-doc__thumb,
.stk-doc__link:focus-visible .stk-doc__thumb { box-shadow: 0 6px 18px rgba(0, 0, 0, .15); transform: translateY(-2px); }
.stk-doc__link:hover .stk-doc__title { text-decoration: underline; }
.stk-doc__link:focus-visible { outline: 2px solid var(--stk-accent); outline-offset: 4px; }
.stk-doc__desc { margin-top: .4rem; font-size: .9em; }
@media (max-width: 480px) {
    .stk-library__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem .75rem; }
}
@media (prefers-reduced-motion: reduce) { .stk-doc__thumb { transition: none; } }

/* Folder browser (navigation option): breadcrumb, then the sub-folders as chips. Also used by plg_blocks_stockage. */
.stk-nav { font-family: inherit; margin: 0 0 1.5rem; }
.stk-nav__crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .5rem; list-style: none; margin: 0; padding: 0 .25rem .75rem; border-bottom: 1px solid var(--stk-border, rgba(0, 0, 0, .12)); font-size: .95rem; color: #555; }
.stk-nav__crumbs::before { content: ">>"; font-size: .8rem; margin-right: .25rem; }
.stk-nav__crumbs li + li::before { content: "/"; margin-right: .5rem; opacity: .6; }
.stk-nav__crumbs a { color: inherit; }
.stk-nav__crumbs a:hover { text-decoration: underline; }
.stk-nav__title { margin: 1.25rem 0 .75rem .5rem; font-size: .85rem; text-transform: uppercase; letter-spacing: .02em; color: #333; }
.stk-nav__folders { display: flex; flex-wrap: wrap; gap: .75rem 1rem; list-style: none; margin: .75rem 0 0; padding: 0 .5rem; }
.stk-nav__folder { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.5rem; padding: .35rem .9rem; border: 1px solid #ccc; border-radius: 3px; background: #f7f7f7; color: #555; font-size: .85rem; text-decoration: none; }
.stk-nav__folder:hover, .stk-nav__folder:focus-visible { background: #fff; border-color: #888; color: #222; }
.stk-nav__folder:focus-visible, .stk-nav__crumbs a:focus-visible { outline: 2px solid var(--stk-accent, currentColor); outline-offset: 2px; }
.stk-nav__icon { flex: none; color: #777; }

/* Folder cards (menu option folders_layout = cards) */
.stk-nav__cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; list-style: none; margin: 1rem 0 0; padding: 0; }
.stk-card { display: flex; flex-direction: column; gap: .35rem; height: 100%; padding: 1.25rem; border: 1px solid #dfe4ec; border-radius: 12px; background: #fff; color: inherit; text-decoration: none; transition: box-shadow .15s, border-color .15s, transform .15s; }
.stk-card:hover, .stk-card:focus-visible { border-color: var(--stk-accent, #555); box-shadow: 0 8px 24px rgba(0, 0, 0, .1); transform: translateY(-2px); }
.stk-card:focus-visible { outline: 2px solid var(--stk-accent, currentColor); outline-offset: 2px; }
.stk-card__icon { color: var(--stk-accent, #888); }
.stk-card__title { font-weight: 700; font-size: 1.05rem; line-height: 1.3; }
.stk-card__meta { margin-top: auto; font-size: .85rem; color: #5c6b7e; }
@media (prefers-reduced-motion: reduce) { .stk-card { transition: none; } .stk-card:hover { transform: none; } }

/* stockage/folder (Oui Blocks): file list, one row per file, download icon first */
.blocks-stockage-folder__list { list-style: none; margin: 1rem 0 0; padding: 0; }
.blocks-stockage-folder__item { padding: .6rem 0; border-bottom: 1px solid #dfe4ec; }
.blocks-stockage-folder__item:first-child { border-top: 1px solid #dfe4ec; }
.blocks-stockage-folder__link { display: inline-flex; align-items: flex-start; gap: .6rem; text-decoration: none; }
.blocks-stockage-folder__icon { flex: none; margin-top: .2em; }
.blocks-stockage-folder__item > small { margin-left: .35rem; color: #5c6b7e; }
.blocks-stockage-folder__desc { margin: .35rem 0 0 calc(18px + .6rem); font-size: .9em; }
