/* Product photographs keep their original proportions; controls belong to the site. */
.model-gallery{grid-area:media;min-width:0;width:100%;max-width:500px;justify-self:center;--mg-mat:#fff;--mg-ink:#202127;--mg-line:#e5e2ec}
.model-overview:has(.model-gallery){align-items:start}
.ed-hero>.model-gallery{grid-area:auto;align-self:start}
.mg-editorial-facts{margin-top:28px;border-top:1px solid var(--line-2);padding-top:14px}
.ed .mg-editorial-facts h2{margin:0 0 10px;font-size:1.125rem;line-height:1.4}
.mg-editorial-facts dl{margin:0}
.mg-editorial-facts dl>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;padding:10px 0;border-top:1px solid var(--line-2);font-size:.875rem;line-height:1.5}
.mg-editorial-facts dt{color:var(--ink-2)}.mg-editorial-facts dd{margin:0;font-weight:600}
.ed .mg-editorial-facts p{font-size:.8125rem;line-height:1.5;margin:12px 0 0;color:var(--ink-2)}
@media(min-width:1050px){.ed-hero>.model-gallery{max-width:370px}}
@media(min-width:1050px){.model-reading-reviewed .model-overview:has(.model-gallery){grid-template-areas:"intro media" "specs media"}.model-reading-reviewed .model-overview:has(.model-gallery) .model-specs dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mg-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:var(--ink-2);font-size:.8125rem;font-weight:650;letter-spacing:.04em}
.mg-topline>span:first-child{text-transform:uppercase}
.mg-topline>span:last-child{font-variant-numeric:tabular-nums;letter-spacing:0}
.mg-stage{position:relative;min-width:0;border:1px solid var(--line-2);border-radius:20px;background:var(--surface-1,var(--surface));overflow:hidden}
.mg-viewport{display:flex;align-items:stretch;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--sec) transparent;min-width:0}
.mg-viewport:focus-visible{outline:3px solid var(--sec);outline-offset:-4px}
.mg-slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always;background:var(--surface-1,var(--surface));display:flex;flex-direction:column}
.mg-enlarge{display:block;position:relative;isolation:isolate;aspect-ratio:1/1;overflow:hidden;background:var(--mg-mat);color:var(--mg-ink);text-decoration:none}
.mg-enlarge picture{display:block;width:100%;height:100%;padding:18px}
.mg-enlarge img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;transform:scale(var(--gallery-scale,1)) translate(var(--gallery-x,0%),var(--gallery-y,0%));transform-origin:center}
.mg-expand-label{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #dcd9e4;border-radius:30px;background:#fffffff0;backdrop-filter:blur(8px);font-size:.75rem;line-height:1.3;font-weight:650;box-shadow:0 2px 8px #00000008}
.mg-enlarge:focus-visible{outline:3px solid var(--sec);outline-offset:-5px}
.mg-slide figcaption{padding:16px 18px;display:flex;flex-direction:column;gap:6px;flex:1;border-top:1px solid var(--line-2);color:var(--ink-2);font-size:.875rem;line-height:1.5}
.mg-slide figcaption strong{color:var(--ink);font-weight:650}
.mg-slide figcaption small{font-size:.75rem;line-height:1.5}
.mg-slide figcaption a{color:inherit;text-underline-offset:3px}
.mg-arrow{position:absolute;top:calc(min(100vw - 48px,500px)/2);transform:translateY(-50%);z-index:2;display:grid;place-items:center;width:40px;height:40px;min-height:40px;padding:0;border:1px solid #e5e2ec;border-radius:50%;background:#fffffff5;color:#202127;cursor:pointer;box-shadow:0 3px 14px #15102412}
.mg-arrow[hidden]{display:none}
.mg-prev{left:10px}.mg-next{right:10px}
.mg-prev svg{transform:rotate(180deg)}
.mg-arrow .ic{width:19px;height:19px}
.mg-arrow:disabled{opacity:.3;cursor:default;box-shadow:none}
.mg-arrow:focus-visible,.mg-thumbs a:focus-visible,.mg-close:focus-visible,.mg-zoom:focus-visible{outline:3px solid var(--sec,#8850ff);outline-offset:3px}
.mg-thumbs{display:flex;justify-content:center;gap:8px;margin-top:12px;padding:4px 2px;min-width:0}
.mg-thumbs picture{display:block;width:100%;height:68px;overflow:hidden;background:var(--mg-mat);border:1px solid var(--line-2);padding:6px;border-radius:10px}
.mg-thumbs a{display:flex;flex:1;max-width:108px;min-width:0;align-items:center;flex-direction:column;gap:6px;color:var(--ink-2);text-decoration:none;font-size:.75rem;line-height:1.4;text-align:center}
.mg-thumbs img{display:block;width:100%;height:100%;object-fit:contain;transform:scale(var(--gallery-scale,1)) translate(var(--gallery-x,0%),var(--gallery-y,0%))}
.mg-thumbs a[aria-current=true]{color:var(--ink);font-weight:650}
.mg-thumbs a[aria-current=true] picture{border-color:var(--sec);box-shadow:0 0 0 2px var(--sec)}
.mg-hint{margin:12px 0 0;color:var(--ink-3);font-size:.75rem;line-height:1.5;text-align:center}
.mg-dialog{width:min(1120px,calc(100vw - 40px));max-width:1120px;max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line-2);border-radius:20px;background:var(--surface,#fff);color:var(--ink);box-shadow:0 20px 90px #0006;overscroll-behavior:contain}
.mg-dialog::backdrop{background:#0b0b14ce;backdrop-filter:blur(5px)}
.mg-dialog-inner{padding:18px 22px 20px}
.mg-dialog header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;font-size:1rem;font-weight:650}
.mg-dialog header small{display:inline-block;margin-left:8px;color:var(--ink-2);font-size:.8125rem;font-weight:450}
.mg-close,.mg-zoom{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:8px 12px;min-height:42px;font:inherit;font-size:.8125rem;line-height:1.4;border:1px solid var(--line-2);border-radius:8px;background:var(--surface-2);color:var(--ink);cursor:pointer}
.mg-close>span{font-size:1.5rem;line-height:1}
.mg-dialog-stage{position:relative;overflow:hidden;height:min(65dvh,720px);background:var(--mg-mat);border:1px solid var(--line-2);border-radius:12px;overscroll-behavior:contain}
.mg-dialog-stage.is-zoomed{overflow:auto}
.mg-dialog-stage>img{display:block;width:100%;height:100%;max-width:none;object-fit:contain}
.mg-dialog-stage .mg-arrow{top:50%;position:absolute}
.mg-dialog-stage.is-zoomed>img{width:auto;height:auto;min-width:100%;min-height:100%;object-fit:initial;transform:none}
.mg-dialog-stage.is-zoomed .mg-arrow{display:none}
.mg-dialog-caption{max-width:75ch;margin-top:14px;font-size:.9375rem;line-height:1.55;color:var(--ink-2)}
.mg-dialog-caption strong,.mg-dialog-caption span,.mg-dialog-caption small{display:block}
.mg-dialog-caption strong{color:var(--ink);margin-bottom:4px}
.mg-dialog-caption small{font-size:.75rem;margin-top:6px}
.mg-dialog-caption a{color:inherit;text-underline-offset:3px}
.mg-zoom{margin-top:14px}
html:has(.mg-dialog[open]){overflow:hidden}
@media(min-width:761px){.mg-arrow{top:calc((min(40vw,450px) - 6px)/2)}}
@media(max-width:760px){.model-gallery{max-width:450px}.mg-arrow{top:calc(min(100vw - 48px,450px)/2)}}
@media(max-width:480px){.mg-enlarge picture{padding:12px}.mg-slide figcaption{padding:14px}.mg-thumbs{gap:8px}.mg-thumbs img{height:58px}.mg-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.mg-dialog-inner{padding:12px}.mg-dialog-stage{height:52dvh}.mg-dialog header{font-size:.875rem}.mg-dialog header small{margin-left:0;display:block}.mg-dialog-caption{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.mg-thumbs img{transition:none}}
@media(max-width:480px){.mg-thumbs picture{height:58px}.mg-thumbs img{height:100%}}
/* Sin JS, las flechas del escenario no hacen nada: se ocultan (las miniaturas siguen funcionando como enlaces). */
@media (scripting: none){.mg-stage .mg-arrow{display:none}}
