.rl-model-gallery{
  --rmg-white:#FFFFFF;--rmg-slate:#EDF2F6;--rmg-ink:#18232D;--rmg-cobalt:#135DFF;--rmg-cyan:#00A8BD;
  --rmg-muted:#464F57;--rmg-rule:#CBD5DE;
  --rmg-he:"Heebo","IBM Plex Sans",system-ui,sans-serif;
  --rmg-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  display:grid;gap:14px;min-inline-size:0;color:var(--rmg-ink);font-family:var(--rmg-he);font-size:1rem;line-height:1.5;
}
.rl-model-gallery *,.rl-model-gallery *::before,.rl-model-gallery *::after{box-sizing:border-box}
.rl-model-gallery :where(figure,p,ol){margin:0;padding:0}
.rl-model-gallery :where(ol){list-style:none}
.rl-model-gallery [hidden]{display:none !important}
.rl-model-gallery :where(a,button,summary):focus-visible{outline:3px solid var(--rmg-cobalt);outline-offset:2px}
.rl-model-gallery :where(a,button,summary):focus:not(:focus-visible){outline:none}

.rl-model-gallery .rl-model-gallery__stage{display:grid;gap:10px;min-inline-size:0}
.rl-model-gallery .rl-model-gallery__figure{display:grid;gap:8px;min-inline-size:0}
.rl-model-gallery .rl-model-gallery__frame{position:relative;aspect-ratio:1/1;background:var(--rmg-white);border:1px solid var(--rmg-rule);overflow:hidden}
.rl-model-gallery .rl-model-gallery__image{display:block;inline-size:100%;block-size:100%;object-fit:contain;object-position:center;background:var(--rmg-white);transition:opacity .2s ease}
.rl-model-gallery .rl-model-gallery__image.is-loading{opacity:.35}
.rl-model-gallery .rl-model-gallery__caption{display:flex;align-items:center;gap:8px;font-size:.9375rem;font-weight:600}
.rl-model-gallery .rl-model-gallery__caption::before{content:"";inline-size:8px;block-size:8px;background:var(--rmg-cyan);flex:none}

.rl-model-gallery .rl-model-gallery__spots{position:absolute;inset:0;direction:ltr}
.rl-model-gallery button.rl-model-gallery__spot{position:absolute;inline-size:44px;block-size:44px;margin:0;padding:0;transform:translate(-50%,-50%);display:grid;place-items:center;border:0;background:transparent;cursor:pointer}
.rl-model-gallery .rl-model-gallery__spot span{display:grid;place-items:center;inline-size:30px;block-size:30px;border-radius:50%;background:var(--rmg-cobalt);color:var(--rmg-white);font:600 .875rem/1 var(--rmg-mono);box-shadow:0 0 0 3px var(--rmg-white);transition:background-color .15s}
.rl-model-gallery button.rl-model-gallery__spot:hover span,.rl-model-gallery button.rl-model-gallery__spot[aria-expanded="true"] span{background:var(--rmg-ink)}

.rl-model-gallery .rl-model-gallery__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.rl-model-gallery .rl-model-gallery__nav,.rl-model-gallery .rl-model-gallery__tools{display:flex;align-items:center;gap:6px}
.rl-model-gallery .rl-model-gallery__tools{flex-wrap:wrap}
.rl-model-gallery button.rl-model-gallery__arrow{display:grid;place-items:center;inline-size:44px;block-size:44px;margin:0;padding:0;border:1.5px solid var(--rmg-ink);border-radius:2px;background:var(--rmg-white);color:var(--rmg-ink);font:500 1.125rem/1 var(--rmg-mono);cursor:pointer}
.rl-model-gallery button.rl-model-gallery__arrow:hover{background:var(--rmg-slate)}
.rl-model-gallery .rl-model-gallery__count{min-inline-size:4.5rem;text-align:center;font:500 .9375rem/1 var(--rmg-mono);font-variant-numeric:tabular-nums;direction:ltr}
.rl-model-gallery button.rl-model-gallery__tool{min-block-size:44px;padding:0 16px;margin:0;border:1.5px solid var(--rmg-ink);border-radius:2px;background:var(--rmg-white);color:var(--rmg-ink);font:600 .9375rem/1.2 var(--rmg-he);cursor:pointer;transition:background-color .15s,color .15s}
.rl-model-gallery button.rl-model-gallery__tool:hover{background:var(--rmg-slate)}
.rl-model-gallery button.rl-model-gallery__tool[aria-pressed="true"]{background:var(--rmg-cobalt);border-color:var(--rmg-cobalt);color:var(--rmg-white)}

.rl-model-gallery .rl-model-gallery__notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:8px 8px 8px 8px;padding-inline-start:14px;background:var(--rmg-slate);border-inline-start:3px solid var(--rmg-cobalt)}
.rl-model-gallery .rl-model-gallery__notice p{font-weight:600;font-size:.9375rem}

.rl-model-gallery .rl-model-gallery__rail{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-block:2px 8px;scrollbar-width:thin;min-inline-size:0}
.rl-model-gallery .rl-model-gallery__rail li{flex:0 0 auto;scroll-snap-align:start}
.rl-model-gallery a.rl-model-gallery__thumb{display:grid;gap:4px;inline-size:84px;padding:4px;border:1.5px solid var(--rmg-rule);border-radius:2px;background:var(--rmg-white);color:var(--rmg-ink);text-decoration:none;font-size:.8125rem;font-weight:600;line-height:1.25;text-align:center}
.rl-model-gallery a.rl-model-gallery__thumb img{display:block;inline-size:100%;aspect-ratio:1/1;object-fit:contain;background:var(--rmg-white)}
.rl-model-gallery a.rl-model-gallery__thumb span{display:block;min-block-size:2.5em;padding-inline:2px}
.rl-model-gallery a.rl-model-gallery__thumb:hover{border-color:var(--rmg-ink)}
.rl-model-gallery a.rl-model-gallery__thumb[aria-current="true"]{border-color:var(--rmg-cobalt);box-shadow:inset 0 0 0 1px var(--rmg-cobalt);color:var(--rmg-cobalt)}

