/* CSS Document */

.dataHolder{display: none;}




/* BOF Produktbenachrichtigungen: */
.notifications{
	max-width: 500px;
	margin: 20px 0px 0px 0px;
}
.notifications a.account_notify{color:var(--highlight);}
.notifications a.account_notify:hover{color:var(--primary);}
.notification_prod{
	margin: 10px 0 0 0;
}
.notification_prod .small{font-size: 12px;}
.notification_prod a,
.notification_prod a .txt,
.notification_prod .notification_prod_svg, 
.notification_prod .notification_prod_svg SVG{
	display: inline-block;
	box-sizing: border-box;
	vertical-align: middle;
}
.notification_prod .notify_img{border:2px solid #eee; border-radius:4px; padding: 10px; margin-left: 10px;}
.notification_prod .notify_img:hover{border:2px solid var(--highlight);}
.notification_prod a.small.prodlink{color:var(--highlight); font-weight: bold;}
.notification_prod a.small.prodlink span::after{
    display: inline-block;
    content: '';
    width: 20px;
    height: 7px;
    background-image: url(data:image/svg+xml,%3Csvg%20class%3D%22navigation-icon-arrow%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210.7%22%20height%3D%2212.6%22%20viewBox%3D%22-416%20590.2%2010.7%2012.6%22%3E%3Cpath%20d%3D%22m-414.3%20602.8-1.7-1%203.1-5.3-3.1-5.3%201.7-1%203.7%206.3zm5.4%200-1.7-1%203-5.3-3-5.3%201.7-1%203.6%206.3z%22%20fill%3D%22%23009bea%22%2F%3E%3C%2Fsvg%3E);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 10px auto;
    line-height: 18px;
    color: var(--highlight);
    margin: 0 0 0 5px;
    transition: all .35s ease;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-decoration: none;
}
.notification_prod a.small.prodlink:hover span::after{  margin: 0 0 0 10px;}
.notification_prod a.remove{margin-top: 7px;}
.notification_prod a .txt{
	color: var(--highlight);
	font-weight: bold;
	padding-left: 0px;
	transition: all 0.5s ease-in-out 0s;
}
.notification_prod a:hover .txt{ padding-left: 10px;}
.notification_prod a .notification_prod_svg,
.notification_prod a .notification_prod_svg SVG{
	width: 25px;
	height: 25px;
}
.notification_prod a .notification_prod_svg.remove SVG{ 
	height: 20px;
	margin-top: -3px;
}
/* unten in Liste .line_addcart kleiner */
.line_addcart .notification_prod{ max-width: 160px;}
.line_addcart .notification_prod strong,
.line_addcart .notification_prod a .txt{font-size: 16px; margin-right: 5px;padding-left: 5px;}
.line_addcart .notification_prod a:hover .txt{padding-left: 10px; margin-right: 0px;}
.line_addcart .notification_prod strong{font-weight: bold;}
.line_addcart .notification_prod strong.active{color: var(--avail_color_green);}
.line_addcart .notification_prod strong.inactive{color: var(--avail_color_red);}
.line_addcart .notification_prod a .notification_prod_svg.remove SVG{ margin-top: 2px;}
.notification_prod.notavail_ico .notification_prod_svg SVG{
	width: 25px;
	height: 25px;
}
.shadowbox.warningbox span.notify_status{display: block; margin: 10px auto;}
.shadowbox.warningbox span.notify_status.add strong{color: var(--avail_color_green);}
.shadowbox.warningbox span.notify_status.remove strong{color: var(--avail_color_red);}

/* für account_notifications: */
.niceform .notification_form label,
.niceform .notification_form .labeldummy{
	width:400px;
	text-align:left;
	padding: 0px 10px 0 10px;
}
.niceform .notification_form label{cursor: pointer;}
.niceform .notification_form label a.notify_img{ float: right;}
/* EOF Produktbenachrichtigungen */	


/* BOF tooltip: */
.tooltip{
  position: absolute;
  background: #333;
  color: #fff;
  padding: 6px 8px;
  border-radius: 4px;
  font-size: 12px;
  pointer-events: none;
  white-space: nowrap;
  z-index: 1000;
}
/* EOF tooltip */




/* BOF thumb-Preview: */



/* ########################################### */
img.zoomable{
	cursor: pointer;
}
/* BOF highslide Ersatz: */
/* Galerie Container auf max-width von 400px begrenzen */
.gallery-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 400px; /* Maximale Breite für die Galerie */
    width: 100%; /* Galerie kann sich an die verfügbare Breite anpassen */
    margin: 0 auto; /* Zentriert die Galerie */
}




