.lm-gallery {
    --lm-hero-ratio: 1.77777778; --lm-thumb-ratio: 1.77777778;
    --lm-thumb-width: 160px; --lm-gap: 12px; --lm-vertical: 20px;
    --lm-radius: 8px; --lm-fit: cover; --lm-position: center;
    min-width: 0; position: relative;
}
.lm-gallery *, .lm-gallery *::before, .lm-gallery *::after { box-sizing: border-box; }
.lm-gallery.lm-gallery { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "hero" "row"; gap: var(--lm-vertical); }
.lm-gallery.lm-gallery.lm-gallery { display: grid; }
.lm-gallery[data-lm-placement="top"] { grid-template-areas: "row" "hero"; }
.lm-gallery[data-row-active="false"], .lm-gallery[data-lm-show-row="false"] { grid-template-areas: "hero"; grid-template-columns: minmax(0, 1fr); gap: 0; }
.lm-gallery[data-row-active="false"] .lm-gallery__navigation, .lm-gallery[data-lm-show-row="false"] .lm-gallery__navigation { display: none; }
.lm-gallery[data-lm-placement="left"][data-row-active="true"] { grid-template-columns: var(--lm-side-width, min(160px, 25%)) minmax(0, 1fr); grid-template-areas: "row hero"; }
.lm-gallery[data-lm-placement="right"][data-row-active="true"] { grid-template-columns: minmax(0, 1fr) var(--lm-side-width, min(160px, 25%)); grid-template-areas: "hero row"; }
.lm-gallery [hidden] { display: none !important; }
.lm-gallery__stage { grid-area: hero; min-width: 0; position: relative; width: 100%; aspect-ratio: var(--lm-hero-ratio); overflow: hidden; border-radius: var(--lm-radius); background: #f3f3f1; }
.lm-gallery .lm-gallery__hero { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: var(--lm-fit); object-position: var(--lm-position); }
.lm-gallery__navigation { grid-area: row; display: flex; align-items: center; gap: var(--lm-gap); width: 100%; min-width: 0; }
.lm-gallery__viewport { flex: 1 1 0; min-width: 0; overflow: hidden; }
.lm-gallery__track { position: relative; display: flex; align-items: flex-start; justify-content: safe center; gap: var(--lm-gap); min-width: 0; }
.lm-gallery .lm-gallery__thumb { appearance: none; position: relative; flex: 0 0 auto; width: min(var(--lm-thumb-width), 100%); aspect-ratio: var(--lm-thumb-ratio); padding: 0; border: 0; background: #f3f3f1; border-radius: var(--lm-radius); overflow: hidden; cursor: pointer; }
.lm-gallery .lm-gallery__thumb img { display: block; width: 100%; height: 100%; object-fit: var(--lm-fit); object-position: var(--lm-position); }
.lm-gallery[data-lm-ready] .lm-gallery__thumb { position: absolute; top: 0; left: 0; width: var(--lm-thumb-width); }
.lm-gallery[data-lm-placement="left"] .lm-gallery__navigation, .lm-gallery[data-lm-placement="right"] .lm-gallery__navigation { position: relative; min-height: 0; align-self: stretch; }
.lm-gallery[data-lm-placement="left"] .lm-gallery__viewport, .lm-gallery[data-lm-placement="right"] .lm-gallery__viewport { position: absolute; inset: 0; height: 100%; width: 100%; }
.lm-gallery[data-lm-placement="left"] .lm-gallery__track, .lm-gallery[data-lm-placement="right"] .lm-gallery__track { flex-direction: column; align-items: center; height: 100%; }
.lm-gallery__thumb:focus-visible { outline: 3px solid #235b77; outline-offset: -3px; }
.lm-gallery__stage:focus-visible { outline: 3px solid #235b77; outline-offset: 2px; }
.lm-gallery[data-lm-shadow="true"] .lm-gallery__stage, .lm-gallery[data-lm-shadow="true"] .lm-gallery__thumb { box-shadow: 0 3px 12px rgb(0 0 0 / .12); }
.lm-gallery__status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.lm-gallery .lm-gallery__toggle, .lm-gallery .lm-gallery__prev, .lm-gallery .lm-gallery__next { display: none !important; }
.lm-gallery-empty { display: none; }
body.elementor-editor-active .lm-gallery-empty, body.elementor-edit-mode .lm-gallery-empty, .elementor-edit-area .lm-gallery-empty { display: block; padding: 12px; border: 1px dashed currentColor; }
@media (prefers-reduced-motion: reduce) { .lm-gallery *, .lm-gallery *::before, .lm-gallery *::after { scroll-behavior: auto; transition: none !important; animation: none !important; } }
