/*
 Theme Name: Divi Child
 Theme URI: https://www.elegantthemes.com/gallery/divi/
 Description: Divi Child Theme
 Author: Elegant Themes
 Author URI: https://www.elegantthemes.com
 Template: Divi
 Version: 1.0.31
*/
 
/* =Theme customization starts here
------------------------------------------------------- */

/* ==========================================
   Divi Shop: fade in first gallery image hover
   Fix overlay (+) and stacking order
   ========================================== */

/* Ensure stacking context */
.et_pb_shop .et_shop_image{
  position: relative;
  display: block;
  overflow: hidden;
}

/* Our injected hover layer: ALWAYS on top */
.et_pb_shop li.product.has-hover-image .et_shop_image .et_hover_image_wrapper{
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  opacity: 0;
  transition: opacity 300ms ease;
  z-index: 9999;         /* higher than Divi overlay */
  pointer-events: none;
}

.et_pb_shop li.product.has-hover-image .et_shop_image .et_hover_image_wrapper img.et_hover_image{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Kill Divi's "+" overlay on products that have hover image */
.et_pb_shop li.product.has-hover-image .et_shop_image .et_overlay{
  background: transparent !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Divi sometimes creates the "+" with :before or :after */
.et_pb_shop li.product.has-hover-image .et_shop_image .et_overlay:before,
.et_pb_shop li.product.has-hover-image .et_shop_image .et_overlay:after{
  content: none !important;
  display: none !important;
}

/* Fade in on hover (desktop) */
@media (hover: hover) and (pointer: fine) {
  .et_pb_shop li.product.has-hover-image:hover .et_shop_image .et_hover_image_wrapper{
	opacity: 1;
  }
}
/* Extra nuke: if overlay is rendered via link pseudo elements */
.et_pb_shop li.product.has-hover-image a.woocommerce-LoopProduct-link:before,
.et_pb_shop li.product.has-hover-image a.woocommerce-LoopProduct-link:after{
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  background: transparent !important;
}

/* Image tile should fill the same height */
.tile-media{
  position: relative !important;
  overflow: hidden !important;
	height: 100%;
	width: 100%;
}

/* IMPORTANT: take the image OUT of flow so it doesn't set height */
 .tile-media .et_pb_image_wrap{
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
}

/* Override your current "position: static" on img */
.tile-media img{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
} 
.et_pb_image .et_pb_image_wrap img[src*=".svg"]{
	width:100%;
}

/* ==========================================
   Slide in menu
   ========================================== */

.menu-myaccount{
	font-family: 'ETMODULES';
}

/* --- 1. Reset Divi's Default "Hover" Styles --- */
#slidemenu .et-menu-nav,
#slidemenu .et-menu,
#slidemenu li {
	float: none !important;
	display: block !important;
	width: 100% !important;
	
}
#slidemenu li {
padding-bottom: 18px;
padding-top: 9px;
	border-bottom: 1px solid rgba(255,255,255,0.2);

}
#slidemenu li ul li{
	border:none;
	
}
#slidemenu ul li ul {
	margin-top: 10px;
}
#slidemenu li ul li a{
	font-family: 'Noto Sans' !important;
	font-weight: 300;
}
#slidemenu ul{
	border:none;
	margin-left: 0;
	margin-right: 0;
}
/* Ensure the sub-menu is NOT hidden by opacity */
#slidemenu{
	width:100%;
}
/* --- Corrected Sub-menu CSS --- */
#slidemenu .sub-menu {
	/* KEY FIX: Do NOT use !important here. 
	   This allows jQuery to switch it to 'block' when clicked. */
	display: none; 
	background-color: rgb(68, 68, 68,0);
	/* Keep these important to override Divi's default opacity hiding */
	visibility: visible !important;
	opacity: 1 !important;
	position: static !important;
	width: 100% !important;
	visibility: visible;
	border-top: none !important;
	box-shadow: none !important;
	margin-left: 0 !important;
	padding:0;
}
/* --- 2. Link & Arrow Styling --- */
#slidemenu li {
	position: relative; 
}

#slidemenu li a {
	position: relative;
	display: block;
	padding: 5px 20px;
	padding-right: 60px; /* Space for the arrow */
	text-decoration: none;
	color: #fff; /* Default text color */
	text-transform: uppercase;
}
#slidemenu li ul li a{
	text-transform: capitalize !important;
}

