/* SignalNids Rando V1.9.4 — album photo / commentaires illustrés.
   S'intègre dans les panneaux actuels ; ne change jamais le header, footer ou GPS Live. */
.snr194-route-gallery{padding:6px 19px 15px;min-width:0}
.snr194-gallery-top{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:7px 0 13px}
.snr194-gallery-top>div{display:flex;flex-direction:column;gap:4px}
.snr194-gallery-top span{font-size:10px;letter-spacing:.11em;font-weight:900;color:#208157}
.snr194-gallery-top strong{color:#164d35;font-size:20px;line-height:1.25}
.snr194-gallery-top>small{padding:6px 10px;background:#e9f3ea;border-radius:100px;color:#326a4e;font-weight:750;font-size:11px}
.snr194-gallery-track{display:flex;align-items:stretch;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:3px;overscroll-behavior-inline:contain;max-width:100%;padding:2px 2px 12px;-webkit-overflow-scrolling:touch}
.snr194-gallery-entry{flex:0 0 min(48%,275px);min-width:0;scroll-snap-align:start}
.snr194-gallery-card{position:relative;display:block;width:100%;padding:0;aspect-ratio:4/3;overflow:hidden;background:#eaf2e9;border:0;border-radius:16px;cursor:pointer;color:#fff;text-align:left;box-shadow:0 7px 18px #092e1a16}
.snr194-gallery-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s}
.snr194-gallery-card:hover img{transform:scale(1.04)}
.snr194-gallery-card span{position:absolute;inset:auto 0 0;background:linear-gradient(0deg,rgba(4,31,20,.91),rgba(4,31,20,.08));padding:27px 13px 13px;display:flex;flex-direction:column;gap:4px}
.snr194-gallery-card small{font-size:10px;color:#cce6d6;font-weight:750;text-transform:uppercase;letter-spacing:.08em}
.snr194-gallery-card strong{font-size:14px;font-weight:850;line-height:1.4;overflow-wrap:anywhere}
.snr194-gallery-hint{font-size:11px;color:#6b836f;margin:0;line-height:1.6}
.snr194-comment-photos{display:grid;grid-template-columns:repeat(3,minmax(0,110px));gap:8px;margin:13px 0 7px;max-width:100%}
.snr194-comment-photo{cursor:zoom-in;min-width:0;border-radius:13px;padding:0;border:1px solid #e3ece2;overflow:hidden;background:#f4f8f1;aspect-ratio:1/1}
.snr194-comment-photo img{display:block;width:100%;height:100%;object-fit:cover}
.snr194-comment-photo:hover,.snr194-comment-photo:focus-visible{outline:2px solid #4d9e71;outline-offset:2px}
.snr194-upload{background:#f4f9f3;border:1px dashed #bfd7c3;border-radius:14px;padding:16px;margin:16px 0 12px;min-width:0}
.snr194-upload label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#194f36;font-size:13px;font-weight:850;margin:0 0 10px;cursor:pointer}
.snr194-upload label .icon{width:19px;height:19px;color:#26815a}
.snr194-upload label span{font-weight:500;font-size:11px;color:#7a8d7e}
.snr194-upload input[type=file]{display:block;width:100%;min-width:0;max-width:100%;font:inherit;font-size:12px;color:#42684d;margin-bottom:10px}
.snr194-upload input[type=file]::file-selector-button{border:1px solid #bdd6c2;border-radius:10px;padding:9px 12px;background:#fff;color:#185a3b;font-weight:800;margin-right:12px;cursor:pointer}
.snr194-upload small{display:block;color:#718576;font-size:11px;line-height:1.65}
.snr194-upload-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}
.snr194-upload-preview:empty{display:none}
.snr194-preview-photo{position:relative;width:74px;height:74px;border:1px solid #d8e5d9;border-radius:11px;overflow:hidden;background:#fff}
.snr194-preview-photo img{display:block;width:100%;height:100%;object-fit:cover}
.snr194-upload-status{color:#2d6745;font-size:11px;line-height:1.6;width:100%;margin:2px 0 0}
.snr194-upload-status.is-error{color:#a13c32;font-weight:750}
.snr194-viewer{width:min(92vw,860px);max-width:none;max-height:min(88dvh,900px);padding:0;overflow:hidden;border:0;border-radius:18px;background:#fff;box-shadow:0 28px 65px #041a1390;color:#184532}
.snr194-viewer::backdrop{background:rgba(4,30,19,.82)}
.snr194-viewer-inner{display:flex;flex-direction:column;max-height:min(88dvh,900px);position:relative}
.snr194-viewer-close{position:absolute;z-index:2;top:12px;right:12px;display:grid;place-items:center;border:0;width:42px;height:42px;border-radius:50%;background:#fffffff2;color:#12472f;font-size:26px;line-height:1;cursor:pointer}
.snr194-viewer img{display:block;width:100%;height:auto;max-height:66dvh;object-fit:contain;background:#0e2419}
.snr194-viewer-bottom{padding:15px 20px 18px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}
.snr194-viewer-label{min-width:0;display:flex;flex-direction:column;gap:4px}
.snr194-viewer-label strong{font-size:17px;color:#173f2f;overflow-wrap:anywhere}
.snr194-viewer-label small{font-size:12px;color:#637f6b;line-height:1.5;overflow-wrap:anywhere}
.snr194-viewer-map{border:0;border-radius:999px;background:#155d3b;color:#fff;font:inherit;font-size:12px;font-weight:800;white-space:nowrap;padding:11px 17px;cursor:pointer}
.snr194-viewer-map[hidden]{display:none!important}
.snr194-gallery-card:focus-visible,.snr194-viewer-close:focus-visible,.snr194-viewer-map:focus-visible{outline:3px solid #51ae81;outline-offset:3px}
@media(max-width:760px){
  .snr194-route-gallery{padding:4px 13px 12px}
  .snr194-gallery-top strong{font-size:18px}
  .snr194-gallery-entry{flex-basis:min(77vw,245px)}
  .snr194-comment-photos{grid-template-columns:repeat(3,minmax(0,1fr));max-width:300px}
  .snr194-viewer{width:100vw;height:auto;max-height:90dvh;margin:auto 0 0;border-radius:19px 19px 0 0}
  .snr194-viewer-inner{max-height:90dvh}
  .snr194-viewer img{max-height:63dvh}
  .snr194-viewer-bottom{padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px));flex-wrap:wrap}
  .snr194-viewer-label{flex:1 1 100%}
  .snr194-viewer-map{width:100%;min-height:44px}
}
@media(prefers-reduced-motion:reduce){.snr194-gallery-card img{transition:none}}
