@charset "utf-8";

/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700;900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Satisfy&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Courier+Prime:wght@400;700&display=swap');

/*____________________________________RESET____________________________________*/

* { box-sizing: border-box; }

html, body {
	padding: 0;
    margin:  0;
    height: 100%;
	background: #fff; }


/*____________________________________BASICS____________________________________*/

body {
	font-size: 15px;
	/*font-family: 'Poppins', sans-serif;*/
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	line-height: 1.3;
	color: #1e1e1e; }

a, .link { outline: none; color: #C1888A; text-decoration: none; font-weight: 700; cursor: pointer; }
	.ofargad-lank, .brodsmulor a { color: #1e1e1e; }
a:hover { }

.cc1 { color: #e22d1e; }

p { margin-top: 0px; margin-bottom: 15px; line-height: 1.4; }

h1 { 
	font-family: 'Satisfy', cursive;
	font-weight: normal;
    font-size: 45px;
	color: #4F3628;
	margin-top: 0px;
    margin-bottom: 20px; }

    .webbutik{ font-size: 32px; margin-bottom: 0px; }
	.kategori-textrubriker { font-size: 45px; text-align: center; margin-top: 0px !important; margin-bottom: 5px !important; }

h2 { 
	font-size: 17px;
	font-weight: 700;
    margin-bottom: 15px; }

/* Används ovanför inputfält */     
h3 { 
	font-weight: 700;
	font-size: 17px;
	margin-top: 0px;
    margin-bottom: 8px; }
	
	.prod-info h3 {
		text-align: center;
		margin-top: 10px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2; /* Antalet rader du vill tillåta innan texten beskärs */
    -webkit-box-orient: vertical;
    height: 46px;
word-wrap: break-word;
	}

     
h4 { 
	 font-size: 22px;
	 font-weight: 700;
	 margin-top: 0;
     margin-bottom: 10px; }

h5 { 
	 font-size: 15px;
	 font-weight: 700;
	 letter-spacing: 0.3px;
	 text-transform: uppercase;
     margin-bottom: 5px; }

.fa, .fas { color: #000; vertical-align: baseline; }
	a .fa, a .fas { color: #4F3628; }

.fa, .fas, .far { cursor: pointer; }

span { display: inline;}

span.text-mindre { font-size: 11px; }

span.text-vit { color: #fff; }

hr { background-color: #DFBCBC; height:1px; border: 0px; margin: 40px 0; width: 100%;}

.footer hr { background-color: #bbb; height:1px; border: 0px; margin: 15px 0; width: 100%; }
 


.ikoner { color: #000; margin-right: 5px; }


.clearboth { clear: both;}
.clearleft { clear: left; }
.clearright { clear: right; }

.floatleft { float: left !important; }
.floatright { float: right !important; }

.textalignleft { text-align: left; }
.textalignright { text-align: right; }
.textaligncenter { text-align: center; }

.alignend { align-content: end; }

.positionrelative { position: relative; }

.nowrap { white-space: nowrap; }

img { max-width: 100%; }

/*____________________________________SÖKRUTA____________________________________*/

.search-container {
    text-align: center;
    margin-top: 50px;
}

.lightbox {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7); /* Justera sista siffran för att ändra transparensen */
    justify-content: center;
    align-items: center;
    z-index: 999; /* Högt värde för att lägga lightboxen över den ordinarie sidan */
}

.lightbox-content {
    background: #fff;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    text-align: center;
}

#close-btn {
    margin-top: 10px;
    cursor: pointer;
}


/*____________________________________STRUKTUR____________________________________*/

.wrapper {
	padding-top:150px;
	width: 100%;
    min-height: 100vh;
    height: auto;
    border: 0px solid red;
    overflow: hidden;
    position: relative; 

}

.header { 
    position: absolute;
    top: 0;
    z-index: 99996;
    height:120px; 
    width:100%;
	min-width:400px;
    transition: .25s ease-in-out;
    border-bottom: 2px solid #eee; 

    /* GRÅA Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#cccccc+0,eeeeee+30,cccccc+100 */
    background: #fff; }

	.header-hogersidan { 
		max-width: 400px;
		float: right;
		position: relative;
		border: 0px solid red;
		text-align: right;
		font-size: 13px;
		margin-top: 15px;;
	}

		.vald-prisvisning { font-weight: 700; }

    .logo {
        position: absolute;
        top: 10px;
        left: 0px;
       max-height: 75px;
        z-index: 99997;    
        transition: .25s ease-in-out; }
	



.content {
    width: 1200px;
    min-height: 10px;
    margin: 0px auto 50px;
    position: relative;
    border: 0px solid purple; }

    .content-footer { 
	    width: 1400px;
		height: auto;
		overflow: hidden;
		margin: 10px auto 15px;
		position: relative;
		border: 0px solid red; }


.footer { 
    clear: both;
    position: relative;
    width: 100%;
	/*min-width: 360px;*/
    height: auto;
	overflow: hidden;
    font-size: 17px;    
    background-color: #F8F4E6;
	color: #4F3628;
	margin-top: 50px;
}
	.footer a { color: #4F3628; }

	.footer-betalsatt {
		clear:both;
		width: 100%;
		text-align: center;
	}
	
	.footer-betalsatt img { width: 300px; }


.shop-infotext { width: 100%; font-size: 16px; text-align: center; margin-bottom: 20px; }




/*____________________________________VARUKORGEN PREVIEW____________________________________*/

.varukorg-preview {
	z-index: 99998;
	position: fixed;
	top: 70px;
	right: 0px;
	width: 360px;
	height: auto;
	padding: 10px 15px 20px 15px;
	background-color: #fff;
	border: 3px solid #DFBCBC;
	border-radius: 6px 0 0 6px; }

	.varukorg-preview a { color: #1e1e1e; }

/*borttagen*/
.varukorg-produktrader {
	width: 100%;
	font-size: 12px;
	line-height: 1.8;
	margin-bottom:10px; }

.varukorg-antal { margin-right: 5px; width: 18px; text-align: center; }

.varukorg-marginright { margin-right: 5px; }

.varukorg-marginleft { margin-right: 10px; }

.varukorg-tabort { 
	margin-left: 10px;
	font-weight: 700;
	color: #DBB5B5;
	cursor: pointer;
 }
	.varukorg-tabort i { 

	color: #DBB5B5 !important;

 }
 
.varukorg-plusminus {
	cursor: pointer;
	width: 20px;
	border-radius: 4px;
	background-color: #DFBCBC;
	color: #fff;
	padding: 0 5px;
	text-align: center;
	font-weight: 700; }
.varukorg-varianter-wrapper {
	clear: both;
	width: 100%;
	position: relative;
}


.varukorg-varianter { font-size: 12px; line-height: 1.5;  }

.varukorg-frakt { clear: both; width: 100%; margin: 15px 0 10px;}

.varukorg-summa { position:relative; width: 100%; margin-bottom: 40px;} 

span.text-begransning {
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 175px;
}

.text-begransning a { color: #1e1e1e; }


/*____________________________________KASSAN____________________________________*/

.kassa-rubriker {
	background-color: #dbb5b5; /*f48840*/
	color: #fff;
	font-size: 30px;
	font-weight: 500;
	display:block;
	border-radius: 4px;
	padding: 10px 20px 5px;
}

.kassa-checkmark { margin-bottom: 15px; }


.kassa-leveransalternativ { clear: both; width: 100%; margin-bottom: 0px; }


.kassa-produktrader { width: 100%;}

.kassa-produktrader i { color: red;}


.kassa-kvitto {
	position: relative;
	display:block;
	clear: both;
	max-width: 850px;
	margin: 0 auto 80px;
	padding: 20px 20px 70px;
	border-radius: 4px;
	border: 1px solid #ccc;
	box-shadow: 0px 0px 10px #cbcbcb;
	overflow-x: scroll !important;
}

	/* Fixar så att .kassa-kvitto diven inte kollapsar */
	.kassa-kvitto::after {
		  content:"";
		  clear: both;
		  display: table;
		}

.kassa-felmeddelande {
	font-weight: bold;
	color: red;
}

/*____________________________________RADIO BUTTONS (i kassan)____________________________________*/

/* The container */
.rb-container {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 12px;
  cursor: pointer;
  font-size: 18px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  
}

.rb-container label { margin-bottom: 50px; }

/* Hide the browser's default radio button */
.rb-container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

/* Create a custom radio button */
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: #eee;
  border-radius: 50%;
}

/* On mouse-over, add a grey background color */
.rb-container:hover input ~ .checkmark {
  background-color: #ccc;
}

/* When the radio button is checked, add a blue background */
.rb-container input:checked ~ .checkmark {
  background-color: #C1888A;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the indicator (dot/circle) when checked */
.rb-container input:checked ~ .checkmark:after {
  display: block;
}

/* Style the indicator (dot/circle) */
.rb-container .checkmark:after {
 	top: 9px;
	left: 9px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: white;
}






/*____________________________________ESY new____________________________________*/

.space10 { width:100%; float:left; height:10px; }
.space15 { width:100%; float:left; height:15px; }
.space20 { width:100%; float:left; height:20px; }
.space50 { width:100%; float:left; height:50px; }

.slogan { width: 250px; float:right; margin: -35px 5px 0 0; }

.store {
	position: absolute; 
	top: 10px;
	left: 50%;
	-ms-transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	-moz-transform: translate(-50%, 0%);
	-o-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);	
	width: 100%;
	text-align: center;
	font-size: 16px;
	font-weight: 700 !important;
	color: #724494; 
	letter-spacing: 0.5px;
	}



	.fet { font-weight: 900;  }

.scannerruta {
	width:300px;
	margin: 0 auto 20px;
	border: 0px solid red;
}
.nomarginbottom { margin-bottom: 0px !important; }


.inp-personnr { 
	width: 150px !important; 
	display: block; 
	margin: 25px auto !important; 
	text-align:center; 
	font-size: 16px !important; 
	color: #bbb !important;

}

.search {
	color: #666;
	width: 240px;
	position: relative;
	float:right;
}
	.search-icon { width: 15%; float: left; }
		.search-icon i { margin-top: 10px; color: #F8F4E6 !important; }
	.search-field { width: 85%; float: right; }
	
	.search-field input { 
		width: 100% !important; 
	
		color: #000 !important;
		font-size: 14px !important;
		height: 38px !important;
		border: 0px !important;
		background-color: #F8F4E6; }

		.search-field input:focus { border: 2px solid #B76928 !important; background-color: #F8F4E6 !important;   }

.produkt { }

.prod-bild { 
	clear:both;
	cursor:pointer;
	max-width: 400px; 
	margin: 0 auto;
	text-align: center;
	overflow: hidden; 
	height: 170px; 
	position: relative; }

.prod-bild img { 
	border-radius: 3px;
	margin: 0 auto;
	min-height: 170px;
	max-height: 170px;	
	object-fit: cover; }
	
.prod-bild-tumme {
    max-width: 100px;
    height: auto;
}



.l-box {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-image: url(bg-transp80.png);
	background-repeat: repeat;
	z-index: 99998;
	cursor: pointer;
}


	.l-box img {
		max-width: 90%;
		max-height: 90%;
		position: fixed;
        top: 50%; left: 50%;
        -ms-transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        z-index: 99999;    
        transition: .25s ease-in-out; 		
	}

.produkt h2 { text-align:center !important; margin-bottom: 0px; } 

.prod-cat { width: 100%; float:right; text-align: left; margin-bottom: 10px; }

.prod-details { 
	width: 100%; 
	float:left; 
	text-align:left; 
	cursor: pointer; 
	margin-bottom: 10px; 
	position: relative; }

.prod-merinfo {
	position: absolute;
	left: 0px; 
	top: 20px;
	width: 100%;
	z-index: 99997;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 10px 15px;
	margin-bottom: 15px;
	background-color: #fff; }

.prod-text {
	clear:both;
	text-align:center;
	font-size: 15px;
	margin-bottom: 5px; }

.prod-pris { 
	clear: both;
	width: 100%;
	margin-bottom: 5px;	
	color: #cf7835;
	font-family: 'Satisfy', cursive;
	font-size: 25px; 
	font-weight: 700;
	
	text-align:center; }

.prod-pris2 { 
	clear: both;
	width: 100%;
	color: #cf7835; /*#4F3628;*/
	font-family: 'Satisfy', cursive;
	font-size: 34px;
	font-weight: 700;	
	/*font-weight: 700 !important; */ }

.ej-tillganglig {
		clear:both;
		width: 100%;
		height: 50px;
		font-size: 16px;
		color: red; 
		font-weight: 700;
		text-align: center;
		border: 0px solid red;
		padding: 5px 0px; }


.brodsmulor { 
	font-weight: 700;
	margin-bottom: 15px;
}


.variant-sektion {
	width: 100%;
	float:left;
	margin-bottom: 10px; }


.prod-extras-wrapper {
	clear: both;
	width: 100%;
	border: 2px dashed #DFC6AE;
	border-radius: 10px;
	padding: 10px 25px;
	margin-bottom: 10px;
}

	.prod-extras-wrapper h5 {
		margin-top: 5px;
		margin-bottom: 0px;
	}

.prod-extras-rubrik {
	width: 100%;
	position: relative;
	margin-bottom:5px;
}

	.prod-extras-open { 
		position: absolute;
		right: 0px; top: 0px;}

.prod-extras-innehall {
	font-size: 13px;
	margin-bottom: 8px;
}

.tillkassan {
    position: fixed;
    left: 0px;
    bottom: 10px;	
	background: #b2dbd6; /* Old browsers */
	background: -moz-linear-gradient(left, #b2dbd6 22%, #cbe7e4 50%, #b2dbd6 75%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #b2dbd6 22%,#cbe7e4 50%,#b2dbd6 75%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #b2dbd6 22%,#cbe7e4 50%,#b2dbd6 75%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b2dbd6', endColorstr='#b2dbd6',GradientType=1 ); /* IE6-9 */	
	text-transform: uppercase;
	border: 2px solid #fff;
	border-left: 0px solid #fff;
	padding: 5px 10px;
	font-size: 25px !important;
	border-radius: 0 6px 6px 0;	}

	.tillkassan  i { color: #fff /*#bd9dd4*/ !important; }
	.white { color: #fff !important; }
	
	
 .cart { 
	position: fixed; 
	top: 30px; 
	right: 0px; 
	width: 70px; 
	height: 60px; 
	border-radius: 30px 0 0 30px;
	z-index: 99999;
    background: #DFBCBC;
	/*border: 2px solid #C1888A; */
	cursor: pointer; }
 
 .cart-inner { 
	position: relative; 
	width:70px; 
	height: 60px; 
	text-align: center;
	float:left; 
	border: 0px solid green; }
 
	 .cart-inner img { width: 45px;  margin: 10px auto;}
 
 .cart-number { 
	position: absolute;	
	top: 12px;
	left: 55%;
	-ms-transform: translate(-50%, 0%);
	-webkit-transform: translate(-50%, 0%);
	-moz-transform: translate(-50%, 0%);
	-o-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
	text-align: center;
	color: #000; 
	border: 0px solid red;
	font-weight: bold; 
	font-size: 17px; }


    .blink { 
        animation-name: goBig;
        animation-duration: 1.5s;
        animation-iteration-count: infinite;
         }
		 
	    .blink2 { 
        animation-name: golittleBig;
        animation-duration: 1.5s;
        animation-iteration-count: infinite;
         }
    
    @keyframes goBig {
        0% {
            
        }
        50% {
            transform: scaleX(1.3) scaleY(1.3);
            opacity: 1.0;
        }
        100% {
            
        }
    }
	
	    @keyframes golittleBig {
        0% {
            
        }
        50% {
            transform: scaleX(1.05) scaleY(1.05);
            opacity: 1.0;
        }
        100% {
            
        }
    }

    .tillagt { 
        animation-name: goBounce;
        animation-duration: 0.45s;
        animation-iteration-count: 1;
         }
    
    @keyframes goBounce {
        0% {
            
        }
        50% {
            transform: scaleX(1.1) scaleY(1.1);
            opacity: 1.0;
        }
        100% {
            
        }
    }



.katbar{display:flex;align-items:center;gap:8px}
.katnav{border:0;background:#eee;padding:6px 10px;border-radius:8px;cursor:pointer}
.katstrip{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding:4px 0}
.katstrip .kategori{scroll-snap-align:start;white-space:nowrap}
.katstrip::-webkit-scrollbar{height:8px}
.katstrip::-webkit-scrollbar-thumb{background:#ddd;border-radius:8px}



/*____________________________________PRODUKTBILDER____________________________________*/


/* --- Produktbilder: krymp till rutan, behåll proportioner, ingen beskärning --- */
.produktbilder .gallery-container {
  position: relative;
  width: 100%;
  height: clamp(240px, 40vw, 520px); /* justera vid behov */
}

.produktbilder .gallery {
  display: block;       /* ingen horisontell scroll behövs här */
  height: 100%;
  overflow: hidden;
}

.produktbilder .slide {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.produktbilder .slide img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  min-height: 0 !important; /* neutralisera tidigare min-height */
}


.slideknapp-right {
    position: absolute;
	right: 0px;
    top: 50%;
    transform: translateY(-50%);	
    padding: 10px;
	text-align: center; 
    cursor: pointer;
	z-index: 999;
	width: 70px; 
	height: 60px; 
	border-radius: 30px 0 0 30px;
	z-index: 99999;
    background: #DFBCBC;
	opacity: 0.8;
	transition: .25s ease-in-out;
	cursor: pointer; }

.slideknapp-left {
    position: absolute;
	left: 0px;
    top: 50%;
    transform: translateY(-50%);	
    padding: 10px;
	text-align: center; 
    cursor: pointer;
	z-index: 999;
	width: 70px; 
	height: 60px; 
	border-radius: 0 30px 30px 0;
	z-index: 99999;
    background: #DFBCBC;
	opacity: 0.7;
	transition: .25s ease-in-out;
	cursor: pointer; }

	.slideknapp-left:hover, .slideknapp-right:hover { opacity: 1.0;  } 

	.slideknapp-left i, .slideknapp-right i { font-size: 40px; color: #fff;  } 





.bilder-button  {
    cursor: pointer;
	
}

	.bilder-button img { 
	border-radius: 5px; 
	margin-right: 10px; 
	margin-bottom: 10px;}
	
	
	.bild-aktiv img { border: 4px solid #DBB5B5; transform: scale(1.25); transition: all .25s ease;  }






/*____________________________________KNAPPAR____________________________________*/

button, button[type=submit], input[type=submit]  {
	
	display: inline-block; 
	padding: 6px 25px;
	line-height: 1.0;
	/*font-family: 'Poppins', sans-serif;*/

	font-family: 'Courier Prime', monospace;
	font-weight: 700 !important;
	
	font-size: 20px;
	letter-spacing: 0.5px;
	font-weight: 700;
	cursor: pointer;
	border: 0px;
	/*height: 45px;*/
    width: auto;
	margin: 0px 0px 15px;
	border-radius: 22.5px;
	transition: .20s ease-in-out;
	color: #fff;
	background: #4F3628;  /* #F7F3E3; */
	border: 2px solid #4F3628;
}

.button-storlek {
	background: #D49C66;
	 border: 2px solid #D49C66;
}



.button-aktiv { border: 2px solid #C1888A; background: #DBB5B5;}

.block-button {
	clear: both;
	display: block !important;
	margin: 15px auto !important;
}

.ga-till-kassan {
		background: #584033;
}


/* används ej standard ovan */ /*
.kopknapp {
	}
*/



button:hover, button[type=submit]:hover, input[type=submit]:hover {
    opacity: 0.9;
}




.shop-kategori { width: 100%; margin-bottom: 0px; position: relative; }

	.kategori {
		display: inline-block;
		float: left;
		width: auto;
		
		font-size: 20px;
		font-weight: 700;
		text-transform: uppercase;
		margin: 0 15px 2px 0;
		padding: 10px 20px;
		cursor: pointer;
		transition: .35s all ease-in-out;
		border: 2px solid #fff;
		border-radius: 20px;
		background: #F8F4E6;
		color: #4F3628;
	}
		.kategori:hover { border: 2px solid #ddd; }
	
		.aktiv {
			border: 2px solid #cf7835;
			border-radius: 20px; }

	.shop-kategori ul { 
		list-style:none; 
		transition: .35s all ease-in-out;
		border: 2px solid #ddd;
		border-radius: 4px;
		position: absolute;
		top: 32px;
		left: 0;
		float: left;
		padding: 0;
		margin: 0;
		z-index: 99998; }

	.shop-kategori ul li {
	
		background-color: #fff;
		cursor: pointer;
		padding: 7px 20px;
		transition: .35s all ease-in-out;
		font-weight: 600;
	}
	/*
	.shop-kategori ul li:first-child { padding-top: 20px; }
	.shop-kategori ul li:last-child { padding-bottom: 20px; }
*/
	.shop-kategori ul li:hover { background-color: #eee; }


.kategoribeskrivning {
	clear: both;
	width: 100%;
	margin-bottom: 25px;
	text-align: center; }


	/* Används ej*/
.shop-taggar button {
	text-transform: uppercase;
	margin: 3px 5px 10px 0;
	background: #000000; /* Old browsers */
	background: -moz-linear-gradient(top,  #45484d 0%, #000000 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #45484d 0%,#000000 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #45484d 0%,#000000 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#45484d', endColorstr='#000000',GradientType=0 ); /* IE6-9 */
}



.alt-butt {
	color: #fff !important;
	font-family: 'Open Sans', sans-serif;
	font-weight: 800 !important;
	background: #f48840 !important;
	/*box-shadow: 0px 0px 0px 2px #f48840; */
	line-height: 40px;
	margin: 30px auto 30px !important;
}

.alt-butt i { color: #f48840 !important; }







/*____________________________________INPUT____________________________________*/

input[type="text"], input[type="email"], input[type="password"], input[type="date"], input[type="time"], input[type="number"], select { 
	width: 100%;
	border: 2px solid #DFBCBC; /*#B76928;*/
	height: 42px; 
    padding: 3px 20px;
	transition: border 0.3s;
    margin: 1px 0 15px 0;
	border-radius: 21px;
	background-color: #F8F4E6;
	/*-webkit-appearance:none; */
	font-size: 16px;
	/*font-family: 'Poppins', sans-serif;*/
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	color: #333;	}
	

input[type="number"] { 
	width: 80px;
    margin: 0px 10px 10px 0;}
	

input[type="text"]:focus, input[type="text"].focus {
	background-color: #F8F4E6; 
	outline: none !important; 
	-webkit-appearance: none; }

	input:invalid { border:1px solid #000; }

	.input-error { border: 2px solid red !important; }



input[type="time"], input[type="date"] { 
    width: 100%; }
    	/* Tar bort rensakrysset */	
  
/*
input[type="text"]:focus, input[type="text"]:focus {
	background-color: #ebf8f6; /*#CBE7E4;*/ 
	outline: none !important; 
    -webkit-appearance: none; }

input:invalid {
        border:2px solid red; }



   
option:disabled {
	background: #eee !important;

	}


.search-and-cat-div {
	width: 100%;
	float:right;
}

.katergori-div {
	width: 220px;
	float: right;
}



/* The container must be positioned relative: */
.custom-select {
  position: relative;
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  margin:0px 0px 20px;
}

.custom-select select {
  display: none; /*hide original SELECT element: */
}

.select-selected {
  background-color: #eee;
  border-radius: 3px 3px 0px 0px;
}

/* Style the arrow inside the select element: */
.select-selected:after {
  position: absolute;
  content: "";
  top: 14px;
  right: 10px;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-color: #000 transparent transparent transparent;
}

/* Point the arrow upwards when the select box is open (active): */
.select-selected.select-arrow-active:after {
  border-color: transparent transparent #000 transparent;
  top: 7px;
}

/* style the items (options), including the selected item: */
.select-items div,.select-selected {
  color: #000;
  padding: 8px 16px;
  border: 1px solid transparent;
  border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
  cursor: pointer;
}

.select-items:last-child { border-radius: 0 0 3px 3px; }

/* Style items (options): */
.select-items {
  position: absolute;
  background-color: #eee;
  top: 100%;
width: 220px;
  right: 0;
  z-index: 99;
}

/* Hide the items when the select box is closed: */
.select-hide {
  display: none;
}

.select-items div:hover, .same-as-selected {
  background-color:  #ddd; 
}


input[type="number"]::-webkit-inner-spin-button { opacity: 1; }

textarea { 
    clear:both; 
    width: 100%; 
    height:100px;
    padding: 8px 10px;
    margin: 3px 0px 25px 0px;
    font-size: 13px;
    font-family: 'Open Sans', sans-serif;
    border: 1px solid #40ad3c;
    border-radius: 4px;
    -webkit-appearance: none;
    outline: none; }


/*___________CHECKBOXAR______________*/

.checkbox-wrapper-24 { 
	margin-bottom: 10px;

	}


  .checkbox-wrapper-24 .checkbox {
    display: table-cell;
    width: 100%;
    height: 100%;
    vertical-align: middle;
    text-align: center;

  }

  .checkbox-wrapper-24 label {
    display: inline-block;
    color: color: #1e1e1e;
    cursor: pointer;
    position: relative;
	margin-right: 15px;
	margin-bottom: 15px;
	font-weight: 600;
  }
  .checkbox-wrapper-24 label span {
    display: inline-block;
    position: relative;
    background-color: transparent;
    width: 25px;
    height: 25px;
    transform-origin: center;
    border: 2px solid #DFBCBC;
    border-radius: 50%;
    vertical-align: middle;
    margin-right: 12px;
    transition: background-color 150ms 200ms, transform 350ms cubic-bezier(0.78, -1.22, 0.17, 1.89);
  }
  .checkbox-wrapper-24 label span:before {
    content: "";
    width: 0px;
    height: 2px;
    border-radius: 2px;
    background: #DFBCBC;
    position: absolute;
    transform: rotate(45deg);
    top: 10px;
    left: 8px;
    transition: width 50ms ease 50ms;
    transform-origin: 0% 0%;
  }
  .checkbox-wrapper-24 label span:after {
    content: "";
    width: 0;
    height: 2px;
    border-radius: 2px;
    background: #DFBCBC;
    position: absolute;
    transform: rotate(305deg);
    top: 13px;
    left: 9px;
    transition: width 50ms ease;
    transform-origin: 0% 0%;
  }
  .checkbox-wrapper-24 label:hover span:before {
    width: 5px;
    transition: width 100ms ease;
  }
  .checkbox-wrapper-24 label:hover span:after {
    width: 10px;
    transition: width 150ms ease 100ms;
  }

  .checkbox-wrapper-24 input[type=checkbox] {
    display: none;
  }
  .checkbox-wrapper-24 input[type=checkbox]:checked + label span {
    background-color: #DFBCBC;
    transform: scale(1.25);
  }
  .checkbox-wrapper-24 input[type=checkbox]:checked + label span:after {
    width: 10px;
    background: #fff;
    transition: width 150ms ease 100ms;
  }
  .checkbox-wrapper-24 input[type=checkbox]:checked + label span:before {
    width: 5px;
    background: #fff;
    transition: width 150ms ease 100ms;
  }
  .checkbox-wrapper-24 input[type=checkbox]:checked + label:hover span {
    background-color: #DFBCBC;
    transform: scale(1.25);
  }
  .checkbox-wrapper-24 input[type=checkbox]:checked + label:hover span:after {
    width: 10px;
    background: #fff;
    transition: width 150ms ease 100ms;
  }
  .checkbox-wrapper-24 input[type=checkbox]:checked + label:hover span:before {
    width: 5px;
    background: #fff;
    transition: width 150ms ease 100ms;
  }




/*___________Kan användas för input i boxarna______________*/


  .grid-for-input-2col {
	display: grid;
	grid-template-columns: 50% 50%;
	/* grid-template-rows: 80px 200px; */
	grid-gap: 0px;
	padding: 0px; }

  

  .grid-for-input-2col > div {	
    padding: 0px 0px 0px 0px;
    display: table-cell; vertical-align: middle; }  

    .grid-for-input-2col > div:nth-child(odd) { margin-right: 15px; }
    .grid-for-input-2col > div:nth-child(even) { margin-left: 15px; }

  .grid-for-input-2col-helrad {
	grid-column: 1 / 3; }  

/*___________Samma som ovan men dem 3 kolumner______________*/

.grid-for-input-3col {
	display: grid;
    grid-template-columns: 31.5% 31% 31%; 
	grid-gap: 10px;
	padding: 0px; }

  

  .grid-for-input-3col > div {	
    padding: 0px 0px 0px 0px;
    display: table-cell; vertical-align: middle; }  
/*
    .grid-for-input-3col > div:nth-child(odd) { margin-right: 15px; }
    .grid-for-input-3col > div:nth-child(even) { margin-left: 15px; }
*/
  .grid-for-input-3col-helrad {
	grid-column: 1 / 4; } 




/*____________________________________BOXES____________________________________*/


.produkt-div {
	height: auto;
    background-color: #fff;
    border: 3px solid #F9F5E8;
    float: left;
    border-radius: 5px;
    position: relative;
    overflow: visible;
    transition: border .30s ease-in-out; }
	
	.produkt-div:hover { border: 3px solid #ddd; }

.box {
    width: 100%;
	max-width: 100% !important;
    margin: 0 auto 20px;
    background-color: #fff;
    border: 0px solid #e6e7e8;
    float: left;
    border-radius: 5px;
    position: relative;
    overflow: visible;
    transition: border .30s ease-in-out; }

.extra-margin { margin-bottom: 25px; }

.box-content {
    max-width: 100% !important;
    margin: 15px 15px 10px;
    padding-bottom: 1px; /* För att inte diven ska kollapsa */
	position: relative; }

.varurad {
	clear: both; 
	width: 100%; 
	overflow:hidden;
    border-bottom: 1px dotted #ddd; 
	margin-bottom: 5px; 
	font-size: 15px; 
	padding: 0 0 5px; 
	position:relative; }

.varuradBackup {
    border-bottom: 1px dotted #ddd; margin-bottom: 5px; font-size: 15px; padding: 0 0 5px; position:relative; }

	
	.varurad i { color: red; }
	
	.tabort { position: absolute; top: 1px; right: 5px; font-size: 13px; cursor: pointer; }
	
    .varurad:last-child {
        border-bottom: 0px dotted #ddd !important; margin-bottom: 20px !important; }


.varukorgen-delpris { position: absolute; bottom: 20px; right: 10px; font-size: 13px;color: red; font-weight: bold; }


.varukorg-blink {background-color:green;}



/*____________________________________BILDER____________________________________*/

.img-circle { clip-path: circle(40%); }


/*____________________________________TILLBEHÖR____________________________________*/

.tillbehor { 
    width: 100%;
    position: relative;
    height: auto;
    padding: 7px 10px;
    border: 2px solid #fff;
    margin-top: 0px;
    cursor: context-menu; }
.tillbehor:nth-of-type(odd) { background-color: #f7f7f7; }
.tillbehor:nth-of-type(even) { background-color: #fdfdfd; }
.tillbehor:hover { border-bottom: 2px solid #40ad3c; }


.tillbehor-pris {
    font-size: 12px;
    font-weight: bold;
}

.tillbehor-plusminus {
    position: absolute;
    bottom: 4px;
    right: 10px;
    color: #40ad3c;
    font-size: 17px;
    font-weight: bold;
}
.tillbehor-plusminus { cursor: pointer; }




/* ----------------------------------------------------------------------------------------------- */

/* _______________________________________ SNOWCONE 2020.0 _______________________________________ */

/* ----------------------------------------------------------------------------------------------- */



/* _______________________________________ Core _______________________________________ */


.ejmobil { }
.mobil { display: none; }


/* _______________________________________ Boxes _______________________________________ */


/* No margin between boxes */

.c1 { width: 100%; }
.c2 { width: 50%; }
.c3 { width: 33.33333333333333%; }
	.c32 { width: 66.66666666666667%; }
.c4 { width: 25%; }
	.c43 { width: 75%; }
.c5{ width: 20%; }
.c6{ width: 16.66666666666667%; }
	.c64 { width: 66.66666666666668%; }
.c7 { width: 14.28571428571429%; }
.c8 { width: 12.5%; }
.c9 { width: 11.1111111111111%; }
.c10 { width: 10%; }

.c1, .c2, .c3, .c32, .c4, .c43, .c5, .c6, .c64, .c7, .c8, .c9, .c10 { float: left; margin: 0%; }
	

/* Margin 50 px between boxes and 25 px in edges */

.c1m50 { width: 95%; }
.c2m50 { width: 45%; }
.c3m50 { width: 28.33333333333333%; }
	.c32m50 { width: 61.66666666666667%; }
.c4m50 { width: 20%; }
	.c43m50 { width: 70%; }
.c5m50 { width: 15%; }
.c6m50 { width: 11.66666666666667%; }
.c7m50 { width: 9.285714285714286%; }
.c8m50 { width: 7.5%; }
.c9m50 { width: 6.1111111111111%; }
.c10m50 { width: 5%; }

.c1m50, .c2m50, .c3m50, .c32m50, .c4m50, .c43m50, .c5m50, .c6m50, .c7m50, .c8m50, .c9m50, .c10m50 { margin: 2.5%; float: left; }
	
.c32m50center {
	width: 61.66666666666667%;
	margin: 2.5% auto; 
	float: none;
}

/*   Space boxes   */	

.space10 { clear: both; width: 100%; height: 10px; }
.space20 { clear: both; width: 100%; height: 20px; }
.space25 { clear: both; width: 100%; height: 25px; }
.space30 { clear: both; width: 100%; height: 30px; }
.space40 { clear: both; width: 100%; height: 40px; }
.space50 { clear: both; width: 100%; height: 50px; }
.space75 { clear: both; width: 100%; height: 75px; }
.space100 { clear: both; width: 100%; height: 100px; }
.space200 { clear: both; width: 100%; height: 200px; }
.space300 { clear: both; width: 100%; height: 300px; }
.space400 { clear: both; width: 100%; height: 400px; }
.space500 { clear: both; width: 100%; height: 500px; }


/* _______________________________________ Others _______________________________________ */


.zindex9999 { z-index: 9999 !important; }

.boxshadow { box-shadow: 0px 0px 65px #cbcbcb; }

.bgwhite { background-color: #fff; }
.textcolorwhite { color: #fff; }

.centerimgindiv { display:block; margin:auto; }

.clearboth { clear: both;}
.clearleft { clear: left; }
.clearright { clear: right; }

.floatleft { float: left !important; }
.floatright { float: right !important; }

.textalignleft { text-align: left; }
.textalignright { text-align: right; }
.textaligncenter { text-align: center; }

.marginauto { margin: 0 auto !important; }

.width100procent { width: 100%; }
.height100procent { height: 100% !important; }

.positionrelative { position: relative; }
.positionabsolute { position: absolute; }

.height10 { height: 10px; }
.height25 { height: 25px; }
.height50 { height: 50px; }
.height75 { height: 75px; }
.height100 { height: 100px; }
.height125 { height: 125px; }
.height150 { height: 150px; }
.height175 { height: 175px; }
.height200 { height: 200px; }
.height225 { height: 225px; }
.height250 { height: 250px; }
.height300 { height: 300px; }
.height350 { height: 350px; }
.height400 { height: 400px; }
.height450 { height: 450px; }
.height500 { height: 500px; }
.height550 { height: 550px; }
.height600 { height: 600px; }
.height650 { height: 650px; }
.height700 { height: 700px; }
.height750 { height: 750px; }
.height800 { height: 800px; }
.height850 { height: 850px; }
.height900 { height: 900px; }
.height950 { height: 950px; }
.height1000 { height: 1000px; }

.fullheight { height: 100% !important; }
.fullwidth { width: 100% !important; }
.minheight100 { min-height: 100px !important; }

.marginbottom10 { margin-bottom: 10px; }
.marginbottom20 { margin-bottom: 20px; }
.marginbottom30 { margin-bottom: 30px; }
.marginbottom40 { margin-bottom: 40px; }
.marginbottom50 { margin-bottom: 50px; }
.marginbottom60 { margin-bottom: 60px; }
.marginbottom70 { margin-bottom: 70px; }
.marginbottom80 { margin-bottom: 80px; }
.marginbottom90 { margin-bottom: 90px; }
.marginbottom100 { margin-bottom: 100px; }

.nomarginbottom { margin-bottom: 0px !important; }
.nomargintop { margin-top: 0px !important; }

.mindretext { font-size: 12px; }







/*____________________________________STORLEKSOPTIMERING____________________________________*/

@media screen and (max-width: 1600px) {

    .content, .content-footer { width: 90%; }

}
@media screen and (max-width: 1370px) {
	.produkt-div {
		height: auto;
	}
}

@media screen and (max-width: 1200px) {
	.produkt-div {
		height: auto;
	}
}

@media only screen and (max-width: 900px) {

	html, body { 
		min-width: 360px; /* 420px */
		max-width: 900px; /* 420px */
		/*min-height: 550px;*/
	}

	/*H1 styling*/
	.webbutik{ font-size: 30px; }
	.kategori-textrubriker { font-size: 30px; }    
	
	.shop-kategori { font-size: 16px; }
	
	.wrapper {
	width: 100%;
	max-width: 100%; }

    .logo {
        position: absolute;
        top: 20px;
        left: 0px;
       max-height: 50px;
        z-index: 99997;    
        transition: .25s ease-in-out; }

 .cart { 
	position: fixed; 
	top: 75px; 
	right: 0px; 
	width: 70px; 
	height: 60px; 
	border-radius: 30px 0 0 30px;
	z-index: 99999;
    background: #DFBCBC;
	/*border: 2px solid #C1888A; */
	cursor: pointer; }
	
.varukorg-preview {
	z-index: 99998;
	position: fixed;
	top: 110px;
	right: 0px;
	width: 360px;
	height: auto;
	padding: 10px 15px 20px 15px;
	background-color: #fff;
	border: 3px solid #DFBCBC;
	border-radius: 6px 0 0 6px; }

.search {
	color: #666;
	width: 150px;
	position: relative;
	float:right;
}

.search-and-cat-div {
	width: 150px;
	float:right;
}
	
/* Mindre knapp (forcerad) */
.kopknapp{
  font-size: 12px !important;
  padding: 4px 10px !important;
  line-height: 1.1 !important;
  min-width: 0 !important;
  height: auto !important;
  display: inline-block !important;
}

	
	
	
	.footer { font-size: 15px; padding-top: 40px; }
	
	    .content-footer { width: 95%; }
	

.produkt-div {
	height: auto;
}

.prod-bild { 
	clear:both;
	cursor:pointer;
	max-width: 400px; 
	margin: 0 auto;
	text-align: center;
	overflow: hidden; 
	height: 170px; 
	position: relative; }

.prod-bild img { 
	border-radius: 3px;
	margin: 0 auto;
	min-height: 150px;
	max-height: 150px;	
	object-fit: cover; }

.prod-info h3 { 
	margin-top: 0px;
	height: 38px;
	font-size: 14px; }


.prod-pris { 
margin-bottom: 0px; }  

.gallery img {
	min-height: 400px;
	max-height: 400px;
	object-fit: cover;
}

/* Gör bildrutan förutsägbar och responsiv */
.gallery-container {
  position: relative;
  width: 100%;
  /* välj en höjd som passar din layout */
  height: clamp(240px, 40vw, 520px);
}

/* Fyll hela rutan och centrera innehållet */
.gallery,
.gallery .slide {
  width: 100%;
  height: 100%;
}

.gallery .slide {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden; /* inget spill utanför */
}

/* Viktigt: krymp bara – behåll proportioner, centrera */
.gallery .slide img {
  max-width: 100%;
  max-height: 100%;
  width: auto;   /* undvik att sträcka bilden */
  height: auto;  /* undvik att sträcka bilden */
  object-fit: contain; /* extra säkerhet för proportioner */
  display: block;
}


.slideknapp-right {
    position: absolute;
	right: 0px;
    top: 50%;
    transform: translateY(-50%);	
    padding: 5px;
	text-align: center; 
    cursor: pointer;
	z-index: 999;
	width: 50px; 
	height: 40px; 
	border-radius: 20px 0 0 20px;
	z-index: 9999;
    background: #DFBCBC;
	opacity: 0.9;
	transition: .25s ease-in-out;
	cursor: pointer; }

.slideknapp-left {
    position: absolute;
	left: 0px;
    top: 50%;
    transform: translateY(-50%);	
    padding: 5px;
	text-align: center; 
    cursor: pointer;
	z-index: 999;
	width: 50px; 
	height: 40px; 
	border-radius: 0 20px 20px 0;
	z-index: 9999;
    background: #DFBCBC;
	opacity: 0.9;
	transition: .25s ease-in-out;
	cursor: pointer; }

	.slideknapp-left:hover, .slideknapp-right:hover { opacity: 0.9;  } 

	.slideknapp-left i, .slideknapp-right i { font-size: 30px; color: #fff;  } 

	.kategori { margin: 0 5px 5px 0; }


	
	.ejmobil { display: none; }
	.mobil { display: block; }
	.textaligncentermobil, p .textaligncentermobil { display: block !important; text-align: center !important; }

	.fullwidthmobil { width: 95% !important; }
	.centermobil { margin: 0 auto !important; }
	
	/* _______________________________________ SNOWCONE _______________________________________ */

	/* No margin between boxes   */

	.c1 { width: 100%; }
	.c2 { width: 50%; }
	.c3 { width: 100%; }
		.c32 { width: 100%; }
	.c4 { width: 50%; }
		.c43 { width: 100%; }
	.c5{ width: 33.33333333333333%; }
	.c6{ width: 16.66666666666667%; }
		.c64 { width: 66.66666666666668%; }
	.c7 { width: 14.28571428571429%; }
	.c8 { width: 12.5%; }
	.c9 { width: 11.1111111111111%; }
	.c10 { width: 10%; }

	.c1, .c2, .c3, .c32, .c4, .c43, .c5, .c6, .c64, .c7, .c8, .c9, .c10 { float: left; margin: 0%; }


	/*   50 px between boxes and 25 px in edges   */

	.c1m50 { width: 95%; }
	.c2m50 { width: 95%; }
	.c3m50 { width: 95%; }



		.c32m50 { width: 95%; }
	.c4m50 { width: 45%; }
		.c43m50 { width: 95%; }
	.c5m50 { width: 95%; } /* Tredjedels 28.33333333333333% */
	.c6m50 { width: 28.33333333333333%; }
	.c7m50 { width: 9.285714285714286%; }
	.c8m50 { width: 20%; }
	.c9m50 { width: 6.1111111111111%; }
	.c10m50 { width: 15%; }

	.c1m50, .c2m50, .c3m50, .c32m50, .c4m50, .c43m50, .c5m50, .c6m50, .c7m50, .c8m50, .c9m50, .c10m50 { margin: 2.5%; float: left; }	

	.c32m50center {
		width: 95%;
		margin: 2.5%; 
		float: left;
	}



}

@media only screen and (max-width: 700px) { 



}

@media only screen and (max-width: 320px) {

    input[type="time"] { 
        width: 100px; }

    input[type="date"] { 
            width: 120px; }

    select, textarea { max-width: 250px; }



}



