/* ===== Q'MOLDES – Galería de fotos y videos ===== */
.qmg{--qm-naranja:#F07F2B;--qm-osc:#2A2522;--qm-gris:#7A6E64;max-width:1200px;margin:0 auto;padding:56px 16px;font-family:inherit;color:var(--qm-osc);box-sizing:border-box}
.qmg *,.qmg *::before,.qmg *::after{box-sizing:border-box}
.qmg__cab{text-align:center;margin-bottom:22px}
.qmg__cab h2{margin:0 0 6px;font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:900}
.qmg__cab p{margin:0 0 16px;color:var(--qm-gris)}
.qmg__filtros{display:inline-flex;gap:6px;padding:4px;border-radius:999px;background:#F4EEE8}
.qmg__filtro{border:none;background:none;padding:9px 16px;border-radius:999px;font:inherit;font-weight:800;font-size:.9rem;color:var(--qm-gris);cursor:pointer}
.qmg__filtro small{font-weight:700;opacity:.7;margin-left:2px}
.qmg__filtro.is-activo{background:#fff;color:var(--qm-naranja);box-shadow:0 2px 8px rgba(0,0,0,.08)}

.qmg__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
@media (max-width:520px){.qmg__grid{grid-template-columns:repeat(2,1fr);gap:10px}}
.qmg__item{display:flex;flex-direction:column;align-self:start;padding:0;border:1px solid #EFE6DC;border-radius:14px;background:#fff;overflow:hidden;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:transform .15s,box-shadow .15s}
.qmg__item:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.08)}
.qmg__item:focus-visible{outline:3px solid var(--qm-naranja);outline-offset:2px}
.qmg__media{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;min-height:0;overflow:hidden;background:#F7F3EF;flex:none}
.qmg__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block}   /* foto completa y centrada */
.qmg__vacio{display:none;font-size:2.2rem;opacity:.5}
.qmg__item.sin-img .qmg__vacio,.qmg__media.sin-img .qmg__vacio{display:block}
.qmg__item.es-video .qmg__vacio{display:none !important}
.qmg__item.es-video .qmg__media{background:#1d1a17}
.qmg__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.qmg__play svg{width:56px;height:56px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
.qmg__tit{display:block;padding:10px 12px;font-size:.85rem;font-weight:700;line-height:1.3}
.qmg__pie{text-align:center;margin-top:20px}
.qmg__mas{padding:12px 28px;border:2px solid var(--qm-naranja);border-radius:12px;background:#fff;color:var(--qm-naranja);font:inherit;font-weight:800;cursor:pointer}
.qmg__mas:hover{background:var(--qm-naranja);color:#fff}
.qmg__cargando,.qmg__sin{grid-column:1/-1;text-align:center;color:var(--qm-gris);padding:30px 0}

/* Visor */
.qmg-bloqueo{overflow:hidden}
.qmg-visor{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;background:rgba(12,10,8,.92);padding:56px 64px}
.qmg-visor.is-abierto{display:flex}
.qmg-visor__cont{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.qmg-visor__img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}
.qmg-visor__video{max-width:100%;max-height:100%;border-radius:8px;background:#000}
.qmg-visor__marco{position:relative;width:min(100%,1000px);aspect-ratio:16/9;max-height:100%}
.qmg-visor__marco.es-vertical{width:auto;height:100%;aspect-ratio:9/16;max-width:100%}
.qmg-visor__marco iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:8px;background:#000}
.qmg-visor__x{position:absolute;top:12px;right:14px;width:44px;height:44px;border:none;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}
.qmg-visor__nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:none;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:2rem;line-height:1;cursor:pointer}
.qmg-visor__nav:hover,.qmg-visor__x:hover{background:var(--qm-naranja,#F07F2B)}
.qmg-visor__nav--prev{left:10px}.qmg-visor__nav--next{right:10px}
.qmg-visor__pie{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:16px;color:rgba(255,255,255,.85);font-size:.9rem;padding:0 16px;text-align:center}
@media (max-width:700px){.qmg-visor{padding:60px 8px 52px}.qmg-visor__nav{top:auto;bottom:6px;transform:none;width:40px;height:40px}}
