	.room-zoom-section {
	  position: relative;
	  width: 100%;
	  /* Höhe wird durch Inhalt bestimmt – kein festes vh nötig */
	}
	
	.room_zoom {
	  /*  top:-50%; */
	 /* height: 100vh;                  oder mehr, je nach Design */
	  width: 100%;
	  position: relative;
	  /* dein restliches Styling bleibt */
	}	
	
	.room_zoom .title_wrapper{
		position: absolute;
		display: flex;
		flex-direction: column;
		align-content: center;
		align-items: center;
		justify-content: flex-start;
		opacity:1; /* initial load */
		z-index:9;
	}
	
	
	.room_zoom .title_wrapper .room_zoom_title{
		position: relative;
		display: flex;
		flex-direction: column;
		align-content: center;
		align-items: center;
		justify-content: flex-start;
		top:7%;
		opacity:1; /* initial load */
	}
	
	
	.room_zoom .room_wrapper_zoom_wrapper{
        /* height:100vh; */
        display:flex;
        align-items:center;
        justify-content:center;
    }
    
    .room_zoom_room_image_wrapper{
    	/* transition:0.5s ease; */
    	
    		transition: filter 0s; /* verhindert laggy transition */
		  filter: blur(var(--room-blur, 0px));
		  will-change: filter;
  
    }
    
    .blur-strong {
	  --room-blur: 20px;
	}
	
    .room_zoom .room_zoom_room_wrapper{
        left: 0%;
	    display: flex;
	    top: 0px;
	    position: absolute;
	    /* height: 300vh; */
	    height: 100%;
	    width: 100vw;
	    /* overflow: hidden; */
	    perspective: 1200px;
	    position: relative;
	    align-content: center;
	    align-items: center;
	    justify-content: center;
	    flex-direction: column;   
    }

    .room_zoom  .room_zoom_room_inner{
        position:relative;
        width:100%;
        height:100%;
        transform-style:preserve-3d;
        transform: scale(1);
    }
    
    
    .room_zoom .button-wrapper {
	    bottom: 72vh;
	    z-index: 9 !important;
	}

    .room_zoom  .room_zoom_room_image{
        position:absolute;
        inset:0;
        z-index:0;
    }

    .room_zoom .room_zoom_room_image img{
        /* width:100%;
        display:block; */
        /* position: absolute;
        top:50%;
	    left: 50%;
	    transform: translate(-50%, -50%); */
        object-fit:cover;
        
        box-shadow:0 20px 40px rgba(0,0,0,0.5);
        transition:0.5s ease;
        opacity:1;  
    }
    
    
    /* position ohne gsap */
    .room_zoom .room_zoom_room_image.no-gsap img{
        position: absolute;
	    left: 50%;
	    transform: translateX(-50%);
    }
    
    .room_zoom .room_zoom_art_wrapper{
	    position:relative !important;
	}
	
    
    .room_zoom .room_zoom_art{
    	pointer-events:none;
	    position:absolute;
		overflow: hidden;
	    left:50%;          
	    top:50%;          
	    transform: translate(-50%, -50%) scale(1); /* */
	    background:none;
	    color:#fff;
	    display:flex;
	    align-items:center;
	    justify-content:center;
	    font-weight:bold;
	    font-size:24px;
	    will-change:transform,opacity,width,height,left,top;
	    z-index:1;
	    transform-origin:center center;
	}
	
	.room_zoom img{
		transition: 0.5s ease;
		opacity:1 !important;
	}
	
	.room_zoom.loaded img{
	    opacity:1 !important;
	}
	
	.room_zoom.loaded .room_zoom_art_xx{
	    transform: translate(0%, 0%);
	}
	
	.room_zoom .room_zoom_art img{
	    width:100%;
	    height:auto;
	    object-fit:contain;
	    display:block;
	    box-shadow:0 120px 120px rgba(0,0,0,0.45);
	}
	
	.room_zoom .room_zoom_art img::before {
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    
    /* oben hell, unten leicht abgedunkelt */
    background: linear-gradient(
        to bottom,
        rgba(255,255,255,0.28),
        rgba(0,0,0,0.05)
    );
    mix-blend-mode: screen; /* wirkt „lichtiger“ */
}

