
#wrapper_outer{
	overflow: hidden;
	background-color: transparent;
	margin: 0px;
	width: 100%;
}

#wrapper_ar_button_outer{
	position: relative;
	margin-top:5px;
	z-index: 2 !important;
	background-color: rgba(255,255,255,0.0);
	padding:20px;
	padding-bottom:60px;
	text-align: center;
	transition: all 1s ease;
}


#wrapper{
position:relative;
width:100%;
max-height:calc(90dvh - 200px);
transition:all 2s ease;
-ms-transition: 2s ease;
-webkit-transition: 2s ease;
-moz-transition: 2s ease;
-o-transition: 2s ease;
}

#wrapper > .product_img_main_icons  .like_artwork{
    padding-top:2px !important;
}

/* CROP */
#wrapper > .product_img_main_icons{
    z-index: 1;
    position: absolute;
    top: 25px;
    right: 0.8em;
}


#crop_cart_box{
    padding: 15px 30px 0px 20px;
    z-index:8;
    width: 100%; 
    top: 0px;
    position: relative;
    backdrop-filter: blur(10px);
    background-color: rgba(255,255,255,0.5);
    border-radius: 50px 50px 0 0;
}            

#crop_cart_box .price_box svg{
	position:relative;
	top:-2px;
	margin-right:3px;
	border-radius:50px;
	box-shadow: 1px 1px 29px rgba(255,255,255,1), 1px 1px 60px rgba(255,255,255,1);
}

#crop_cart_box .price_box {
	text-shadow: 1px 1px 22px rgba(255, 255, 255, 1), 1px 1px 22px rgba(255, 255, 255, 1);
}

.crop_cart_box_title{
	margin: 20px 0 ;
}


@media screen and (min-width: 739px){
	#wrapper{
		height:700px; 
        max-height:80vh;
    }
    
     /* CROP */
    #wrapper > .product_img_main_icons{
        /*right: calc(33% + 1em);*/
        right: max(300px + 1em, calc(33% + 1em));
    }
    
    #crop_cart_box{
    	min-width:300px;
        max-width:400px;
        position: absolute;
        width: 33%; 
        padding:10px;
        right:0px;
        border-radius: 0 0 0 50px;
    }  
    
    #crop_title_box{
    width:60%;
    margin: 0px auto;
    }     
}

@media screen and (min-width: 1200px){
    /* CROP */
    #wrapper > .product_img_main_icons{
        right: calc(400px + 1em);
    }
}

@media screen and (min-width: 739px) {
  #wrapper_ar_button_outer{
  	/* margin-right:max(393px, 30%) !important; */
  	margin-right:30% ;
  }
}

#wrapper_inner{
top:0px;
-webkit-transform: scale(1.0);
-ms-transform: scale(1.0);
transform: scale(1.0);
transition:all 1s ease;
-ms-transition: 1s ease;
-webkit-transition: 1s ease;
-moz-transition: 1s ease;
-o-transition: 1s ease;
	
}

#bg_image{
width:100%;
transition:all 1s ease;
-ms-transition: 1s ease;
-webkit-transition: 1s ease;
-moz-transition: 1s ease;
-o-transition: 1s ease;
}

#art{
	/* image-rendering: pixelated; */
    position:absolute;
    top: 82px;
    left: 530px;
    width:0px;
    height:0px;
    transition: all 0.6s ease-in-out; /* 600ms, wie jQuery "slow" */
    opacity: 1;
    will-change: opacity; /* Optimierung für Animationen */
}

#art.fading {
    opacity: 0.5; /* Zwischenstufe während des Übergangs */
}

#art.hidden {
    opacity: 0; /* Vollständig ausgeblendet */
}

#art.visible {
    opacity: 1; /* Vollständig sichtbar */
}

#loader_resolution{
display:none;
}

#loader_circle_text{
position: absolute;
top: 34%;
left: 34%;
color: white;
}

#art_loader{
position:absolute;
display:none;
width:40px;
height:40px;
transition: all 1s ease;
-ms-transition: 1s ease;
-webkit-transition: 1s ease;
-moz-transition: 1s ease;
-o-transition: 1s ease;
}

.low_resolution_msg{
    border-radius: 20px;
    padding: 15px;
    background-color: rgb(255 0 0 / 50%);
    color: #ffffff;
    font-size: 11pt;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity:0;
    transition:opacity 0.5s ease;
    visibility:hidden;
    display:flex;
}

.low_resolution_msg.open{
	display:flex;
	visibility:visible;
	opacity:1;
}

.low_resolution_msg.hidden{
	display: none !important;
	opacity:0;
}

.low_resolution_msg > svg{
	margin-bottom: 10px;
}


/* CROPPER CSS */

.crop_image{
  max-width: 100%; /* This rule is very important, please do not ignore this! */
}

.btn{
border:1px solid grey;
margin:3px !important;
padding:10px !important;
white-space: nowrap;
}


.img-preview {
  float: left;
  overflow: hidden;

}

.img-preview > img {
  max-width: 100%;
}



.crop_btn{
	
	border: 1px solid #d8d8d8;
	
	background-color: whitesmoke;
}



.crop_btn > span{
/* 	padding: 3px; */
/* 	margin: 5px; */
/* 	padding-top: 10px; */
/* 	padding-bottom: 10px; */
}

