.mosaic-gallery{width:100%;margin:0 auto}
.mosaic-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:7px;height:clamp(360px,43vw,500px);overflow:hidden;border-radius:18px;background:#fff}
.mosaic-cell{position:relative;min-width:0;min-height:0;overflow:hidden;background:#f2f3f0}
.mosaic-cell-lead{grid-row:1 / span 2}
.mosaic-cell-product{background:#fff}
.mosaic-gallery .mosaic-tile.option-media{position:relative;display:block;width:100%;height:100%;min-width:0;min-height:0;margin:0;overflow:hidden;border-radius:0;background:transparent}
.mosaic-gallery .mosaic-tile .option-media-visual{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.mosaic-gallery .mosaic-cell-product .option-media-visual{object-fit:contain;padding:clamp(12px,2.2vw,28px);background:#fff}
.mosaic-gallery .mosaic-cell-lead.mosaic-cell-product .option-media-visual{padding:clamp(22px,3vw,42px)}
.mosaic-show-all{position:absolute;right:14px;bottom:14px;z-index:5;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:35px;padding:8px 11px;border:1px solid #ffffffd9;border-radius:7px;background:#fffffff2;color:#0c1a33;font-family:inherit;font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap;box-shadow:0 2px 10px #0000000c;cursor:pointer;transition:background .15s ease,transform .15s ease}
.mosaic-show-all svg{display:block;width:13px;height:13px;flex:none}
.mosaic-show-all:hover{background:#fff;transform:translateY(-1px)}
.mosaic-show-all:focus-visible{outline:3px solid #0c1a33;outline-offset:3px}
@media(hover:hover){.mosaic-gallery .mosaic-cell:not(.mosaic-cell-product):has(.option-media:hover) .option-media-visual{transform:scale(1.025)}}
@media(min-width:701px){
  .mosaic-grid[data-count="4"] .mosaic-cell:last-child{grid-column:2 / 4}
  .mosaic-grid[data-count="3"]{grid-template-columns:1fr 1fr}
  .mosaic-grid[data-count="2"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr}
  .mosaic-grid[data-count="2"] .mosaic-cell-lead{grid-row:auto}
  .mosaic-grid[data-count="1"]{grid-template-columns:1fr;grid-template-rows:1fr}
  .mosaic-grid[data-count="1"] .mosaic-cell-lead{grid-row:auto}
}
@media(max-width:700px){
  .mosaic-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;grid-auto-rows:auto;height:auto;gap:5px;border-radius:14px}
  .mosaic-cell{aspect-ratio:1.3}
  .mosaic-cell-lead{grid-column:1 / -1;grid-row:auto;aspect-ratio:1.35}
  .mosaic-gallery .mosaic-cell-product .option-media-visual{padding:15px}
  .mosaic-gallery .mosaic-cell-lead.mosaic-cell-product .option-media-visual{padding:22px}
  .mosaic-show-all{right:9px;bottom:9px;gap:5px;min-height:33px;padding:7px 9px;font-size:10px}
  .mosaic-show-all svg{width:12px;height:12px}
  .mosaic-grid[data-count="4"]{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mosaic-grid[data-count="4"] .mosaic-cell:not(.mosaic-cell-lead){aspect-ratio:1}
  .mosaic-cell:not(.mosaic-cell-lead) .play-mark{width:36px;height:36px}
  .mosaic-cell:not(.mosaic-cell-lead) .play-mark svg{width:16px;height:16px}
}
@media(prefers-reduced-motion:reduce){.mosaic-gallery .option-media-visual,.mosaic-show-all{transition:none}}
