/* Galleria pagine template — brand Martini */
.tpl-gal{margin:0 0 var(--section-s,64px);font-family:"Plus Jakarta Sans",system-ui,sans-serif}
.tpl-gal__stage{position:relative}
.tpl-gal__viewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-radius:16px;border:var(--btn-border-width,1px) solid var(--border);background:var(--surface);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.tpl-gal__viewport::-webkit-scrollbar{display:none}
.tpl-gal__viewport:focus-visible{outline:var(--btn-focus-width,2px) solid var(--btn-focus-color,#4F46E5);outline-offset:var(--btn-focus-offset,2px)}
.tpl-gal__track{display:flex;margin:0;padding:0;list-style:none}
.tpl-gal__slide{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;margin:0}
.tpl-gal__slide img{display:block;width:100%;height:auto;aspect-ratio:1200/750;object-fit:cover;object-position:top}
.tpl-gal__arrow.btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;min-width:44px;min-height:44px;padding:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);box-shadow:0 4px 16px rgba(17,17,24,.12);z-index:2}
.tpl-gal__arrow .ico{width:24px;height:24px}
.tpl-gal__arrow--prev{left:16px}.tpl-gal__arrow--next{right:16px}
.tpl-gal__arrow[disabled]{opacity:.4;pointer-events:none}
.tpl-gal__bar{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.tpl-gal__caption{margin:0;font-size:var(--fs-small,14px);font-weight:500;color:var(--text)}
.tpl-gal__count{color:var(--text-muted);font-weight:400;margin-left:8px;font-variant-numeric:tabular-nums}
.tpl-gal__thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none}
.tpl-gal__thumb{display:flex;flex-direction:column;gap:8px;width:100%;min-height:44px;padding:0;border:0;background:none;cursor:pointer;font:inherit;font-size:var(--fs-small,14px);font-weight:500;color:var(--text-muted);text-align:left;transition:color var(--dur-sm,.15s) var(--ease-standard,ease)}
.tpl-gal__thumb img{display:block;width:100%;height:auto;aspect-ratio:1200/750;object-fit:cover;object-position:top;border-radius:8px;border:2px solid transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(var(--border),var(--border)) border-box;transition:opacity var(--dur-sm,.15s);opacity:.7}
.tpl-gal__thumb:hover img{opacity:1;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--gradient-brand) border-box}
.tpl-gal__thumb[aria-current="true"]{color:var(--text)}
.tpl-gal__thumb[aria-current="true"] img{opacity:1;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--gradient-brand) border-box}
.tpl-gal__thumb:focus-visible{outline:var(--btn-focus-width,2px) solid var(--btn-focus-color,#4F46E5);outline-offset:2px;border-radius:8px}
@media (max-width:767px){.tpl-gal__arrow.btn{width:44px;height:44px}.tpl-gal__arrow--prev{left:8px}.tpl-gal__arrow--next{right:8px}.tpl-gal__thumbs{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.tpl-gal__thumbs li{flex:0 0 112px;scroll-snap-align:start}.tpl-gal__viewport{border-radius:12px}}
@media (prefers-reduced-motion:reduce){.tpl-gal__viewport{scroll-behavior:auto}}