/* Container für das Hauptbild und die Navigationspfeile */
.gallery-container .main-image-container {
    position: relative;
    width: 100%;
	max-width: 400px; /* Maximale Breite des Bildcontainers */
	aspect-ratio: 400 / 410;
	max-height: 410px; /* Die maximale Höhe für den Standardzustand */
	border:0px solid red;
	
	/* Übergänge für beide Eigenschaften */
	transition: opacity 0.5s ease, max-height 0.5s ease; 
	
	min-height:410px;
}

.mobile .gallery-container .main-image-container {
	min-height:auto;
}


/* Wenn ein Video vorhanden ist, ändere das aspect-ratio */
.gallery-container .main-image-container:has(video) {
    aspect-ratio: auto;  /* Verwende auto für flexibles Skalieren */
	 max-height: 900px; /* Größere max-height für Videos */
}
/* Video-Tag innerhalb des Containers */
.gallery-container .main-image-container video {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Damit das Video korrekt im Container skaliert */
}


/* Container für das Hauptbild (oder Video) in der Galerie */
.gallery-container .main-image {
	
}

/* Container für das Bild, das darin liegt (zoomable oder iframe/video) */
.gallery-container .main-image img,
.gallery-container .main-image iframe,
.gallery-container .main-image video {

}

/* Pfeile als transparente Fläche */
button, 
button:active, 
button:active:before {
  outline: none; /* Entfernt den Standard-Rand */
}
.gallery-container button{
    position: absolute;
    top: 0;
    bottom: 75px; /* bei Videos müssen 75px für die controls bedienbar bleiben! */
    width: 20%;  /* 20% Breite */
    height: calc(100% - 75px); /* 100% Höhe */
    background-color: rgba(0, 0, 0, 0); /* Transparente Fläche */
	border:0px solid #fff;
    z-index: 10;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
	margin: 0 10px;
	outline: none;
	transition: all .35s ease;
	box-sizing:border-box;
}



.gallery-container .main-image-container button:before{
    content: '';
    border: solid #555;
    border-width: 0 3px 3px 0;
	width: 100%;
	/*height: 20%;*/
	aspect-ratio:1;
	max-width: 50px;
	max-height: 50px;
	opacity: 0.3;
	transition: all .35s ease;
}
.mobile .gallery-container .main-image-container button:before{

}

/* Linker Pfeil (Zurück) */
.gallery-container .prev-button {
    left: 15px; /* Positioniere den Pfeil links */
}
.gallery-container .main-image-container:hover .prev-button {
    left: 5px; /* Positioniere den Pfeil links */
}

.gallery-container .prev-button:before {
    transform: rotate(135deg);
}


/* Rechter Pfeil (Vorwärts) */
.gallery-container .next-button {
    right: 15px; /* Positioniere den Pfeil rechts */
}
.gallery-container .main-image-container:hover .next-button {
    right: 5px; /* Positioniere den Pfeil rechts */
}
.gallery-container .next-button:before {
    transform: rotate(-45deg);
}


/* beide Pfeile */
.gallery-container .main-image-container:hover button:before{
	opacity: 0.9;
}
.gallery-container .main-image-container button:hover:before{
	border-color:var(--secondary);
}


/* Thumbnails innerhalb der Galerie */
.gallery-container .thumbnails {
    display: flex;
    flex-wrap: wrap; /* Damit Thumbnails auf mehreren Zeilen erscheinen, wenn nötig */
    justify-content: center;
    margin-top: 10px;
    width: 100%; /* Thumbnails Container nimmt 100% der Containerbreite ein */
    max-width: 400px; /* Verhindert, dass Thumbnails breiter als die Galerie werden */
}

