/* Trek FileBird Toolkit — stile minimo, sovrascrivibile dal tema */
.trek-img { display:block; width:100%; height:auto; }
.trek-flyover video, .trek-flyover iframe { display:block; width:100%; aspect-ratio:16/9; height:auto; background:#000; }
.trek-map { width:100%; border-radius:8px; overflow:hidden; z-index:0; }

.trek-gallery .gallery { display:grid; grid-template-columns:repeat(var(--cols,4), minmax(0,1fr)); gap:.75em; margin:1em 0; }
.trek-gallery .gallery-item { margin:0; width:auto; }
.trek-gallery .gallery-icon img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:4px; }
.trek-gallery .gallery br { display:none; }
@media (max-width: 782px) { .trek-gallery .gallery { grid-template-columns:repeat(2, minmax(0,1fr)); } }

/* vista ingrandita della gallery (trek.js) */
.trek-gallery .gallery-icon a { display:block; cursor:zoom-in; }
.trek-lb { position:fixed; inset:0; z-index:100000; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr) auto; background:rgba(10,10,10,.94); color:#fff; font-size:16px; }
.trek-lb[hidden] { display:none; }
.trek-lb__bar { display:flex; align-items:center; gap:.5em; padding:.75em 1em; }
.trek-lb__count { margin-right:auto; font-size:.9em; opacity:.8; font-variant-numeric:tabular-nums; }
.trek-lb__stage { position:relative; display:grid; grid-template:minmax(0,1fr) / minmax(0,1fr); place-items:center; min-height:0; padding:0 4em; touch-action:pan-y; }
.trek-lb__img { max-width:100%; max-height:100%; object-fit:contain; user-select:none; transition:opacity .25s; }
.trek-lb__img.is-loading { opacity:0; }
.trek-lb__caption { min-height:1.5em; padding:.75em 1em 1em; text-align:center; font-size:.95em; opacity:.85; }
.trek-lb button { display:grid; place-items:center; width:2.75em; height:2.75em; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.12); color:#fff; cursor:pointer; transition:background .2s; }
.trek-lb button:hover { background:rgba(255,255,255,.25); }
.trek-lb button:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.trek-lb__nav { position:absolute; top:50%; transform:translateY(-50%); }
.trek-lb__nav--prev { left:.75em; }
.trek-lb__nav--next { right:.75em; }
.trek-lb.is-single .trek-lb__nav, .trek-lb.is-single .trek-lb__play { display:none; }
@media (max-width: 600px) { .trek-lb__stage { padding:0 .5em; } .trek-lb__nav { top:auto; bottom:.5em; transform:none; } }

.trek-stats { list-style:none; margin:1em 0; padding:0; display:flex; flex-wrap:wrap; gap:.75em 2em; }
.trek-stats li { display:flex; flex-direction:column; }
.trek-stats span { font-size:.8em; opacity:.7; text-transform:uppercase; letter-spacing:.04em; }
.trek-stats strong { font-size:1.35em; }

.trek-profile { margin:1em 0; }
.trek-profile svg { display:block; width:100%; height:var(--h,160px); }
.trek-profile .a { fill:currentColor; opacity:.12; }
.trek-profile .l { fill:none; stroke:currentColor; stroke-width:2; }
.trek-profile figcaption { display:flex; justify-content:space-between; font-size:.8em; opacity:.7; }

.trek-files { list-style:none; padding:0; }
.trek-files li { padding:.4em 0; border-bottom:1px solid rgba(0,0,0,.08); display:flex; justify-content:space-between; gap:1em; }
.trek-files span { font-size:.75em; opacity:.6; }

.trek-filters { display:flex; flex-wrap:wrap; gap:.5em; margin-bottom:1.25em; }
.trek-filters button { border:1px solid currentColor; background:transparent; color:inherit; padding:.35em .9em; border-radius:999px; cursor:pointer; font:inherit; font-size:.9em; }
.trek-filters button.is-active { color:#fff; background:#333; border-color:#333; }

.trek-grid { display:grid; grid-template-columns:repeat(var(--cols,3), minmax(0,1fr)); gap:1.5em; }
@media (max-width: 900px) { .trek-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width: 560px) { .trek-grid { grid-template-columns:1fr; } }
.trek-item[hidden] { display:none; }
.trek-card { height:100%; display:flex; flex-direction:column; border-radius:8px; overflow:hidden; background:rgba(0,0,0,.03); }
.trek-card__img img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.trek-card__body { padding:1em; }
.trek-card__kicker { font-size:.75em; text-transform:uppercase; letter-spacing:.06em; opacity:.7; }
.trek-card__title { margin:.2em 0 .4em; font-size:1.15em; }
.trek-card__title a { text-decoration:none; color:inherit; }
.trek-card__meta { margin:0; font-size:.9em; opacity:.8; }
