/**handles:immomakler-gallery-static-grid,immomakler-gallery-static-mosaic**/
/*!
 * WP-ImmoMakler static-grid gallery preset.
 *
 * A responsive grid of same-sized tiles, N to a row. Every tile keeps one
 * aspect ratio; the `--fit-cover` / `--fit-contain` wrapper modifier (from
 * the preset's `image_fit` option) decides whether the image is cropped to
 * fill it or shown whole with letterboxing — the latter is what floorplans
 * need, where a crop cuts off the very detail the image is there to show.
 * Clicking a tile opens the lightbox at that image.
 *
 * Vanilla CSS, no Bootstrap. All visual knobs are exposed as CSS custom
 * properties on the gallery wrapper. The preset sets `--columns` and
 * `--tile-aspect` inline from its options; the rest are defaults a theme
 * can override.
 */.immomakler-gallery--static_grid{--immomakler-gallery-grid-columns:2;--immomakler-gallery-grid-tile-aspect:4/3;--immomakler-gallery-grid-min-tile:200px;--immomakler-gallery-grid-gap:16px;--immomakler-gallery-grid-tile-background:#fff;--immomakler-gallery-grid-tile-border-color:rgba(0, 0, 0, 0.1);--immomakler-gallery-grid-caption-color:inherit;width:100%;max-width:100%}.immomakler-gallery--static_grid .immomakler-gallery__grid{display:grid;--immomakler-gallery-grid-even-split:calc((100% - (var(--immomakler-gallery-grid-columns) - 1) * var(--immomakler-gallery-grid-gap)) / var(--immomakler-gallery-grid-columns));--immomakler-gallery-grid-column-min:min(100%, max(var(--immomakler-gallery-grid-min-tile), var(--immomakler-gallery-grid-even-split)));grid-template-columns:repeat(auto-fit,minmax(var(--immomakler-gallery-grid-column-min),1fr));gap:var(--immomakler-gallery-grid-gap);margin:0;padding:0;list-style:none}.immomakler-gallery--static_grid .immomakler-gallery__grid-item{display:block;list-style:none;margin:0;padding:0;min-width:0}.immomakler-gallery--static_grid .immomakler-gallery__tile{margin:0;padding:0}.immomakler-gallery--static_grid .immomakler-gallery__tile-link{display:block;width:100%;aspect-ratio:var(--immomakler-gallery-grid-tile-aspect);overflow:hidden;box-sizing:border-box;border-radius:var(--immomakler-gallery-border-radius,0);cursor:zoom-in;color:inherit;text-decoration:none}.immomakler-gallery--static_grid .immomakler-gallery__tile-link:focus-visible{outline:2px solid var(--immomakler-gallery-primary-color,#af1615);outline-offset:2px}.immomakler-gallery--static_grid .immomakler-gallery__tile-link .immomakler-gallery__image,.immomakler-gallery--static_grid .immomakler-gallery__tile-link picture>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .2s linear,filter .2s linear;transform-origin:center}.immomakler-gallery.immomakler-gallery--fit-contain .immomakler-gallery__tile-link{border:1px solid var(--immomakler-gallery-grid-tile-border-color);background:var(--immomakler-gallery-grid-tile-background)}.immomakler-gallery.immomakler-gallery--fit-contain .immomakler-gallery__tile-link .immomakler-gallery__image,.immomakler-gallery.immomakler-gallery--fit-contain .immomakler-gallery__tile-link picture>img{object-fit:contain}.immomakler-gallery--hover-zoom-in.immomakler-gallery--static_grid .immomakler-gallery__tile-link:focus-visible .immomakler-gallery__image,.immomakler-gallery--hover-zoom-in.immomakler-gallery--static_grid .immomakler-gallery__tile-link:hover .immomakler-gallery__image{transform:scale(1.03)}.immomakler-gallery--hover-brighten.immomakler-gallery--static_grid .immomakler-gallery__tile-link:focus-visible .immomakler-gallery__image,.immomakler-gallery--hover-brighten.immomakler-gallery--static_grid .immomakler-gallery__tile-link:hover .immomakler-gallery__image{filter:brightness(1.08)}.immomakler-gallery--static_grid .immomakler-gallery__tile-caption{margin:.5em 0 0;padding:0;font-size:.9em;line-height:1.3;text-align:center;color:var(--immomakler-gallery-grid-caption-color)}.immomakler-gallery.immomakler-gallery--no-lightbox.immomakler-gallery--static_grid .immomakler-gallery__tile-link{cursor:default}.immomakler-gallery.immomakler-gallery--linked.immomakler-gallery--static_grid .immomakler-gallery__tile-link{cursor:pointer}
/*!
 * WP-ImmoMakler static-mosaic gallery preset.
 *
 * Photos in blocks of four, each block a 4x2 grid: two large tiles and two
 * small ones. Odd blocks put the tall tile on the right, even blocks on the
 * left, so consecutive blocks mirror each other. One block is one fixed
 * aspect box; `--rows` divides its height between the top and bottom row.
 * Clicking a tile opens the lightbox at that image.
 *
 * Vanilla CSS, no Bootstrap. All visual knobs are exposed as CSS custom
 * properties on the gallery wrapper. The preset sets `--block-aspect` and
 * `--rows` inline from its options (and `--gap` when a host passes one);
 * the rest are defaults a theme can override.
 */.immomakler-gallery--static_mosaic{--immomakler-gallery-mosaic-block-aspect:2/1;--immomakler-gallery-mosaic-rows:2fr 1fr;--immomakler-gallery-mosaic-gap:20px;width:100%;max-width:100%}.immomakler-gallery--static_mosaic .immomakler-gallery__mosaic{display:grid;gap:var(--immomakler-gallery-mosaic-gap);margin:0;padding:0;list-style:none}.immomakler-gallery--static_mosaic .immomakler-gallery__mosaic-block{display:grid;list-style:none;grid-template-columns:repeat(4,1fr);grid-template-rows:var(--immomakler-gallery-mosaic-rows);gap:var(--immomakler-gallery-mosaic-gap);aspect-ratio:var(--immomakler-gallery-mosaic-block-aspect);margin:0;padding:0;min-width:0}.immomakler-gallery--static_mosaic .immomakler-gallery__tile-link{display:block;min-width:0;min-height:0;overflow:hidden;box-sizing:border-box;border-radius:var(--immomakler-gallery-border-radius,0);cursor:zoom-in;color:inherit;text-decoration:none}.immomakler-gallery--static_mosaic .immomakler-gallery__tile-link:focus-visible{outline:2px solid var(--immomakler-gallery-primary-color,#af1615);outline-offset:2px}.immomakler-gallery--static_mosaic .immomakler-gallery__mosaic-block:nth-child(odd)>:first-child{grid-column:1/3;grid-row:1/2}.immomakler-gallery--static_mosaic .immomakler-gallery__mosaic-block:nth-child(odd)>:nth-child(2){grid-column:3/5;grid-row:1/3}.immomakler-gallery--static_mosaic .immomakler-gallery__mosaic-block:nth-child(odd)>:nth-child(3){grid-column:1/2;grid-row:2/3}.immomakler-gallery--static_mosaic .immomakler-gallery__mosaic-block:nth-child(odd)>:nth-child(4){grid-column:2/3;grid-row:2/3}.immomakler-gallery--static_mosaic .immomakler-gallery__mosaic-block:nth-child(2n)>:first-child{grid-column:1/3;grid-row:1/3}.immomakler-gallery--static_mosaic .immomakler-gallery__mosaic-block:nth-child(2n)>:nth-child(2){grid-column:3/5;grid-row:1/2}.immomakler-gallery--static_mosaic .immomakler-gallery__mosaic-block:nth-child(2n)>:nth-child(3){grid-column:3/4;grid-row:2/3}.immomakler-gallery--static_mosaic .immomakler-gallery__mosaic-block:nth-child(2n)>:nth-child(4){grid-column:4/5;grid-row:2/3}.immomakler-gallery--static_mosaic .immomakler-gallery__mosaic-block:has(> :first-child:last-child)>:nth-child(1){grid-column:1/5;grid-row:1/3}.immomakler-gallery--static_mosaic .immomakler-gallery__mosaic-block:has(> :nth-child(2):last-child)>:first-child{grid-column:1/3;grid-row:1/3}.immomakler-gallery--static_mosaic .immomakler-gallery__mosaic-block:has(> :nth-child(2):last-child)>:nth-child(2){grid-column:3/5;grid-row:1/3}.immomakler-gallery--static_mosaic .immomakler-gallery__mosaic-block:nth-child(odd):has(> :nth-child(3):last-child)>:nth-child(3){grid-column:1/3;grid-row:2/3}.immomakler-gallery--static_mosaic .immomakler-gallery__mosaic-block:nth-child(2n):has(> :nth-child(3):last-child)>:nth-child(3){grid-column:3/5;grid-row:2/3}.immomakler-gallery--static_mosaic .immomakler-gallery__tile-link .immomakler-gallery__image,.immomakler-gallery--static_mosaic .immomakler-gallery__tile-link picture>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .2s linear,filter .2s linear;transform-origin:center}.immomakler-gallery--hover-zoom-in.immomakler-gallery--static_mosaic .immomakler-gallery__tile-link:focus-visible .immomakler-gallery__image,.immomakler-gallery--hover-zoom-in.immomakler-gallery--static_mosaic .immomakler-gallery__tile-link:hover .immomakler-gallery__image{transform:scale(1.03)}.immomakler-gallery--hover-brighten.immomakler-gallery--static_mosaic .immomakler-gallery__tile-link:focus-visible .immomakler-gallery__image,.immomakler-gallery--hover-brighten.immomakler-gallery--static_mosaic .immomakler-gallery__tile-link:hover .immomakler-gallery__image{filter:brightness(1.08)}.immomakler-gallery.immomakler-gallery--no-lightbox.immomakler-gallery--static_mosaic .immomakler-gallery__tile-link{cursor:default}.immomakler-gallery.immomakler-gallery--linked.immomakler-gallery--static_mosaic .immomakler-gallery__tile-link{cursor:pointer}