.gallery-container .thumb-container {
  position: relative;
  display: inline-block;
    width: 60px;
    height: 60px;
    margin: 5px;
    cursor: pointer;
    /*transition: transform 0.3s;*/
	transition: all .35s ease;
	border:1px solid var(--lightgrey);
	border-radius: 8px;
	padding: 3px;
}


.gallery-container .thumb-container img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px; /* Optional, wenn du abgerundete Ecken möchtest */
}

/* Hover- und Active-Effekte für Thumbnails */
.gallery-container .thumb-container:hover {
    transform: scale(1.1);
	border-color: #ccc;
}
.gallery-container .thumb-container:active {
    transform: scale(0.95);
}
.gallery-container .thumb-container.active {
	border-color:var(--secondary);
}
/* besondere Thumbnails: */
/*
.gallery-container .thumb-container.video_local::before {
  content: ""; 
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 48px;
  height: 30px;
  background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="48" height="48"%3E%3Cpath stroke="%23000000"  stroke-width="1" fill="%23ffffff" d="M8 5v14l11-7z"%3E%3C/path%3E%3C/svg%3E');
	background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.5;
  transition: opacity 0.3s ease;
  pointer-events: none; 
	border:1px solid var(--darkgrey);
	border-radius: 15%;
	background-color: var(--lightgrey);
}
.gallery-container .thumb-container.video_local:hover::before {
	opacity: .5; 
	background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="48" height="48"%3E%3Cpath stroke="%23ffffff"  stroke-width="1" fill="%238917A6" d="M8 5v14l11-7z"%3E%3C/path%3E%3C/svg%3E');
}
*/


.container360grad{height: 400px;
position: absolute; z-index: 9;}

.gallery-container .thumb-container .icon-play,
.gallery-container .thumb-container .icon-360{
	width: 65%;
	height: 37%;

	position: absolute;
	top: 52%;
	left: 50%;
	transform: translate(-50%, -50%);


	opacity: 0.9;
	transition: opacity 0.3s ease;
	pointer-events: none; 
	border:1px solid var(--darkgrey);
	border-radius: 15%;
	background-color: var(--lightgrey);
}
.gallery-container .thumb-container .icon-play{

	fill: var(--darkgrey); /* Stroke mit der CSS-Variable setzen */
	stroke-width: 1;
	stroke: var(--background); /* Keine Füllfarbe, nur der Rand wird angezeigt */
	
}



.gallery-container .thumb-container:hover .icon-play,
.gallery-container .thumb-container:hover .icon-360 {
	opacity: 1;
	border-color: var(--primary);
}
.gallery-container .thumb-container:hover .icon-play {
	fill: var(--primary); /* Stroke mit der CSS-Variable setzen */
}


.gallery-container .thumb-container .icon-360 {

}

/* Overlay für Großansicht - Global für alle .zoomable Bilder */
.image-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    text-align: center;
	padding: 20px; /* Padding hinzufügen, um sicherzustellen, dass das Bild nicht an den Rändern klebt */
    box-sizing: border-box;
    overflow: hidden; /* Verhindert das Überlaufen des Inhalts aus dem Overlay */
}
.mobile .image-overlay {	padding: 2px;}