.crop_btn > img{
	width: 30px;
    padding: 0px;
    
    position: relative;
}


.arrow-right {
		  width: 0; 
		  height: 0; 
		  border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    border-left: 17px solid #229b9c;
		}
		
.preview {
  height: 0px;
  width: 0px;
}

.centered-block {
}


#crop_live_box{
    justify-content: center;
    align-items: center;
    display: flex;
    width:100%;
    background-image: url('https://www.xxl-art.de/bilder/crop/bg_2.jpg');
	background-repeat: no-repeat;
	/* background-size: 100%; */
	overflow:hidden;
	
	background-size: cover;
    background-position: center bottom;
	
	max-height: 1000px;
	
	transition:all 1s ease;
	-ms-transition: 1s ease;
	-webkit-transition: 1s ease;
	-moz-transition: 1s ease;
	-o-transition: 1s ease;
	height:100%;
	max-height:100%;
}

#crop_live_preview_box{
	margin-bottom: 120%;
}

#crop_live_preview_box > img{
	transition:all 0.5s cubic-bezier(0, 0, 0.22, 1);
	-ms-transition: 0.5s cubic-bezier(0, 0, 0.22, 1);
	-webkit-transition: 0.5s cubic-bezier(0, 0, 0.22, 1);
	-moz-transition: 0.5s cubic-bezier(0, 0, 0.22, 1);
	-o-transition: 0.5s cubic-bezier(0, 0, 0.22, 1);
}

#crop_live_box.noTransition > *{
	transition:all 0s ease !important;
	-ms-transition: 0s ease !important;
	-webkit-transition: 0s ease !important;
	-moz-transition: 0s ease !important;
	-o-transition: 0s ease !important;
}

.noTransition > img {
    transition:all 0s ease !important;
	-ms-transition: 0s ease !important;
	-webkit-transition: 0s ease !important;
	-moz-transition: 0s ease !important;
	-o-transition: 0s ease !important;
}

#crop_live_preview_box.noTransition{
    transition:all 0s ease !important;
	-ms-transition: 0s ease !important;
	-webkit-transition: 0s ease !important;
	-moz-transition: 0s ease !important;
	-o-transition: 0s ease !important;
}



#product_crop_box{
	height:100vh; 
}



/* MOBILE PORTRAIT */
@media (orientation: portrait) and (max-width: 739px) {
    #product_crop_box{
	   	max-height:calc(60vh - var(--navigation_mobile_height_elapsed) - var(--product_crop_box_size_box)) !important; 
    }
    #crop_live_box{
    	height:100vw;
		min-height:100vw; /* vw korrekt hier. damit es micht zu schmal ist ist. */
		max-height:calc(100vh) !important; 
    }
}


@media screen and (min-width: 739px) {
    #product_crop_box{
	   	max-height:calc(100vh - var(--navigation_height) - var(--product_crop_box_size_box)) !important; 
    }
    #crop_live_box{
		max-height:calc(100vh); 
    }
}
      	

.druck_typ_box{
	margin: 0px !important;
    padding: 5px 5px 20px 20px;
}
.druck_typ_active{		
    background-color: #eaeaea;
}
	
.round_border{
    -webkit-border-radius: 50px;
    border-radius: 50px;
    background-color: white;
    width: 50px;
    height: 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    float: right;
}
	
.icon_heard_in_circle{
	padding-top: 10%;
    margin: 0 auto;
    width: 70%;
}

.icon_heard_animated{
	padding-top: 10%;
    margin: 0 auto;
    width: 60%;
}


#animated_like_in_image{
	position: relative;
    height: 0px;
    text-align: center;
    top: -100px;
    z-index: 1;
    
    -webkit-transition:  -webkit-transform .2s ease-out;
    -moz-transition: -moz-transform .2s ease-out;
    -o-transition: -o-transform .2s ease-out;
    -ms-transition: -ms-transform .2s ease-out; 
    transition: transform .2s ease-out;
    
    animation-duration: 1s;
}

.cropper_grid_layer{
    max-width: 100%;
    gap: 0 10px; /* 0px vertikal, 10px horizontal zwischen Spalten */
    display: grid;
    grid-template-columns: 1fr 1fr; /* Zwei Spalten mit gleicher Breite */
}


/* Basis-Styling für Mobile (eine Spalte, untereinander) */
.crop_grid_layer {
    max-width: 100%;
    gap: 10px 0; /* 10px vertikaler Abstand, 0px horizontal */
    display: grid;
    grid-template-columns: 1fr; /* Eine Spalte für Mobile */
}

/* Für Tablets und Desktops (zwei Spalten, nebeneinander) */
@media (min-width: 739px) {
    .crop_grid_layer {
        grid-template-columns: 1fr 1fr; /* Zwei Spalten */
        gap: 0 10px; /* 0px vertikal, 10px horizontal zwischen Spalten */
    }
}

#crop_content_button{
    margin: 10px auto;
    padding: 10px;
    border-radius: 80px;
    display: inline-block;
    backdrop-filter: blur(5px);
    background-color: rgba(255, 255, 255, 0.15);
    margin-bottom: 20px;
    position: sticky;
    bottom: 13px;
}



