/* One gallery, independent of legacy Swiper/FlexSlider styles. */
.lt-product-page { max-width:1440px; }
.lt-product-grid { grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:40px; }
.lt-product-summary .product_title { font-size:clamp(26px,2.2vw,36px); line-height:1.15; }
body.admin-bar .site-header { top:32px; }
.ltg { display:grid; grid-template-columns:76px minmax(0,1fr); gap:14px; min-width:0; }
.ltg button { appearance:none; font:inherit; cursor:pointer; margin:0; }
.ltg button:focus-visible { outline:3px solid var(--lt-brand-green); outline-offset:3px; }
.ltg [hidden] { display:none!important; }
.ltg-thumbs { display:flex; flex-direction:column; gap:10px; max-height:680px; overflow:auto; scrollbar-width:thin; padding:3px; }
.ltg-thumb { flex:none; width:100%; padding:3px; border:2px solid transparent; border-radius:10px; background:#f1f1ef; opacity:.65; }
.ltg-thumb:hover,.ltg-thumb[aria-pressed="true"] { opacity:1; border-color:var(--lt-brand-green); }
.ltg-thumb img { display:block; width:100%; height:88px; object-fit:contain; border-radius:6px; }
.ltg-view { position:relative; align-self:start; min-width:0; overflow:hidden; border-radius:14px; background:#f3f3f1; }
.ltg-open { display:block; width:100%; padding:0; border:0; background:transparent; touch-action:pan-y; }
.ltg-main { display:block; width:100%; height:clamp(380px,48vw,680px); object-fit:contain; }
.ltg-hint { position:absolute; top:14px; right:14px; padding:7px 12px; border-radius:20px; background:#fffffff0; color:#222; font-size:13px; }
.ltg .ltg-arrow { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; padding:0; border:1px solid #ddd; border-radius:50%; color:#222; background:#fffffff2; box-shadow:0 2px 10px #0001; font-size:32px; line-height:1; z-index:2; }
.ltg-prev { left:12px; }.ltg-next { right:12px; }
.ltg-count { position:absolute; bottom:12px; left:50%; transform:translateX(-50%); background:#fffffff0; color:#222; padding:4px 12px; border-radius:16px; font-size:12px; pointer-events:none; }
.ltg-dialog { position:fixed; inset:0; margin:0; width:100vw; max-width:none; height:100dvh; max-height:none; padding:0; border:0; background:#101416; color:#fff; overflow:hidden; }
.ltg-dialog::backdrop { background:#101416; }
.ltg-stage { position:absolute; inset:74px 16px 45px; display:flex; align-items:center; justify-content:center; overflow:hidden; touch-action:none; }
.ltg-large { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; user-select:none; transform-origin:center; }
.ltg-stage.is-zoomed { cursor:grab; }.ltg-stage.is-dragging { cursor:grabbing; }
.ltg-tools { position:absolute; right:16px; top:16px; display:flex; gap:8px; z-index:3; }
.ltg-tools button { border:1px solid #ffffff40; color:white; background:#2e3336; border-radius:24px; min-width:44px; height:44px; padding:0 12px; font-size:24px; }
.ltg-tools .ltg-reset { font-size:13px; min-width:68px; }
.ltg-tools .ltg-close { margin-left:12px; background:white; color:#111; font-size:30px; }
body.ltg-modal-open { overflow:hidden; }
@media(max-width:850px) {
  .lt-product-grid { grid-template-columns:1fr; gap:24px; }
  .ltg { grid-template-columns:minmax(0,1fr); }
  .ltg-view { grid-row:1; }
  .ltg-thumbs { grid-row:2; flex-direction:row; max-height:none; overflow-x:auto; }
  .ltg-thumb { width:64px; }
  .ltg-thumb img { height:72px; }
  .ltg-main { height:min(115vw,540px); }
}
@media(max-width:782px) { body.admin-bar .site-header { top:46px; } }
@media(max-width:600px) { body.admin-bar .site-header { position:relative; top:0; } }
@media(max-width:600px) {
  .ltg-stage { inset:16px 12px 50px; }
  .ltg-tools { top:16px; right:16px; }
  .ltg-tools [data-zoom],.ltg-tools .ltg-reset { display:none; }
  .ltg-tools .ltg-close { margin-left:0; width:48px; height:48px; border-radius:50%; }
}