.rl-model-gallery .rl-model-gallery__parts{display:grid;border-block-start:1.5px solid var(--rmg-ink)}
.rl-model-gallery .rl-model-gallery__parts-title{padding-block:10px 4px;font-weight:700;font-size:.9375rem}
.rl-model-gallery .rl-model-gallery__part{border-block-end:1px solid var(--rmg-rule)}
.rl-model-gallery .rl-model-gallery__part summary{display:grid;grid-template-columns:28px minmax(0,1fr) 24px;align-items:center;gap:10px;min-block-size:48px;cursor:pointer;list-style:none;font-weight:700}
.rl-model-gallery .rl-model-gallery__part summary::-webkit-details-marker{display:none}
.rl-model-gallery .rl-model-gallery__part summary::after{content:"+";justify-self:end;font:500 1.125rem/1 var(--rmg-mono);color:var(--rmg-cobalt)}
.rl-model-gallery .rl-model-gallery__part[open] summary::after{content:"−"}
.rl-model-gallery .rl-model-gallery__n{display:grid;place-items:center;inline-size:28px;block-size:28px;border-radius:50%;background:var(--rmg-cobalt);color:var(--rmg-white);font:600 .8125rem/1 var(--rmg-mono)}
.rl-model-gallery .rl-model-gallery__part p{padding:0 0 14px;padding-inline-start:38px;color:var(--rmg-muted);font-size:.9375rem;text-wrap:pretty}
.rl-model-gallery .rl-model-gallery__part.is-current summary{color:var(--rmg-cobalt)}

.rl-model-gallery .rl-model-gallery__dialog{inline-size:min(96vw,1200px);max-inline-size:96vw;max-block-size:96vh;margin:auto;padding:0;border:0;border-radius:2px;background:var(--rmg-white);color:var(--rmg-ink)}
.rl-model-gallery .rl-model-gallery__dialog::backdrop{background:rgba(24,35,45,.88)}
.rl-model-gallery .rl-model-gallery__dialog-inner{display:grid;gap:8px;padding:12px}
.rl-model-gallery button.rl-model-gallery__close{justify-self:end;min-block-size:44px;padding:0 18px;border:1.5px solid var(--rmg-ink);border-radius:2px;background:var(--rmg-white);color:var(--rmg-ink);font:700 .9375rem/1.2 var(--rmg-he);cursor:pointer}
.rl-model-gallery button.rl-model-gallery__close:hover{background:var(--rmg-slate)}
.rl-model-gallery .rl-model-gallery__dialog-img{display:block;inline-size:100%;block-size:auto;max-block-size:calc(96vh - 120px);object-fit:contain;background:var(--rmg-white)}
.rl-model-gallery .rl-model-gallery__dialog-cap{font-weight:600;font-size:.9375rem}

@media (max-width:359px){
  .rl-model-gallery .rl-model-gallery__bar{justify-content:center}
  .rl-model-gallery a.rl-model-gallery__thumb{inline-size:76px}
}
@media (min-width:820px){
  .rl-model-gallery a.rl-model-gallery__thumb{inline-size:96px}
}
@media (min-width:1024px){
  .rl-model-gallery .rl-model-gallery__spot span{inline-size:32px;block-size:32px;font-size:.9375rem}
}
@media (prefers-reduced-motion:reduce){
  .rl-model-gallery *,.rl-model-gallery *::before,.rl-model-gallery *::after{transition:none !important;animation:none !important;scroll-behavior:auto !important}
}
@media (forced-colors:active){
  .rl-model-gallery .rl-model-gallery__spot span,.rl-model-gallery .rl-model-gallery__n{forced-color-adjust:none;background:CanvasText;color:Canvas;box-shadow:0 0 0 2px Canvas}
  .rl-model-gallery a.rl-model-gallery__thumb[aria-current="true"],.rl-model-gallery button.rl-model-gallery__tool[aria-pressed="true"]{border:3px solid Highlight}
}

/* Existing shop cards: real square photos, fully visible on white */
.rl-shop__figure{aspect-ratio:1/1;display:grid;place-items:center;background:#FFFFFF;overflow:hidden}
.rl-shop__figure img{display:block;inline-size:100%;block-size:100%;object-fit:contain;object-position:center;background:#FFFFFF;transform:none}
:hover .rl-shop__figure img,:focus-within .rl-shop__figure img{transform:none;scale:none}
.rl-shop__figure:has(img) svg{display:none}

/* WooCommerce integration: keep the supplied gallery in the native image column. */
.woocommerce div.product .rl-model-gallery{float:right;width:48%;margin-bottom:2em}
.woocommerce div.product .rl-model-gallery img{height:auto}
.woocommerce div.product .rl-model-gallery .rl-model-gallery__image{height:100%}
.woocommerce .rl-model-gallery .rl-model-gallery__dialog{max-width:700px}
.woocommerce ul.products li.product img{object-fit:contain;background:white}
@media(max-width:768px){.woocommerce div.product .rl-model-gallery{float:none;width:100%}}