/* Flexbox für das Figure-Element */
.image-overlay figure {
    position: relative;
    width: 100vw; /* Volle Breite des Viewports */
    height: 100vh; /* Volle Höhe des Viewports */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
.mobile .image-overlay figure {	margin: 0;}


/* Anpassung des Bildes */
.image-overlay img {
    box-sizing: border-box;
    max-width: 100%;  /* Maximale Breite des Bildes auf 90% der Containerbreite begrenzen */
    max-height: 80%; /* Maximale Höhe des Bildes auf 70% der Containerhöhe begrenzen */
    object-fit: cover; /* Stellt sicher, dass das Bild innerhalb des Containers bleibt und das Bildverhältnis beibehalten wird */
    margin: 10px 0; /* Abstand um das Bild */
    background-color: #fff; /* Weißer Hintergrund für das Bild */
}
.mobile .image-overlay img {
    max-width: 100%;  /* Maximale Breite des Bildes auf 90% der Containerbreite begrenzen */
    max-height: 90%; /* Maximale Höhe des Bildes auf 70% der Containerhöhe begrenzen */
    margin: 5px 0; /* Abstand um das Bild */
}

/* Bildbeschreibung */
.image-overlay figcaption {
    color: white;
    font-size: 1.2em;
    text-align: center;
    max-width: 90%;
    margin-top: 10px; /* Abstand zwischen Bild und Bildbeschreibung */
    padding: 0 10px; /* Sicherstellen, dass das figcaption nicht den Rand des Containers berührt */
    word-wrap: break-word; /* Verhindert, dass lange Worte das Layout zerstören */
    max-height: 20%; /* Begrenze die Höhe der Bildbeschreibung */
    overflow-y: auto; /* Falls der Text zu lang ist, wird er scrollbar */
}



/* Für das Hauptbild */
.mobile #big_images{float:none; width: 100%;}
.mobile .container360grad{ width: 100%;   aspect-ratio: 1 / 0.95; height: auto;}


.gallery-container .main-image img,
.gallery-container .main-image div.container360graddummy{
    width: 100%;
    height: auto;
    border: 0px solid #fff;
}

/* EOF highslide Ersatz */


/* eco-Sticker */
.product_info span.ico.icoEco.details{margin-top: 0;}
/* EOF thumb-Preview */

.shadowbox .pageHeading{margin: 10px 0px;}

/* BOF computop neu: */
.payment_select_table .moduleRow.pay_nexipaygate_checkout_page .ico{
	background-image: url(/shop/images/all/icons/payment/computop_logo.svg);
	width: 80px;
}
.computop_icons{display: block;}
.computop_icons .brand{
	display: inline-block;
	background-position: center center;
	background-size: 40px auto;
	background-repeat: no-repeat;
	width: 50px;
	height: 40px;
	margin: 10px 2px 0px 0px;
	border: 1px solid #ccc;
	border-radius: 10%;
}
.computop_icons .brand.CARD{	background-image: url(/shop/images/all/icons/payment/visa_master_maestro.png);}
.computop_icons .brand.PAYPAL{	background-image: url(/shop/images/all/icons/payment/paypal.svg);background-size: 50px auto;}
.computop_icons .brand.KLARNA{	background-image: url(/shop/images/all/icons/payment/Klarna_Payment_Badge.svg);}
.computop_icons .brand.APPLEPAY{	background-image: url(/shop/images/all/icons/payment/apple_pay.svg);}
.computop_icons .brand.GOOGLEPAY{	background-image: url(/shop/images/all/icons/payment/google_pay.svg);}
.computop_icons .brand.AMAZONPAY{	background-image: url(/shop/images/all/icons/payment/amazon_pay.svg); background-position: center 5px;}
.computop_icons .brand.WERO{	background-image: url(/shop/images/all/icons/payment/wero.svg);}
.computop_icons .brand.IDEAL{	background-image: url(/shop/images/all/icons/payment/icon_ideal.png);}
.computop_icons .brand.EPS{	background-image: url(/shop/images/all/icons/payment/computop_icons.png);}
.computop_icons .brand.DIRECTDEBIT{	background-image: url(/shop/images/all/icons/payment/icon_sepa.png);}

@media only screen and (max-width: 400px){
	#button_to_hide{ margin-right: 0px; width: 100%; min-width: 0;}
	#button_to_hide span.contentbutton{height: auto;}
	#button_to_hide span.contentbutton span input{white-space: normal;}
}
@media only screen and (max-width: 450px){
	.products_table_confirmation{display: block; background-color:#fff; width: 100%;}
	.products_table_confirmation > tbody > tr:first-child {display: none;}
	.products_table_confirmation > tbody > tr,
	.products_table_confirmation > tbody > tr > td {display: block;box-sizing: border-box;padding: 0px;}
	.products_table_confirmation > tbody > tr {margin-bottom: 15px;border: 1px solid #ccc;padding: 2%;width: 95%;}
	.products_table_confirmation > tbody > tr > td {text-align: left;position: relative;width: 100%;}
	.products_table_confirmation table td:first-child{word-wrap: break-word; word-break: break-word;}
	.products_table_confirmation > tbody > tr > td:last-child {text-align: right;}
	.products_table_confirmation > tbody > tr:last-child {border: none;}
	.products_table_confirmation > tbody > tr:last-child > table{max-width: 90vw;}
}
/* EOF computop neu */
		