/* --- 3. The Arrow Icon --- */
.accordion-toggle {
	position: absolute;
	top: 0;
	right: 0;
	width: 60px;
	height: 100%; /* Cover full height of the link */
	cursor: pointer;
	z-index: 999; /* Ensure it sits ON TOP of the link text */
	display: flex;
	align-items: center;
	justify-content: center;
	
}

/* The visual arrow shape */
.accordion-toggle::after {
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border-right: 2px solid rgb(250, 249, 247);
	border-bottom: 2px solid rgb(250, 249, 247);
	transform: rotate(45deg);
	transition: transform 0.3s ease;
	margin-top: -5px; /* Fine tune vertical alignment */
}

/* --- 4. Open State --- */
/* Rotate arrow when class 'et-open-menu' is added by JS */
li.et-open-menu > a > .accordion-toggle::after {
	transform: rotate(225deg);
	margin-top: 8px;
}
/* --- OVERRIDE FIX --- */
/* This forces the menu to open even if other code tries to hide it */
#slidemenu li.et-open-menu > .sub-menu {
	display: block !important; 
	visibility: visible !important;
	opacity: 1 !important;
	visibility: visible;
}

/* Ensure the arrow rotates */
#slidemenu li.et-open-menu > a > .accordion-toggle::after {
    transform: rotate(225deg);
}
#slidemenu .et-menu .menu-item-has-children>a:first-child:after{
	display:none;
}
/* --- KILL THE BOUNCE --- */
/* 1. Disable CSS transitions so they don't fight jQuery */
#slidemenu .sub-menu,
#slidemenu .sub-menu li,
#slidemenu .sub-menu a {
	transition: none !important;
	-webkit-transition: none !important;
	-moz-transition: none !important;
}

/* 2. Ensure smooth layout rendering */
#slidemenu .sub-menu {
	display: none; /* Default state */
	overflow: hidden !important; /* Prevents content spilling during animation */
	
	/* Force visibility so jQuery can animate it */
	visibility: visible !important;
	opacity: 1 !important;
	visibility: visible;
}

/* 3. Keep the arrow rotation smooth */
.accordion-toggle::after {
	transition: transform 0.3s linear !important; /* Match JS speed */
}

  /*SLIDE IN MENU */
#slide-in-open{
cursor: pointer;
}
 
.line{
display: block;
position: absolute;
height: 3px;
width: 100%;
background: #67898c;
border-radius: 9px;
opacity: 1;
-webkit-transition: .1s ease-in-out;
-moz-transition: .1s ease-in-out;
-o-transition: .1s ease-in-out;
transition: .1s ease-in-out;
}
 
.line-2 {
top: 8px;
}
 
.line-3 {
top: 16px;
}
 
#slide-in-open.open .line-1 {
top: 10px;
-webkit-transform: rotate(135deg);
-moz-transform: rotate(135deg);
-o-transform: rotate(135deg);
transform: rotate(135deg);
}
 
#slide-in-open.open .line-2 {
display: none;
}
 
#slide-in-open.open .line-3 {
top: 10px;
-webkit-transform: rotate(-135deg);
-moz-transform: rotate(-135deg);
-o-transform: rotate(-135deg);
transform: rotate(-135deg);
}
 
.et-db #et-boc .et-l #slide-in-menu-container.slide-in-menu {
right: 0 !important;
opacity: 1 !important;
}
 
.slide-in-menu-container {
-webkit-transition: all 0.5s ease !important;
-moz-transition: all 0.5s ease !important;
-o-transition: all 0.5s ease !important;
-ms-transition: all 0.5s ease !important;
transition: all 0.5s ease !important;
}
.shop-header-bar{
	 
}
#slidemenu-mobile{
	display: none;
}
@media (max-width:980px) {
	#slidemenu {
		display: flex !important;
		text-align: left;
	}
	#slide-in-menu-container .et_pb_menu__wrap{
		width:100% !important;
	}
}
body{
	overflow-x: hidden;
}
.spi-acc-panel-inner{
	font-weight: 300;	
}

.reset_variations{
	display: none !important;
}
.klips-knapp span{
	margin-right: 5px !important;
}
.wcpa_wrap .wcpa_price_summary .wcpa_total{
	border:0 !important;
}