/* LayoutGlut file viewer */
.layoutglut, .lg-modal {
  --lg-accent: #4f46e5;
  --lg-btn-text: #fff;
  --lg-radius: 8px;
  --lg-height: 640px;
  --lg-modal-width: 1000px;
  --lg-bg: #fff;
  --lg-soft: #f6f7fb;
  --lg-line: #e6e8ef;
  --lg-text: #1f2937;
  --lg-muted: #6b7280;
  --lg-pdf: #dc2626;
  --lg-word: #2563eb;
  --lg-excel: #16a34a;
  --lg-powerpoint: #ea580c;
  --lg-image: #7c3aed;
  --lg-video: #db2777;
  --lg-audio: #0891b2;
  --lg-text-c: #64748b;
}
.layoutglut *, .lg-modal * { box-sizing: border-box; }

/* Section on the product page */
.lg-section { margin: 1.5em 0; color: var(--lg-text); clear: both; }
.lg-section .lg-heading { margin: 0 0 .75em; font-size: 1.15em; }
.lg-files { list-style: none !important; margin: 0 0 1em !important; padding: 0 !important; display: flex; flex-direction: column; gap: 8px; }
.lg-files li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.lg-file {
  all: unset; box-sizing: border-box; cursor: pointer; display: flex; align-items: center; gap: 12px; width: 100%;
  padding: 10px 14px; border: 1px solid var(--lg-line); border-radius: var(--lg-radius); background: var(--lg-bg);
  transition: border-color .15s, box-shadow .15s, background .15s; font: inherit; color: inherit;
}
.lg-file:hover { border-color: var(--lg-accent); box-shadow: 0 2px 10px rgba(15, 23, 42, .06); }
.lg-file:focus-visible { outline: 2px solid var(--lg-accent); outline-offset: 2px; }
.lg-file[aria-pressed="true"] { border-color: var(--lg-accent); background: color-mix(in srgb, var(--lg-accent) 6%, #fff); }
.lg-file-main { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.lg-file-label { font-weight: 600; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lg-file-meta { font-size: .82em; color: var(--lg-muted); margin-top: 2px; }
.lg-file-action { font-size: .85em; font-weight: 600; color: var(--lg-accent); white-space: nowrap; }

.lg-icon { position: relative; display: inline-flex; flex: none; color: var(--lg-text-c); }
.lg-icon-ext { position: absolute; left: 0; right: 0; bottom: 7px; text-align: center; color: #fff; font: 700 7.5px/1 system-ui, sans-serif; letter-spacing: .02em; }
.lg-icon-pdf { color: var(--lg-pdf); } .lg-icon-word { color: var(--lg-word); } .lg-icon-excel { color: var(--lg-excel); }
.lg-icon-powerpoint { color: var(--lg-powerpoint); } .lg-icon-image { color: var(--lg-image); } .lg-icon-video { color: var(--lg-video); }
.lg-icon-audio { color: var(--lg-audio); }

/* Cards layout */
.lg-layout-grid .lg-files { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.lg-layout-grid .lg-file { flex-direction: column; align-items: flex-start; height: 100%; padding: 14px; }
.lg-layout-grid .lg-file-label { white-space: normal; }
.lg-layout-grid .lg-icon svg { width: 36px; height: 45px; }
.lg-layout-grid .lg-icon-ext { bottom: 9px; font-size: 9px; }
/* Buttons layout */
.lg-layout-buttons .lg-files { flex-direction: row; flex-wrap: wrap; }
.lg-layout-buttons .lg-file { width: auto; padding: 8px 14px; border-radius: 999px; }
.lg-layout-buttons .lg-file-meta, .lg-layout-buttons .lg-file-action { display: none; }

/* Buttons (product cards, popups) */
.lg-card { display: block; margin: .5em 0; }
.lg-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; cursor: pointer; text-decoration: none !important;
  font: inherit; font-size: .92em; font-weight: 600; line-height: 1.2; border-radius: var(--lg-radius); transition: filter .15s, background .15s;
}
.lg-btn-button { padding: .6em 1.1em; border: 0; background: var(--lg-accent); color: var(--lg-btn-text) !important; }
.lg-btn-button:hover { filter: brightness(1.08); }
.lg-btn-icon { width: 38px; height: 38px; padding: 0; border: 1px solid var(--lg-line); background: #fff; color: var(--lg-accent); border-radius: 50%; }
.lg-btn-icon:hover { background: var(--lg-accent); color: var(--lg-btn-text); }
.lg-btn-link { padding: 0; border: 0; background: none; color: var(--lg-accent) !important; text-decoration: underline !important; }
.lg-btn:focus-visible { outline: 2px solid var(--lg-accent); outline-offset: 2px; }

/* Viewer */
.lg-stage { margin-top: 4px; }
.lg-viewer { display: flex; flex-direction: column; border: 1px solid var(--lg-line); border-radius: var(--lg-radius); overflow: hidden; background: var(--lg-bg); }
.lg-viewer:fullscreen { border-radius: 0; }
.lg-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; padding: 4px 6px 4px 14px; background: var(--lg-soft); border-bottom: 1px solid var(--lg-line); }
.lg-title { color: var(--lg-text); font-weight: 600; font-size: .92em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.lg-tools { display: flex; align-items: center; gap: 2px; flex: none; }
.lg-tool {
  all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 4px;
  min-width: 34px; height: 34px; padding: 0 6px; border-radius: 6px; color: var(--lg-muted); font-size: 13px;
}
.lg-tool:hover { background: #e9ebf3; color: var(--lg-text); }
.lg-tool:focus-visible { outline: 2px solid var(--lg-accent); }
.lg-tool[disabled] { opacity: .35; cursor: default; background: none; }
.lg-tool.is-active { color: var(--lg-accent); background: color-mix(in srgb, var(--lg-accent) 10%, #fff); }
.lg-body { position: relative; height: var(--lg-height); max-height: calc(100vh - 140px); min-height: 240px; background: #eef0f5; }
.lg-viewer:fullscreen .lg-body { height: auto; max-height: none; flex: 1; }
.lg-canvas, .lg-render { position: absolute; inset: 0; overflow: auto; }
.lg-frame { display: block; width: 100%; height: 100%; border: 0; background: #fff; }
.lg-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 20px; text-align: center; background: rgba(238, 240, 245, .92); color: var(--lg-muted); z-index: 5; }
.lg-overlay[hidden] { display: none; }
.lg-overlay p { margin: 0; }
.lg-error { color: var(--lg-text); font-weight: 600; }
.lg-spinner { width: 34px; height: 34px; border: 3px solid #d7dbe7; border-top-color: var(--lg-accent); border-radius: 50%; animation: lg-spin .8s linear infinite; }
@keyframes lg-spin { to { transform: rotate(360deg); } }
.lg-image-wrap { display: flex; align-items: center; justify-content: center; padding: 12px; }
.lg-image { max-width: 100%; max-height: 100%; object-fit: contain; cursor: zoom-in; user-select: none; }
.lg-image-wrap.lg-zoomed { display: block; }
.lg-image-wrap.lg-zoomed .lg-image { max-width: none; max-height: none; cursor: zoom-out; }
.lg-media-wrap { display: flex; align-items: center; justify-content: center; padding: 16px; background: #111827; }
.lg-video { width: 100%; height: 100%; object-fit: contain; }
.lg-audio { width: min(560px, 100%); }
.lg-viewer[data-group="audio"] .lg-body { height: 160px; min-height: 160px; }
.lg-after:empty { display: none; }

/* Popup */
html.lg-modal-open { overflow: hidden; }
.lg-modal { position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; padding: 24px; color: var(--lg-text); }
.lg-modal[hidden] { display: none; }
.lg-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .62); backdrop-filter: blur(2px); }
.lg-dialog { position: relative; display: flex; flex-direction: column; width: min(var(--lg-modal-width), 100%); max-height: 100%; background: var(--lg-bg); border-radius: calc(var(--lg-radius) + 4px); box-shadow: 0 24px 60px rgba(0, 0, 0, .3); overflow: hidden; outline: none; }
.lg-modal-head { display: flex; align-items: center; gap: 8px; padding: 10px 10px 10px 20px; border-bottom: 1px solid var(--lg-line); }
.lg-modal-title { flex: 1; margin: 0 !important; color: var(--lg-text) !important; font-size: 1.05em !important; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lg-modal-nav { display: flex; gap: 2px; }
.lg-single .lg-modal-nav, .lg-single .lg-modal-side { display: none; }
.lg-modal-main { display: flex; min-height: 0; flex: 1; }
.lg-modal-side { flex: 0 0 230px; border-right: 1px solid var(--lg-line); overflow-y: auto; background: var(--lg-soft); max-height: calc(100vh - 110px); }
.lg-modal-files { list-style: none; margin: 0; padding: 8px; display: flex; flex-direction: column; gap: 4px; }
.lg-modal-files li { margin: 0; list-style: none; }
.lg-modal-file { all: unset; box-sizing: border-box; cursor: pointer; display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 10px; border-radius: 8px; font-size: 14px; line-height: 1.3; }
.lg-modal-file:hover { background: #eceef5; }
.lg-modal-file[aria-current="true"] { background: #fff; box-shadow: 0 1px 4px rgba(15, 23, 42, .08); font-weight: 600; }
.lg-modal-file:focus-visible { outline: 2px solid var(--lg-accent); }
.lg-modal-file-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.lg-chip { flex: none; min-width: 38px; padding: 3px 0; border-radius: 5px; text-align: center; color: #fff; font: 700 10px/1.2 system-ui, sans-serif; background: var(--lg-text-c); }
.lg-chip-pdf { background: var(--lg-pdf); } .lg-chip-word { background: var(--lg-word); } .lg-chip-excel { background: var(--lg-excel); }
.lg-chip-powerpoint { background: var(--lg-powerpoint); } .lg-chip-image { background: var(--lg-image); } .lg-chip-video { background: var(--lg-video); } .lg-chip-audio { background: var(--lg-audio); }
.lg-modal-stage { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.lg-modal .lg-viewer { border: 0; border-radius: 0; flex: 1; }
.lg-modal .lg-body { height: min(var(--lg-height), calc(100vh - 160px)); max-height: none; }

@media (max-width: 720px) {
  .lg-modal { padding: 0; }
  .lg-dialog { width: 100%; height: 100%; border-radius: 0; }
  .lg-modal-main { flex-direction: column; }
  .lg-modal-side { flex: none; max-height: none; border-right: 0; border-bottom: 1px solid var(--lg-line); }
  .lg-modal-files { flex-direction: row; overflow-x: auto; }
  .lg-modal-file { width: auto; white-space: nowrap; }
  .lg-modal .lg-body { height: auto; flex: 1; }
  .lg-body { max-height: 75vh; }
  .lg-file-action { display: none; }
}

@media (prefers-reduced-motion: reduce) { .lg-spinner { animation-duration: 2s; } }

/* Product image replaced by the preview. */
/* The gallery template decides the page orientation: gallery width, side, and where the details go. */
.lg-replaces-image{ width: 48% !important; float: left !important; margin: 0 0 2em !important; }
.lg-replaces-image ~ .summary { box-sizing: border-box; }
.lg-go-split{ width: 48% !important; }
.lg-go-narrow{ width: 38% !important; } .lg-go-narrow ~ .summary { width: 58% !important; float: right !important; }
.lg-go-wide{ width: 62% !important; } .lg-go-wide ~ .summary { width: 34% !important; float: right !important; }
.lg-go-mirror{ float: right !important; width: 48% !important; } .lg-go-mirror ~ .summary { float: left !important; width: 48% !important; }
.lg-go-mirror-wide{ float: right !important; width: 62% !important; } .lg-go-mirror-wide ~ .summary { float: left !important; width: 34% !important; }
.lg-go-mirror-narrow{ float: right !important; width: 38% !important; } .lg-go-mirror-narrow ~ .summary { float: left !important; width: 58% !important; }
.lg-go-top{ float: none !important; width: 100% !important; } .lg-go-top ~ .summary { float: none !important; width: 100% !important; clear: both; }
.lg-go-center{ float: none !important; width: 68% !important; margin: 0 auto 2em !important; } .lg-go-center ~ .summary { float: none !important; width: 100% !important; clear: both; text-align: center; }
@media (max-width: 768px) { .lg-replaces-image, .lg-replaces-image ~ .summary { width: 100% !important; float: none !important; margin-left: 0 !important; margin-right: 0 !important; } }
.lg-notice { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; height: 100%; padding: 24px; text-align: center; }

/* Local (in-browser) previews. */
.lg-local { position: absolute; inset: 0; overflow: auto; background: #fff; color: #1d2327; padding: 20px 24px; box-sizing: border-box; }
.lg-local-doc img { max-width: 100%; height: auto; }
.lg-local-doc table, .lg-sheet-pane table { border-collapse: collapse; }
.lg-local-doc td, .lg-local-doc th, .lg-sheet-pane td, .lg-sheet-pane th { border: 1px solid #d0d5dd; padding: 4px 8px; font-size: 13px; white-space: nowrap; }
.lg-local-text pre { margin: 0; white-space: pre-wrap; word-break: break-word; font: 13px/1.5 ui-monospace, Menlo, Consolas, monospace; }
.lg-sheet-tabs { display: flex; gap: 4px; margin-bottom: 10px; flex-wrap: wrap; }
.lg-sheet-tab { border: 1px solid #d0d5dd; background: #f6f7f7; padding: 4px 12px; border-radius: 6px; cursor: pointer; }
.lg-sheet-tab.is-active { background: var(--lg-accent); color: var(--lg-btn-text); border-color: var(--lg-accent); }

/* ── Templates: product page (free) ─────────────────────────────────── */
/* classic = the default list styles above. */
.lg-tpl-cards .lg-file { box-shadow: 0 1px 3px rgba(15, 23, 42, .06); }
.lg-tpl-cards .lg-file-action { margin-top: auto; padding-top: 8px; }
.lg-tpl-pills .lg-file { background: color-mix(in srgb, var(--lg-accent) 8%, #fff); border-color: transparent; color: var(--lg-accent); font-weight: 600; }
.lg-tpl-pills .lg-file[aria-pressed="true"] { background: var(--lg-accent); color: var(--lg-btn-text); }
/* Viewer first: the viewer is on top, files are small buttons below it. */
.lg-tpl-hero { display: flex; flex-direction: column; }
.lg-tpl-hero .lg-stage { order: 1; margin: 0 0 12px; }
.lg-tpl-hero .lg-stage[hidden] { display: block; visibility: hidden; min-height: 120px; }
.lg-tpl-hero .lg-heading { order: 0; }
.lg-tpl-hero .lg-files { order: 2; flex-direction: row; flex-wrap: wrap; margin: 0 !important; }
.lg-tpl-hero .lg-file { width: auto; padding: 6px 12px; border-radius: 999px; }
.lg-tpl-hero .lg-file-meta, .lg-tpl-hero .lg-file-action { display: none; }
.lg-tpl-hero .lg-icon svg { width: 18px; height: 22px; }
.lg-tpl-hero .lg-icon-ext { display: none; }
.lg-tpl-sidebar { display: grid; grid-template-columns: minmax(200px, 270px) 1fr; gap: 16px; align-items: start; }
.lg-tpl-sidebar .lg-heading { grid-column: 1 / -1; }
.lg-tpl-sidebar .lg-files { margin: 0 !important; }
.lg-tpl-sidebar .lg-file-action { display: none; }
.lg-tpl-sidebar .lg-stage { margin: 0; min-width: 0; }
.lg-tpl-sidebar .lg-stage[hidden] { display: block; visibility: hidden; }
@media (max-width: 720px) { .lg-tpl-sidebar { grid-template-columns: 1fr; } }

/* ── Templates: shop / archive cards (free) ─────────────────────────── */
.lg-card .lg-count, .lg-card .lg-badge-files, .lg-card .lg-chips { display: none; }
.lg-chips { gap: 4px; justify-content: center; flex-wrap: wrap; margin-top: 6px; }
.lg-chips .lg-chip { min-width: 0; padding: 2px 6px; }
.lg-ctpl-outline .lg-btn-button { background: transparent; color: var(--lg-accent) !important; box-shadow: inset 0 0 0 2px var(--lg-accent); }
.lg-ctpl-outline .lg-btn-button:hover { background: var(--lg-accent); color: var(--lg-btn-text) !important; filter: none; }
.lg-ctpl-block .lg-btn { width: 100%; background: color-mix(in srgb, var(--lg-accent) 10%, #fff); color: var(--lg-accent) !important; }
.lg-ctpl-block .lg-btn:hover { background: var(--lg-accent); color: var(--lg-btn-text) !important; filter: none; }

/* ── Gallery that replaces the product image ────────────────────────── */
.lg-gallery { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.lg-gallery .lg-stage { position: relative; margin: 0; min-width: 0; }
.lg-gallery .lg-body { height: auto; aspect-ratio: var(--lg-gallery-ratio, 1 / 1); max-height: none; min-height: 0; background: var(--lg-soft); }
.lg-gallery .lg-viewer[data-group="image"] .lg-toolbar { display: none; }
.lg-gallery .lg-viewer[data-group="image"] .lg-body { background: #fff; }
.lg-gallery .lg-image-wrap { padding: 0; }
.lg-gallery .lg-viewer[data-group="audio"] .lg-body { aspect-ratio: auto; height: 180px; }
.lg-gallery-nav { position: absolute; inset: 50% 8px auto; display: flex; justify-content: space-between; pointer-events: none; transform: translateY(-50%); z-index: 6; }
.lg-gallery-nav .lg-tool { pointer-events: auto; background: rgba(255, 255, 255, .9); color: var(--lg-text); border-radius: 50%; box-shadow: 0 2px 8px rgba(15, 23, 42, .18); opacity: 0; transition: opacity .2s; }
.lg-gallery:hover .lg-gallery-nav .lg-tool, .lg-gallery-nav .lg-tool:focus-visible { opacity: 1; }
@media (hover: none) { .lg-gallery-nav .lg-tool { opacity: .9; } }
.lg-thumbs { list-style: none !important; margin: 0 !important; padding: 2px !important; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: thin; }
.lg-thumbs li { margin: 0 !important; padding: 0 !important; list-style: none !important; flex: none; }
.lg-thumb {
  all: unset; box-sizing: border-box; cursor: pointer; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  width: 76px; height: 76px; border: 1px solid var(--lg-line); border-radius: var(--lg-radius); background: var(--lg-bg); overflow: hidden; transition: border-color .15s, opacity .15s;
}
.lg-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lg-thumb[aria-pressed="false"] { opacity: .72; }
.lg-thumb:hover { opacity: 1; border-color: var(--lg-accent); }
.lg-thumb[aria-pressed="true"] { opacity: 1; border-color: var(--lg-accent); box-shadow: 0 0 0 1px var(--lg-accent); }
.lg-thumb:focus-visible { outline: 2px solid var(--lg-accent); outline-offset: 2px; }
.lg-thumb-file { background: var(--lg-soft); padding: 6px; }
.lg-thumb-label { display: none; max-width: 100%; font-size: 10px; line-height: 1.2; color: var(--lg-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* below = defaults above. */
.lg-gtpl-left, .lg-gtpl-right { display: grid; grid-template-columns: 76px minmax(0, 1fr); align-items: stretch; }
.lg-gtpl-left .lg-thumbs, .lg-gtpl-right .lg-thumbs { flex-direction: column; overflow-x: hidden; overflow-y: auto; height: 0; min-height: 100%; grid-row: 1; }
.lg-gtpl-left .lg-thumbs { grid-column: 1; }
.lg-gtpl-left .lg-stage { grid-column: 2; grid-row: 1; }
.lg-gtpl-right { grid-template-columns: minmax(0, 1fr) 76px; }
.lg-gtpl-right .lg-thumbs { grid-column: 2; }
.lg-gtpl-right .lg-stage { grid-column: 1; grid-row: 1; }
@media (max-width: 600px) {
  .lg-gtpl-left, .lg-gtpl-right { display: flex; }
  .lg-gtpl-left .lg-thumbs, .lg-gtpl-right .lg-thumbs { flex-direction: row; overflow-x: auto; height: auto; min-height: 0; }
}
/* Thumbnail grid: every item visible, no scrolling. */
.lg-gtpl-grid .lg-thumbs { flex-wrap: wrap; overflow: visible; }
.lg-gtpl-grid .lg-thumb { width: calc((100% - 32px) / 5); min-width: 56px; height: auto; aspect-ratio: 1; }
/* Slider with dots: no thumbnails, arrows + counter + dots. */
.lg-gtpl-dots .lg-thumbs { display: none; }
.lg-gtpl-dots .lg-gallery-nav .lg-tool { opacity: 1; }
.lg-gtpl-dots .lg-gallery-count { display: block; }
.lg-gtpl-dots .lg-gallery-dots { display: flex; }
/* Counter and dots are hidden by the other templates. */
.lg-gallery-count { display: none; position: absolute; top: 10px; right: 10px; z-index: 6; padding: 3px 10px; border-radius: 999px; background: rgba(17, 24, 39, .7); color: #fff; font: 600 12px/1.6 system-ui, sans-serif; }
.lg-gallery-dots { display: none; justify-content: center; gap: 8px; padding: 10px 0 0; flex-wrap: wrap; }
.lg-dot { all: unset; box-sizing: border-box; cursor: pointer; width: 10px; height: 10px; border-radius: 50%; background: var(--lg-line); transition: background .15s, transform .15s; }
.lg-dot:hover { background: var(--lg-muted); }
.lg-dot.is-active { background: var(--lg-accent); transform: scale(1.3); }
.lg-dot:focus-visible { outline: 2px solid var(--lg-accent); outline-offset: 2px; }
/* All / Photos / Files filter (shown by the tabs template). */
.lg-gallery-tabs { display: none; gap: 4px; }
.lg-gtab { all: unset; box-sizing: border-box; cursor: pointer; padding: 6px 14px; font-size: 13px; font-weight: 600; border-radius: 999px; color: var(--lg-muted); background: var(--lg-soft); }
.lg-gtab.is-active { background: var(--lg-accent); color: var(--lg-btn-text); }
.lg-gtab:focus-visible { outline: 2px solid var(--lg-accent); outline-offset: 2px; }
.lg-thumbs li[hidden] { display: none !important; }


/* Mini file list shown on the card by some templates. */
.lg-card .lg-mini-files { display: none; }
.lg-mini-file { display: flex; align-items: center; gap: 6px; font-size: 12px; line-height: 1.3; color: var(--lg-muted); text-align: left; }
.lg-mini-file .lg-chip { min-width: 34px; padding: 2px 0; font-size: 9px; }

/* ═══ Gallery content parts (each template shows its own combination) ═══ */
.lg-gallery { position: relative; }
.lg-g-badges, .lg-g-caption, .lg-g-actions, .lg-g-progress, .lg-g-quick, .lg-g-group, .lg-thumb-meta { display: none; }
.lg-g-badges { position: absolute; top: 10px; left: 10px; z-index: 7; gap: 5px; align-items: center; flex-wrap: wrap; pointer-events: none; }
.lg-g-badge { padding: 3px 10px; border-radius: 999px; background: rgba(17, 24, 39, .78); color: #fff; font: 600 11px/1.5 system-ui, sans-serif; }
.lg-g-badges .lg-chip { min-width: 0; padding: 3px 7px; }
.lg-g-caption { flex-direction: column; gap: 1px; }
.lg-g-title { font-size: .95em; color: var(--lg-text); }
.lg-g-meta { font-size: .8em; color: var(--lg-muted); }
.lg-g-actions { gap: 6px; flex-wrap: wrap; }
.lg-g-act { all: unset; box-sizing: border-box; cursor: pointer; padding: 6px 12px; border: 1px solid var(--lg-line); border-radius: 999px; font-size: 12px; font-weight: 600; color: var(--lg-text); background: var(--lg-bg); }
.lg-g-act:hover { border-color: var(--lg-accent); color: var(--lg-accent); }
.lg-g-act:focus-visible { outline: 2px solid var(--lg-accent); outline-offset: 2px; }
.lg-g-progress { height: 3px; border-radius: 2px; background: var(--lg-line); overflow: hidden; }
.lg-g-progress i { display: block; height: 100%; width: 0; background: var(--lg-accent); transition: width .25s; }
.lg-g-quick { list-style: none !important; margin: 0 !important; padding: 0 !important; gap: 6px 16px; flex-wrap: wrap; font-size: 12px; color: var(--lg-muted); }
.lg-g-quick li { margin: 0 !important; list-style: none !important; }
.lg-g-quick li::before { content: "✓"; color: var(--lg-accent); font-weight: 700; margin-right: 5px; }
.lg-g-group { font: 700 11px/1.4 system-ui, sans-serif; text-transform: uppercase; letter-spacing: .06em; color: var(--lg-muted); }

/* ── Free: Classic with caption (below) ── */
.lg-gtpl-below .lg-g-caption { display: flex; }

/* ── Free: Side rail + badges (left) ── */
.lg-gtpl-left .lg-g-badges { display: flex; left: 96px; }

/* ── Free: Rail right + actions (right) ── */
.lg-gtpl-right { grid-template-rows: auto auto; }
.lg-gtpl-right .lg-g-actions { display: flex; grid-column: 1; grid-row: 2; }

/* ── Free: Grouped grid ── */
.lg-gtpl-grid .lg-thumbs { gap: 6px 8px; }
.lg-gtpl-grid .lg-g-group { display: block; flex: 0 0 100%; margin: 4px 0 0; }
.lg-gtpl-grid .lg-g-quick { display: flex; padding-top: 4px !important; border-top: 1px solid var(--lg-line); }

/* ── Free: Slider ── */
.lg-gtpl-dots .lg-g-caption { display: flex; align-items: center; text-align: center; }
.lg-gtpl-dots .lg-g-progress { display: block; }
