/**handles:immomakler-swiper-css,immomakler-gallery-base,immomakler-gallery-horizontal-thumbs,immomakler-gallery-vertical-thumbs,immomakler-gallery-static-hero,immomakler-gallery-static-compact,immomakler-gallery-static-fullwidth**/
/**
 * Swiper 12.1.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: April 29, 2026
 */

:root{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-cube-shadow,.swiper-slide{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-bottom,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress){.swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode{.swiper-wrapper:after{content:"";left:0;pointer-events:none;position:absolute;top:0}}.swiper-virtual.swiper-css-mode.swiper-horizontal{.swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}}.swiper-virtual.swiper-css-mode.swiper-vertical{.swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px}}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:var(--swiper-navigation-size);justify-content:center;position:absolute;width:var(--swiper-navigation-size);z-index:10;&.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}&.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled &{display:none!important}::slotted(svg),svg{height:100%;object-fit:contain;transform-origin:center;width:100%;fill:currentColor;pointer-events:none}}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto;.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(180deg)}}.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{margin-left:0;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev,&~.swiper-button-next,.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(0deg)}}}.swiper-vertical{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-button-prev,~.swiper-button-prev{bottom:auto;top:var(--swiper-navigation-sides-offset,4px);.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto;.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(90deg)}}}.swiper-pagination{position:absolute;text-align:center;transform:translateZ(0);transition:opacity .3s;z-index:10;&.swiper-pagination-hidden{opacity:0}&.swiper-pagination-disabled,.swiper-pagination-disabled>&{display:none!important}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);left:0;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden;.swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullet-active,.swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullet-active-next-next{transform:scale(.33)}}.swiper-pagination-bullet{background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:var(--swiper-pagination-bullet-border-radius,50%);display:inline-block;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));button&{appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable &{cursor:pointer}&:only-child{display:none!important}}.swiper-pagination-bullet-active{background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:var(--swiper-pagination-left,auto);right:var(--swiper-pagination-right,8px);top:50%;transform:translate3d(0,-50%,0);.swiper-pagination-bullet{display:block;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}&.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px;.swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets{.swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}&.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap;.swiper-pagination-bullet{transition:transform .2s,left .2s}}}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute;.swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl & .swiper-pagination-progressbar-fill{transform-origin:right top}&.swiper-pagination-horizontal,&.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>&,.swiper-vertical>&.swiper-pagination-progressbar-opposite{height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}&.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,&.swiper-pagination-vertical,.swiper-horizontal>&.swiper-pagination-progressbar-opposite,.swiper-vertical>&{height:100%;left:0;top:0;width:var(--swiper-pagination-progressbar-size,4px)}}.swiper-pagination-lock{display:none}.swiper-scrollbar{background:var(--swiper-scrollbar-bg-color,#0000001a);border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;&.swiper-scrollbar-disabled,.swiper-scrollbar-disabled>&{display:none!important}&.swiper-scrollbar-horizontal,.swiper-horizontal>&{bottom:var(--swiper-scrollbar-bottom,4px);height:var(--swiper-scrollbar-size,4px);left:var(--swiper-scrollbar-sides-offset,1%);position:absolute;top:var(--swiper-scrollbar-top,auto);width:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);z-index:50}&.swiper-scrollbar-vertical,.swiper-vertical>&{height:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);left:var(--swiper-scrollbar-left,auto);position:absolute;right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);width:var(--swiper-scrollbar-size,4px);z-index:50}}.swiper-scrollbar-drag{background:var(--swiper-scrollbar-drag-bg-color,#00000080);border-radius:var(--swiper-scrollbar-border-radius,10px);height:100%;left:0;position:relative;top:0;width:100%}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{align-items:center;display:flex;height:100%;justify-content:center;text-align:center;width:100%;>canvas,>img,>svg{max-height:100%;max-width:100%;object-fit:contain}}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{left:0;opacity:0;pointer-events:none;position:absolute;top:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{margin:0 auto;transition-timing-function:ease-out}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-direction:column;flex-wrap:wrap}.swiper-fade{&.swiper-free-mode{.swiper-slide{transition-timing-function:ease-out}}.swiper-slide{pointer-events:none;transition-property:opacity;.swiper-slide{pointer-events:none}}.swiper-slide-active{pointer-events:auto;& .swiper-slide-active{pointer-events:auto}}}.swiper.swiper-cube{overflow:visible}.swiper-cube{.swiper-slide{backface-visibility:hidden;height:100%;pointer-events:none;transform-origin:0 0;visibility:hidden;width:100%;z-index:1;.swiper-slide{pointer-events:none}}&.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}.swiper-slide-active,.swiper-slide-next,.swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube-shadow{bottom:0;height:100%;left:0;opacity:.6;position:absolute;width:100%;z-index:0;&:before{background:#000;bottom:0;content:"";filter:blur(50px);left:0;position:absolute;right:0;top:0}}}.swiper-cube{.swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}}.swiper-cube{.swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-slide-shadow-cube.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper.swiper-flip{overflow:visible}.swiper-flip{.swiper-slide{backface-visibility:hidden;pointer-events:none;z-index:1;.swiper-slide{pointer-events:none}}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}}.swiper-flip{.swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-slide-shadow-flip.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper-creative{.swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}}.swiper.swiper-cards{overflow:visible}.swiper-cards{.swiper-slide{backface-visibility:hidden;overflow:hidden;transform-origin:center bottom}}
/*!
 * WP-ImmoMakler gallery — image-element normalisation (shared base).
 *
 * Loaded as a dependency of every gallery preset stylesheet (see
 * HookInitializer::register_available_styles_scripts). Its sole job is to keep
 * the gallery layout intact when a third-party image-optimization plugin
 * (WebP/AVIF converters such as Converter for Media, ShortPixel, Optimole,
 * EWWW, ...) rewrites our markup.
 *
 * Our presets render a single `<img class="immomakler-gallery__image">` per
 * slide (via wp_get_attachment_image()) and size THAT element to fill its
 * slide. Optimizers commonly wrap the `<img>` in a `<picture>` that offers a
 * WebP/AVIF `<source>`, and many of them MOVE the class onto the `<picture>`,
 * leaving the inner `<img>` bare:
 *
 *   <picture class="immomakler-gallery__image">
 *     <source type="image/webp" srcset="...">
 *     <img src="..." width="100" height="75">   <-- no class, no sizing
 *   </picture>
 *
 * A `<picture>` is a non-replaced inline box: width/height/object-fit neither
 * size it nor reach its child, so the bare `<img>` falls back to its native
 * attribute size — thumbnails shrink away from their slide and main images
 * stop covering. (Confirmed on leonhard-immobilien.de: an optimizer-wrapped
 * horizontal-thumbs gallery rendered its <img> at native 100x75 / inline /
 * object-fit: fill inside a 147x110 slide, while an un-wrapped gallery on the
 * same site rendered correctly at 147x110 / object-fit: cover — the optimizer
 * only wraps some galleries, so the breakage is intermittent per property.)
 *
 * Fix: treat any `<picture>` inside a gallery as a transparent, box-filling
 * wrapper and let its inner `<img>` cover — independent of where the optimizer
 * left the class. The preset rules keep sizing .immomakler-gallery__image
 * (which, with the class on the `<picture>`, IS that `<picture>`); this base
 * file only adds the missing `display: block` (so the preset's height: 100%
 * applies to the now-block `<picture>`) and propagates the fill + cover to the
 * real `<img>`. `object-fit: cover` matches every preset — all gallery image
 * areas crop with cover. Galleries only ever contain image `<picture>`
 * elements, so the broad `.immomakler-gallery picture` scope is safe;
 * lightgallery's lightbox overlay is appended to `<body>`, outside this scope.
 */.immomakler-gallery picture{display:block;width:100%;height:100%}.immomakler-gallery picture>img{display:block;width:100%;height:100%;object-fit:cover}
/*!
 * WP-ImmoMakler horizontal-thumbs gallery preset.
 *
 * Layout: full-width main image with a row of thumbnails below.
 * Hover-shows the prev/next buttons.
 *
 * All visual knobs are exposed as CSS custom properties on the gallery
 * wrapper. Defaults are sensible for the WP-ImmoMakler default skin.
 * Override via custom CSS or theme-builder per-instance inline `<style>`.
 */.immomakler-gallery--horizontal_thumbs{--immomakler-gallery-gap:6px;--immomakler-gallery-main-aspect:4/3;--immomakler-gallery-thumb-aspect:4/3;--immomakler-gallery-primary-color:#af1615;--immomakler-gallery-primary-color-inverted:#fff;--immomakler-gallery-nav-opacity:0.8;--immomakler-gallery-thumb-default-opacity:0.6;--immomakler-gallery-thumb-nav-opacity:0.5;--immomakler-gallery-thumb-nav-opacity-hover:0.9;--immomakler-gallery-nav-button-size:30px;--immomakler-gallery-nav-clickarea-width:45px;--immomakler-gallery-thumb-nav-width:20px;--immomakler-gallery-horizontal-thumb-height:110px;--swiper-navigation-sides-offset:12px;display:flex;flex-direction:column;gap:var(--immomakler-gallery-gap);width:100%;max-width:100%}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__main{position:relative;width:100%;min-width:0;aspect-ratio:var(--immomakler-gallery-main-aspect);overflow:hidden;user-select:none;border-radius:var(--immomakler-gallery-border-radius,0)}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__main .swiper-slide{display:flex;align-items:center;justify-content:center;cursor:zoom-in;width:100%}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__main .swiper-slide img.immomakler-gallery__image,.immomakler-gallery--horizontal_thumbs .immomakler-gallery__main .swiper-slide picture>img.immomakler-gallery__image{width:100%;height:100%;object-fit:cover;display:block}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__next,.immomakler-gallery--horizontal_thumbs .immomakler-gallery__prev{width:var(--immomakler-gallery-nav-clickarea-width);height:100%;top:0;margin-top:0;background:0 0;border-radius:0;display:flex;align-items:center;justify-content:center;color:var(--immomakler-gallery-primary-color-inverted);visibility:hidden}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__prev{left:0;right:auto}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__next{right:0;left:auto}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__next::before,.immomakler-gallery--horizontal_thumbs .immomakler-gallery__prev::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--immomakler-gallery-nav-button-size);height:var(--immomakler-gallery-nav-button-size);background-color:var(--immomakler-gallery-primary-color);border-radius:50%;opacity:var(--immomakler-gallery-nav-opacity);transition:opacity .2s ease,background-color .2s ease}.immomakler-gallery--horizontal_thumbs .swiper-navigation-icon{display:none}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__next::after,.immomakler-gallery--horizontal_thumbs .immomakler-gallery__prev::after{content:"";position:absolute;top:50%;left:50%;z-index:1;width:var(--immomakler-gallery-nav-button-size);height:var(--immomakler-gallery-nav-button-size);transform:translate(-50%,-50%);background-color:var(--immomakler-gallery-primary-color-inverted);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:42% 42%;mask-size:42% 42%}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__prev::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M15%204L7%2012l8%208'%20fill='none'%20stroke='%23000'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M15%204L7%2012l8%208'%20fill='none'%20stroke='%23000'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E")}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__next::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M9%204l8%208-8%208'%20fill='none'%20stroke='%23000'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M9%204l8%208-8%208'%20fill='none'%20stroke='%23000'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E")}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__next.swiper-button-disabled,.immomakler-gallery--horizontal_thumbs .immomakler-gallery__prev.swiper-button-disabled{pointer-events:auto}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__next.swiper-button-disabled::before,.immomakler-gallery--horizontal_thumbs .immomakler-gallery__prev.swiper-button-disabled::before{background-color:#666}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__next:focus,.immomakler-gallery--horizontal_thumbs .immomakler-gallery__prev:focus{outline:0}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__next:focus-visible::before,.immomakler-gallery--horizontal_thumbs .immomakler-gallery__prev:focus-visible::before{outline:2px solid var(--immomakler-gallery-primary-color-inverted);outline-offset:2px}.immomakler-gallery--horizontal_thumbs:has(:focus-visible) .immomakler-gallery__next,.immomakler-gallery--horizontal_thumbs:has(:focus-visible) .immomakler-gallery__prev,.immomakler-gallery--horizontal_thumbs:hover .immomakler-gallery__next,.immomakler-gallery--horizontal_thumbs:hover .immomakler-gallery__prev{visibility:visible}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs{position:relative;width:100%;min-width:0}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs .swiper-slide{height:var(--immomakler-gallery-horizontal-thumb-height);width:auto;aspect-ratio:var(--immomakler-gallery-thumb-aspect);min-width:0!important;flex-shrink:0;cursor:pointer;opacity:var(--immomakler-gallery-thumb-default-opacity);transition:opacity 150ms ease;overflow:hidden;border-radius:var(--immomakler-gallery-border-radius,0)}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs .swiper-slide-thumb-active,.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs .swiper-slide:hover{opacity:1}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs .immomakler-gallery__image{width:100%;height:100%;object-fit:cover}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs-next,.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs-prev{position:absolute;top:0;height:100%;width:var(--immomakler-gallery-thumb-nav-width);z-index:2;color:var(--immomakler-gallery-primary-color-inverted);background-color:var(--immomakler-gallery-primary-color);opacity:var(--immomakler-gallery-thumb-nav-opacity);border:0;margin:0;padding:0;cursor:pointer;text-align:center;transition:opacity .5s ease;visibility:hidden}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs-next::after,.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs-prev::after{display:block;color:inherit;font-size:calc(var(--immomakler-gallery-thumb-nav-width) * .6);line-height:1}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs-prev::after{content:"◀"}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs-next::after{content:"▶"}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs-prev{left:0}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs-next{right:0}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs-next:hover,.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs-prev:hover{opacity:var(--immomakler-gallery-thumb-nav-opacity-hover)}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs-next.swiper-button-disabled,.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs-prev.swiper-button-disabled{cursor:default;animation:immomakler-gallery-thumb-nav-fade 1.5s forwards}@keyframes immomakler-gallery-thumb-nav-fade{0%{background-color:var(--immomakler-gallery-primary-color);opacity:var(--immomakler-gallery-thumb-nav-opacity);pointer-events:auto}30%{background-color:#666;opacity:.4;pointer-events:auto}100%{background-color:#666;opacity:0;pointer-events:none}}.immomakler-gallery--horizontal_thumbs:has(:focus-visible) .immomakler-gallery__thumbs-next,.immomakler-gallery--horizontal_thumbs:has(:focus-visible) .immomakler-gallery__thumbs-prev,.immomakler-gallery--horizontal_thumbs:hover .immomakler-gallery__thumbs-next,.immomakler-gallery--horizontal_thumbs:hover .immomakler-gallery__thumbs-prev{visibility:visible}.immomakler-gallery--carousel{--immomakler-gallery-carousel-height:400px}.immomakler-gallery--horizontal_thumbs.immomakler-gallery--carousel .immomakler-gallery__main{aspect-ratio:auto;height:var(--immomakler-gallery-carousel-height)}.immomakler-gallery--horizontal_thumbs.immomakler-gallery--carousel .immomakler-gallery__main .swiper-slide{width:auto;height:100%;aspect-ratio:var(--immomakler-gallery-main-aspect);opacity:.5;transition:opacity .3s ease}.immomakler-gallery--horizontal_thumbs.immomakler-gallery--carousel .immomakler-gallery__main .swiper-slide-active{opacity:1}.immomakler-gallery--horizontal_thumbs.immomakler-gallery--carousel .immomakler-gallery__main .swiper-slide img.immomakler-gallery__image,.immomakler-gallery--horizontal_thumbs.immomakler-gallery--carousel .immomakler-gallery__main .swiper-slide picture>img.immomakler-gallery__image{width:100%;height:100%;object-fit:cover}@media (max-width:768px){.immomakler-gallery--horizontal_thumbs .immomakler-gallery__thumbs{display:none}.immomakler-gallery--horizontal_thumbs.immomakler-gallery--show-mobile-thumbs .immomakler-gallery__thumbs{display:block}}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__pagination{display:none;position:absolute;bottom:8px;left:0;right:0;width:100%;text-align:center;z-index:1}.immomakler-gallery--horizontal_thumbs.immomakler-gallery--no-thumbs .immomakler-gallery__pagination{display:block}@media (max-width:768px){.immomakler-gallery--horizontal_thumbs:not(.immomakler-gallery--show-mobile-thumbs) .immomakler-gallery__pagination{display:block}}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__pagination .swiper-pagination-bullet{width:8px;height:8px;background:#fff;opacity:.6;margin:0 4px;border-radius:50%;display:inline-block;transition:opacity 150ms ease,background-color 150ms ease;cursor:pointer;box-shadow:0 0 4px rgba(0,0,0,.5)}.immomakler-gallery--horizontal_thumbs .immomakler-gallery__pagination .swiper-pagination-bullet-active{background:var(--immomakler-gallery-primary-color);opacity:1}.immomakler-gallery--horizontal_thumbs.immomakler-gallery--rounded-wrapper{border-radius:var(--immomakler-gallery-border-radius,0);overflow:hidden}.immomakler-gallery--horizontal_thumbs.immomakler-gallery--rounded-wrapper .immomakler-gallery__main,.immomakler-gallery--horizontal_thumbs.immomakler-gallery--rounded-wrapper .immomakler-gallery__thumbs .swiper-slide{border-radius:0}
/*!
 * WP-ImmoMakler vertical-thumbs gallery preset.
 *
 * Layout: main image on the left, vertical column of thumbnails on the right.
 * Hover-shows the prev/next buttons on both swipers. Up/down nav buttons on
 * the thumb strip are opt-out via the `show_thumb_nav` preset option.
 *
 * All visual knobs are exposed as CSS custom properties on the gallery
 * wrapper. Defaults are sensible for the WP-ImmoMakler default skin and
 * also represent the legacy Divi single-property gallery look. Override
 * via custom CSS or theme-builder per-instance inline `<style>` blocks.
 */.immomakler-gallery--vertical_thumbs{--immomakler-gallery-gap:10px;--immomakler-gallery-vertical-thumb-width:200px;--immomakler-gallery-main-aspect:16/9;--immomakler-gallery-thumb-aspect:16/9;--immomakler-gallery-primary-color:#af1615;--immomakler-gallery-primary-color-inverted:#fff;--immomakler-gallery-nav-opacity:0.8;--immomakler-gallery-thumb-nav-opacity:0.5;--immomakler-gallery-thumb-nav-opacity-hover:0.9;--immomakler-gallery-thumb-default-opacity:0.6;--immomakler-gallery-nav-button-size:30px;--immomakler-gallery-nav-clickarea-width:45px;--immomakler-gallery-thumb-nav-height:20px;--swiper-navigation-sides-offset:12px;display:grid;grid-template-columns:1fr var(--immomakler-gallery-vertical-thumb-width);gap:var(--immomakler-gallery-gap);width:100%;max-width:100%;overflow:hidden}.immomakler-gallery--vertical_thumbs::before{content:"";grid-column:1;grid-row:1;width:100%;aspect-ratio:var(--immomakler-gallery-main-aspect);min-width:0}.immomakler-gallery--vertical_thumbs .immomakler-gallery__main{grid-column:1;grid-row:1;position:relative;width:100%;min-width:0;height:100%;overflow:hidden;user-select:none;border-radius:var(--immomakler-gallery-border-radius,0)}.immomakler-gallery--vertical_thumbs .immomakler-gallery__main .swiper-slide{overflow:hidden;cursor:zoom-in;width:100%}.immomakler-gallery--vertical_thumbs .immomakler-gallery__main .swiper-slide img.immomakler-gallery__image,.immomakler-gallery--vertical_thumbs .immomakler-gallery__main .swiper-slide picture>img.immomakler-gallery__image{width:100%;height:100%;object-fit:cover;display:block}.immomakler-gallery--vertical_thumbs .immomakler-gallery__next,.immomakler-gallery--vertical_thumbs .immomakler-gallery__prev{width:var(--immomakler-gallery-nav-clickarea-width);height:100%;top:0;margin-top:0;background:0 0;border-radius:0;display:flex;align-items:center;justify-content:center;color:var(--immomakler-gallery-primary-color-inverted);visibility:hidden}.immomakler-gallery--vertical_thumbs .immomakler-gallery__prev{left:0;right:auto}.immomakler-gallery--vertical_thumbs .immomakler-gallery__next{right:0;left:auto}.immomakler-gallery--vertical_thumbs .immomakler-gallery__next::before,.immomakler-gallery--vertical_thumbs .immomakler-gallery__prev::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--immomakler-gallery-nav-button-size);height:var(--immomakler-gallery-nav-button-size);background-color:var(--immomakler-gallery-primary-color);border-radius:50%;opacity:var(--immomakler-gallery-nav-opacity);transition:opacity .2s ease,background-color .2s ease}.immomakler-gallery--vertical_thumbs .swiper-navigation-icon{display:none}.immomakler-gallery--vertical_thumbs .immomakler-gallery__next::after,.immomakler-gallery--vertical_thumbs .immomakler-gallery__prev::after{content:"";position:absolute;top:50%;left:50%;z-index:1;width:var(--immomakler-gallery-nav-button-size);height:var(--immomakler-gallery-nav-button-size);transform:translate(-50%,-50%);background-color:var(--immomakler-gallery-primary-color-inverted);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:42% 42%;mask-size:42% 42%}.immomakler-gallery--vertical_thumbs .immomakler-gallery__prev::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M15%204L7%2012l8%208'%20fill='none'%20stroke='%23000'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M15%204L7%2012l8%208'%20fill='none'%20stroke='%23000'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E")}.immomakler-gallery--vertical_thumbs .immomakler-gallery__next::after{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M9%204l8%208-8%208'%20fill='none'%20stroke='%23000'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M9%204l8%208-8%208'%20fill='none'%20stroke='%23000'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E")}.immomakler-gallery--vertical_thumbs .immomakler-gallery__next.swiper-button-disabled,.immomakler-gallery--vertical_thumbs .immomakler-gallery__prev.swiper-button-disabled{pointer-events:auto}.immomakler-gallery--vertical_thumbs .immomakler-gallery__next.swiper-button-disabled::before,.immomakler-gallery--vertical_thumbs .immomakler-gallery__prev.swiper-button-disabled::before{background-color:#666}.immomakler-gallery--vertical_thumbs .immomakler-gallery__next:focus,.immomakler-gallery--vertical_thumbs .immomakler-gallery__prev:focus{outline:0}.immomakler-gallery--vertical_thumbs .immomakler-gallery__next:focus-visible::before,.immomakler-gallery--vertical_thumbs .immomakler-gallery__prev:focus-visible::before{outline:2px solid var(--immomakler-gallery-primary-color-inverted);outline-offset:2px}.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs{grid-column:2;grid-row:1;position:relative;width:100%;min-width:0;height:100%;contain:size}.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs .swiper-slide{aspect-ratio:var(--immomakler-gallery-thumb-aspect);cursor:pointer;height:auto!important;min-height:0!important;opacity:var(--immomakler-gallery-thumb-default-opacity);transition:opacity .1s ease;overflow:hidden;border-radius:var(--immomakler-gallery-border-radius,0)}.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs .swiper-slide-thumb-active,.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs .swiper-slide:hover{opacity:1}.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs .swiper-slide img.immomakler-gallery__image,.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs .swiper-slide picture>img.immomakler-gallery__image{width:100%;height:100%;object-fit:cover;display:block}.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs-next,.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs-prev{position:absolute;left:0;width:100%;height:var(--immomakler-gallery-thumb-nav-height);z-index:2;color:var(--immomakler-gallery-primary-color-inverted);background-color:var(--immomakler-gallery-primary-color);opacity:var(--immomakler-gallery-thumb-nav-opacity);border:0;margin:0;padding:0;cursor:pointer;line-height:var(--immomakler-gallery-thumb-nav-height);text-align:center;transition:opacity .5s ease;visibility:hidden}.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs-next::after,.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs-prev::after{display:block;color:inherit;font-size:calc(var(--immomakler-gallery-thumb-nav-height) * .6);line-height:1}.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs-prev::after{content:"▲"}.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs-next::after{content:"▼"}.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs-prev{top:0}.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs-next{bottom:0}.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs-next:hover,.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs-prev:hover{opacity:var(--immomakler-gallery-thumb-nav-opacity-hover)}.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs-next.swiper-button-disabled,.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs-prev.swiper-button-disabled{cursor:default;animation:immomakler-gallery-thumb-nav-fade 1.5s forwards}@keyframes immomakler-gallery-thumb-nav-fade{0%{background-color:var(--immomakler-gallery-primary-color);opacity:var(--immomakler-gallery-thumb-nav-opacity);pointer-events:auto}30%{background-color:#666;opacity:.4;pointer-events:auto}100%{background-color:#666;opacity:0;pointer-events:none}}.immomakler-gallery--vertical_thumbs:has(:focus-visible) .immomakler-gallery__next,.immomakler-gallery--vertical_thumbs:has(:focus-visible) .immomakler-gallery__prev,.immomakler-gallery--vertical_thumbs:has(:focus-visible) .immomakler-gallery__thumbs-next,.immomakler-gallery--vertical_thumbs:has(:focus-visible) .immomakler-gallery__thumbs-prev,.immomakler-gallery--vertical_thumbs:hover .immomakler-gallery__next,.immomakler-gallery--vertical_thumbs:hover .immomakler-gallery__prev,.immomakler-gallery--vertical_thumbs:hover .immomakler-gallery__thumbs-next,.immomakler-gallery--vertical_thumbs:hover .immomakler-gallery__thumbs-prev{visibility:visible}@media (max-width:768px){.immomakler-gallery--vertical_thumbs{grid-template-columns:1fr}.immomakler-gallery--vertical_thumbs .immomakler-gallery__thumbs{display:none}.immomakler-gallery--vertical_thumbs.immomakler-gallery--show-mobile-thumbs{grid-template-columns:1fr var(--immomakler-gallery-vertical-thumb-width)}.immomakler-gallery--vertical_thumbs.immomakler-gallery--show-mobile-thumbs .immomakler-gallery__thumbs{display:block}}.immomakler-gallery--vertical_thumbs .immomakler-gallery__pagination{display:none;position:absolute;bottom:8px;left:0;right:0;width:100%;text-align:center;z-index:1}.immomakler-gallery--vertical_thumbs.immomakler-gallery--no-thumbs .immomakler-gallery__pagination{display:block}@media (max-width:768px){.immomakler-gallery--vertical_thumbs:not(.immomakler-gallery--show-mobile-thumbs) .immomakler-gallery__pagination{display:block}}.immomakler-gallery--vertical_thumbs .immomakler-gallery__pagination .swiper-pagination-bullet{width:8px;height:8px;background:#fff;opacity:.6;margin:0 4px;border-radius:50%;display:inline-block;transition:opacity 150ms ease,background-color 150ms ease;cursor:pointer;box-shadow:0 0 4px rgba(0,0,0,.5)}.immomakler-gallery--vertical_thumbs .immomakler-gallery__pagination .swiper-pagination-bullet-active{background:var(--immomakler-gallery-primary-color);opacity:1}.immomakler-gallery--vertical_thumbs.immomakler-gallery--rounded-wrapper{border-radius:var(--immomakler-gallery-border-radius,0)}.immomakler-gallery--vertical_thumbs.immomakler-gallery--rounded-wrapper .immomakler-gallery__main,.immomakler-gallery--vertical_thumbs.immomakler-gallery--rounded-wrapper .immomakler-gallery__thumbs .swiper-slide{border-radius:0}
/*!
 * WP-ImmoMakler static-hero gallery preset.
 *
 * Single full-width image with a "View all N photos" button overlay,
 * bottom-right. Clicking either opens the lightbox at the first image.
 *
 * Vanilla CSS, no Bootstrap. All visual knobs are exposed as CSS custom
 * properties on the gallery wrapper. Defaults match the WP-ImmoMakler
 * default skin (link color = primary). Override via custom CSS or
 * theme-builder per-instance inline `<style>` blocks.
 */.immomakler-gallery--static_hero{--immomakler-gallery-main-aspect:16/9;--immomakler-gallery-primary-color:#af1615;--immomakler-gallery-primary-color-inverted:#fff;position:relative;width:100%;max-width:100%}.immomakler-gallery--static_hero .immomakler-gallery__static-hero{position:relative;width:100%;aspect-ratio:var(--immomakler-gallery-main-aspect);overflow:hidden;border-radius:var(--immomakler-gallery-border-radius,0)}.immomakler-gallery--static_hero .immomakler-gallery__static-hero-image{display:block;width:100%;height:100%;cursor:zoom-in;color:inherit;text-decoration:none}.immomakler-gallery--static_hero .immomakler-gallery__static-hero-image .immomakler-gallery__image,.immomakler-gallery--static_hero .immomakler-gallery__static-hero-image picture>.immomakler-gallery__image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s linear,filter .2s linear;transform-origin:center}.immomakler-gallery--hover-zoom-in.immomakler-gallery--static_hero .immomakler-gallery__static-hero-image:focus-visible .immomakler-gallery__image,.immomakler-gallery--hover-zoom-in.immomakler-gallery--static_hero .immomakler-gallery__static-hero-image:hover .immomakler-gallery__image{transform:scale(1.005)}.immomakler-gallery--hover-brighten.immomakler-gallery--static_hero .immomakler-gallery__static-hero-image:focus-visible .immomakler-gallery__image,.immomakler-gallery--hover-brighten.immomakler-gallery--static_hero .immomakler-gallery__static-hero-image:hover .immomakler-gallery__image{filter:brightness(1.08)}.immomakler-gallery--static_hero .immomakler-gallery__controls{position:absolute;right:16px;bottom:16px;z-index:2;display:flex;gap:8px;pointer-events:none}.immomakler-gallery--static_hero .immomakler-gallery__controls-item{pointer-events:auto;display:inline-flex;align-items:center;gap:6px;padding:14px 20px;background-color:rgba(255,255,255,.95);color:#1a1a1a;border:0;border-radius:21px;box-shadow:0 2px 8px rgba(0,0,0,.25);font-size:14px;font-weight:500;line-height:1;text-decoration:none;cursor:pointer;transition:background-color 150ms ease}.immomakler-gallery--static_hero .immomakler-gallery__controls-item:focus-visible,.immomakler-gallery--static_hero .immomakler-gallery__controls-item:hover{background-color:#e5e5e5;text-decoration:none}.immomakler-gallery--static_hero .immomakler-gallery__controls-item-icon{display:inline-flex;align-items:center;justify-content:center}.immomakler-gallery--static_hero .immomakler-gallery__controls-item-icon svg{display:block;width:18px;height:18px}@media (max-width:768px){.immomakler-gallery--static_hero .immomakler-gallery__controls{right:8px;bottom:8px}.immomakler-gallery--static_hero .immomakler-gallery__controls-item{padding:10px 16px;font-size:13px}}
/*!
 * WP-ImmoMakler static-compact gallery preset.
 *
 * Layout: large main image on top, customer-configurable rows × cols grid of
 * secondary thumbs below.
 * Vanilla CSS Grid, no Bootstrap. The last visible thumb shows a "+ N"
 * overlay when there are more images than visible slots; clicking any
 * image (main or thumb) opens the lightbox at its index.
 *
 * All visual knobs are exposed as CSS custom properties on the gallery
 * wrapper. Defaults match the WP-ImmoMakler default skin.
 */.immomakler-gallery--static_compact{position:relative;--immomakler-gallery-gap:6px;--immomakler-gallery-main-aspect:3/2;--immomakler-gallery-thumb-aspect:16/9;--immomakler-gallery-static-rows:1;--immomakler-gallery-static-cols:4;--immomakler-gallery-primary-color:#af1615;--immomakler-gallery-primary-color-inverted:#fff;display:flex;flex-direction:column;gap:var(--immomakler-gallery-gap);width:100%;max-width:100%}.immomakler-gallery--static_compact .immomakler-gallery__static-main{display:block;width:100%;aspect-ratio:var(--immomakler-gallery-main-aspect);overflow:hidden;border-radius:var(--immomakler-gallery-border-radius,0);cursor:zoom-in;color:inherit;text-decoration:none}.immomakler-gallery--static_compact .immomakler-gallery__static-main .immomakler-gallery__image,.immomakler-gallery--static_compact .immomakler-gallery__static-main picture>.immomakler-gallery__image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s linear,filter .2s linear;transform-origin:center}.immomakler-gallery--hover-zoom-in.immomakler-gallery--static_compact .immomakler-gallery__static-main:focus-visible .immomakler-gallery__image,.immomakler-gallery--hover-zoom-in.immomakler-gallery--static_compact .immomakler-gallery__static-main:hover .immomakler-gallery__image{transform:scale(1.005)}.immomakler-gallery--hover-brighten.immomakler-gallery--static_compact .immomakler-gallery__static-main:focus-visible .immomakler-gallery__image,.immomakler-gallery--hover-brighten.immomakler-gallery--static_compact .immomakler-gallery__static-main:hover .immomakler-gallery__image{filter:brightness(1.08)}.immomakler-gallery--static_compact .immomakler-gallery__static-thumbs{display:grid;grid-template-columns:repeat(var(--immomakler-gallery-static-cols,4),minmax(0,1fr));gap:var(--immomakler-gallery-gap)}.immomakler-gallery--static_compact .immomakler-gallery__static-thumb{position:relative;display:block;aspect-ratio:var(--immomakler-gallery-thumb-aspect);overflow:hidden;border-radius:var(--immomakler-gallery-border-radius,0);cursor:zoom-in;color:inherit;text-decoration:none;min-width:0}.immomakler-gallery--static_compact .immomakler-gallery__static-thumb .immomakler-gallery__image,.immomakler-gallery--static_compact .immomakler-gallery__static-thumb picture>.immomakler-gallery__image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s linear,filter .2s linear;transform-origin:center}.immomakler-gallery--hover-zoom-in.immomakler-gallery--static_compact .immomakler-gallery__static-thumb:focus-visible .immomakler-gallery__image,.immomakler-gallery--hover-zoom-in.immomakler-gallery--static_compact .immomakler-gallery__static-thumb:hover .immomakler-gallery__image{transform:scale(1.0075)}.immomakler-gallery--hover-brighten.immomakler-gallery--static_compact .immomakler-gallery__static-thumb:focus-visible .immomakler-gallery__image,.immomakler-gallery--hover-brighten.immomakler-gallery--static_compact .immomakler-gallery__static-thumb:hover .immomakler-gallery__image{filter:brightness(1.08)}.immomakler-gallery--static_compact .immomakler-gallery__static-thumb--more{opacity:1}.immomakler-gallery--static_compact .immomakler-gallery__static-thumb-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.6);color:#fff;font-size:clamp(16px, 4vw, 24px);font-weight:700;pointer-events:none}.immomakler-gallery--static_compact.immomakler-gallery--rounded-wrapper{border-radius:var(--immomakler-gallery-border-radius,0);overflow:hidden}.immomakler-gallery--static_compact.immomakler-gallery--rounded-wrapper .immomakler-gallery__static-main,.immomakler-gallery--static_compact.immomakler-gallery--rounded-wrapper .immomakler-gallery__static-thumb{border-radius:0}.immomakler-gallery--static_compact .immomakler-gallery__controls{position:absolute;right:16px;bottom:16px;z-index:2;display:flex;gap:8px;pointer-events:none}.immomakler-gallery--static_compact .immomakler-gallery__controls-item{pointer-events:auto;display:inline-flex;align-items:center;gap:6px;padding:14px 20px;background-color:rgba(255,255,255,.95);color:#1a1a1a;border:0;border-radius:21px;box-shadow:0 2px 8px rgba(0,0,0,.25);font-size:14px;font-weight:500;line-height:1;text-decoration:none;cursor:pointer;transition:background-color 150ms ease}.immomakler-gallery--static_compact .immomakler-gallery__controls-item:focus-visible,.immomakler-gallery--static_compact .immomakler-gallery__controls-item:hover{background-color:#e5e5e5;text-decoration:none}.immomakler-gallery--static_compact .immomakler-gallery__controls-item-icon{display:inline-flex;align-items:center;justify-content:center}.immomakler-gallery--static_compact .immomakler-gallery__controls-item-icon svg{display:block;width:18px;height:18px}@media (max-width:768px){.immomakler-gallery--static_compact .immomakler-gallery__static-thumbs{display:none}.immomakler-gallery--static_compact .immomakler-gallery__controls{right:8px;bottom:8px}.immomakler-gallery--static_compact .immomakler-gallery__controls-item{padding:10px 16px;font-size:13px}}
/*!
 * WP-ImmoMakler static-fullwidth gallery preset.
 *
 * JamesEdition-style layout: large main image on the left, customer-configurable
 * rows × cols grid of secondary thumbs on the right. The preset writes four
 * CSS custom properties on the wrapper element:
 *
 *   --immomakler-gallery-static-rows           — thumb grid rows (1..4)
 *   --immomakler-gallery-static-cols           — thumb grid cols (1..4)
 *   --immomakler-gallery-static-main-aspect    — main image aspect (e.g. `3/2`)
 *   --immomakler-gallery-static-fixed-height   — explicit height (px/vh/svh/lvh/dvh)
 *
 * Plus four modifier classes that flag the layout mode:
 *
 *   --aspect_ratio        — main image's aspect drives the outer height
 *                            (thumbs grid fills the height established by main)
 *   --split_5050          — main + thumbs split the outer width 50/50;
 *                            outer height is whatever the thumb grid produces
 *   --height-fixed        — the outer height is pinned by `--fixed-height`;
 *                            overrides aspect-ratio computation
 *
 * The "Alle N Fotos anzeigen" button (when `overflow_action=button`) and any
 * other action buttons hooked in via the
 * `immomakler_gallery_static_controls_items` PHP filter render into a
 * bottom-right `.immomakler-gallery__controls` overlay — see further
 * below for the styling.
 *
 * Vanilla CSS Grid + aspect-ratio, no Bootstrap. The shared gallery loader
 * wires the lightbox via `[data-immomakler-gallery-lightbox-index]` attrs.
 */.immomakler-gallery--static_fullwidth{--immomakler-gallery-gap:6px;--immomakler-gallery-static-rows:3;--immomakler-gallery-static-cols:2;--immomakler-gallery-static-main-aspect:3/2;--immomakler-gallery-primary-color:#af1615;--immomakler-gallery-primary-color-inverted:#fff;display:grid;gap:var(--immomakler-gallery-gap);width:100%;max-width:100%;position:relative}.immomakler-gallery--static_fullwidth.immomakler-gallery--aspect_ratio{grid-template-columns:2fr 1fr}.immomakler-gallery--static_fullwidth.immomakler-gallery--split_5050{grid-template-columns:1fr 1fr}.immomakler-gallery--static_fullwidth.immomakler-gallery--split_5050:not(.immomakler-gallery--height-fixed){aspect-ratio:var(--immomakler-gallery-static-main-aspect)}.immomakler-gallery--static_fullwidth.immomakler-gallery--split_5050 .immomakler-gallery__static-main{aspect-ratio:auto;height:100%}.immomakler-gallery--static_fullwidth.immomakler-gallery--height-fixed{height:var(--immomakler-gallery-static-fixed-height,500px)}.immomakler-gallery--static_fullwidth .immomakler-gallery__static-main{display:block;grid-column:1;grid-row:1;width:100%;min-width:0;aspect-ratio:var(--immomakler-gallery-static-main-aspect);overflow:hidden;border-radius:var(--immomakler-gallery-border-radius,0);cursor:zoom-in;color:inherit;text-decoration:none}.immomakler-gallery--static_fullwidth.immomakler-gallery--height-fixed .immomakler-gallery__static-main{aspect-ratio:auto;height:100%}.immomakler-gallery--static_fullwidth .immomakler-gallery__static-main .immomakler-gallery__image,.immomakler-gallery--static_fullwidth .immomakler-gallery__static-main picture>.immomakler-gallery__image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s linear,filter .2s linear;transform-origin:center}.immomakler-gallery--hover-zoom-in.immomakler-gallery--static_fullwidth .immomakler-gallery__static-main:focus-visible .immomakler-gallery__image,.immomakler-gallery--hover-zoom-in.immomakler-gallery--static_fullwidth .immomakler-gallery__static-main:hover .immomakler-gallery__image{transform:scale(1.005)}.immomakler-gallery--hover-brighten.immomakler-gallery--static_fullwidth .immomakler-gallery__static-main:focus-visible .immomakler-gallery__image,.immomakler-gallery--hover-brighten.immomakler-gallery--static_fullwidth .immomakler-gallery__static-main:hover .immomakler-gallery__image{filter:brightness(1.08)}.immomakler-gallery--static_fullwidth .immomakler-gallery__static-thumbs{grid-column:2;grid-row:1;display:grid;gap:var(--immomakler-gallery-gap);min-width:0;min-height:0;height:100%;grid-template-columns:repeat(var(--immomakler-gallery-static-cols),1fr);grid-template-rows:repeat(var(--immomakler-gallery-static-rows),1fr)}.immomakler-gallery--static_fullwidth .immomakler-gallery__static-thumb{position:relative;display:block;overflow:hidden;border-radius:var(--immomakler-gallery-border-radius,0);cursor:zoom-in;color:inherit;text-decoration:none;min-width:0;min-height:0}.immomakler-gallery--static_fullwidth .immomakler-gallery__static-thumb .immomakler-gallery__image,.immomakler-gallery--static_fullwidth .immomakler-gallery__static-thumb picture>.immomakler-gallery__image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s linear,filter .2s linear;transform-origin:center}.immomakler-gallery--hover-zoom-in.immomakler-gallery--static_fullwidth .immomakler-gallery__static-thumb:focus-visible .immomakler-gallery__image,.immomakler-gallery--hover-zoom-in.immomakler-gallery--static_fullwidth .immomakler-gallery__static-thumb:hover .immomakler-gallery__image{transform:scale(1.0075)}.immomakler-gallery--hover-brighten.immomakler-gallery--static_fullwidth .immomakler-gallery__static-thumb:focus-visible .immomakler-gallery__image,.immomakler-gallery--hover-brighten.immomakler-gallery--static_fullwidth .immomakler-gallery__static-thumb:hover .immomakler-gallery__image{filter:brightness(1.08)}.immomakler-gallery--static_fullwidth .immomakler-gallery__static-thumb--more{opacity:1}.immomakler-gallery--static_fullwidth .immomakler-gallery__static-thumb-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.6);color:#fff;font-size:clamp(14px, 2vw, 20px);font-weight:700;pointer-events:none}.immomakler-gallery--static_fullwidth .immomakler-gallery__controls{position:absolute;right:16px;bottom:16px;z-index:2;display:flex;gap:8px;pointer-events:none}.immomakler-gallery--static_fullwidth .immomakler-gallery__controls-item{pointer-events:auto;display:inline-flex;align-items:center;gap:6px;padding:14px 20px;background-color:rgba(255,255,255,.95);color:#1a1a1a;border:0;border-radius:21px;box-shadow:0 2px 8px rgba(0,0,0,.25);font-size:14px;font-weight:500;line-height:1;text-decoration:none;cursor:pointer;transition:background-color 150ms ease}.immomakler-gallery--static_fullwidth .immomakler-gallery__controls-item:focus-visible,.immomakler-gallery--static_fullwidth .immomakler-gallery__controls-item:hover{background-color:#e5e5e5;text-decoration:none}.immomakler-gallery--static_fullwidth .immomakler-gallery__controls-item-icon{display:inline-flex;align-items:center;justify-content:center}.immomakler-gallery--static_fullwidth .immomakler-gallery__controls-item-icon svg{display:block;width:18px;height:18px}@media (max-width:768px){.immomakler-gallery--static_fullwidth .immomakler-gallery__controls{right:8px;bottom:8px}.immomakler-gallery--static_fullwidth .immomakler-gallery__controls-item{padding:10px 16px;font-size:13px}}.immomakler-gallery--static_fullwidth.immomakler-gallery--rounded-wrapper{border-radius:var(--immomakler-gallery-border-radius,0);overflow:hidden}.immomakler-gallery--static_fullwidth.immomakler-gallery--rounded-wrapper .immomakler-gallery__static-main,.immomakler-gallery--static_fullwidth.immomakler-gallery--rounded-wrapper .immomakler-gallery__static-thumb{border-radius:0}@media (max-width:768px){.immomakler-gallery--static_fullwidth,.immomakler-gallery--static_fullwidth.immomakler-gallery--aspect_ratio,.immomakler-gallery--static_fullwidth.immomakler-gallery--split_5050{grid-template-columns:1fr;height:auto}.immomakler-gallery--static_fullwidth .immomakler-gallery__static-thumbs{display:none}}