.room_zoom .room_zoom_room_inner::before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    
    /* großes Radial-Highlight hinter dem Bild 
    background:
        radial-gradient(
            circle at 50% 35%,      
            rgba(255,255,255,0.22),
            rgba(0,0,0,0.0) 55%,
            rgba(0,0,0,0.3) 100%
        ); */
    z-index:0; /* hinter .art, aber über dem Hintergrundbild, falls nötig */
}


.room_zoom .art_button_buy_me_wrapper{
	position: relative;
	right:0px;bottom:0px;
    width:0px;
    height:0px;
    overflow:visible;
}

.room_zoom .art_button_buy_me{
	position: absolute;
    right: -3%;
    bottom: -3%;
    z-index: 3;
    background-color: red;
    border-radius: 10em;
    padding: marigin;
    margin: 10px;
    padding: 2em;
    transform: rotate(10deg);
}	    

.room_zoom,
.room_zoom * {
    /* transform: translateZ(0);    GPU-Beschleunigung */
    backface-visibility: hidden;
}

#room_zoom_wrapper_outer {
    overflow: hidden;           /* verhindert Scroll-Leaks */
}


.room-zoom-section .pin-spacer{
	overflow: visible !important;
}


.scroll_wrapper > .pin-spacer {
    overflow: visible !important;
}


.teaser_video_wrapper{
	height:200vh;
}

#room_zoom_wrapper_outer .button-wrapper {
  text-align: center;
  padding: 5vh 0 1vh; /* Abstand oben/unten – passt den Scroll-Timing an */
  width: 100%;
  position:absolute;
  bottom:7em;
}






.room_zoom_room_wrapper,
.room_zoom_room_inner {
  /* height: 100dvh; */
  height:100%;
  /* min-height: 100dvh; */
  width: 100vw;
  overflow: visible;
  position: relative;
}



.room_zoom_room_wrapper{
  overflow: visible;
}

.room_zoom_room_image {
	height:100%;
  /* min-height: 100dvh; */
  width: 100vw;
  overflow: visible;
  position: relative;
}



/*     alt
.room_zoom_room_image img {
 
  height:100%;
  width:100%;
 
  max-width: none !important;
  position: absolute;
  
  pointer-events: none;
}
*/

.room_zoom .room_zoom_room_image img{
	object-fit:cover;
	box-shadow:0 20px 40px rgba(0,0,0,0.5);
	transition:0.5s ease;
	opacity:1;  
	z-index:0;
	width:100%;
	height:auto;
}


  @media (orientation: portrait){   
		.room_zoom .room_zoom_room_image{
		  
		   height: 100%;
		}
		
		.room_zoom .room_zoom_room_image img{
		  
		   height: 100%;
		}
	}

/*
.room_zoom_art_wrapper {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
*/

.room_zoom_art {
  position: absolute;
  transform-origin: center center;
  will-change: transform;
  /* backface-visibility: hidden; */ /* oft hilfreich bei GSAP */
}









.room_zoom_room_wrapper,
.room_zoom_room_inner,
.room_zoom_room_image {
  width: 100vw;
  height: 100%;
  position: relative;
  overflow: visible;          /* ← wichtig: overflow sichtbar machen */
}

.room_zoom_room_image_wrapper {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-start;   
  justify-content: center;  /* */
  
 
  
}

.room_zoom_room_image img {
  width: 100%;
  height: auto;
  max-width: none;
  max-height: none;
  display: block;
  object-fit: contain;        /* komplett sichtbar, ohne Crop */
  transform: none;            /* kein translate mehr nötig */
}

/* Art bleibt absolut positioniert im gleichen Container */
.room_zoom_art_wrapper {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.room_zoom_art {
  position: absolute;
  transform-origin: center center;
}


.room_zoom .room_zoom_room_wrapper {
    left: 0%;
    display: flex;
    top: 0px;
    position: absolute;
    /* height: 300vh; */
    height: 100%;
    width: 100vw;
    /* overflow: hidden; */
    perspective: 1200px;
    position: relative;
    align-content: center;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
}



.room_zoom .room_zoom_room_inner {
    position: relative;
    width: 100%;
    height: 100vh;
    transform-style: preserve-3d;
}


@media (orientation: portrait){   
	
	.room_zoom .room_zoom_room_wrapper {
	    align-items: center;
    	justify-content: center;
	}
	
	.room_zoom .room_zoom_room_inner {
	    /*
	    top: 50%; 
	    transform: scale(1) translate(0, -50%); */
	    
	    height: 100%;
	    
	}

}
    
   /*  */