/* VISIMO Test: shared native templates, two authorised dark-grey surfaces. */
body.visimo-test-refinement{--visimo-base:#181818;--visimo-panel:#1b1b1b;--visimo-gold:#d0af67;--visimo-text:#eeece7;background-color:var(--visimo-base);background-image:none;color:var(--visimo-text);--visimo-content-surface:var(--visimo-base)}
/* Plain outer surfaces; photo headings must remain transparent. */
.visimo-test-refinement :is(.visimo-card,.visimo-detail-booking,.visimo-arrival .elementor-element-f846c0b,.visimo-contact-links .elementor-widget-icon-box,.elementor-popup-modal,.elementor-location-header,.elementor-location-footer){--visimo-content-surface:var(--visimo-panel)}
body.visimo-test-refinement :is(.visimo-detail-main,.visimo-owner-content,.visimo-contact-form){background-color:var(--visimo-base)!important;background-image:none}
.visimo-test-refinement .elementor{--e-global-color-primary:var(--visimo-gold);--e-global-color-secondary:var(--visimo-text);--e-global-color-text:var(--visimo-text);--e-global-color-accent:var(--visimo-gold)}
.visimo-test-refinement :is(.elementor-section,.e-con,.elementor-column>.elementor-widget-wrap){background-color:transparent!important}
.visimo-test-refinement :is(.elementor-widget-text-editor,.elementor-heading-title,.elementor-icon-list-text,.elementor-icon-box-title,.elementor-icon-box-description,.elementor-testimonial-content,.elementor-testimonial-name,.elementor-testimonial-job){color:var(--visimo-text)!important}
.visimo-test-refinement :is(p,li){line-height:1.65}
.visimo-test-refinement .elementor-widget-text-editor :is(p,span,strong,li){color:var(--visimo-text)!important}
.visimo-test-refinement :is(a,.elementor-widget-text-editor a){color:var(--visimo-gold)}
.visimo-test-refinement a:hover{color:#f1d79e}
.visimo-test-refinement :is(h2,h3).elementor-heading-title{color:var(--visimo-gold)!important;line-height:1.25}
.visimo-test-refinement h1{color:#f8f5ed!important;line-height:1.15;overflow-wrap:anywhere;text-wrap:balance}
.visimo-test-refinement :is(.elementor-button,button.visimo-primary){background:var(--visimo-gold)!important;color:#181818!important;border:1px solid var(--visimo-gold)!important;min-height:46px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;line-height:1.3;font-weight:600;box-sizing:border-box;text-decoration:none}
.visimo-test-refinement .elementor-button:hover{background:#e5c883!important}
.visimo-test-refinement .elementor-button :is(.elementor-button-icon svg,.elementor-button-icon svg *){fill:#181818!important}
.visimo-test-refinement :where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid #f1d79e!important;outline-offset:4px}
.visimo-test-refinement .elementor-location-header{position:sticky;top:0;z-index:100;background:var(--visimo-panel);border-bottom:1px solid #393329}
body.admin-bar.visimo-test-refinement .elementor-location-header{top:var(--visimo-admin-offset,32px)}
.visimo-test-refinement .visimo-header-template{padding:0!important;gap:0!important}
.visimo-header-template>.elementor-widget-shortcode{width:100%}
.visimo-header{position:relative;max-width:1560px;margin:auto;padding:14px 32px;display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:22px;align-items:center;background:var(--visimo-panel);box-sizing:border-box}
.visimo-header-logo{display:block;line-height:0}
.visimo-header-logo img{display:block;max-width:100%;width:160px;height:68px;object-fit:contain}
.visimo-main-navigation{display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:0}
@media(min-width:1350px){.visimo-main-navigation{padding-left:26px;justify-content:flex-start;gap:36px}.visimo-main-navigation a:last-child{margin-left:auto}}
.visimo-main-navigation a{color:var(--visimo-text);font-size:16px;font-weight:500;line-height:1.4;white-space:nowrap;text-decoration:none;min-height:44px;display:flex;align-items:center}
.visimo-main-navigation a[aria-current],.visimo-main-navigation a:hover{color:var(--visimo-gold)}
.visimo-header .visimo-header-book{width:auto;white-space:nowrap}
.visimo-menu-toggle{display:none}
.visimo-scroll-progress{position:absolute;left:0;right:0;bottom:-2px;height:2px;overflow:hidden;pointer-events:none;background:#393329}
.visimo-scroll-progress span{display:block;width:100%;height:100%;background:var(--visimo-gold);transform:scaleX(0);transform-origin:left;transition:none}
.visimo-language-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;padding:3px max(16px,calc((100% - 1496px)/2));background:var(--visimo-base);border-bottom:1px solid #393329}
.visimo-language-nav a{display:flex;align-items:center;min-height:40px;padding:4px 10px;color:var(--visimo-text);font-size:14px;line-height:1.3;text-decoration:none}
.visimo-language-nav a[aria-current],.visimo-language-nav a:hover{color:var(--visimo-gold);text-decoration:underline;text-underline-offset:5px}
.visimo-test-refinement .elementor-location-footer{background:var(--visimo-panel);border-top:1px solid #393329}
.visimo-test-refinement .elementor-location-footer :is(.e-con,.elementor-widget-icon-list){min-width:0;max-width:100%}
.visimo-test-refinement .elementor-location-footer .elementor-icon-list-text{white-space:normal;overflow-wrap:anywhere}
.visimo-test-refinement .elementor-field-group label{color:var(--visimo-text)!important}
.visimo-test-refinement :is(input,textarea,select).elementor-field:not([type=checkbox]):not([type=radio]){background:var(--visimo-panel)!important;color:var(--visimo-text)!important;border:1px solid #8c805f!important;min-height:44px}
.visimo-test-refinement .elementor-field::placeholder{color:#c4c1b8!important;opacity:1}
.visimo-test-refinement .elementor-icon-list-icon svg{fill:var(--visimo-gold)}
.visimo-test-refinement .elementor-icon-list-icon i{color:var(--visimo-gold)}
.visimo-test-refinement .elementor-widget-reviews .swiper-slide{background:var(--visimo-panel)!important}
.visimo-test-refinement .visimo-review-language{color:#c4c1b8;font-size:.875rem}
.visimo-test-refinement .elementor-widget-reviews :is(.elementor-testimonial__text,.elementor-testimonial__name,.elementor-testimonial__title){color:var(--visimo-text)!important}
/* Compact platform snapshot; selected voices with controlled 7-second rotation. */
.visimo-review-overview,.visimo-guest-voices{width:100%;min-width:0;color:var(--visimo-text)}
.visimo-review-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.visimo-review-platform{background:var(--visimo-panel);border:1px solid #635638;border-radius:4px;padding:18px 12px;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:10px;min-width:0}
.visimo-platform-name{font-size:18px;color:var(--visimo-text);font-weight:600}
.visimo-platform-score{font-size:28px;color:var(--visimo-gold);line-height:1.25}
.visimo-platform-score span{font-size:16px;font-weight:400;color:var(--visimo-gold)}
.visimo-review-platform small,.visimo-platform-pending{font-size:12px;line-height:1.45;color:#c8c4ba}
.visimo-review-note{font-size:12px;line-height:1.5;color:#c8c4ba;margin:12px 0 0;text-align:left}

.visimo-guest-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 0;align-items:stretch;touch-action:pan-x pan-y}
.visimo-guest-rail::-webkit-scrollbar{display:none}
.visimo-guest-card{min-width:0;display:flex;flex-direction:column;scroll-snap-align:start;background:var(--visimo-panel);border:1px solid #635638;border-radius:4px;padding:24px;gap:20px;text-align:left}
.visimo-guest-card blockquote{border:0;padding:0;margin:0;font-size:19px;line-height:1.5;font-style:normal;font-weight:400;color:var(--visimo-text)}
.visimo-guest-card blockquote p{margin:0;line-height:1.5}
.visimo-guest-card footer{margin-top:auto;padding-top:16px;border-top:1px solid #423c30;display:flex;flex-direction:column;gap:5px;font-size:13px;line-height:1.5;color:#d2cec4}
.visimo-guest-card footer strong{font-size:15px;color:var(--visimo-text);overflow-wrap:anywhere}
.visimo-guest-translation{font-size:11px;color:#b8b4aa;min-height:16px}
.visimo-guest-controls{position:relative;display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}
.visimo-guest-controls button{display:flex;align-items:center;justify-content:center;min-width:46px;height:46px;border:1px solid #88744a;border-radius:50%;background:var(--visimo-panel);color:var(--visimo-gold);font-size:22px;cursor:pointer;padding:0}
.visimo-guest-controls .visimo-guest-pause{position:absolute;width:1px!important;height:1px!important;min-width:0!important;padding:0!important;border:0!important;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.visimo-guest-controls .visimo-guest-pause:focus{position:fixed;right:16px;bottom:16px;left:auto;top:auto;width:auto!important;height:46px!important;min-width:110px!important;padding:0 12px!important;border:1px solid var(--visimo-gold)!important;border-radius:3px;clip-path:none;overflow:visible;z-index:10001;background:var(--visimo-panel)!important;color:var(--visimo-gold)!important;font-size:14px;outline:2px solid var(--visimo-gold)!important;outline-offset:3px}
.visimo-guest-controls :is(.visimo-guest-prev,.visimo-guest-next):is(:hover,:focus,:active,[aria-pressed=true]){background:var(--visimo-gold)!important;color:var(--visimo-base)!important;border-color:var(--visimo-gold)!important;box-shadow:none!important}
.visimo-guest-controls :is(.visimo-guest-prev,.visimo-guest-next):focus-visible{outline:2px solid var(--visimo-gold)!important;outline-offset:3px}
.visimo-guest-position{font-size:12px;color:#c8c4ba;min-width:45px;text-align:center}
@media(max-width:1024px){.visimo-guest-rail{grid-auto-columns:calc((100% - 16px)/2)}}
@media(max-width:767px){.visimo-guest-rail{grid-auto-columns:100%}.visimo-guest-card{padding:20px}.visimo-guest-card blockquote{font-size:18px}.visimo-review-platform{padding:14px 8px}.visimo-platform-name{font-size:14px}.visimo-platform-score{font-size:23px}.visimo-review-platform small{font-size:11px}}
@media(max-width:599px){.visimo-review-platforms{grid-template-columns:1fr}.visimo-review-platform{display:grid;grid-template-columns:1fr 1fr;text-align:left;align-items:center;gap:6px 12px}.visimo-review-platform small{grid-column:1/-1}.visimo-platform-score{text-align:right}}
.visimo-test-refinement a[href*="/alle-apartments/"]{display:none!important}
.visimo-test-refinement :is(a[href*="/alle-apartments-en/"],a[href*="/alle-apartments-fr/"],a[href*="/alle-apartments-it/"],a[href*="/alle-apartments-es/"]){display:none!important}
/* Location pages use the same hero and the same two-column content width. */
body.visimo-test-refinement .visimo-location-hero{height:300px;min-height:300px!important;display:flex;align-items:center;justify-content:center;margin:0!important;padding:24px!important}
.visimo-location-hero .elementor-heading-title{font-size:clamp(30px,3.5vw,46px)!important;text-align:center}
body.visimo-test-refinement .visimo-location-list{width:100%;max-width:1248px!important;margin:0 auto!important;padding:42px 24px!important;display:block!important;--content-width:1200px}
.visimo-location-list>.e-con-inner{display:block;width:100%;max-width:1200px}
.visimo-test-refinement .elementor-loop-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1200px;margin:auto}
.visimo-location-list .elementor-loop-container:not(:has(>.e-loop-item~.e-loop-item))>.e-loop-item{grid-column:1/-1;width:100%;max-width:var(--visimo-single-card-width,1000px);justify-self:center}
.visimo-test-refinement .e-loop-item{display:flex;align-self:stretch;min-width:0}
body.visimo-test-refinement .visimo-card{width:100%!important;display:flex!important;flex-direction:column!important;flex:1 1 auto!important;background:var(--visimo-panel)!important;border:1px solid #796744;overflow:hidden;padding:0!important;gap:0!important}
body.visimo-test-refinement .visimo-card .e-con{height:auto!important;min-height:0!important;--height:auto!important;--min-height:0!important;flex:0 1 auto!important;background:var(--visimo-panel)!important;min-width:0!important;max-width:100%!important}
body.visimo-test-refinement .visimo-card :is(.visimo-card-media,.visimo-card-content){flex-direction:column!important;--flex-direction:column!important;--flex-wrap:nowrap!important;width:100%}
body.visimo-test-refinement .visimo-card .e-con-inner{height:auto!important;min-height:0!important;flex:0 1 auto!important;flex-direction:column;width:100%;max-width:100%!important}
body.visimo-test-refinement .visimo-card .visimo-card-content{flex:1 1 auto!important;padding:24px!important;gap:18px!important;margin:0!important}
.visimo-card .visimo-card-spacer{display:none}
body.visimo-test-refinement .visimo-card .visimo-card-content>.visimo-card-title{min-height:var(--visimo-title-height,0px)!important}
body.visimo-test-refinement .visimo-card .visimo-card-content>.visimo-card-address{min-height:var(--visimo-address-height,0px)!important}
body.visimo-test-refinement .visimo-card .visimo-card-content>.visimo-card-facts{min-height:var(--visimo-facts-height,0px)!important}
body.visimo-test-refinement .visimo-card .visimo-card-content>.visimo-card-description{min-height:var(--visimo-description-height,0px)!important}
.visimo-card-content :is(h2,p){margin:0!important}
@media(min-width:768px){
 /* Reserve a small title area while Elementor settles a responsive change.
    Actual row measurement still expands it for longer translated titles. */
 .elementor-loop-container:has(>.e-loop-item~.e-loop-item) .visimo-card-title{font-size:24px;line-height:1.25}
 body.visimo-test-refinement .elementor-loop-container:has(>.e-loop-item~.e-loop-item) .visimo-card .visimo-card-content>.visimo-card-title{min-height:max(var(--visimo-title-height,0px),2lh)!important}
}
@media(min-width:768px) and (max-width:1024px){
 body.visimo-test-refinement .elementor-loop-container:has(>.e-loop-item~.e-loop-item) .visimo-card .visimo-card-content>.visimo-card-title{min-height:max(var(--visimo-title-height,0px),3lh)!important}
}
.visimo-card-address .elementor-icon-list-text{overflow-wrap:normal;word-break:normal}
.visimo-card-facts .elementor-icon-box-title,.visimo-detail-facts dd,.visimo-unit{white-space:nowrap}
/* One apartment uses a wider centred card; its complete photograph fits the viewport. */
.visimo-location-list .elementor-loop-container:not(:has(>.e-loop-item~.e-loop-item)) .visimo-card-media :is(.swiper,.swiper-container,.swiper-slide,figure,a){height:var(--visimo-single-photo-height,var(--visimo-single-photo-placeholder,400px))!important}
.visimo-location-list .elementor-loop-container:not(:has(>.e-loop-item~.e-loop-item)) .visimo-card-media figure{display:flex;align-items:center;justify-content:center}
.visimo-location-list .elementor-loop-container:not(:has(>.e-loop-item~.e-loop-item)) .visimo-card-media img{width:100%;height:100%!important;aspect-ratio:auto;object-fit:contain}
.visimo-card .visimo-card-buttons{margin-top:auto!important;padding:0!important;width:100%}
.visimo-card .elementor-button-wrapper{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}
.visimo-card .elementor-button{flex:1 1 150px;min-height:48px;margin:0!important;font-size:15px;text-align:center}
.visimo-card .visimo-card-media{container-type:inline-size}
.visimo-card .elementor-image-carousel-wrapper{aspect-ratio:4/3;height:calc(100cqw * .75)!important;overflow:hidden}
.visimo-card .elementor-widget-image-carousel img{width:100%;aspect-ratio:4/3;height:auto!important;object-fit:cover;display:block}
.visimo-card .elementor-widget-theme-post-title h2{font-size:24px!important;line-height:1.25!important}
body.visimo-test-refinement .visimo-card .visimo-card-facts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important;padding:0!important;width:100%}
body.visimo-test-refinement .visimo-card .visimo-card-facts .elementor-icon-box-wrapper{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:24px auto;align-items:start;column-gap:10px;row-gap:0;text-align:left}
.visimo-card .visimo-card-facts .elementor-icon-box-content{display:contents}
.visimo-card .visimo-card-facts .elementor-icon-box-icon{grid-column:1;grid-row:1/3}
.visimo-card .visimo-card-facts .elementor-icon-box-icon .elementor-icon{display:block;width:30px;height:30px;line-height:0;font-size:0}
.visimo-card .visimo-card-facts .elementor-icon-box-title{grid-column:2;grid-row:1}
.visimo-card .visimo-card-facts .elementor-icon-box-description{grid-column:2;grid-row:2}
.visimo-card .visimo-card-facts .elementor-icon-box-icon{margin:0!important;width:30px;height:30px}
.visimo-card .visimo-card-facts .elementor-icon-box-title{font-size:18px!important;margin:0!important;line-height:24px;min-height:24px}
.visimo-card .visimo-card-facts .elementor-icon-box-description{font-size:13px!important;line-height:1.3}
.visimo-card .visimo-card-facts .elementor-icon-box-description{margin:0!important}
.visimo-card .elementor-widget-icon-box>.elementor-widget-container{padding:0!important}
.visimo-test-refinement .visimo-fine-icon{width:30px;height:30px;min-width:30px;fill:none!important;stroke:var(--visimo-gold)!important}
.visimo-fine-icon *{fill:none!important;stroke:inherit}
/* Full photographs on details; original Swiper and Elementor lightbox retained. */
body.single-immobilien.visimo-test-refinement .visimo-detail-gallery{max-width:1560px;margin:0 auto!important;padding:16px 24px!important;width:100%;container-type:inline-size}
body.single-immobilien.visimo-test-refinement .visimo-detail-gallery .elementor-widget-image-carousel{width:100%}
body.single-immobilien.visimo-test-refinement .visimo-detail-gallery :is(.elementor-image-carousel-wrapper,.swiper,.swiper-container,.swiper-slide){height:var(--visimo-photo-height,var(--visimo-photo-placeholder,clamp(240px,65vh,680px)))!important;max-height:none!important;overflow:hidden!important}
body.single-immobilien.visimo-test-refinement .visimo-detail-gallery .swiper-slide{display:flex;align-items:center;justify-content:center;background:var(--visimo-panel)}
body.single-immobilien.visimo-test-refinement .visimo-detail-gallery .swiper-slide :is(a,figure){display:flex;width:100%;height:100%;align-items:center;justify-content:center}
body.single-immobilien.visimo-test-refinement .visimo-detail-gallery img{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;aspect-ratio:auto!important}
.visimo-test-refinement .elementor-widget-image-carousel .elementor-swiper-button{width:44px;min-width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(27,27,27,.85);color:#fff!important}
.visimo-test-refinement .elementor-widget-image-carousel .elementor-swiper-button svg{width:24px!important;height:24px!important;flex:0 0 24px;fill:#fff!important}
.visimo-test-refinement .elementor-widget-image-carousel .elementor-swiper-button svg *{fill:#fff!important}
body.visimo-test-refinement .visimo-detail-layout{max-width:1248px!important;padding:28px 24px 48px!important;margin:auto!important;gap:36px!important;width:100%;--content-width:1200px;flex-direction:row!important;align-items:flex-start!important;background-color:var(--visimo-base)!important;background-image:none}
.visimo-detail-main{flex:1 1 0!important;min-width:0;gap:20px!important}
.visimo-detail-booking{flex:0 0 300px!important;min-width:0;padding:24px!important;border:1px solid #393329;background:var(--visimo-panel)!important;gap:20px!important}
.visimo-detail-title h1{font-size:clamp(28px,3vw,40px)!important;margin:0;line-height:1.2}
.visimo-detail-address .elementor-heading-title{font-size:20px!important;line-height:1.4!important}
.visimo-detail-layout .elementor-widget-heading{margin-bottom:0!important}
.visimo-detail-layout .elementor-widget-text-editor{margin:0!important}
.visimo-detail-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.visimo-detail-facts>div{text-align:center;padding:12px 4px;background:var(--visimo-panel);border:1px solid #393329}
.visimo-detail-facts dd{margin:6px 0 2px;color:var(--visimo-gold);font-weight:600;font-size:18px;line-height:1.3}
.visimo-detail-facts dt{font-size:13px;line-height:1.3}
.visimo-bed-details{font-size:14px;line-height:1.4;text-align:left;margin-top:10px;color:var(--visimo-text)}
.visimo-bed-details p{margin:0;line-height:1.45!important}
.visimo-city-copy{margin:0;padding:18px 0;border-top:1px solid #393329;border-bottom:1px solid #393329}
.visimo-detail-equipment .elementor-icon-list-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}
.visimo-detail-equipment .elementor-icon-list-item{margin:0!important;padding:0!important;min-width:0;align-items:flex-start}
.visimo-detail-equipment .elementor-icon-list-text{font-size:16px!important;line-height:1.4;min-width:0;white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:none}
.visimo-detail-route p{margin:0 0 10px}
.visimo-conditions{padding:20px;background:var(--visimo-panel);border:1px solid #393329}
.visimo-conditions h2{font-size:22px;line-height:1.25;color:var(--visimo-gold);margin:0 0 12px}
.visimo-conditions p{margin:0}
.visimo-detail-map iframe{height:280px!important;width:100%;border:0}
.visimo-test-refinement .elementor-popup-modal .dialog-widget-content{background:var(--visimo-panel)!important;color:var(--visimo-text);max-width:calc(100vw - 32px)!important}
.visimo-test-refinement .elementor-popup-modal .e-con{background:var(--visimo-panel)!important}
.visimo-test-refinement .elementor-popup-modal .elementor-element-f4b5c82{gap:20px!important;padding:36px 24px!important;align-items:stretch!important}
.visimo-test-refinement .elementor-popup-modal .elementor-element-f4b5c82>.e-con{flex:1 1 0!important;width:auto!important;min-width:0;display:flex;flex-direction:column;padding:20px 12px!important}
.visimo-test-refinement .elementor-popup-modal .elementor-element-f4b5c82>.e-con>.elementor-widget-button{margin-top:auto!important}
.visimo-test-refinement .elementor-popup-modal .visimo-popup-title{min-height:var(--visimo-popup-title-height,0px)}
.visimo-test-refinement .elementor-popup-modal .elementor-heading-title{font-size:24px!important;line-height:1.3!important}
.visimo-test-refinement .visimo-home-slideshow{height:300px!important;min-height:300px!important}
.visimo-home-slideshow .swiper-slide-bg{position:absolute;inset:0;background-image:none!important}
.visimo-home-slideshow .visimo-slide-photo{position:absolute;inset:0;display:block;width:100%;height:100%!important;object-fit:cover;object-position:center;max-width:none}
/* One existing slideshow instance: native vertical pan and opacity-only blending. */
.visimo-home-slideshow :is(.swiper,.swiper-container){touch-action:pan-y}
.visimo-home-slideshow .swiper-fade .swiper-slide{transition-property:opacity;transition-timing-function:ease-in-out}
.visimo-home-slideshow .visimo-slide-photo{pointer-events:none;user-select:none;-webkit-user-drag:none}
/* Original Swiper transitions remain; image candidates are responsive. */
.visimo-test-refinement .visimo-arrival{margin:0!important;padding:28px 24px 36px!important;background-color:var(--visimo-base)!important;background-image:none}
.visimo-arrival .elementor-element-f846c0b{padding:24px 32px!important;background:var(--visimo-panel)!important}
.visimo-arrival h1{font-size:clamp(26px,3.2vw,44px)!important;margin:8px 0 14px}
.visimo-arrival .elementor-element-df7c66b h2{font-size:18px!important}
.visimo-arrival .elementor-element-25e90ca img{max-height:150px;object-fit:contain}
.visimo-test-refinement .visimo-stay-offer{text-align:center;color:var(--visimo-text)!important}
.visimo-test-refinement .visimo-stay-offer :is(p,dt,span){color:var(--visimo-text)!important}
.visimo-stay-offer .visimo-arrival-intro{font-size:18px;line-height:1.5;margin:0 auto 12px;max-width:740px}
.visimo-stay-offer .visimo-direct-benefits{font-size:14px;line-height:1.5;margin:0 0 16px}
.visimo-test-refinement .visimo-stay-offer h2{font-size:21px!important;line-height:1.3;color:var(--visimo-gold)!important;margin:0 0 14px}
.visimo-discount-tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.visimo-discount-tiers>div{border-top:1px solid #79694a;padding:12px 4px 0}
.visimo-discount-tiers dt{font-size:14px;line-height:1.35;color:var(--visimo-text)!important}
.visimo-discount-tiers dd{font-size:24px;font-weight:600;color:var(--visimo-gold)!important;margin:8px 0 0;line-height:1.2}
.visimo-discount-tiers dd span{display:block;font-size:12px;font-weight:400;color:var(--visimo-text)!important;margin-top:4px}
.visimo-business-intro{margin:28px auto 0;padding-top:20px;border-top:1px solid #393329;max-width:740px;font-size:15px}
.visimo-test-refinement .visimo-owner-content{max-width:1060px;margin:auto;padding:64px 24px}
.visimo-owner-content h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.15}
.visimo-owner-content h2{color:var(--visimo-gold);margin-top:2rem}
.visimo-owner-content li{margin-block:.6em}
.visimo-owner-content table{width:100%;border-collapse:collapse;font-size:clamp(.8rem,2vw,1rem)}
.visimo-owner-content :is(th,td){padding:12px;border:1px solid #79694a;text-align:left}
.visimo-owner-content th{background:var(--visimo-panel)}
/* Existing contact fields and actions; restrained, labelled dark surfaces. */
body.visimo-test-refinement .visimo-contact-links{max-width:1000px;margin:32px auto!important;padding:0 24px!important;gap:20px!important}
body.visimo-test-refinement .visimo-contact-links .elementor-widget-icon-box>.elementor-widget-container{background:var(--visimo-panel)!important;border:1px solid #454036;box-shadow:none!important;padding:20px!important;border-radius:3px!important}
.visimo-contact-links .elementor-icon-box-title{font-size:18px!important;overflow-wrap:anywhere}
.visimo-contact-links .elementor-icon-box-description{font-size:14px!important}
body.visimo-test-refinement .visimo-contact-form{max-width:1000px;margin:0 auto 48px!important;padding:24px!important;gap:20px!important}
.visimo-contact-form h2{font-size:28px!important;text-align:left}
body.visimo-test-refinement .visimo-contact-form .elementor-widget-form>.elementor-widget-container{background:var(--visimo-panel)!important;border:1px solid #454036;box-shadow:none!important;border-radius:3px!important;padding:28px!important;margin:0!important}
.visimo-contact-form .elementor-form-fields-wrapper{column-gap:0;row-gap:18px}
/* Keep Elementor negative row spacing from consuming the responsive bottom inset. */
@media(max-width:1024px){.visimo-contact-form .elementor-widget-form .elementor-form-fields-wrapper{margin-bottom:0!important}}
.visimo-contact-form .elementor-field-group{margin-bottom:0!important}
.visimo-contact-form .elementor-field-label{font-size:14px;line-height:1.4;padding-bottom:8px!important}
body.visimo-test-refinement .visimo-contact-form :is(input,textarea,select).elementor-field:not([type=checkbox]):not([type=radio]){background:var(--visimo-base)!important;border:1px solid #686052!important;border-radius:3px!important;font-size:16px!important;padding:12px 14px;line-height:1.5;min-height:48px}
.visimo-contact-form textarea.elementor-field{min-height:140px;resize:vertical}
.visimo-contact-form .elementor-field:focus{border-color:var(--visimo-gold)!important;outline:2px solid var(--visimo-gold);outline-offset:2px}
.visimo-contact-form .elementor-field:invalid:not(:placeholder-shown),.visimo-contact-form .elementor-field[aria-invalid=true]{border-color:#eea69a!important}
.visimo-contact-form :is(.elementor-message-danger,.elementor-help-inline){color:#ffc0b5!important;font-size:14px}
.visimo-contact-form .elementor-message-success{color:#c9e5c4!important}
body.visimo-test-refinement .visimo-contact-form .elementor-button{background:transparent!important;color:var(--visimo-gold)!important;border:1px solid var(--visimo-gold)!important;border-radius:3px;min-width:180px}
.visimo-contact-form .elementor-field-type-submit{justify-content:flex-start}
.visimo-contact-form .elementor-field-type-submit .elementor-button{width:auto;flex:0 0 auto}
.visimo-standort-filter{color:var(--visimo-text)}
.visimo-test-refinement .visimo-standort-filter label{color:var(--visimo-text)!important;line-height:24px}
.visimo-test-refinement .visimo-standort-filter select{background-color:var(--visimo-panel)!important;color:var(--visimo-text)!important;border-color:#8c805f;min-height:44px}
.visimo-test-refinement .visimo-standort-filter select:is(:hover,:focus-visible){border-color:var(--visimo-gold);outline-color:var(--visimo-gold)!important}
.visimo-standort-filter select option{background:var(--visimo-panel);color:var(--visimo-text)}
.visimo-standort-filter select option:is(:checked,:hover,:focus){background:var(--visimo-gold);color:var(--visimo-base)}
/* Keep the native select and change events; opt into a CSS-stylable picker where supported. */
@supports(appearance:base-select){
 .visimo-test-refinement .visimo-standort-filter select,.visimo-standort-filter select::picker(select){appearance:base-select}
 .visimo-test-refinement .visimo-standort-filter select{background-image:none!important;cursor:pointer;display:inline-flex!important;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px}
 .visimo-standort-filter select::picker(select){background:var(--visimo-panel);border:1px solid var(--visimo-gold);color:var(--visimo-text);max-height:60dvh;overflow-y:auto;box-shadow:0 6px 16px #0005}
 .visimo-standort-filter select::picker-icon{color:var(--visimo-gold)}
 .visimo-standort-filter select option{min-height:44px;padding:10px 14px;box-sizing:border-box}
 .visimo-standort-filter select option:is(:checked,:hover,:focus){background:var(--visimo-gold);color:var(--visimo-base)}
 .visimo-standort-filter select option:focus-visible{outline:2px solid var(--visimo-gold);outline-offset:-3px}
}
@media(max-width:1349px){
 .visimo-header{grid-template-columns:minmax(100px,1fr) auto 46px;gap:16px;padding:10px 24px}
 .visimo-header-logo img{width:150px;height:62px}
 .visimo-menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:46px;min-height:46px;padding:10px;background:transparent;color:var(--visimo-text);border:1px solid #8c805f;border-radius:3px}
 .visimo-menu-toggle span{display:block;width:24px;height:2px;background:currentColor}
 .visimo-header .visimo-menu-toggle:is(:hover,:focus,:active){background:var(--visimo-panel)!important;color:var(--visimo-gold)!important}
 .visimo-main-navigation{display:none;position:absolute;left:0;right:0;top:100%;padding:12px 24px;background:var(--visimo-panel);border-top:1px solid #393329;border-bottom:1px solid #8c805f;max-height:calc(100dvh - 110px);overflow-y:auto;box-shadow:0 8px 14px #0003}
 .visimo-main-navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .visimo-main-navigation a{min-height:48px;margin:0!important;padding:8px 12px;white-space:normal}
 .visimo-test-refinement .elementor-popup-modal .elementor-element-f4b5c82{flex-wrap:wrap!important}
 .visimo-test-refinement .elementor-popup-modal .elementor-element-f4b5c82>.e-con{flex:1 1 calc(50% - 20px)!important}
}
@media(max-width:782px){body.admin-bar.visimo-test-refinement .elementor-location-header{top:var(--visimo-admin-offset,46px)}}
@media(max-width:767px){
 .visimo-header{padding:10px 16px;gap:12px;grid-template-columns:minmax(80px,1fr) auto 44px}
 .visimo-header-logo img{width:124px;height:54px}
 .visimo-header .visimo-header-book{width:auto;padding:12px 14px;font-size:14px;min-height:44px}
 .visimo-menu-toggle{min-width:44px;min-height:44px}
 .visimo-language-nav{justify-content:center;padding:2px 4px;gap:0}
 .visimo-language-nav a{font-size:12px;padding:4px 7px;min-height:36px}
 body.visimo-test-refinement .visimo-location-hero{height:200px;min-height:200px!important}
 body.visimo-test-refinement .visimo-location-list{padding:24px 16px!important}
 .visimo-test-refinement .elementor-loop-container{grid-template-columns:1fr;gap:18px}
 .visimo-location-list .elementor-loop-container:not(:has(>.e-loop-item~.e-loop-item))>.e-loop-item{width:100%;grid-column:auto}
 body.visimo-test-refinement .visimo-card .visimo-card-content{padding:20px!important;gap:16px!important}
 .visimo-card .elementor-button{flex:0 0 auto!important;height:auto!important;min-height:48px!important}
 .visimo-card .elementor-widget-theme-post-title h2{font-size:23px!important}
 .visimo-card .elementor-icon-box-title{font-size:16px!important}
 .visimo-card .elementor-icon-box-description{font-size:12px!important;line-height:1.4!important}
 body.visimo-test-refinement .visimo-card .visimo-card-facts .elementor-icon-box-wrapper{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:30px 24px auto;justify-items:center;row-gap:6px;text-align:center}
 .visimo-card .visimo-card-facts .elementor-icon-box-icon{grid-column:1;grid-row:1}
 .visimo-card .visimo-card-facts .elementor-icon-box-title{grid-column:1;grid-row:2}
 .visimo-card .visimo-card-facts .elementor-icon-box-description{grid-column:1;grid-row:3}
 body.visimo-test-refinement .visimo-detail-gallery{padding:10px 0!important}
 body.visimo-test-refinement .visimo-detail-gallery :is(.elementor-image-carousel-wrapper,.swiper,.swiper-container,.swiper-slide){height:var(--visimo-photo-height,var(--visimo-photo-placeholder,clamp(180px,48dvh,420px)))!important}
 body.visimo-test-refinement .visimo-detail-layout{flex-direction:column!important;padding:20px 16px 32px!important;gap:24px!important}
 body.visimo-test-refinement :is(.visimo-detail-main,.visimo-detail-booking){width:100%!important;flex:0 1 auto!important}
 .visimo-detail-main{gap:16px!important}
 .visimo-detail-facts{gap:6px}
 .visimo-detail-facts>div{padding:10px 2px}
 .visimo-detail-facts dd{font-size:16px}
 .visimo-detail-facts dt{font-size:11px;overflow-wrap:normal}
 .visimo-detail-facts .visimo-fine-icon{width:26px;height:26px;min-width:26px}
 .visimo-bed-details{font-size:13px}
 .visimo-detail-equipment .elementor-icon-list-text{font-size:14px!important}
 .visimo-detail-equipment .elementor-icon-list-items{grid-template-columns:1fr}
 body.visimo-test-refinement .visimo-contact-links{flex-direction:column!important;padding:0 16px!important;margin:24px auto!important;gap:12px!important}
 .visimo-contact-links>.e-con{width:100%!important}
 body.visimo-test-refinement .visimo-contact-form{padding:16px!important;margin-bottom:24px!important}
 body.visimo-test-refinement .visimo-contact-form .elementor-widget-form>.elementor-widget-container{padding:18px!important}
 .visimo-contact-form .elementor-field-group{width:100%}
 .visimo-contact-form h2{font-size:24px!important}
 .visimo-contact-form .elementor-field-type-submit .elementor-button{width:100%}
 .visimo-conditions{padding:16px}
 .visimo-test-refinement .elementor-popup-modal .elementor-element-f4b5c82{padding:28px 12px!important;gap:12px!important}
 .visimo-test-refinement .elementor-popup-modal .elementor-element-f4b5c82>.e-con{padding:16px 6px!important}
 .visimo-test-refinement .elementor-popup-modal .elementor-heading-title{font-size:20px!important}
 .visimo-test-refinement .visimo-home-slideshow{height:180px!important;min-height:180px!important}
 .visimo-test-refinement .visimo-arrival{padding:20px 16px 28px!important}
 .visimo-arrival .elementor-element-f846c0b{padding:16px 12px!important}
 .visimo-arrival h1{font-size:26px!important}
 .visimo-arrival .elementor-element-25e90ca{display:block}
 .visimo-stay-offer .visimo-arrival-intro{font-size:15px;line-height:1.45}
 .visimo-stay-offer .visimo-direct-benefits{font-size:13px}
 .visimo-stay-offer h2{font-size:18px!important}
 .visimo-discount-tiers{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .visimo-discount-tiers dd{font-size:22px}
 .visimo-owner-content{padding:36px 18px!important}
}
@media(orientation:landscape) and (max-height:540px){
 body.single-immobilien.visimo-test-refinement .visimo-detail-gallery :is(.elementor-image-carousel-wrapper,.swiper,.swiper-container,.swiper-slide){height:var(--visimo-photo-height,var(--visimo-photo-placeholder,calc(100dvh - 130px)))!important;min-height:140px}
}
@media(prefers-reduced-motion:reduce){
 .visimo-test-refinement *,.visimo-test-refinement *::before,.visimo-test-refinement *::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

@media(max-width:359px){.visimo-header{grid-template-columns:1fr 44px;gap:8px 12px}.visimo-header-logo{grid-column:1;grid-row:1}.visimo-menu-toggle{grid-column:2;grid-row:1}.visimo-header-book{grid-column:1/-1;grid-row:2;justify-self:stretch}.visimo-header-logo img{width:124px;height:46px}}

/* Keep the existing delayed location selector inside its reserved space. */
.visimo-stgallen-overview .visimo-location-list{position:relative}
.visimo-stgallen-overview .visimo-location-list .elementor-element-8a5393d{margin-top:76px!important}
.visimo-stgallen-overview .visimo-standort-filter{position:absolute;top:42px;left:24px;right:24px;width:auto;padding:24px 0 8px}
@media(max-width:767px){.visimo-stgallen-overview .visimo-location-list .elementor-element-8a5393d{margin-top:104px!important}.visimo-stgallen-overview .visimo-standort-filter{top:24px;left:16px;right:16px;padding:20px 0 8px}}

/* Long existing legal URLs remain readable without page overflow. */
.visimo-test-refinement .elementor-widget-text-editor{overflow-wrap:anywhere}

.visimo-location-hero .elementor-widget-heading{background-color:transparent!important}
/* Four existing destinations; no extra galleries or booking route changes. */
.visimo-home-location-grid{max-width:1200px;margin:36px auto;padding:0 24px;background-image:none}
.visimo-home-locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.visimo-home-location{display:flex;flex-direction:column;min-width:0;background:var(--visimo-panel);border:1px solid #796744;overflow:hidden;border-radius:3px}
.visimo-home-location>img{width:100%;height:240px;object-fit:cover;display:block}
.visimo-home-location>div{padding:24px;display:flex;flex:1;flex-direction:column;gap:16px}
.visimo-home-location h2{color:var(--visimo-gold);font-size:26px;line-height:1.3;margin:0}
.visimo-home-location p{margin:0;flex:1}
.visimo-home-location .elementor-button{align-self:flex-start}
.visimo-owner-offers{display:grid;grid-template-columns:1fr;gap:24px;margin:28px 0;background-image:none}
.visimo-owner-offer{padding:28px;background:var(--visimo-panel);border:1px solid #796744;border-radius:3px}
.visimo-owner-content .visimo-owner-offer h2:first-child{margin-top:0}
.visimo-owner-offer :is(p,ul,ol){border:0}
.visimo-owner-offer :is(th,td){border-color:#474239}
@media(max-width:767px){.visimo-home-location-grid{padding:0 16px}.visimo-home-locations{grid-template-columns:1fr;gap:20px}.visimo-home-location>img{height:200px}.visimo-home-location>div{padding:20px}.visimo-home-location h2{font-size:24px}.visimo-owner-offer{padding:20px}}

/* The original stronger welcome border encloses one completely plain surface. */
body.visimo-test-refinement .visimo-arrival .elementor-element-738fe5b>.elementor-widget-wrap{background-color:var(--visimo-panel)!important;background-image:none;--visimo-content-surface:var(--visimo-panel)}

/* Local official maps; no blanket centering. */
.visimo-geographic-map{--map-gold:var(--visimo-gold,#d0af67);width:100%;position:relative;color:#eeece7;margin:24px 0 0}
.visimo-map-overview{margin:0;max-width:none}
.visimo-map-canvas{position:relative;isolation:isolate;height:clamp(480px,40vw,640px);overflow:hidden;background:#181818;border-block:1px solid #635638;touch-action:pan-y;cursor:grab}
.visimo-map-detail .visimo-map-canvas{height:460px}
.visimo-map-picture{display:contents}
.visimo-geographic-map .visimo-map-raster{position:absolute;max-width:none!important;max-height:none!important;opacity:.82;pointer-events:none;user-select:none}
.visimo-map-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.visimo-map-logo{position:absolute;z-index:3;top:16px;left:18px;width:104px!important;height:44px!important;object-fit:contain;background:#1b1b1b;padding:5px;border-radius:3px;pointer-events:none}
.visimo-map-controls{position:absolute;right:16px;top:16px;z-index:4;display:flex;gap:5px}
.visimo-map-controls button{width:44px;height:44px;min-height:44px;padding:0;border:1px solid #796744;border-radius:3px;background:#1b1b1b;color:var(--map-gold);font-size:24px;line-height:1;cursor:pointer}
.visimo-geographic-map .visimo-map-controls button:is(:hover,:focus,:focus-visible,:active){background:#353025!important;color:#f1d79e!important;border-color:var(--map-gold)!important;box-shadow:none!important}
.visimo-map-controls button:disabled{opacity:.45;cursor:default}
.visimo-map-labels{position:absolute;inset:0;pointer-events:none}
.visimo-geographic-map .visimo-map-label{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;min-height:44px;max-width:174px;width:max-content;padding:7px 10px;box-sizing:border-box;border:1px solid #796744;border-radius:3px;background:#1b1b1bf2;color:var(--map-gold);font-size:13px;line-height:1.3;font-weight:600;text-align:center;white-space:normal;overflow-wrap:normal;word-break:normal;box-shadow:0 2px 8px #0005;pointer-events:auto}
.visimo-geographic-map button.visimo-map-label{cursor:pointer}
.visimo-geographic-map .visimo-map-label-poi{border-color:#77746f;color:#eeece7;font-size:12px;font-weight:400;pointer-events:none}
.visimo-geographic-map .visimo-map-label[hidden]{display:none!important}
.visimo-geographic-map button:focus-visible{outline:3px solid #f1d79e!important;outline-offset:3px}
.visimo-geographic-map button.visimo-map-label:is(:hover,:focus,:focus-visible,:active){color:#f1d79e!important;background:#302a20!important;border-color:var(--map-gold)!important}
.visimo-map-attribution{position:absolute;right:8px;bottom:7px;padding:4px 7px;background:#1b1b1bf2;color:#eeece7!important;font-size:11px;z-index:3}
.visimo-map-caption{display:flex;align-items:center;justify-content:center;gap:12px 22px;flex-wrap:wrap;padding:12px 18px;background:#1b1b1b;color:#d5d1c8;font-size:12px;line-height:1.5}
.visimo-map-caption>span{display:inline-flex;align-items:center;gap:8px}
.visimo-map-caption small{font-size:11px;color:#bdb8ae}
.visimo-map-stay-key{width:10px;height:13px;background:var(--map-gold);clip-path:polygon(50% 100%,0 40%,0 15%,25% 0,75% 0,100% 15%,100% 40%)}
.visimo-map-poi-key{width:8px;height:8px;border:1px solid #eee;transform:rotate(45deg)}
.visimo-location-intro{max-width:1100px!important}
.visimo-location-intro p{margin-inline:auto!important;text-align:center}
.visimo-location-intro .visimo-map-intro-hint{margin-top:12px!important;font-size:.95em;color:#d0af67}
.visimo-owner-content h1,.visimo-owner-offer h2,.visimo-detail-title :is(h1,h2),.visimo-detail-address .elementor-heading-title{text-align:center!important}
.visimo-owner-content h1{max-width:1000px;margin-inline:auto}
.visimo-owner-offer :is(p,ul,ol),.visimo-city-copy,.visimo-arrival-copy,.visimo-conditions{text-align:start}
.visimo-owner-offer>p,.visimo-city-copy{max-width:72ch;margin-inline:auto}
@media(max-width:1024px) and (min-width:701px){.visimo-map-canvas{height:560px}}
@media(max-width:700px){.visimo-map-canvas{height:640px}.visimo-map-detail .visimo-map-canvas{height:520px}.visimo-map-logo{width:80px!important;height:34px!important;left:12px;top:12px}.visimo-map-controls{right:10px;top:12px;gap:3px}.visimo-map-controls button{width:44px;height:44px}.visimo-geographic-map .visimo-map-label{max-width:145px;font-size:12px;padding:6px 8px}.visimo-geographic-map .visimo-map-label-poi{font-size:11px}.visimo-map-caption{gap:8px 14px;padding:10px 12px}.visimo-map-caption small{flex-basis:100%;text-align:center}}
.visimo-geographic-map .visimo-map-label{transition:none!important}

/* Calm official aerial imagery; high-detail quadrants are requested only after zoom. */
.visimo-geographic-map .visimo-map-raster{opacity:1}
.visimo-map-detail-layer{position:absolute;inset:0;pointer-events:none}
.visimo-geographic-map .visimo-map-detail-tile{position:absolute;max-width:none!important;max-height:none!important;pointer-events:none}
.visimo-map-label{gap:6px}
.visimo-map-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 19px;width:19px;height:19px;border:1px solid currentColor;border-radius:3px;font:700 11px/1 Arial,sans-serif}
.visimo-map-label-poi .visimo-map-badge{border-radius:50%;flex-basis:17px;width:17px;height:17px;font-weight:400}
.visimo-map-lines .is-highlighted .visimo-map-leader{stroke-width:2.7}

.visimo-geographic-map .visimo-map-detail-tile[hidden]{display:none!important}

/* Input capability, rather than viewport width, determines the instructions. */
.visimo-map-help-touch,.visimo-map-help-hybrid{display:none}
@media(pointer:coarse){.visimo-map-help-mouse{display:none}.visimo-map-help-touch{display:inline}}
@media(any-pointer:fine) and (any-pointer:coarse){.visimo-map-help-mouse,.visimo-map-help-touch{display:none}.visimo-map-help-hybrid{display:inline}}
.visimo-geographic-map button{-webkit-tap-highlight-color:rgba(208,175,103,.25)}
.visimo-geographic-map .visimo-map-attribution:is(:hover,:focus,:active){color:#f1d79e!important;background:#1b1b1b!important}
.visimo-geographic-map .visimo-map-attribution:focus-visible{outline:3px solid #f1d79e!important;outline-offset:3px}
