/* Webshop huisstijl - standaardwaarden; PHP kan deze per domein overschrijven. */
:root {
    --shop-primary: #890E05;
    --shop-primary-hover: #B01910;
    --shop-secondary: #FFFFFF;
    --shop-heading: #212D55;
    --shop-text: #333333;
}

body {
	background-color: #F3F3F5;

}

#ui-datepicker-div {
	z-index: 9999 !important;
}


* {
	margin: 0;
	padding: 0;
 	font-family: "montserratregular",Arial, Verdana, sans-serif;
	outline: none;
}

a {
	color: inherit;
}

.jws_no_padding{
	padding: 0px;
}


/* LOGIN PAGE __________________________________________________________ */
    /* ====== LOGIN PAGINA SPECIFIEK ====== */
    .login-page{
      --accent:var(--shop-primary);
      --accent-strong:var(--shop-primary-hover);
      --muted:#7A7A7A;
      --field-bg:#FFFFFF;
      --radius:18px;
    }
    .login-page{box-sizing:border-box}
    html,body.login-page{height:100%;margin:0;font-family:Inter,system-ui,Segoe UI,Roboto,-apple-system,'Helvetica Neue',Arial;color:#233;}


    body.login-page {
      background-image: url('https://images.unsplash.com/photo-1708693751774?auto=format&fit=crop&w=1650&q=80');
      background-size: cover;
      background-position: center;
      display:flex;
      align-items:center;
      justify-content:center;
    }

    .login-page .circle{
      width: 420px;
      height: 420px;
      border-radius: 50%;
      background: rgba(255,255,255,0.9);
      border: 3px solid #7a7a7a96;
      display:flex;
      flex-direction:column;
      justify-content:center;
      align-items:center;
      padding:40px;
      box-shadow:0 12px 40px #eeeeee;
      backdrop-filter: blur(6px);
      text-align:center;
    }
	
	.login-page .login_logo { max-width: 290px; max-height: 100px;	float: center;  }

    .login-page h1{font-family:'Playfair Display', serif;margin:10px 0;font-size:28px;color:#234427}
    .login-page p.lead{margin:0;color:var(--muted);font-size:14px;margin-top:10px; margin-bottom:20px}

    .login-page form{width:100%;display:flex;flex-direction:column;gap:14px}

    .login-page .field{
      display:flex;align-items:center;gap:10px;
      background:var(--field-bg);
      border-radius:14px;padding:12px 14px;border:1px solid rgba(110,140,110,0.15);
      box-shadow:0 4px 12px rgba(60,80,60,0.05);
    }
    .login-page .field input{flex:1;border:0;outline:none;background:transparent;font-size:15px}
    .login-page .field .icon{opacity:0.9;font-size:18px;color:var(--accent-strong)}

    .login-page .checkbox{display:flex;align-items:center;gap:8px;font-size:14px;color:#234427;margin:0 auto}
    .login-page .checkbox input{width:16px;height:16px;accent-color:var(--accent)}

    .login-page .btn{
      background:var(--accent);border:none;padding:12px;border-radius:14px;color:white;font-weight:600;font-size:15px;cursor:pointer;box-shadow:0 6px 14px rgba(106,150,104,0.18);
      transition: background 0.3s;
	  margin: auto;
	  min-width: 240px;
    }
    .login-page .btn:hover{background:var(--accent-strong)}

    .login-page .muted-link{color:var(--muted);font-size:13px;text-decoration:none}
    .login-page .muted-link:hover{text-decoration:underline}
    .login-page .forgot{margin-top:10px}

	
	
	
/* HEADER __________________________________________________________ */

#header	{
	position: fixed;
	height: 90px;
	top: 0;
	z-index: 99;
	display: table;
	width: 100%;
	padding-bottom: 0px;
	background-color: var(--shop-primary);
	right: 0;
	left: 0;
	margin-right: auto;
	margin-left: auto;
	padding: 5px;
	
}

#header_container {
	display: flex;
	width: 100%;
	max-width: 1600px;
	margin: 0 auto;
	height: 100%;
	align-items: center;
}

#header_logo {
	display: block;
	float: left;
}

	#header_logo img {
	position: absolute;
	height: 72px;
	margin: 0 0 0 60px;
	top: 50%;
	transform: translateY(-50%);

		
	}

#header_content {
	display: flex;
	flex-basis: max-content;
	flex-grow: 1;
	margin-top: 0px;
	margin-left: 340px;

}

	#header_content form{
	display: contents;
	}

#header_content input[name="search_overall"]{
	height: 50px;
	width: 100%;
    border-radius: 10px;
	border: 0px;
	padding-left: 20px;
	box-sizing: border-box;
}

#header_content .btn_search_overall {
	margin-left: -50px;
	margin-top: 5px;

}
	#header_content .btn_search_overall img{
	height: 40px;
	}
	
#header_userinfo {
	display: block;
	float: right;
	margin-top: 10px;
	margin-right: 10px;
}
	
#header_icons {
	margin-right: 20px;
	margin-top: -20px;
}

#header_icons div{
	float: left;
	margin-right: 10px;
	cursor: pointer;
}

	#header_user {
	color: #F4F4F4;	
	font-size: 16px;
	}
	#header_user span{
		display: block;
		float: left;
		margin-right: 10px;
		margin-left: 50px;
		line-height: 40px;
	}
	
	#header_favorites img,
	#header_user img {
		height: 36px;
	}
	
	#header_qrscanner {
	display: none;
	color: #F4F4F4;	
	font-size: 16px;
	}
	#header_qrscanner span{
		display: block;
		float: left;
		margin-right: 10px;
		margin-left: 50px;
		line-height: 40px;
	}

	
	#header_mail .circle_message_counter{
		display: block;
		position: relative;
		border-radius: 50%;
		width: 14px;
		height: 14px;
		padding: 3px;
		background-color: white;
		color: #707070;
		text-align: center;
		font-size: 10px;
		font-weight: bold;
		float: right;
		margin-top: -4px;
		margin-left: -12px;
		margin-right: -6px;
		z-index: 5;
	
	}

	#header_basket img {
		height: 36px;
	}	
	#header_basket .circle_basket_counter {
		display: block;
		position: relative;
		border-radius: 50%;
		width: 14px;
		height: 14px;
		padding: 3px;
		background-color: white;
		color: #707070;
		text-align: center;
		font-size: 10px;
		font-weight: bold;
		float: right;
		margin-top: -4px;
		margin-left: -12px;
		margin-right: -6px;
		z-index: 5;
	}	

	#header_checkout_timer {
		position: absolute;
		color: #000;
		right: 30px;
		width: 220px;
		top: 80px;
		text-align: center;
		line-height: 24px;
		background-color: #ededed;
		height: 20px;
		border-top-left-radius: 5px;
		border-top-right-radius: 5px;
	}
	
	#header_checkout_timer i {
		font-size: 12px;
		margin-right: 5px;
	}
	#header_checkout_timer #countdown {
		float: none;
		display: inline-block;
	}
	#header_checkout_timer .warning {
		color: red;
	}
	
	#totaal_standort {
		display: block;
		position: absolute;
		right: 20px;
		margin-top: 54px;
		min-width: 240px;
		color: #FFF;
		font-size: 12px;
	}
	#totaal_standort span {
		width: 33%;
		float: left;
		line-height: 30px;
	}
	
	#totaal_standort span p{ 
		display: block; 
		background-color: #FFF; 
		font-family: "montserratsemibold"; 
		font-size: 18px;
		line-height: 30px;
		text-align: center;
		color: #000; 
		border-radius: 8px; 
		width: 28px; 
		height: 28px; 
		float: left; 
		margin-right: 5px; 
		}
	#totaal_standort #standort_A_counter,
	#totaal_standort #standort_B_counter,
	#totaal_standort #standort_C_counter
	{ 
	width: unset;
	float: unset;
	margin-right: 3px;
	}
	
	#alert-box-basket {
    position: fixed;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #439d5e; /* Groene kleur */
    color: white;
    padding: 15px;
    border-radius: 5px;
    font-size: 16px;
    z-index: 9999;
    opacity: 1;
    transition: opacity 1s ease-out; /* Fade-out effect */
	}
	
	#alert-box-basket i {
		font-size: 26px;
		margin-right: 15px;
		vertical-align: middle;
	}
	
	
	
/* Dashboard _____________________________________________________________________*/	
/* Container */
#webshop_products_header1 {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 5px 0;
}

/* Navbar */
#header1_buttons {
    display: flex;
    gap: 6px;
    background: #ffffff;
    padding: 6px;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}

/* Knoppen basis */
#header1_buttons .navbtn {
    display: flex;
    align-items: center;
    gap: 10px;

    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
    color: #6b7280;

    padding: 12px 18px;
    border-radius: 10px;

    transition: all .18s ease;
}

/* Icon styling */
#header1_buttons .navbtn i {
    font-size: 16px;
    width: 18px;
    text-align: center;
}

/* Hover effect */
#header1_buttons .navbtn:hover {
    background: #e5e5e5;
    color: #272727;
    transform: translateY(-1px);
}

/* Active page */
#header1_buttons .navbtn.active {
    background: linear-gradient(135deg, #3b5bff, #5f7cff);
    color: #fff;
    box-shadow: 0 4px 12px rgba(59,91,255,0.35);
}

/* Active icon ook wit */
#header1_buttons .navbtn.active i {
    color: white;
}

	#header1_buttons .circle_counter {
		display: block;
		border-radius: 50%;
		width: 16px;
		height: 16px;
		padding: 4px;
		background-color: darkred;
		color: #FFF;
		text-align: center;
		font-size: 11px;
		font-weight: normal;
		float: right;
		margin-left: 5px;
		margin-top: -7px;
	}


#dashboard_container {
	background-color: #FFF;
	display: flex;
    flex-wrap: wrap;
	flex-direction: row;
	width: 100%;
	float: left;
	margin-left: 0px;
	margin-top: 0px;
    border-radius: 5px;
	padding: 10px 20px;
}

	#dashboard_container h1 {
	font-family: "montserratsemibold";
	font-size: 22px;
	display: block;
	width: 100%;
	margin: 10px 0px 10px 0px;
	}

#dashboard_knaller_artikel	{
	min-width: 300px;
	min-height: 320px;
    margin: 10px;
    width: calc(50% - 20px);
    box-sizing: border-box;
	padding: 20px;
    box-shadow: 0 6px 18px rgba(9, 30, 66, 0.08);
    border-radius: 1rem;
	border: 1px solid #e4e1e1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

	#dashboard_knaller_artikel_block1 {
		float: left;
		width: 49%;
		min-width: 300px;
	}
	
	#dashboard_knaller_artikel_block2 {
		float: right;
		width: 49%;
		min-width: 300px;
	}
	
	
    /* Header met hoofdgroepen */
    .main-groups {
      position: sticky;
      top: 0;
      background: #ffffffc4;
      padding: 20px;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	  flex: 1 1 calc(33.333% - 20px);
	  min-width: 240px;
      gap: 12px;
      box-shadow: 0 4px 12px rgba(0,0,0,0.06);
      z-index: 1;
    }

    .tile {
      position: relative;
      height: 120px;
      border-radius: 14px;
      overflow: hidden;
      text-decoration: none;
      color: white;
      display: flex;
      align-items: flex-end;
      padding: 16px;
      font-size: 18px;
      font-weight: 600;
      background-size: cover;
      background-position: center;
      box-shadow: 0 6px 18px rgba(0,0,0,0.08);
      transition: transform 0.15s ease, box-shadow 0.15s ease;
    }

    .tile:hover {
      transform: translateY(-1px);
      box-shadow: 0 10px 24px rgba(0,0,0,0.10);
    }

    .overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(transparent, rgba(0,0,0,0.2));
      z-index: 0;
    }

    .tile span {
      position: relative;
      z-index: 1;
    }

    /* Subgroepen secties */
    .section {
	  width: 100%;
      padding: 40px 20px 10px;
	  box-sizing: border-box;
	  clear: both;
    }

    .section h2 {
      margin-bottom: 24px;
      font-size: 24px;
    }

    .sub-groups {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
      gap: 16px;
    }
	
.group-name {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    color: white;
    background: rgba(0,0,0,0.4); /* semi-transparant zwart */
    line-height: 30px;
    font-weight: 600;
    padding: 8px 0;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

    .sub-tile {
      height: 150px;
      border-radius: 14px;
      background-size: cover;
      background-position: center;
      position: relative;
      overflow: hidden;
      box-shadow: 0 6px 18px rgba(0,0,0,0.06);
      display: flex;
      align-items: flex-end;
      padding: 16px;
      color: white;
      font-weight: 600;
    }

    .spacer {
      height: 20px;
    }
/* Header _____________________________________________________________________*/	


	#header1_order_date {
	display: flex;
	align-items: center;
	float: left;
	height: 50px;
	border-radius: 10px;
	border: 1px solid #C9C9C9;
	min-width: 280px;
	font-size: 16px;
	padding: 15px 0px 15px 25px;
	margin: -10px 0px 10px 0px;
	box-sizing: border-box;
	
	}
	
	#header1_order_date img{
		height: 40px;
	}

	.header1_order_date_img1 {
		margin-right: 20px;
		margin-left: -10px;
	}
	
	.header1_order_date_img2 {
		margin-right: 5px;
	}
	
	
	#header1_order_date .selected_order_date input{
	 	font-family: "montserratsemibold";
		text-decoration: underline;
		color: var(--shop-heading);
		margin-right: 10px;
		margin-left: 10px;		
		border: 0px;
		width: 100px;
		background-color: transparent;
		
	}
	#header1_order_date .select_order_date {
		
		float: right;
	}

	
/* Dashboard home */

#dashboard_container {
  background: #fff;
  width: 100%;
  border-radius: 8px;
  padding: 24px;
  box-sizing: border-box;
  margin-bottom: 60px;
}

.dashboard-home {
  width: 100%;
}

.dashboard-welcome {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: center;
  padding: 28px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(9,30,66,.08);
  margin-bottom: 24px;
}

.welcome-left {
  display: flex;
  align-items: center;
  gap: 22px;
}

.welcome-icon {
  width: 86px;
  height: 86px;
  border-radius: 50%;
  background: #eef6ed;
  color: #2e643e;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 42px;
}

.dashboard-welcome h1 {
  font-size: 24px;
  line-height: 32px;
  color: var(--shop-heading);
}

.dashboard-welcome p {
  color: #707070;
  font-size: 14px;
  margin-top: 8px;
}

.dashboard-actions {
  display: grid;
  grid-template-columns: repeat(4, 150px);
  gap: 14px;
}

.dashboard-action {
  position: relative;
  height: 110px;
  border-radius: 14px;
  border: 1px solid #e7e7e7;
  background: #fff;
  text-decoration: none;
  color: var(--shop-primary);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  box-shadow: 0 4px 14px rgba(9,30,66,.06);
  transition: .18s ease;
}

.dashboard-action:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(9,30,66,.12);
}

.dashboard-action i {
  font-size: 28px;
}

.dashboard-action span {
  color: #222;
  font-family: "montserratsemibold";
  font-size: 13px;
}

.dashboard-action em {
  position: absolute;
  top: 18px;
  right: 34px;
  background: var(--shop-primary);
  color: #fff;
  border-radius: 50%;
  min-width: 20px;
  height: 20px;
  line-height: 20px;
  font-style: normal;
  font-size: 11px;
  text-align: center;
}

.dashboard-basket-alert {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 22px;
  border-radius: 14px;
  background: #fff2f2;
  border: 1px solid #f1caca;
  margin-bottom: 24px;
}

.dashboard-basket-alert > i {
  width: 54px;
  height: 54px;
  border-radius: 14px;
  background: #fff;
  color: var(--shop-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
}

.dashboard-basket-alert div {
  flex: 1;
}

.dashboard-basket-alert strong {
  display: block;
  font-size: 17px;
  color: #222;
}

.dashboard-basket-alert span {
  display: block;
  font-size: 14px;
  color: #707070;
  margin-top: 4px;
}

.dashboard-basket-alert a {
  background: var(--shop-primary);
  color: #fff;
  padding: 13px 20px;
  border-radius: 8px;
  text-decoration: none;
  font-family: "montserratsemibold";
  font-size: 14px;
}

.dashboard-section {
  width: 100%;
  margin-bottom: 28px;
}

.dashboard-section h2 {
  font-size: 20px;
  color: #222;
  margin-bottom: 14px;
}

.dashboard-standorts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.dashboard-standort {
  height: 170px;
  border-radius: 14px;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  box-shadow: 0 6px 18px rgba(9,30,66,.12);
}

.dashboard-standort:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent, rgba(0,0,0,.55));
}

.dashboard-standort span,
.dashboard-standort small {
  position: relative;
  z-index: 1;
}

.dashboard-standort span {
  font-size: 22px;
  font-family: "montserratsemibold";
}

.dashboard-standort small {
  margin-top: 6px;
}

.dashboard-category-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 18px;
}

.dashboard-category {
    position: relative;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    text-decoration: none;
    color: #222;
    box-shadow: 0 6px 18px rgba(9,30,66,.08);
    transition: all .2s ease;
    min-height: 185px;
}

.dashboard-category:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(9,30,66,.13);
}

.dashboard-category-bg {
    width: 100%;
    height: 105px;
    object-fit: cover;
    display: block;
}

.dashboard-category-icon {
    position: absolute;
    top: 82px;
    left: 50%;
    transform: translateX(-50%);
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #2E643E;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,.12);
    z-index: 2;
}

.dashboard-category-icon img {
    width: 24px !important;
    height: 24px !important;
    object-fit: contain;
}

.dashboard-category-title {
    display: block;
    text-align: center;
    padding: 36px 10px 0 10px;
    font-family: "montserratsemibold";
    font-size: 13px;
    line-height: 16px;
    min-height: 42px;
}

.dashboard-category-title::after {
    content: "Bekijk assortiment \2192";
    display: block;
    margin-top: 8px;
    color: #707070;
    font-family: "montserratregular";
    font-size: 11px;
}


.dashboard-category-all {
    width: 100%;
    text-align: center;
    margin-top: 25px;
}

.dashboard-category-all a {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 14px 24px;

    background: var(--shop-primary);
    color: #fff;
    text-decoration: none;

    border-radius: 10px;

    font-family: "montserratsemibold";
    font-size: 14px;

    transition: all .2s ease;
}

.dashboard-category-all a:hover {
    background: #6f0b04;
    transform: translateY(-2px);
}

.dashboard-category-all a:after {
    content: "\2192";
    font-size: 18px;
}


.dashboard-section-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.dashboard-section-title a {
  color: var(--shop-primary);
  font-family: "montserratsemibold";
  text-decoration: none;
  font-size: 14px;
}


.dashboard-product-card {
    position: relative;
    display: block;
    background: #fff;
    border-radius: 14px;
    padding: 14px;
    text-decoration: none;
    color: #222;
    box-shadow: 0 6px 18px rgba(9,30,66,.08);
    transition: all .2s ease;
    min-height: 310px;
}

.dashboard-product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(9,30,66,.14);
}

.dashboard-product-label {
    position: absolute;
    top: 14px;
    left: 14px;
    background: var(--shop-primary);
    color: #fff;
    border-radius: 5px;
    padding: 6px 12px;
    font-size: 11px;
    font-family: "montserratsemibold";
    z-index: 2;
}

.dashboard-product-image {
    display: block;
    height: 170px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-bottom: 12px;
}

.dashboard-product-title {
    display: block;
    min-height: 38px;
    font-family: "montserratsemibold";
    font-size: 14px;
    line-height: 19px;
    color: var(--shop-heading);
    text-transform: capitalize;
}

.dashboard-product-meta {
    display: block;
    margin-top: 6px;
    color: #707070;
    font-size: 12px;
    min-height: 18px;
}

.dashboard-product-price {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-top: 14px;
    border-top: 1px solid #e5e7eb;
    padding-top: 12px;
}

.dashboard-product-price small {
    color: #b00000;
    text-decoration: line-through;
    font-size: 13px;
}

.dashboard-product-price strong {
    color: #2E643E;
    font-size: 19px;
    font-family: "montserratbold";
}

.dashboard-slider-wrapper {
    position: relative;
}

.dashboard-product-row {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    padding: 10px 50px;
    scrollbar-width: none;
}

.dashboard-product-row::-webkit-scrollbar {
    display: none;
}

.dashboard-product-card {
    flex: 0 0 240px;
}


.dashboard-product-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
}

.dashboard-product-cart {
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 8px;
    background: var(--shop-primary);
    color: #fff;
    cursor: pointer;
    font-size: 17px;
}

.dashboard-product-cart:hover {
    background: #6f0b04;
}


.dashboard-frequent-row {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    padding: 10px 50px;
    scrollbar-width: none;
}

.dashboard-frequent-row::-webkit-scrollbar {
    display: none;
}

.dashboard-frequent-card {
    flex: 0 0 260px;

    display: flex;
    flex-direction: column;

    background: #fff;
    border-radius: 10px;
    padding: 12px;

    text-decoration: none;
    color: #222;

    box-shadow: 0 5px 14px rgba(9,30,66,.08);
    transition: all .2s ease;

    min-height: 90px;
}

.dashboard-frequent-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 9px 20px rgba(9,30,66,.13);
}


.dashboard-frequent-top {
    display: flex;
    gap: 12px;
}


.dashboard-frequent-info {
    flex: 1;
}

.dashboard-frequent-info strong {
    display: block;
    font-size: 12px;
    line-height: 16px;
    color: var(--shop-heading);
}

.dashboard-frequent-info small {
    display: block;
    margin-top: 4px;
    color: #707070;
    font-size: 11px;
}

.dashboard-frequent-image {
    width: 85px;
    height: 85px;
    border-radius: 6px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    flex: 0 0 85px;
}

.dashboard-frequent-info {
    flex: 1;
    min-width: 0;
}

.dashboard-frequent-info strong {
    display: block;
    color: var(--shop-heading);
    font-family: "montserratsemibold";
    font-size: 12px;
    line-height: 15px;
    text-transform: capitalize;
}

.dashboard-frequent-info small {
    display: block;
    margin-top: 5px;
    color: #707070;
    font-size: 11px;
    line-height: 14px;
}

.dashboard-frequent-specs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 5px;
}

.dashboard-frequent-specs span {
    display: flex;
    align-items: center;
    gap: 4px;
}

.dashboard-frequent-specs img {
    width: 12px;
    height: 12px;
    object-fit: contain;
}


.dashboard-frequent-button {
    margin-top: -24px;
    margin-left: auto;

    background: #fff2f2;
    color: var(--shop-primary);
    border: 1px solid #f1caca;

    border-radius: 7px;

    padding: 6px 10px;

    font-size: 10px;
    font-family: "montserratsemibold";
}


.dashboard-frequent-top {
    display: flex;
    gap: 12px;
}


.dashboard-frequent-info {
    flex: 1;
}

.dashboard-frequent-info strong {
    display: block;
    font-size: 12px;
    line-height: 16px;
    color: var(--shop-heading);
}

.dashboard-frequent-info small {
    display: block;
    margin-top: 4px;
    color: #707070;
    font-size: 11px;
}

.dashboard-slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: var(--shop-primary);
    box-shadow: 0 4px 14px rgba(0,0,0,.12);
    cursor: pointer;
    z-index: 5;
}

.dashboard-slider-arrow:hover {
    background: var(--shop-primary);
    color: #fff;
}

.dashboard-slider-arrow.left {
    left: 0px;
}

.dashboard-slider-arrow.right {
    right: -20px;
}


.dashboard-frequent-slider-wrapper .dashboard-slider-arrow {
    top: 50%;
}

.dashboard-message {
  display: flex;
  gap: 20px;
  align-items: center;
  padding: 22px;
  border-radius: 14px;
  background: #fff7db;
  border: 1px solid #efd27a;
  margin-bottom: 15px;
}

.dashboard-message i {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #fff0b8;
  color: #b07a00;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
}

.dashboard-message strong {
  font-size: 17px;
}

.dashboard-message p {
  margin-top: 6px;
  color: #555;
}
	
/*  Switches  ________________________________________________________________________________ */
  @supports (-webkit-appearance: none) or (-moz-appearance: none) {
    .checkbox-wrapper-14 input[type=checkbox] {
      --active: #2e643e;
      --active-inner: #fff;
      --focus: 2px rgba(39, 94, 254, .3);
      --border: #BBC1E1;
      --border-hover: #2e643e;
      --background: #fff;
      --disabled: #F6F8FF;
      --disabled-inner: #E1E6F9;
      -webkit-appearance: none;
      -moz-appearance: none;
      height: 21px;
      outline: none;
      display: inline-block;
      vertical-align: top;
      position: relative;
      margin: 0;
      cursor: pointer;
      border: 1px solid var(--bc, var(--border));
      background: var(--b, var(--background));
      transition: background 0.3s, border-color 0.3s, box-shadow 0.2s;
	  box-sizing: unset;
	  padding: unset;
    }
    .checkbox-wrapper-14 input[type=checkbox]:after {
      content: "";
      display: block;
      left: 0;
      top: 0;
      position: absolute;
      transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
    }
    .checkbox-wrapper-14 input[type=checkbox]:checked {
      --b: var(--active);
      --bc: var(--active);
      --d-o: .3s;
      --d-t: .6s;
      --d-t-e: cubic-bezier(.2, .85, .32, 1.2);
    }
    .checkbox-wrapper-14 input[type=checkbox]:disabled {
      --b: var(--disabled);
      cursor: not-allowed;
      opacity: 0.9;
    }
    .checkbox-wrapper-14 input[type=checkbox]:disabled:checked {
      --b: var(--disabled-inner);
      --bc: var(--border);
    }
    .checkbox-wrapper-14 input[type=checkbox]:disabled + label {
      cursor: not-allowed;
    }
    .checkbox-wrapper-14 input[type=checkbox]:hover:not(:checked):not(:disabled) {
      --bc: var(--border-hover);
    }
    .checkbox-wrapper-14 input[type=checkbox]:focus {
      box-shadow: 0 0 0 var(--focus);
    }
    .checkbox-wrapper-14 input[type=checkbox]:not(.switch) {
      width: 21px;
    }
    .checkbox-wrapper-14 input[type=checkbox]:not(.switch):after {
      opacity: var(--o, 0);
    }
    .checkbox-wrapper-14 input[type=checkbox]:not(.switch):checked {
      --o: 1;
    }
    .checkbox-wrapper-14 input[type=checkbox] + label {
      display: inline-block;
      vertical-align: middle;
      cursor: pointer;
      margin-left: 4px;
    }

    .checkbox-wrapper-14 input[type=checkbox]:not(.switch) {
      border-radius: 7px;
    }
    .checkbox-wrapper-14 input[type=checkbox]:not(.switch):after {
      width: 5px;
      height: 9px;
      border: 2px solid var(--active-inner);
      border-top: 0;
      border-left: 0;
      left: 7px;
      top: 4px;
      transform: rotate(var(--r, 20deg));
    }
    .checkbox-wrapper-14 input[type=checkbox]:not(.switch):checked {
      --r: 43deg;
    }
    .checkbox-wrapper-14 input[type=checkbox].switch {
      width: 38px;
      border-radius: 11px;
    }
    .checkbox-wrapper-14 input[type=checkbox].switch:after {
      left: 0px;
      top: 2px;
      border-radius: 50%;
      width: 17px;
      height: 17px;
      background: var(--ab, var(--border));
      transform: translateX(var(--x, 0));
    }
    .checkbox-wrapper-14 input[type=checkbox].switch:checked {
      --ab: var(--active-inner);
      --x: 17px;
    }
    .checkbox-wrapper-14 input[type=checkbox].switch:disabled:not(:checked):after {
      opacity: 0.6;
    }
  }

  .checkbox-wrapper-14 * {
    box-sizing: inherit;
  }
  .checkbox-wrapper-14 *:before,
  .checkbox-wrapper-14 *:after {
    box-sizing: inherit;
  }
	
	.switch_2 input[type=checkbox]{
	vertical-align: unset !important;
	}
	
	
   .checkbox-wrapper-24	{
   margin-left: 3px;
   float: right;
   margin-right: 3px;
   }
   
   .checkbox-wrapper-24	i{
	position: absolute;
	left: 2px;
	top: -27px;
   }

	
  .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: #333;
    cursor: pointer;
    position: relative;
  }
  .checkbox-wrapper-24 label span {
    display: inline-block;
    position: relative;
    background-color: transparent;
    width: 16px;
    height: 16px;
    transform-origin: center;
    border: 2px solid #333;
    border-radius: 50%;
    vertical-align: middle;
    margin-right: 4px;
    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: #333;
    position: absolute;
    transform: rotate(45deg);
    top: 8px;
    left: 4px;
    transition: width 50ms ease 50ms;
    transform-origin: 0% 0%;
  }
  .checkbox-wrapper-24 label span:after {
    content: "";
    width: 0;
    height: 2px;
    border-radius: 2px;
    background: #333;
    position: absolute;
    transform: rotate(305deg);
    top: 12px;
    left: 6px;
    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: #333;
    transform: scale(1.1);
  }
  .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: #333;
    transform: scale(1.1);
  }
  .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;
  }
	


/* Assortiment navigatie __________________________________________________________ */

.assortment_navigation {
    width: calc(100% - 270px);
    margin: 0 0 16px 270px;
    box-sizing: border-box;
}

.assortment_navigation_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.assortment_navigation_title {
    font-family: "montserratsemibold";
    font-size: 18px;
    line-height: 24px;
    color: var(--shop-heading);
}

.assortment_main_groups {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.assortment_main_group {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 13px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #dedede;
    border-radius: 8px;
    color: #333;
    text-decoration: none;
    font-size: 13px;
    line-height: 18px;
    box-shadow: 0 2px 6px rgba(9,30,66,.05);
    transition: background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.assortment_main_group:hover {
    border-color: var(--shop-primary);
    color: var(--shop-primary);
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(9,30,66,.08);
}

.assortment_main_group.active {
    background: var(--shop-primary);
    border-color: var(--shop-primary);
    color: #fff;
    font-family: "montserratsemibold";
    box-shadow: 0 4px 10px rgba(137,14,5,.16);
}

.assortment_group_name {
    white-space: nowrap;
}

.assortment_group_count,
.assortment_subgroup_count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    box-sizing: border-box;
    border-radius: 10px;
    background: #f0f1f3;
    color: #777;
    font-size: 10px;
    line-height: 20px;
}

.assortment_main_group.active .assortment_group_count {
    background: rgba(255,255,255,.20);
    color: #fff;
}

.assortment_subgroups {
    margin-top: 10px;
    padding: 11px 12px 12px 12px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #e4e4e4;
    border-radius: 9px;
    box-shadow: 0 2px 7px rgba(9,30,66,.035);
}

.assortment_subgroups_title {
    margin: 0 0 8px 2px;
    color: #888;
    font-family: "montserratsemibold";
    font-size: 10px;
    line-height: 15px;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.assortment_subgroups_list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.assortment_subgroup {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 31px;
    padding: 0 10px;
    box-sizing: border-box;
    background: #f5f5f5;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #555;
    text-decoration: none;
    font-size: 12px;
    line-height: 17px;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.assortment_subgroup:hover {
    background: #eee;
    color: var(--shop-primary);
}

.assortment_subgroup.active {
    background: #f8eceb;
    border-color: #d8aaa7;
    color: var(--shop-primary);
    font-family: "montserratsemibold";
}

.assortment_subgroup.active .assortment_subgroup_count {
    background: #fff;
    color: var(--shop-primary);
}


/* Webshop container_____________________________________________________________________*/
#main-container {
	display:flex;
	justify-content: space-around;
	flex-wrap: wrap;
	flex-direction: row;
	padding-top:125px;
	width:100%;
	max-width: 1600px;
	text-align:left;
	margin-bottom: 0;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-left: auto;
	margin-right: auto;	
}

	#main-container.main-container-products {
	justify-content: flex-start; !important;
	}

	
#products_view_toolbar {
    width: 100%;
    margin-left: 270px;
    margin-bottom: 10px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.view-toggle {
    border: 1px solid #ddd;
    background: #fff;
    color: #555;
    border-radius: 8px;
    padding: 9px 13px;
    cursor: pointer;
    font-family: "montserratsemibold";
}

.view-toggle.active {
    background: var(--shop-primary);
    color: #fff;
    border-color: var(--shop-primary);
}

/* Speciale productselectie __________________________________________ */

#products_top_toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: calc(100% - 260px);
	margin-left: 260px;
	margin-bottom: 10px;
	box-sizing: border-box;
	padding: 0 10px;
}

.products_special_title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: "montserratsemibold";
	font-size: 18px;
	line-height: 36px;
	color: var(--shop-heading);
}

.products_special_title i {
	color: var(--shop-primary);
	font-size: 17px;
}

#products_top_toolbar #products_view_toolbar {
	width: auto;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}


#products_block_filter {
	display: block;
    position: fixed;
    float: left;
    width: 230px;
    min-height: 500px;
	height: calc(100% - 200px);
    margin: 10px;
	margin-top: 0px;
    padding: 10px;
    box-sizing: border-box;
	font-size: 12px;
}

#products_block_filter .filter_close_button {
		font-size: 20px;
		line-height: 40px;
		text-align: center;
		color: #000;
		width: 40px;
		height: 40px;
		border-radius: 25px;
		border: 1px solid #707070;
		cursor: pointer;
		float: right;
		margin: 5px 5px 0px 0px;	
}


#products_block_filter_content {
	background-color: #FFFFFF;
	border: 1px solid silver;
	border-radius: 10px;
	padding: 15px;
	line-height: 20px;
	height: 100%;
	overflow-x: hidden;
	overflow-y: scroll;
	scrollbar-width: none;
}

#products_block_filter_content h5 {
	border-top: 1px solid black;
	font-size: 20px;
	color: var(--shop-heading);
	padding-top: 10px;
	padding-bottom: 10px;
	margin: 10px 0px 0px 0px;
}

#products_block_filter_content h6 {
	font-size: 14px;
	color: var(--shop-heading);
	padding-bottom: 4px;
	margin: 8px 0px 0px 0px;
}


/* Standort / Empfehlung / Tipp */
.filter_chip_group {
    display: flex;
    gap: 7px;
    margin: 0 0 14px 0;
}

.filter_chip {
    flex: 1 1 0;
    height: 36px;
    padding: 0 10px;
    border: 1px solid #d8d8d8;
    border-radius: 7px;
    background: #f7f7f7;
    color: #555;
    font-family: "montserratsemibold";
    font-size: 13px;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}

.filter_chip:hover {
    border-color: var(--shop-primary);
    color: var(--shop-primary);
    background: #fff;
}

.filter_chip.active {
    background: var(--shop-primary);
    border-color: var(--shop-primary);
    color: #fff;
    box-shadow: 0 2px 6px rgba(137,14,5,.18);
}


.filter_toggle_list {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin: 0 0 14px 0;
}

.filter_toggle {
    width: 100%;
    min-height: 40px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 7px 9px;
    border: 1px solid #dedede;
    border-radius: 7px;
    background: #f8f8f8;
    color: #444;
    text-align: left;
    font-family: "montserratregular";
    font-size: 12px;
    cursor: pointer;
    box-sizing: border-box;
    transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.filter_toggle:hover {
    background: #fff;
    border-color: #c8aaa8;
    color: var(--shop-primary);
}

.filter_toggle_icon {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ececec;
    color: #777;
    font-size: 13px;
}

.filter_toggle_check {
    margin-left: auto;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d5d5d5;
    border-radius: 50%;
    color: transparent;
    background: #fff;
    font-size: 10px;
}

.filter_toggle.active {
    background: #f8eceb;
    border-color: #d8aaa7;
    color: var(--shop-primary);
    font-family: "montserratsemibold";
}

.filter_toggle.active .filter_toggle_icon {
    background: var(--shop-primary);
    color: #fff;
}

.filter_toggle.active .filter_toggle_check {
    background: var(--shop-primary);
    border-color: var(--shop-primary);
    color: #fff;
}

	#products_block_filter_content input[type=checkbox] { margin-right: 5px; margin-bottom: 5px; }
	
	#products_block_filter_content input[name=upselling_from_cc],
	#products_block_filter_content input[name=upselling_till_cc]{
		width: 50px;
		padding: 0px 5px;
		box-sizing: border-box;
	}
	
	#filter_webshop_search_tekst {
		width: 100%;
		height: 28px;
		border: 1px solid #aaaaaa;
		border-radius: 3px;
		padding: 5px;
		box-sizing: border-box;
		margin-bottom: 10px;
	}
	
	#filter_webshop_grower {
	display: none;
	}
	
	#products_block_filter_content .select2-container{
	width: 100% !important;
	}
	
	#products_block_filter_content select {
	  color: #2f3a2f;
	  background-color: #ffffff;
	  border: 1px solid #cfd8cc;
	  border-radius: 6px;
	  outline: none;
	  cursor: pointer;
	  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
	  transition: all 0.2s ease;
	  margin-bottom: 10px;
	  font-size: 15px;

	}
	
	#products_block_filter_content #filter_leverancier {
	  width: 100%;
	  max-width: 320px;
	  padding: 5px 18px 5px 8px;
	  margin-bottom: 10px;
	  font-size: 15px;
	}

	#products_block_filter_content #filter_potmaat {
	  width: 100%;
	  max-width: none;
	  height: 36px;
	  padding: 5px 30px 5px 9px;
	  font-size: 13px;
	}

/* Potmaat / hoogte */
.product_filter_section {
    margin-bottom: 13px;
}

.product_filter_title {
    font-family: "montserratsemibold";
    font-size: 12px;
    color: #596070;
    margin: 0 0 6px 0;
}

.height_filter {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 10px minmax(0, 1fr);
    align-items: end;
    gap: 5px;
}

.height_filter_field label {
    display: block;
    margin: 0 0 3px 1px;
    font-size: 10px;
    color: #888;
}

.height_filter_input {
    position: relative;
}

.height_filter_input input {
    width: 100%;
    height: 36px;
    padding: 0 27px 0 8px;
    border: 1px solid #cfd8cc;
    border-radius: 6px;
    background: #fff;
    color: #2f3a2f;
    font-size: 13px;
    box-sizing: border-box;
    outline: none;
}

.height_filter_input input:focus {
    border-color: var(--shop-primary);
    box-shadow: 0 0 0 2px rgba(137,14,5,.08);
}

.height_filter_input span {
    position: absolute;
    right: 7px;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    font-size: 10px;
    pointer-events: none;
}

.height_filter_separator {
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
}

.height_filter_apply {
    width: 100%;
    height: 32px;
    margin-top: 7px;
    border: 0;
    border-radius: 6px;
    background: #f2f2f2;
    color: #555;
    font-family: "montserratsemibold";
    font-size: 11px;
    cursor: pointer;
}

.height_filter_apply:hover {
    background: var(--shop-primary);
    color: #fff;
}

/* Nummerpijltjes bij hoogte verbergen */
.height_filter_input input::-webkit-outer-spin-button,
.height_filter_input input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.height_filter_input input[type=number] {
    -moz-appearance: textfield;
}
	
	
	/* Prijs filter */
	.price_filter {
	    display: flex;
	    align-items: center;
	    gap: 5px;
	    margin-bottom: 10px;
	}
	
	.price_filter input {
	    width: 65px;
	    height: 34px;
	    border: 1px solid #cfd8cc;
	    border-radius: 6px;
	    padding: 0 8px;
	    box-sizing: border-box;
	    font-size: 14px;
	    background: #fff;
	    color: #2f3a2f;
	}
	
	.price_filter span {
	    color: #707070;
	    font-weight: bold;
	}
	
	.price_filter_btn {
	    height: 34px;
	    min-width: 34px;
	    background: green;
	    color: white;
	    border: 0;
	    border-radius: 5px;
	    cursor: pointer;
	    box-shadow: 0 2px 6px rgba(0,0,0,.08);
	}
	
	.price_filter_btn:hover {
	    background: #234d30;
	    transform: translateY(-1px);
	}

/* Product sortering */
.product_sort_section {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid #e5e5e5;
}

.product_sort_section .product_filter_select {
	width: 100%;
	max-width: 100%;
	height: 34px;
	padding: 5px 28px 5px 8px;
	box-sizing: border-box;
	font-size: 14px;
	border: 1px solid #cfd8cc;
	border-radius: 6px;
	background-color: #fff;
	color: #2f3a2f;
	cursor: pointer;
}


#products_block_list {
	display: flex;
    flex-wrap: wrap;
	flex-direction: row;
	justify-content: space-around;
	width: 100%;
	float: left;
	margin-left: 260px;
	margin-top: 0px;
    border-radius: 5px;

}

#product_detail {
    max-width: 300px;
	min-width: 300px;
	min-height: 400px;
    margin: 10px;
    width: calc(33.33% - 20px);
    box-sizing: border-box;
	padding: 20px;
    box-shadow: 0 6px 18px rgba(9, 30, 66, 0.08);
    border-radius: 1rem;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

#product_detail_aanbevolen,
#product_detail_tip {
	position: absolute;
	margin: 5px 0px 0px 10px;
	display: block;
	width: 36px;
	height: 36px;
	border-radius: 18px;
	padding: 7px 0px;
	box-sizing: border-box;
	font-size: 22px;
	text-align: center;
	color: #FFF;
	background-color: green;
	box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;
    z-index: 2;
}

#product_detail_tip {
	margin: 5px 0px 0px 60px;
	background-color: orange;
}

#product_detail_image {
    display: block;
    width: 100%;
    max-width: 280px;
    height: 280px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

#product_detail_image {
    position: relative;
}

.product-multiple-images {
    bottom: 12px;
    left: 4px;
    position: absolute;
    /* left: 8px; */
    /* top: 15px; */
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgb(158 158 158 / 71%);
    color: #fff;
    border-radius: 6px;
    font-size: 13px;
    pointer-events: none;
}

#product_detail_naam {
	float: left;
	width: 75%;
	height: 75px;
	text-transform:	capitalize;
	font-size: 16px;
 	font-family: "montserratsemibold";
	color: var(--shop-heading);
	margin: 10px 0px 4px 0px;
	line-height: 18px;
	cursor: pointer;
	overflow: hidden;
}

#product_detail_naam.sales_portal_product_detail_naam {
	width: 100%;
	height: 40px;
}

	#product_detail_naam span{
	font-size: 14px;
 	font-family: "montserratlight";
	
	}
	
	#product_detail_naam span.artikel_kernwoord{
	font-size: 12px;
 	font-family: "montserratlight";
	display: table-cell;
	padding-right: 5px;
	color: green;
	}
	
	#product_detail_naam span.artikel_kernwoord i{
		margin-right: 2px;
	}
	

	#product_detail_groep {  
		float: left;
		width: 65%;
 		font-family: "montserratregular";
		font-size: 14px;
		color: silver;
	}
	
	#product_detail_prijs {
		float: right;
		width: 35%;
		height: 36px;
		font-size: 16px;
	 	font-family: "montserratbold";
		text-align: right;
	}
	
		#product_detail_prijs .ab_prijs_van {
			display: block;
			width: 100%;
			text-align: right;
			text-decoration: line-through;
			color: red;
			font-size: 14px;
			font-family: "montserratsemibold";
			margin-top: 2px;
			
		}
	
	#product_detail_belading {
		float: right;
		width: 25%;
		font-size: 10px;
	 	font-family: "montserratregular";
	}
	
	#product_detail_belading span{
		background-color: #e5e7eb;
		border-radius: 5px;
		height: 28px;
		width: 100%;
		float: right;
		text-align: right;
		padding: 3px 5px;
		box-sizing: border-box;
		line-height: 12px;
		margin-bottom: 4px;
		cursor: pointer;
	}
	
		#product_detail_belading span.laag_belading {
		line-height: 24px;
		}
	
	#product_detail_belading span p{
		font-weight: bold;
		margin: 0px;
	}
	#product_detail_maten {
		float: left;
		width: 75%;
	}
	
	#product_detail_maten .icon_potsize { height: 14px; margin-right: 10px;}
	#product_detail_maten .icon_height { height: 14px;   margin-left: 20px; margin-right: 10px; }

	#product_detail_add {
		float: left;
		width: 100%;
		border-top: 1px solid #e5e7eb;
		margin-top: 5px;	
		padding-top: 10px;
		
	}
	
	
	#product_detail_add .Aantal {
	
	}
	
	#product_detail_add .Aantal input{
		width: 60px;
		height: 36px;
		text-align: center;
		border: 1px solid #e5e7eb;
		border-radius: 5px;
		margin-right: 5px;
	}
	
	#product_detail_add.active .Aantal input{
		background-color: #EBEBEB;
		border: 1px solid green;
	}
	
	
	#product_detail_add .button_add{
		float: right;
		background-color: green;
		color: #FFF;
	 	font-family: "montserratlight";
		font-size: 16px;
		border-radius: 5px;
		height: 36px;
		min-width: 120px;
		text-align: center;
		line-height: 36px;
		padding: 0px 10px;
		
	}
	
	#product_detail_kwekernaam {
		float: left;
		width: 100%;
		border-top: 1px solid #e5e7eb;
		margin-top: 10px;	
		padding-top: 10px;
		font-family: "montserratlight";
	}
	

/* Eerder gekocht - producttegel */

.product-history-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    width: fit-content;
    max-width: 100%;
    padding: 4px 8px;
    margin: 5px 0 7px 0;
    border-radius: 5px;
    background: #eef6ef;
    color: #287448;
    font-size: 11px;
    font-weight: 600;
    line-height: 16px;
    white-space: nowrap;
}

.product-history-badge i {
    font-size: 12px;
}


#product_detail .add_to_favorites,
#dashboard_knaller_artikel .add_to_favorites
{
	float: right;
	display: block;
	width: 36px;
	height: 36px;
	background-color: #abacae;
	color: white;
	font-size: 20px;
	border-radius: 18px;
	text-align: center;
	margin-bottom: -36px;
	z-index: 1;
	position: relative;
	box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;
}
	#product_detail .add_to_favorites .fa,
	#dashboard_knaller_artikel .add_to_favorites .fa{
	line-height: 36px;
	}
	
	#product_detail .add_to_favorites_active,
	#dashboard_knaller_artikel .add_to_favorites_active{
	background-color: #fde40d;
	color: black;

	}
	
#product_detail_retailinfo {
	display: block;
	float: left;
	width: 100%;
	padding: 10px;
	box-sizing: border-box;
	margin: 10px 0px -10px 0px;
	background-color: aliceblue;
	text-align: right;
	
}

	#product_detail_retailinfo input {
		width: 80px;
		height: 24px;
		text-align: center;
		border: 1px solid #e5e7eb;
		border-radius: 5px;
		margin-left: 5px;
		font-size: 16px;
	}

    #product_detail_retailinfo input[readonly] {
        background-color: #f5f6f8;
        color: #444;
        cursor: default;
    }

    #product_detail_retailinfo input[readonly]:focus {
        outline: none;
        box-shadow: none;
    }    
	
	
	

/* ==========================================
   Endless scroll
   ========================================== */
#products_scroll_status {
	clear: both;
	width: 100%;
	padding: 22px 0 28px 0;
	box-sizing: border-box;
	text-align: center;
}

#products_scroll_loader,
#products_scroll_end {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 32px;
	font-size: 14px;
	color: #687268;
}

#products_scroll_loader i {
	font-size: 18px;
	color: var(--shop-primary);
}

#products_scroll_end {
	color: #758075;
}

#products_scroll_end i {
	font-size: 17px;
	color: #6f8c69;
}
	
/* ==========================================
   PRODUCT WEERGAVE - TEGELS / REGELS
   ========================================== */

/* TEGELWEERGAVE */
#products_block_list.products-view-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

#products_block_list.products-view-grid #product_detail {
    max-width: 300px;
    min-width: 300px;
    min-height: 400px;
}

/* REGELWEERGAVE */
#products_block_list.products-view-list {
    display: block;
    width: calc(100% - 260px);
}

#products_block_list.products-view-list #product_detail {
    width: calc(100% - 20px);
    max-width: none;
    min-width: 0;
    min-height: 0;
    margin: 8px 10px;
    padding: 0;
}

#products_block_list.products-view-list #product_detail form {
    position: relative;
    display: grid;

    grid-template-columns: 80px 70px 1fr 110px 90px 160px 80px 60px;

    grid-template-areas:
        "image code name specs price loading amount order"
        "image code grower specs price loading amount order";

    align-items: center;
    gap: 6px 16px;
    padding: 14px 18px;
}

/* Reset tegelweergave */
#products_block_list.products-view-list #product_detail_image,
#products_block_list.products-view-list #product_detail_prijs,
#products_block_list.products-view-list #product_detail_groep,
#products_block_list.products-view-list #product_detail_naam,
#products_block_list.products-view-list #product_detail_belading,
#products_block_list.products-view-list #product_detail_maten,
#products_block_list.products-view-list #product_detail_add,
#products_block_list.products-view-list #product_detail_retailinfo,
#products_block_list.products-view-list #product_detail_kwekernaam {
    float: none;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
}

/* Foto */
#products_block_list.products-view-list #product_detail_image {
    grid-area: image;
    width: 70px;
    height: 70px;
}

#products_block_list.products-view-list #product_detail_image {
    position: relative;
    overflow: visible;
}

#products_block_list.products-view-list #product_detail_image::after {
    content: "";
    position: absolute;
    left: 85px;
    top: -45px;

    width: 280px;
    height: 280px;

    background-image: inherit;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #fff;

    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(0,0,0,.22);
    border: 1px solid #e5e7eb;

    opacity: 0;
    visibility: hidden;
    transform: scale(.96);
    transition: all .15s ease;

    z-index: 50;
    pointer-events: none;
}

#products_block_list.products-view-list #product_detail_image:hover::after {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

/* Favoriet als overlay linksboven op foto */
#products_block_list.products-view-list .add_to_favorites {
    position: absolute;
    left: 8px;
    top: 8px;

    width: 22px;
    height: 22px;
    margin: 0;

    border-radius: 50%;
    background: rgba(255,255,255,.95);
    box-shadow: 0 2px 6px rgba(0,0,0,.15);

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 12px;
    z-index: 10;
    cursor: pointer;
}

#products_block_list.products-view-list .add_to_favorites i {
    color: #9a9a9a;
    line-height: 22px;
}

#products_block_list.products-view-list .add_to_favorites:hover i {
    color: var(--shop-primary);
}

/* Artikelcode */
#products_block_list.products-view-list #product_detail_groep {
    grid-area: code;
    color: #999;
    font-size: 13px;
}

/* Omschrijving */
#products_block_list.products-view-list #product_detail_naam {
    grid-area: name;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 15px;
    line-height: 20px;
    font-family: "montserratsemibold";
}

.list-grower {
    font-size: 12px;
    color: #777;
    font-weight: 400;
}

/* Potmaat + hoogte */
#products_block_list.products-view-list #product_detail_maten {
    grid-area: specs;
    white-space: nowrap;
}

/* Prijs */
#products_block_list.products-view-list #product_detail_prijs {
    grid-area: price;
    font-size: 18px;
    font-family: "montserratsemibold";
    color: #2e643e;
}

/* Belading */
#products_block_list.products-view-list #product_detail_belading {
    grid-area: loading;
    display: flex;
    gap: 6px;
}

#products_block_list.products-view-list span.laag_belading {
	line-height: unset;
}


#products_block_list.products-view-list #product_detail_belading span {
    min-width: 55px;
}

/* Aantal + toevoegen */
#products_block_list.products-view-list #product_detail_add {
    grid-area: amount;
    border: 0;
    padding: 0;
}

#products_block_list.products-view-list #product_detail_add .Aantal {
    display: flex;
    align-items: center;
    gap: 8px;
}

#products_block_list.products-view-list #product_detail_add .button_add {
    grid-area: order;
    float: none;
}

#products_block_list.products-view-list .button_add {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
	min-width: 40px;
}


#products_block_list.products-view-list .button_add i {
    font-size: 18px;
}


#products_block_list.products-view-list #product_detail_naam {
    grid-area: name;
    display: flex;
    flex-direction: column;
    gap: 4px;
}


#products_block_list.products-view-list #product_detail_kwekernaam {
    grid-area: grower;
    margin-top: -8px;
    color: #7a7a7a;
    font-size: 12px;
    font-family: "montserratregular";
    display: flex;
    align-items: center;
    gap: 6px;
    border: 0;
    padding: 0;
}


#products_block_list.products-view-list #product_detail_kwekernaam:before {
	content: "\f06c";
	color:#2E643E;
    font-family: FontAwesome;
    font-size: 11px;
}

#products_block_list.products-view-list #product_detail_retailinfo {
    display: none;
}

	
	#dashboard_button {
		display: block;
		min-height: 50px;
		float: left;
		border-radius: 10px;
		background-color: #CCC;
		max-width: 240px;
	    box-shadow: 0 6px 18px rgba(9, 30, 66, 0.08);
		padding: 10px;
		margin: 10px;
		background: linear-gradient(to top, #d0d0d0, #f5f5f5);
		cursor: pointer;
	}
	
	#dashboard_button:hover {
		box-shadow: 0 8px 22px rgba(9, 20, 66, 0.15);
		transform: translateY(-2px);
	}
	
	
	#dashboard_button .fa {
		display: block;
		line-height: 40px;
		float: right;
		font-size: 36px;
		margin-left: 10px;
		
	}
	
	
/* Concepten block _____________________________ */

.main-container-products.concepts-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 24px;
}

.concept-product-card {
    width: 350px;
    flex: 0 0 350px;

    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(9,30,66,.08);

    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease;

    display: flex;
    flex-direction: column;
}

.concept-product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(9,30,66,.14);
}

.concept-product-image {
    position: relative;

    width: 100%;
    height: 260px;
    flex: 0 0 260px;

    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #fff;

    border-bottom: 1px solid #eee;
}

.concept-product-label {
    position: absolute;
    left: 12px;
    top: 12px;

    background: var(--shop-primary);
    color: #fff;

    padding: 6px 11px;
    border-radius: 20px;

    font-size: 10px;
    font-family: "montserratsemibold";
}

.concept-product-content {
    padding: 16px 18px 17px;

    display: flex;
    flex-direction: column;
    flex: 1;
}

.concept-product-code {
    display: block;
    margin-bottom: 5px;

    color: #aaa;
    font-size: 11px;
}

.concept-product-content h3 {
    margin: 4px 0 0 0;

    min-height: 38px;

    color: var(--shop-heading);
    font-size: 14px;
    line-height: 19px;
    font-family: "montserratsemibold";
}

.concept-product-description {
    margin-top: 3px;

    min-height: 34px;

    color: #778096;
    font-size: 12px;
    line-height: 17px;
    font-family: "montserratregular";
}

.concept-product-footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    margin-top: auto;
    padding-top: 12px;

    border-top: 1px solid #e5e7eb;
}

.concept-product-price small {
    display: block;
    margin-bottom: 3px;

    color: #777;
    font-size: 10px;
}

.concept-product-price strong {
    color: #2E643E;

    font-size: 19px;
    font-family: "montserratbold";
}

.concept-product-open {
    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #f4f4f4;
    color: var(--shop-primary);

    transition: all .2s ease;
}

.concept-product-card:hover .concept-product-open {
    background: var(--shop-primary);
    color: #fff;
}

/* Concept detail pagina _______________________________________________ */
.concept-detail-top {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 36px;
    align-items: start;
}

.concept-detail-main-image {
    width: 100%;
    height: 340px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 14px;
    background-color: #f7f7f7;
}

.concept-detail-thumbs {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}

.concept-detail-thumbs span {
    width: 64px;
    height: 64px;
    border: 2px solid #eee;
    border-radius: 8px;
    background-size: cover;
    background-position: center;

    cursor: pointer;
}

.concept-detail-info h2 {
    color: var(--shop-heading);
    font-size: 26px;
    line-height: 32px;
    margin: 6px 0 8px;
}

.concept-detail-description {
    color: #778096;
    font-size: 13px;
    line-height: 19px;
    margin-bottom: 20px;
}

.concept-detail-price {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px;
    background: #eef6ed;
    border-left: 5px solid #2E643E;
    border-radius: 10px;

    margin-bottom: 18px;
}

.concept-detail-price strong {
    color: #2E643E;
    font-size: 22px;
    font-family: "montserratbold";
}

.concept-detail-order {
    display: flex;
    gap: 10px;
}

.concept-detail-order input {
    width: 80px;
    height: 44px;
    border: 1px solid #ddd;
    border-radius: 8px;
    text-align: center;
}

.concept-detail-order button {
    flex: 1;
    border: 0;
    border-radius: 8px;
    background: green;
    color: #fff;
    font-family: "montserratsemibold";
    font-size: 15px;
}

.concept-detail-products {
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid #e5e7eb;
}

.concept-detail-lines {
    margin-top: 12px;
}

.concept-detail-line {
    display: grid;
    grid-template-columns: 90px 1fr 80px 90px 70px;
    gap: 12px;
    align-items: center;
    padding: 11px 0;
    border-bottom: 1px solid #eee;
}

.concept-detail-line-name {
    color: var(--shop-heading);
    font-family: "montserratsemibold";
}


.concept-detail-product-table {
    width: 100%;
    margin-top: 14px;
}

.concept-detail-product-header,
.concept-detail-product-row {
    display: grid;

    grid-template-columns:
        60px       /* foto */
        minmax(220px, 1fr) /* omschrijving */
        65px       /* potmaat */
        65px       /* hoogte */
        60px       /* prijs */
        60px       /* concept aantal */
        140px;     /* nabestellen */

    gap: 12px;
    align-items: center;
}

.concept-detail-product-header {
    padding: 0 10px 9px;

    color: #778096;
    font-size: 11px;
    font-family: "montserratsemibold";

    border-bottom: 1px solid #dfe3e8;
}

.concept-detail-product-row {
    padding: 10px;

    border-bottom: 1px solid #eee;

    font-size: 12px;
}

.concept-detail-product-row:hover {
    background: #fafafa;
}

.concept-line-image > a > span {
    display: block;

    width: 52px;
    height: 52px;

    border-radius: 7px;

    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #fff;

    border: 1px solid #eee;
}

.concept-line-name {
    display: flex;
    flex-direction: column;
    gap: 2px;
    color: var(--shop-heading);
    font-family: "montserratsemibold";
    cursor: pointer;
}

.concept-line-name:hover {
    color: var(--shop-primary);
}

.concept-line-code {
    color: #999;
    font-size: 10px;
}

.concept-line-name-code {
    color: #999;
    font-size: 10px;
}

.concept-line-name-title {
    color: var(--shop-heading);
    font-size: 12px;
    line-height: 16px;
    font-family: "montserratsemibold";
}

.concept-line-name-extra {
    color: #777;
    font-size: 11px;
    line-height: 15px;
}

.concept-line-concept-amount {
    font-family: "montserratsemibold";
}

.concept-line-order {
    display: flex;
    align-items: center;
    gap: 7px;
}

.concept-line-order input {
    width: 64px;
    height: 36px;
    box-sizing: border-box;

    padding: 0 8px;

    border: 1px solid #d8dee8;
    border-radius: 7px;

    font-family: "montserratregular";
    font-size: 13px;
    text-align: center;
}

.concept-line-order input:focus {
    outline: none;
    border-color: #2E643E;
}

.concept-line-add {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;
    min-width: 36px;

    box-sizing: border-box;
    border-radius: 7px;

    background: #008c16;
    color: #fff;

    cursor: pointer;

    transition: background .15s ease;
}

.concept-line-add i {
    font-size: 14px;
    line-height: 1;
}

.concept-line-add:hover {
    background: #007313;
}



/* =========================================================
   CONCEPT / MIX - ARTIKELSET SELECT
   ========================================================= */

.concept-detail-set-cell {
    min-width: 220px;
}

.concept-detail-set {
    width: 100%;
    min-width: 200px;
    max-width: 320px;
    height: 36px;

    padding: 6px 34px 6px 10px;

    border: 1px solid #d0d5dd;
    border-radius: 6px;

    background-color: #ffffff;

    color: #344054;

    font-family: inherit;
    font-size: 13px;
    line-height: 20px;

    cursor: pointer;
    outline: none;

    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}

.concept-detail-set:hover {
    border-color: #98a2b3;
}

.concept-detail-set:focus {
    border-color: #98a2b3;

    box-shadow:
        0 0 0 3px rgba(16, 24, 40, 0.05);
}


/* Tablet / kleinere schermen */

@media (max-width: 900px) {

    .concept-detail-set-cell {
        min-width: 180px;
    }

    .concept-detail-set {
        min-width: 170px;
        max-width: 240px;
    }
}

/* =========================================================
   ARTIKEL SET
   ========================================================= */

.article-set-form .relation-detail-card {
    padding: 22px;
}

/* Algemene gegevens compacter maken */
.article-set-form .relation-form-grid {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr);
    column-gap: 40px;
    row-gap: 18px;
}

/* Label boven input */
.article-set-form .relation-form-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.article-set-form .relation-form-field label {
    font-size: 13px;
    font-weight: 600;
    color: #344054;
}

/* Inputs */
.article-set-form .relation-form-field input[type="text"] {
    width: 100%;
    max-width: none;
    height: 38px;
    box-sizing: border-box;
    padding: 7px 10px;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    background: #fff;
    color: #1d2939;
    font-family: inherit;
    font-size: 14px;
    outline: none;
}

.article-set-form .relation-form-field input[type="text"]:focus {
    border-color: #98a2b3;
    box-shadow: 0 0 0 3px rgba(16, 24, 40, 0.05);
}

/* Readonly ID */
.article-set-form #set_id {
    background: #f7f8fa;
    color: #667085;
}

/* Omschrijving blijft binnen de normale tweekoloms indeling */
.article-set-form .relation-form-field-wide {
    grid-column: auto;
}

/* Actief switch netjes uitlijnen */
.article-set-form .portal-switch {
    margin-top: 7px;
}


/* =========================================================
   ARTIKEL SET - ARTIKEL VOLGORDE
   ========================================================= */

.article-set-form .set-order-cell {
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}

.article-set-form .set-order-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid #d8dee6;
    border-radius: 6px;
    background: #f7f8fa;
    color: #344054;
    font-size: 12px;
    font-weight: 700;
}

.article-set-form .set-order-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    background: #fff;
    color: #475467;
    cursor: pointer;
    transition: all 0.15s ease;
}

.article-set-form .set-order-btn:hover {
    background: #f2f4f7;
    border-color: #98a2b3;
    color: #101828;
}

.article-set-form .set-order-btn:active {
    transform: translateY(1px);
}

.article-set-form .set-order-btn i {
    font-size: 11px;
}

/* Zoekresultaat: artikel zit al in de set */
.article-set-form .article-in-set-label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 9px;
    border-radius: 6px;
    background: #ecfdf3;
    color: #027a48;
    font-size: 12px;
    font-weight: 600;
}

.article-set-form .article-in-set-label i {
    font-size: 11px;
}

.article-set-form .article-already-in-set {
    background: #f9fafb;
}

.article-set-form .article-already-in-set td {
    opacity: 0.8;
}

/* Set artikel tabel */
.article-set-form .set-article-table .set-order-cell {
    width: 110px;
}

.article-set-form .set-article-table th:first-child {
    width: 110px;
}


/* =========================================================
   TABLET / MOBIEL
   ========================================================= */

@media (max-width: 800px) {
    .article-set-form .relation-form-grid {
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 15px;
    }
}

@media (max-width: 520px) {
    .article-set-form .relation-detail-card {
        padding: 16px;
    }

    .article-set-form .set-order-cell {
        gap: 3px;
    }

    .article-set-form .set-order-number,
    .article-set-form .set-order-btn {
        width: 27px;
        height: 27px;
    }

    .article-set-form .set-article-table .set-order-cell,
    .article-set-form .set-article-table th:first-child {
        width: 100px;
    }
}


/* Relatie detail overlay / right drawer ____________________________________________ */
#relation_detail_overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s ease, visibility .22s ease;
}

#relation_detail_overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

#relation_detail_modal {
    position: fixed;
    top: 0;
    right: 0;
    width: 1000px;
    max-width: 94vw;
    height: 100vh;
    background: #fff;
    box-shadow: -14px 0 38px rgba(0,0,0,.24);
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform .28s ease;
}

#relation_detail_overlay.active #relation_detail_modal {
    transform: translateX(0);
}

#relation_detail_content {
    padding: 28px;
    box-sizing: border-box;
}

.relation-detail-close {
    position: sticky;
    top: 18px;
    float: right;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: #f2f2f2;
    cursor: pointer;
    font-size: 18px;
    z-index: 10;
}

.relation-detail-close:hover {
    background: var(--shop-primary);
    color: #fff;
}

.relation-card-detail h2 {
    color: var(--shop-heading);
    font-size: 26px;
    margin-bottom: 22px;
}

.relation-detail-code {
    color: #999;
    font-size: 13px;
}

.relation-detail-section {
    display: grid;
    gap: 8px;
}

.relation-detail-section h3 {
    margin: 18px 0 8px;
    color: var(--shop-heading);
}

.relation-detail-section label {
    font-family: "montserratsemibold";
    font-size: 13px;
    color: #555;
}

.relation-detail-section input,
.relation-detail-section select {
    height: 42px;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 0 12px;
    box-sizing: border-box;
}

.relation-detail-actions {
    margin-top: 24px;
}

.relation-detail-actions button {
    background: var(--shop-primary);
    color: #fff;
    border: 0;
    border-radius: 8px;
    padding: 12px 22px;
    cursor: pointer;
}


.relation-detail-form {
  color: #0b214a;
}

.relation-detail-heading {
  display: flex;
  gap: 18px;
  align-items: center;
  margin-bottom: 26px;
}

.relation-detail-icon {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #fff2f2;
  color: var(--shop-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
}

.relation-detail-type {
  color: #8a8f9c;
  font-size: 13px;
}

.relation-detail-heading h2 {
  font-size: 28px;
  color: #0b214a;
  margin: 3px 0 0;
  font-family: "montserratsemibold";
}

.relation-detail-card {
  background: #fff;
  border: 1px solid #e1e6ef;
  border-radius: 10px;
  padding: 22px;
  margin-bottom: 14px;
}

.relation-detail-card h3 {
  margin-bottom: 20px;
  font-size: 18px;
  color: #0b214a;
  font-family: "montserratsemibold";
}

.relation-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 45px;
}

.relation-detail-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.form-field {
  display: grid;
  grid-template-columns: 150px 1fr;
  align-items: center;
  gap: 12px;
}

.form-field label {
  font-size: 13px;
  font-family: "montserratsemibold";
  color: #0b214a;
}

.form-field input,
.form-field select {
  height: 40px;
  border: 1px solid #ccd4df;
  border-radius: 7px;
  padding: 0 12px;
  box-sizing: border-box;
  font-size: 14px;
  color: #0b214a;
  background: #fff;
}

.form-field input[readonly] {
  background: #f3f5f8;
  color: #7a8495;
}

.checkbox-field input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: #b5161d;
}

.bonus-fields {
  display: flex;
  align-items: center;
  gap: 8px;
}

.bonus-fields input {
  width: 95px;
}

.relation-extra-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

.relation-detail-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 26px;
}

.relation-btn {
  height: 48px;
  border-radius: 8px;
  padding: 0 28px;
  cursor: pointer;
  font-family: "montserratsemibold";
  font-size: 14px;
}

.relation-btn.secondary {
  background: #fff;
  color: #0b214a;
  border: 1px solid #ccd4df;
}

.relation-btn.primary {
  background: #b5161d;
  color: #fff;
  border: 0;
}

.relation-btn.primary:hover {
  background: var(--shop-primary);
}


.relation-tabs {
  display: flex;
  gap: 8px;
  margin: 0 0 18px;
  border-bottom: 1px solid #e1e6ef;
}

.relation-tabs button {
  background: transparent;
  border: 0;
  padding: 14px 16px;
  color: #7a8495;
  cursor: pointer;
  font-family: "montserratsemibold";
}

.relation-tabs button.active {
  color: var(--shop-primary);
  border-bottom: 3px solid var(--shop-primary);
}

.relation-tab-content {
  display: none;
}

.relation-tab-content.active {
  display: block;
}

.relation-tab-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.relation-subtable {
  width: 100%;
  border-collapse: collapse;
}

.relation-subtable th,
.relation-subtable td {
  padding: 12px;
  border-bottom: 1px solid #e7e7e7;
  text-align: left;
}

.relation-subtable th {
  color: #0b214a;
  font-family: "montserratsemibold";
}


.relation-tab-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 28px;
}

.relation-tab-toolbar h3 {
    margin: 0;
    line-height: 48px;
}

.excluded-supplier-actions {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.excluded-supplier-add {
    display: none;
    width: 290px;
}

.excluded-supplier-add select,
.excluded-supplier-add .select2-container {
    width: 100% !important;
    margin-bottom: 8px;
}

.excluded-supplier-add .relation-btn {
    width: 135px;
}

.excluded-supplier-buttons{
    display:flex;
    gap:10px;
}

.excluded-supplier-buttons .relation-btn{
    flex:1;
}


/* ==========================================================================
   CONCEPT DETAIL FORM
   ========================================================================== */

#conceptDetailForm .relation-detail-card {
    padding: 24px;
    border: 1px solid #dde3ec;
    border-radius: 12px;
    margin-bottom: 16px;
}

#conceptDetailForm .relation-card-header {
    margin-bottom: 20px;
}

#conceptDetailForm .relation-card-header h3 {
    margin: 0;
    font-size: 19px;
    line-height: 24px;
    color: #0b214a;
    font-family: "montserratsemibold";
}


/* Grid */
#conceptDetailForm .relation-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 32px;
}


/* Los veld */
#conceptDetailForm .relation-form-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}


/* Label */
#conceptDetailForm .relation-form-field > label {
    display: block;
    font-size: 12px;
    line-height: 16px;
    color: #667085;
    font-family: "montserratsemibold";
}


/* Inputs + select */
#conceptDetailForm .relation-form-field input[type="text"],
#conceptDetailForm .relation-form-field input[type="number"],
#conceptDetailForm .relation-form-field input[type="date"],
#conceptDetailForm .relation-form-field select {
    width: 100%;
    height: 44px;
    padding: 0 13px;
    box-sizing: border-box;

    border: 1px solid #ccd4df;
    border-radius: 8px;

    background: #fff;
    color: #0b214a;

    font-family: "montserratregular";
    font-size: 14px;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        background-color .15s ease;
}


/* Hover */
#conceptDetailForm .relation-form-field input:hover,
#conceptDetailForm .relation-form-field select:hover {
    border-color: #aeb8c6;
}


/* Focus */
#conceptDetailForm .relation-form-field input:focus,
#conceptDetailForm .relation-form-field select:focus {
    border-color: var(--shop-primary);
    box-shadow: 0 0 0 3px rgba(137, 14, 5, .08);
}


/* Readonly */
#conceptDetailForm .relation-form-field input[readonly] {
    background: #f4f6f8;
    color: #8993a4;
    border-color: #dde3ea;
    cursor: default;
}


/* Disabled */
#conceptDetailForm .relation-form-field input:disabled,
#conceptDetailForm .relation-form-field select:disabled {
    background: #f4f6f8;
    color: #9aa3b1;
    cursor: not-allowed;
    opacity: .8;
}


/* Eventueel veld over volledige breedte */
#conceptDetailForm .relation-form-field-wide {
    grid-column: span 1;
}


#conceptDetailForm .portal-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    margin-top: 3px;
}

#conceptDetailForm .portal-switch input {
    width: 0;
    height: 0;
    opacity: 0;
}

#conceptDetailForm .portal-switch-slider {
    position: absolute;
    inset: 0;

    background: #c8ced7;
    border-radius: 24px;

    cursor: pointer;

    transition: .2s ease;
}

#conceptDetailForm .portal-switch-slider:before {
    content: "";
    position: absolute;

    width: 18px;
    height: 18px;

    left: 3px;
    top: 3px;

    background: #fff;
    border-radius: 50%;

    box-shadow: 0 1px 4px rgba(0,0,0,.2);

    transition: .2s ease;
}

#conceptDetailForm .portal-switch input:checked + .portal-switch-slider {
    background: var(--shop-primary);
}

#conceptDetailForm .portal-switch input:checked + .portal-switch-slider:before {
    transform: translateX(20px);
}

#conceptDetailForm .portal-switch input:focus + .portal-switch-slider {
    box-shadow: 0 0 0 3px rgba(137,14,5,.08);
}


/* =========================================================
   CONCEPT - AFBEELDINGEN
   ========================================================= */

/* Upload / drag & drop zone */
.concept-image-dropzone {
    width: 100%;
    min-height: 180px;
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 25px;

    background: #f8fafc;
    border: 2px dashed #d7deea;
    border-radius: 10px;

    text-align: center;
    cursor: pointer;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease;
}


/* Hover */
.concept-image-dropzone:hover {
    background: #f5f7fa;
    border-color: #aeb9ca;
}


/* Bestand wordt erboven gesleept */
.concept-image-dropzone.dragover {
    background: #fff6f5;
    border-color: #890e05;
}


/* Upload icoon */
.concept-image-dropzone-icon {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 12px;

    border-radius: 50%;

    background: #eef2f7;
    color: #0b214a;

    font-size: 20px;
}


/* Hoofdtekst */
.concept-image-dropzone strong {
    display: block;

    margin-bottom: 7px;

    color: #0b214a;

    font-size: 14px;
    font-weight: 600;
}


/* "of" */
.concept-image-dropzone > span {
    display: block;

    margin-bottom: 9px;

    color: #8994a5;

    font-size: 12px;
}


/* Bladeren knop */
.concept-image-dropzone .relation-btn {
    margin: 0;
}


/* Bestandstype */
.concept-image-dropzone small {
    display: block;

    margin-top: 10px;

    color: #8994a5;

    font-size: 11px;
}


/* Upload status */
.concept-image-upload-status {
    margin-top: 12px;
}


/* =========================================================
   AFBEELDINGEN GRID
   ========================================================= */

.concept-image-grid {
    display: grid;

    grid-template-columns:
        repeat(auto-fill, minmax(180px, 1fr));

    gap: 15px;

    margin-top: 20px;
}


/* Lege melding */
.concept-image-grid .relation-empty-state {
    grid-column: 1 / -1;

    padding: 18px;

    background: #f8fafc;
    border-radius: 8px;

    color: #7b8798;

    font-size: 13px;
    text-align: center;
}


/* =========================================================
   AFBEELDINGSKAART
   ========================================================= */

.concept-image-card {
    overflow: hidden;

    background: #ffffff;

    border: 1px solid #dce3ed;
    border-radius: 10px;

    transition:
        box-shadow 0.2s ease,
        transform 0.2s ease;
}


.concept-image-card:hover {
    box-shadow: 0 5px 18px rgba(11, 33, 74, 0.10);
    transform: translateY(-2px);
}


/* Afbeelding */
.concept-image-preview {
    position: relative;

    width: 100%;
    height: 150px;

    overflow: hidden;

    background: #f5f7fa;
}


.concept-image-preview img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* Bestandsnaam */
.concept-image-info {
    padding: 9px 11px;

    border-bottom: 1px solid #edf0f4;

    color: #687386;

    font-size: 11px;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.concept-image-info span {
    display: block;

    overflow: hidden;
    text-overflow: ellipsis;
}


/* Onderkant afbeelding */
.concept-image-actions {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 10px;

    padding: 9px 11px;
}


/* Actief checkbox */
.concept-image-actions .relation-inline-check {
    display: flex;

    align-items: center;

    gap: 6px;

    margin: 0;

    font-size: 12px;
}


/* Verwijderknop */
.concept-image-actions .relation-icon-btn {
    width: 30px;
    height: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 0;
    border-radius: 6px;

    background: transparent;

    cursor: pointer;
}


.concept-image-actions .relation-icon-btn.danger {
    color: #bd151b;
}


.concept-image-actions .relation-icon-btn.danger:hover {
    background: #fff0f0;
}


.concept-image-preview {
    position: relative;
}

.concept-image-main-label {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    background: rgba(11, 33, 74, 0.90);
    color: #fff;
    border-radius: 5px;
    font-size: 10px;
    font-weight: 600;
}

.concept-image-main-label .fa {
    font-size: 10px;
}

.article-search-table tr.article-already-in-mix {
    background: #f5faf6;
}

.article-search-table tr.article-already-in-mix td {
    color: #6d7b70;
}

/* Thumbnail artikel zoeken */
.article-search-image-cell {
    position: relative;
}

.article-search-thumb {
    width: 46px;
    height: 46px;
    object-fit: cover;
    border-radius: 7px;
    cursor: zoom-in;
    transition:
        transform .15s ease,
        box-shadow .15s ease;
}

/* Grotere afbeelding bij hover */
.article-search-image-cell:hover .article-search-thumb {
    position: absolute;
    z-index: 100;
    width: 240px;
    height: 240px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    object-fit: cover;
    border: 4px solid #fff;
    border-radius: 10px;
    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.20);
}

.article-in-mix-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 9px;
    border-radius: 6px;
    background: #eaf6ed;
    color: #2e6b3f;
    font-family: "montserratsemibold";
    font-size: 11px;
    white-space: nowrap;
}

.article-in-mix-label .fa {
    font-size: 10px;
}

.article-mix-amount {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 34px;
    height: 30px;

    padding: 0 8px;

    border-radius: 6px;

    background: #eef2f4;
    color: #5f6b78;

    font-size: 12px;
}

/* Aantal bij gekoppelde artikelen */
.concept-detail-amount {
    width: 72px;
    height: 36px;
    box-sizing: border-box;
    padding: 0 10px;
    border: 1px solid #d7deea;
    border-radius: 7px;
    background: #fff;
    color: #10264d;
    font-family: inherit;
    font-size: 13px;
    outline: none;
    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

/* Artikel uit concept verwijderen */
.concept-article-delete {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;
    padding: 0;

    border: 1px solid #e3e8f0;
    border-radius: 7px;

    background: #fff;
    color: #7b8799;

    font-size: 14px;
    cursor: pointer;

    transition:
        background-color .15s ease,
        border-color .15s ease,
        color .15s ease;
}

.concept-article-delete:hover {
    background: #fff3f3;
    border-color: #efc5c8;
    color: #c51620;
}

.concept-article-delete:active {
    transform: translateY(1px);
}

.concept-article-amount:hover {
    border-color: #b9c5d8;
}

.concept-article-amount:focus {
    border-color: #b5121b;
    box-shadow: 0 0 0 3px rgba(181, 18, 27, 0.08);
}

.concept-article-search {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #e5e9f0;
}

.concept-article-search-toolbar {
    display: grid;
    grid-template-columns: minmax(250px, 1fr) auto;
    align-items: end;
    gap: 12px;
    margin-bottom: 16px;
}

.article-search {
    width: 100%;
}

.concept-search-message {
    margin-bottom: 12px;
}

.article-search-table {
   /* min-width: 1050px; */
}

.article-search-image-cell {
    width: 58px;
}

.article-search-thumb,
.article-search-no-image {
    width: 46px;
    height: 46px;
    border-radius: 7px;
}

.article-search-thumb {
    display: block;
    object-fit: cover;
    background: #f1f3f6;
}

.article-search-no-image {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #a0a8b5;
    background: #f1f3f6;
}

.article-search-amount {
    width: 45px;
}

.article-search-price {
    white-space: nowrap;
}

.relation-btn.small {
    min-height: 32px;
    padding: 6px 10px;
    font-size: 12px;
}

.relation-btn.success {
    color: #fff;
    background: #2e8b57;
}


.coming-soon {
    opacity: .45;
    pointer-events: none;
    position: relative;
    background-color: #c0c0c066;
}

.coming-soon-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    background: #f4b400;
    color: #fff;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.password-field{
    position:relative;
    width:100%;
}

.password-field input{
    width:100%;
    padding-right:42px;
}

.password-toggle{
    position:absolute;
    top:50%;
    right:8px;
    transform:translateY(-50%);
    border:0;
    background:none;
    cursor:pointer;
    color:#7c8798;
    padding:4px;
}

.password-toggle:hover{
    color:var(--shop-primary);
}


.relation-table-filter {
    display: flex;
    align-items: center;
    gap: 14px;
}

.relation-table-filter input[type="text"] {
    height: 38px;
    width: 260px;
    border: 1px solid #ccd4df;
    border-radius: 7px;
    padding: 0 12px;
}

.relation-inline-check {
    display: flex;
    align-items: center;
    gap: 7px;
    font-family: "montserratsemibold";
    font-size: 13px;
    color: #0b214a;
}

.relation-feature-table th:first-child,
.relation-feature-table td:first-child {
    width: 40px;
    text-align: center;
}

.relation-feature-table th:nth-child(2),
.relation-feature-table td:nth-child(2) {
    width: 70px;
}


/* Product detail overlay / right drawer ____________________________________________ */
#product_detail_overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s ease, visibility .22s ease;
}

#product_detail_overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

#product_detail_modal {
    position: fixed;
    top: 0;
    right: 0;
    width: 760px;
    max-width: 94vw;
    height: 100vh;
    background: #fff;
    box-shadow: -14px 0 38px rgba(0,0,0,.24);
    padding: 0;
    box-sizing: border-box;
    overflow-y: auto;
    overflow-x: hidden;
    transform: translateX(100%);
    transition: transform .28s ease;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,0,0,.15) transparent;
}

#product_detail_modal::-webkit-scrollbar {
    width: 6px;
}

#product_detail_modal::-webkit-scrollbar-track {
    background: transparent;
}

#product_detail_modal::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,.12);
    border-radius: 20px;
}

#product_detail_modal::-webkit-scrollbar-thumb:hover {
    background: rgba(0,0,0,.25);
}

#product_detail_overlay.active #product_detail_modal {
    transform: translateX(0);
}

#product_detail_content {
    min-height: 100%;
    padding: 26px 28px 34px;
    box-sizing: border-box;
}

.product-detail-close {
    position: sticky;
    top: 18px;
    float: right;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: #f2f2f2;
    color: #333;
    cursor: pointer;
    font-size: 18px;
    z-index: 20;
    box-shadow: 0 3px 12px rgba(0,0,0,.08);
    transition: all .18s ease;
}

.product-detail-close:hover {
    background: var(--shop-primary);
    color: #fff;
}

.product-detail-content {
    display: block;
    clear: both;
}

.product-detail-top {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 40px;
    align-items: start;
}

.product-detail-gallery {
    margin-bottom: 24px;
}

.product-detail-main-image {
    width: 100%;
    height: 360px;
    border-radius: 16px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #f7f7f7;
    box-shadow: inset 0 0 0 1px #eeeeee;
}

.product-detail-thumbs {
    display: flex;
    gap: 10px;
    margin-top: 12px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
}

.product-detail-thumbs::-webkit-scrollbar {
    display: none;
}

.product-detail-thumbs span {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    border-radius: 10px;
    background-size: cover;
    background-position: center;
    cursor: pointer;
    border: 2px solid #eeeeee;
    background-color: #f7f7f7;
    transition: all .18s ease;
}

.product-detail-thumbs span:hover,
.product-detail-thumbs span.active {
    border-color: var(--shop-primary);
    transform: translateY(-1px);
}

.product-detail-info {
    padding-top: 2px;
}

.product-detail-code {
    display: block;
    color: #a7a7a7;
    font-size: 13px;
    margin-bottom: 8px;
}

.product-detail-info h2 {
    margin: 0 56px 16px 0;
    color: var(--shop-heading);
    font-size: 28px;
    line-height: 34px;
    font-family: "montserratsemibold";
    text-transform: capitalize;
}

.product-detail-specs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
    margin-bottom: 18px;
    color: #555;
}

.product-detail-specs span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 14px;
}

.product-detail-specs img {
    height: 16px;
    width: auto;
    object-fit: contain;
}

.product-detail-extra-inline {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin: 0 0 18px 0;
    padding: 0 0 18px 0;
    border-top: 0;
    border-bottom: 1px solid #e5e7eb;
}

.product-detail-extra-inline h3 {
    font-size: 13px;
    margin-bottom: 8px;
    color: var(--shop-heading);
    font-family: "montserratsemibold";
}

.product-detail-tag {
    display: inline-block;
    background: #f2f2f2;
    border-radius: 999px;
    padding: 7px 12px;
    margin: 0 6px 6px 0;
    font-size: 12px;
    color: #555;
}

.product-detail-price {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #eef6ed;
    border-left: 5px solid #2E643E;
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: 18px;
}

.product-detail-price span {
    color: #555;
    font-size: 14px;
}

.product-detail-price strong {
    color: #2E643E;
    font-size: 30px;
    font-family: "montserratbold";
    white-space: nowrap;
}

.product-detail-price-small {
    padding: 10px 12px;
    margin-bottom: 16px;
    border-radius: 9px;
}

.product-detail-price-small span {
    font-size: 12px;
}

.product-detail-price-small strong {
    font-size: 19px;
}

.product-detail-loading {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.product-detail-loading strong {
    width: 100%;
    color: var(--shop-heading);
    font-family: "montserratsemibold";
}

.product-detail-loading span {
    background: #e5e7eb;
    border-radius: 7px;
    padding: 7px 10px;
    font-size: 12px;
}

.product-detail-order {
    display: flex;
    gap: 12px;
    margin-bottom: 18px;
}

.product-detail-order input {
    width: 90px;
    height: 46px;
    border: 1px solid #ddd;
    border-radius: 8px;
    text-align: center;
    font-size: 16px;
    box-sizing: border-box;
}

.product-detail-order button {
    flex: 1;
    height: 46px;
    border: 0;
    border-radius: 8px;
    background: green;
    color: #fff;
    font-family: "montserratsemibold";
    font-size: 16px;
    cursor: pointer;
    transition: all .18s ease;
}

.product-detail-order button:hover {
    background: #006b00;
    transform: translateY(-1px);
}


/* Product detail - retailprijs */

.product-detail-retail {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    margin-top: 16px;
    padding: 14px 16px;

    background: #f7f9fb;
    border: 1px solid #e5eaf0;
    border-radius: 10px;
}

.product-detail-retail-label {
    font-size: 14px;
    font-weight: 600;
    color: #344054;
}

.product-detail-retail-control {
    display: flex;
    align-items: center;
    gap: 8px;
}

.product-detail-retail-currency {
    font-size: 15px;
    font-weight: 600;
    color: #344054;
}

.product-detail-retail .retail-price-field {
    display: inline-flex;
    align-items: center;
    position: relative;
}

.product-detail-retail input[name="Retailprijs"] {
    width: 110px;
    height: 38px;
    padding: 0px 12px;
    font-size: 15px;
    font-weight: 600;
    text-align: right;
    background: #fff;
    border: 1px solid #d6dce5;
    border-radius: 7px;
}

.product-detail-retail input[name="Retailprijs"][readonly] {
    background: #edf1f5;
    color: #475467;
    cursor: default;
}

.product-detail-retail .retail-fixed-icon {
    margin-left: 9px;
    color: #64748b;
    font-size: 15px;
}

@media (max-width: 480px) {
    .product-detail-retail {
        padding: 12px;
    }
}

.product-detail-grower {
    padding-top: 15px;
    border-top: 1px solid #e5e7eb;
    color: #707070;
    margin-bottom: 22px;
}

.product-detail-grower strong {
    color: var(--shop-heading);
    font-family: "montserratsemibold";
}

.product-detail-related {
    display: block;
    margin-top: 30px;
    padding-top: 22px;
    border-top: 1px solid #e5e7eb;
}

.product-detail-related h3 {
    margin: 0 0 15px 0;
    color: var(--shop-heading);
    font-size: 18px;
    font-family: "montserratsemibold";
}

.product-related-wrapper {
    position: relative;
}

.product-detail-related-row {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    padding: 8px 4px 14px 4px;
    scrollbar-width: none;
}

.product-detail-related-row::-webkit-scrollbar {
    display: none;
}




/* Historische aankopen productdetail */

.product-purchase-history {
    margin: 14px 0;
    padding: 14px;
    border: 1px solid #dce8df;
    border-radius: 10px;
    background: #f8fbf8;
    font-size: 13px;
}

.product-purchase-history-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 14px;
    color: #287448;
    margin-bottom: 12px;
}

.product-purchase-history-title small {
    margin-left: auto;
    font-size: 11px;
    font-weight: 400;
    color: #718075;
}







.product-purchase-history-latest {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    margin-bottom: 12px;
}

.product-purchase-history-latest > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.product-purchase-history-latest small {
    color: #718075;
    font-size: 11px;
}

.product-purchase-history-latest strong {
    font-size: 13px;
    font-weight: 600;
}

.history-latest-price,
.history-latest-retail {
    text-align: right;
}

/* Bij twee kolommen, wanneer Retail verborgen is */
.product-purchase-history-latest:not(:has(.history-latest-retail)) {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}

/* Aankoophistorie - tabel */

.product-purchase-history-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 12px;
}

.product-purchase-history-table th,
.product-purchase-history-table td {
    padding: 9px 8px;
    border-bottom: 1px solid #e5ece6;
    vertical-align: middle;
}

.product-purchase-history-table th:first-child,
.product-purchase-history-table td:first-child {
    text-align: left;
    width: 34%;
}

.product-purchase-history-table th:not(:first-child),
.product-purchase-history-table td:not(:first-child) {
    text-align: right;
}

.product-purchase-history-table .history-number {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.product-purchase-history-table tfoot td {
    font-weight: 700;
    border-top: 1px solid #ccdcd0;
}

@media (max-width: 600px) {
    .product-purchase-history-latest {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .product-purchase-history-latest:not(:has(.history-latest-retail)) {
        grid-template-columns: 1fr 1fr;
    }

    .history-latest-purchase {
        grid-column: 1 / -1;
    }

    .history-latest-price {
        text-align: left;
    }

    .product-purchase-history-table th,
    .product-purchase-history-table td {
        padding: 8px 5px;
    }
}



/* Uitklappijltje aankoophistorie */

.product-purchase-history-details summary {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    list-style: none;
}

.product-purchase-history-details summary::-webkit-details-marker {
    display: none;
}

.product-purchase-history-details summary::marker {
    content: '';
}

.product-purchase-history-details .history-chevron {
    font-size: 11px;
    transition: transform 0.2s ease;
}

/* Pijltje omhoog wanneer uitgeklapt */
.product-purchase-history-details[open] .history-chevron {
    transform: rotate(180deg);
}




.related-arrow {
    position: absolute;
    top: 45%;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: var(--shop-primary);
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    cursor: pointer;
    z-index: 5;
}

.related-arrow:hover {
    background: var(--shop-primary);
    color: #fff;
}

.related-prev {
    left: -12px;
}

.related-next {
    right: -12px;
}

.product-detail-related-card {
    flex: 0 0 170px;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 12px;
    padding: 10px;
    text-decoration: none;
    color: inherit;
    transition: all .2s ease;
}

.product-detail-related-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

.product-detail-related-image {
    display: block;
    height: 120px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-bottom: 10px;
}

.product-detail-related-code {
    display: block;
    font-size: 11px;
    color: #999;
    margin-bottom: 4px;
}

.product-detail-related-title {
    display: block;
    min-height: 38px;
    color: var(--shop-heading);
    font-family: "montserratsemibold";
    font-size: 13px;
    line-height: 17px;
    margin-bottom: 10px;
}

.product-detail-related-specs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 12px;
    font-size: 11px;
}

.product-detail-related-specs span {
    display: flex;
    align-items: center;
    gap: 4px;
}

.product-detail-related-specs img {
    width: 13px;
    height: 13px;
}

.product-detail-related-price {
    display: block;
    color: #2E643E;
    font-family: "montserratbold";
    font-size: 16px;
}

.product_detail_actions {
    display: inline-flex;
    gap: 12px;
    margin-top: 18px;
}

.product_detail_actions .btn {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 10px;
    border: 1px solid transparent;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all .18s ease;
    letter-spacing: .2px;
}


/* ============================================================
   PRODUCT DETAIL - TERUGKNOP
   ============================================================ */

.product-detail-back {
    display: none;
    align-items: center;
    gap: 7px;

    margin: 0 0 14px 0;
    padding: 7px 12px 7px 10px;

    border: 1px solid #e1e5e2;
    border-radius: 20px;

    background: #f7f9f7;
    color: #4f5b53;

    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;

    cursor: pointer;

    transition:
        background-color 0.15s ease,
        border-color 0.15s ease,
        color 0.15s ease,
        transform 0.15s ease;
}

.product-detail-back i {
    font-size: 11px;

    transition: transform 0.15s ease;
}

.product-detail-back:hover {
    background: #eef3ef;
    border-color: #cbd5cd;
    color: #273c2d;
}

.product-detail-back:hover i {
    transform: translateX(-2px);
}

.product-detail-back:active {
    transform: scale(0.97);
}

.product-detail-back:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(60, 100, 70, 0.12);
}


/* ===== Goedkeuren  ===== */
.btn-approve {
    background: #2f6fed;
    color: #fff;
    border-color: #2b5fd1;
}

.btn-approve.active {
    background: green;
}


.btn-approve:hover {
    background: #255ed3;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(37,94,211,.25);
}

/* ===== Afkeuren  ===== */
.btn-reject {
    background: #ffffff;
    color: #374151;
    border: 1px solid #d1d5db;
}
.btn-reject.active {
    background: #d70000;
	color: white;
}

.btn-reject:hover {
    background: #f3f4f6;
    border-color: #9ca3af;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(0,0,0,.08);
}

/* Content frame ________________________________________________________________________ Content frame*/
#content_frame_overlay {
	display: none;
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	justify-content: right;
	z-index: 99;

}

#content_frame_overlay.on_top{
	z-index: 1000;
}

#content_frame_content {
	background: #FFF;
	padding: 20px;
	padding-top: 120px;
	max-width: 1200px;
	min-width: 300px;
	width: 80%;
	overflow: scroll;
}

#content_frame_content.on_top{
	padding-top: 40px;
}




/* =========================================================
   QR SCANNER
   ========================================================= */

.qrscanner-overlay {
    position: fixed;
    inset: 0;

    display: none;
    align-items: center;
    justify-content: center;

    padding: 24px;

    background: rgba(15, 23, 42, 0.82);

    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);

    z-index: 99999;
}

.qrscanner-overlay.active {
    display: flex;
}

body.qrscanner-open {
    overflow: hidden;
}


/* Panel */

.qrscanner-panel {
    width: 100%;
    max-width: 520px;

    background: #ffffff;

    border-radius: 18px;

    overflow: hidden;

    box-shadow:
        0 25px 70px
        rgba(0, 0, 0, 0.35);
}


/* Header */

.qrscanner-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 20px 22px;

    border-bottom: 1px solid #eaecf0;
}

.qrscanner-header-title h2 {
    margin: 0 0 3px 0;

    font-size: 20px;
    line-height: 26px;

    color: #101828;
}

.qrscanner-header-title span {
    display: block;

    font-size: 13px;

    color: #667085;
}


/* Sluiten */

.qrscanner-close {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 40px;

    width: 40px;
    height: 40px;

    padding: 0;

    border: 0;
    border-radius: 10px;

    background: #f2f4f7;

    color: #475467;

    font-size: 18px;

    cursor: pointer;
}

.qrscanner-close:hover {
    background: #e4e7ec;

    color: #101828;
}


/* Body */

.qrscanner-body {
    padding: 20px;
}


/* Camera */

.qrscanner-camera {
    position: relative;

    width: 100%;

    overflow: hidden;

    background: #000000;

    border-radius: 14px;
}

#qrscanner_reader {
    width: 100%;

    background: #000000;
}

#qrscanner_reader video {
    display: block;

    width: 100% !important;
    height: auto !important;

    object-fit: cover;
}


/* Eigen scanvlak */

.qrscanner-scan-frame {
    position: absolute;

    width: 68%;
    aspect-ratio: 1 / 1;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%, -50%);

    pointer-events: none;
}


/* Hoeken */

.qrscanner-scan-frame .corner {
    position: absolute;

    width: 30px;
    height: 30px;

    border-color: #ffffff;
    border-style: solid;
}

.qrscanner-scan-frame .top-left {
    top: 0;
    left: 0;

    border-width: 3px 0 0 3px;

    border-radius: 6px 0 0 0;
}

.qrscanner-scan-frame .top-right {
    top: 0;
    right: 0;

    border-width: 3px 3px 0 0;

    border-radius: 0 6px 0 0;
}

.qrscanner-scan-frame .bottom-left {
    bottom: 0;
    left: 0;

    border-width: 0 0 3px 3px;

    border-radius: 0 0 0 6px;
}

.qrscanner-scan-frame .bottom-right {
    right: 0;
    bottom: 0;

    border-width: 0 3px 3px 0;

    border-radius: 0 0 6px 0;
}


/* Scanlijn */

.qrscanner-scan-line {
    position: absolute;

    left: 8%;
    right: 8%;

    top: 50%;

    height: 2px;

    background: rgba(
        255,
        255,
        255,
        0.85
    );

    box-shadow:
        0 0 8px
        rgba(255, 255, 255, 0.8);
}


/* Status */

.qrscanner-status {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    min-height: 44px;

    margin-top: 16px;
    padding: 10px 14px;

    background: #f9fafb;

    border: 1px solid #eaecf0;
    border-radius: 10px;

    color: #475467;

    font-size: 13px;
    text-align: center;
}

.qrscanner-status.success {
    background: #ecfdf3;
    border-color: #abefc6;
    color: #067647;
}

.qrscanner-status.error {
    background: #fef3f2;
    border-color: #fecdca;
    color: #b42318;
}


/* Header scanner button */

.header-qrscanner-button {
    padding: 0;

    border: 0;

    background: transparent;

    cursor: pointer;
}

.header-qrscanner-button img {
    display: block;
}


/* =========================================================
   QR SCANNER - MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .qrscanner-overlay {
        padding: 0;

        align-items: stretch;
    }

    .qrscanner-panel {
        display: flex;
        flex-direction: column;

        max-width: none;
        min-height: 100dvh;

        border-radius: 0;
    }

    .qrscanner-header {
        padding:
            16px
            18px;
    }

    .qrscanner-header-title h2 {
        font-size: 18px;
    }

    .qrscanner-body {
        display: flex;
        flex-direction: column;
        justify-content: center;

        flex: 1;

        padding: 16px;
    }

    .qrscanner-camera {
        border-radius: 12px;
    }

    .qrscanner-status {
        margin-top: 14px;
    }
}




#qrscanner_frame_overlay {
	display: none;
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	justify-content: right;
	z-index: 999;
}

#qrscanner_frame_content {
	background: #FFF;
	max-width: 800px;
	max-height: 800px;
	width: 90%;
	height: 90%;
	overflow: none;
	margin: 20px auto;	
	border-radius: 20px;
	overflow: scroll;
}

	#reader {
		padding: 20px;
		width: 90%;
		height: calc(90% - 120px);
		margin: 15px auto; 
		margin-top: 60px;
	}

	#html5-qrcode-button-camera-start {
	width: 90%;
    display: flex;
    align-items: center;
    /* float: right; */
    height: 40px;
    border-radius: 20px;
    min-width: 80px;
    font-size: 16px;
    background-color: #2E643E;
    color: white;
    padding: 15px 25px 15px 25px;
    box-sizing: border-box;
    cursor: pointer;
    margin-top: 15px;
	}

	#html5-qrcode-button-camera-stop {
	width: 90%;
    display: flex;
    align-items: center;
    /* float: right; */
    height: 40px;
    border-radius: 20px;
    min-width: 80px;
    font-size: 16px;
    background-color: #212d55;
    color: white;
    padding: 15px 25px 15px 25px;
    box-sizing: border-box;
    cursor: pointer;
    margin-top: 15px;
	
	}
	

		
        /* Verberg de camera select dropdown */
		#html5-qrcode-select-camera {
		width: 90% !important;
		height: 28px !important;
		}

.popup_close_button {
		font-size: 20px;
		line-height: 40px;
		text-align: center;
		color: #000;
		width: 40px;
		height: 40px;
		border-radius: 25px;
		border: 1px solid #707070;
		cursor: pointer;
		float: right;
}

.reset_filter_button {
		display: inline-block;
		font-size: 20px;
		line-height: 40px;
		text-align: center;
		color: #000;
		width: 40px;
		height: 40px;
		border-radius: 25px;
		border: 1px solid #707070;
		cursor: pointer;
		padding: 10px;
		box-sizing: border-box;
}


.popup_log_off_button {
		width: stretch;
		font-size: 20px;
		line-height: 40px;
		text-align: center;
		color: #000;
		height: 40px;
		border-radius: 10px;
		border: 1px solid #707070;
		cursor: pointer;
		float: left;
		padding: 0px 15px;
		margin-bottom: 10px;

}
	
/* Basket  _________________________________________________________________________________ */		
#main-container.basket_container {
	background-color: #FFF;
}

.basket_header_sticky{
    position:sticky;
    top:74px;   /* jouw rode vaste header is 90px hoog */
    z-index:50;
    width: 90%;
    background:#FFF;
	padding-bottom: 18px;
	margin-bottom: 10px;

    border-radius: 0 0 10px 10px;
    box-shadow: 0 4px 12px rgba(9,30,66,.08);
}

#basket_header {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0 10px 15px 10px;
}

#basket_header h2 {
	flex-basis: 100%;
	margin-bottom: 0px;
}

#basket_header #header1_order_date {
	margin: 0px;
	flex-shrink: 0;
}


	.basket_button {
		display: block;
		float: left;
		border-radius: 10px;
		border: 1px solid silver;
		background-color: #CCC;
	    box-shadow: 0 6px 18px rgba(9, 30, 66, 0.08);
		padding: 10px;
		margin: 10px;
		background: linear-gradient(to top, #d0d0d0, #f5f5f5);
		cursor: pointer;
	}
	
#basket_header .basket_button {
	float: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin: 0px;
	white-space: nowrap;
}

#basket_header .button_submit_order {
	margin-left: auto;
}

#basket_detail {
    display: flex;
	padding: 10px 0px 10px 0px;
	font-size: 14px;
 	font-family: "montserratregular";
	line-height: 18px;
	border-radius: 5px;
}

	#basket_detail.even{
	background-color: #ededed;
	}

	#basket_detail.oneven{
	background-color: #fff;
	}
	
	#basket_detail.error{
	background-color: #eeeeee;
	}
	
#basket_detail_image {
	display: block;
	width: 95%;
	max-width: 100px;
	height: 130px;
	background-image: url(/img_layout/test_plaatje.jpg);
	background-size: cover;	
	background-repeat: no-repeat;
	background-position: center; 
	border-radius: 10px;
}
	.oneven #basket_detail_image {
	border: 1px solid silver;
	}

.form_basket_details {
	width: 90%;
}

	#basket_detail div{
	/* padding-left: 0px; */
	/* padding-right: 0px; */
	}
	
	#basket_detail h4{
	font-size: 15px;
	color: var(--shop-heading);
	line-height: 24px;
	margin-bottom: 15px;
	}
	
	#basket_detail_mix h4 {
	font-size: 14px;
	}

#basket_detail input {
		border: 1px solid #CCC;
		font-family: "montserratregular";
		color: #000;
		height: 24px;
		border-radius: 5px;
		padding: 0px 5px;
		box-sizing: border-box;
}

#basket_detail_opmerkingen {
	display: block;
	font-size: 14px;
 	font-family: "montserratsemibold";
	color: #707070;
	margin-top: 15px;
}

#basket_detail .basket_detail_total_price i,
#basket_detail .basket_detail_total_price span {
	line-height: 24px;
}


#basket_detail .basket_detail_qty h5,
#basket_detail .basket_detail_price h5,
#basket_detail .basket_detail_total_price h5
{
	font-size: 14px;
 	font-family: "montserratsemibold";
	margin-bottom: 10px;
}

#basket_detail .basket_detail_qty h6,
#basket_detail .basket_detail_price h6,
#basket_detail .basket_detail_total_price h6
{
	font-size: 14px;
 	font-family: "montserratsemibold";

	margin-top: 5px;
	margin-bottom: 5px;
}
	
#basket_detail .fa {
	float: right;
	font-size: 16px;
	cursor: pointer;
}
	#basket_detail .fa-lock {
	float: none;
	
	}
	#basket_detail .basket_detail_qty input{
		width: 40%;
		min-width: 80px;
		margin-right: 5px;
		text-align: center;
		border: 1px solid #CCC;
		background-color: transparent;
		color: #000;
	}
	
	#basket_detail.even .basket_detail_qty input{
	background-color: #fff;
	}
	#basket_detail.even .basket_detail_price input{
	background-color: #fff;
	}

	
	#basket_detail input[name="Barcode"]{
		width: 120px;
		text-align: left;
		border: 1px solid #CCC;
		background-color: transparent;
		color: #000;
		font-size: 14px;
	}
	
	#basket_detail input[name="Retailprijs"]{
		width: 80px;
		text-align: center;
		border: 1px solid #CCC;
		background-color: transparent;
		color: #000;
	}

	#basket_detail input[name="Retail_multibuy"]{
		width: 100%;
		text-align: center;
		border: 1px solid #CCC;
		background-color: transparent;
		color: #000;
	}

	
	#basket_detail input[name="Prijs"]:read-only{
		width: 100%;
		text-align: left;
		border: 0px;
		background-color: transparent;
		color: #000;
	}
	
	#basket_detail input[name="Prijs"]{
		width: 80px;
		text-align: center;
		border: 1px solid #CCC;
		background-color: transparent;
		color: #000;
	}

	
	#basket_detail input[id="Quote_prijs"]{
		border-radius: 12px;
		border: 1px solid #CCC;
		width: 80px;
		text-align: center;
	}

    /* Aantal automatisch gecorrigeerd */
    input.basket-quantity-adjusted {
        background-color: #ffe3ad !important;
        border-color: #e9a23b !important;
        transition: background-color 0.4s ease, border-color 0.4s ease;
    }

	
#basket_order_calculation,
#basket_order_retail_calculation,
#basket_add_tags,
#basket_order_move_departure_date {
	display: block;
	float: left;
	min-width: 400px;
	width: 100%;
	border: 0px solid green;
	min-height: 40px;
	font-size: 14px;
	background-color: #eeeeee;
    line-height: 40px;
	padding: 15px;
	margin-top: 15px;
}


#basket_order_calculation div,
#basket_order_retail_calculation div,
#basket_add_tags div,
#basket_order_move_departure_date div{
	min-width: 220px;
	float: left;
}

#basket_order_calculation div input[type=text],
	#basket_order_retail_calculation div input[type=text],
	#basket_order_move_departure_date div input[type=text]
	{
	min-width: 80px;
    height: 30px;
    max-width: 80px;
    text-align: right;
    padding: 0px 10px;
    box-sizing: border-box;
    border: 0px;
    border-radius: 10px;
    margin-left: 10px;
	margin-right: 2px;
	}
	
	#basket_order_calculation div select,
	#basket_order_retail_calculation div select,
	#basket_create_recommendation div select,
	#basket_create_special_offer div select,
	#basket_create_quote div select,
	#basket_create_mixtrolley div select,
	#basket_create_seasonal div select,
	#basket_create_quote_central_buyer div select,
	#basket_direct_buy_central_buyer div select{
	min-width: 100px !important;
	max-width: 140px !important;
	height: 30px;
	border-radius: 10px;
	border: 0px;
	padding: 0px 10px;
	line-height: 24px;
	 margin-left: 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
		
	 background-image:
	    linear-gradient(45deg, transparent 50%, gray 50%),
	    linear-gradient(135deg, gray 50%, transparent 50%),
	    linear-gradient(to right, #ccc, #ccc);
	  background-position:
	    calc(100% - 20px) calc(1em + -2px),
	    calc(100% - 15px) calc(1em + -2px),
	    calc(100% - 2.0em) 0.1em;
	  background-size:
	    5px 5px,
	    5px 5px,
	    1px 1.5em;
	  background-repeat: no-repeat;
	}


    #basket_order_retail_calculation .retail_calc_field input[type="text"] {
        border: 1px solid #cfcfcf;
        background-color: #fff;
        border-radius: 6px;
    }

    #basket_order_retail_calculation .retail_calc_field select {
        border: 1px solid #cfcfcf !important;
        background-color: #fff;
        border-radius: 6px;
    }

    #basket_order_retail_calculation .retail_calc_field input[type="text"]:focus,
    #basket_order_retail_calculation .retail_calc_field select:focus {
        border-color: var(--shop-heading) !important;
        outline: none;
    }    
	
    .button_basket_calculate {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;

        float: right;

        height: 40px;
        min-width: 80px;
        padding: 0 18px;

        box-sizing: border-box;

        border-radius: 10px;
        background-color: #047908;
        color: white;

        font-size: 16px;
        line-height: 1;

        cursor: pointer;
        margin-bottom: 15px;
    }

    .button_basket_calculate i {
        position: static;
        float: none;

        display: inline-flex;
        align-items: center;
        justify-content: center;

        width: 18px;
        height: 18px;

        margin: 0;
        padding: 0;

        background: transparent;
        color: inherit;

        font-size: 15px;
        line-height: 18px;
        vertical-align: middle;
    }




/* Retailprijs popup __________________________________ */

.basket-retail-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(20, 30, 40, .48);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.basket-retail-popup {
    width: 100%;
    max-width: 420px;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 18px 55px rgba(0, 0, 0, .18);
    font-size: 14px;
}

.basket-retail-popup-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 17px 20px;
    border-bottom: 1px solid #e8ebef;
    font-size: 16px;
    font-weight: 600;
}

.basket-retail-popup-header i {
    margin-right: 8px;
}

.basket-retail-popup-close {
    border: 0;
    background: transparent;
    font-size: 25px;
    cursor: pointer;
    color: #78818b;
}

.basket-retail-popup-content {
    padding: 20px;
}

#basket_retail_popup_message {
    line-height: 1.5;
    margin-bottom: 16px;
}

.basket-retail-popup-prices {
    padding: 13px 15px;
    background: #f5f7f9;
    border-radius: 8px;
    margin-bottom: 16px;
}

.basket-retail-popup-prices > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 4px 0;
}

.basket-retail-popup-option {
    display: flex;
    align-items: center;
    gap: 13px;
    width: 100%;
    padding: 14px;
    margin-bottom: 10px;
    border: 1px solid #dce2e8;
    border-radius: 8px;
    background: #fff;
    text-align: left;
    cursor: pointer;
}

.basket-retail-popup-option:hover {
    background: #f5f8fb;
    border-color: #9aaebf;
}

.basket-retail-popup-option > i {
    width: 22px;
    text-align: center;
    font-size: 18px;
}

.basket-retail-popup-option span {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.basket-retail-popup-option small {
    color: #75808b;
    font-size: 12px;
    line-height: 1.4;
}

.basket-retail-popup-option-primary {
    border-color: #bad8c6;
    background: #f6fbf8;
}

.basket-retail-popup-option-primary > i {
    color: #27834d;
}

.basket-retail-popup-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 15px;
}

.basket-retail-popup-footer button {
    border: 0;
    background: transparent;
    color: #737d87;
    cursor: pointer;
    padding: 8px;
}

/* Basket checkout ______________________________________________ */

#basket_order_submit {
	display: block;
	float: left;
	box-sizing: border-box;
	min-width: 400px;
	width: 100%;
	min-height: 40px;
	margin-top: 15px;
	padding: 18px;
	background-color: #eeeeee;
	font-size: 14px;
	line-height: 20px;
	color: #333;
}

.basket_checkout_summary {
	width: 100%;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 8px;
	box-sizing: border-box;
	overflow: hidden;
	margin-bottom: 22px;
}

.basket_checkout_summary_title {
	display: flex;
    width: 100% !important;
    align-items: center;
	gap: 8px;
	padding: 13px 16px;
	background: #f5f5f5;
	border-bottom: 1px solid #ddd;
	font-family: "montserratsemibold";
	font-size: 15px;
	color: var(--shop-heading);
}

.basket_checkout_summary_title i {
	color: var(--shop-primary);
}

.basket_checkout_summary_rows {
	padding: 8px 16px;
}

.basket_checkout_summary_row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 44px;
	border-bottom: 1px solid #eee;
}

.basket_checkout_summary_row:last-child {
	border-bottom: 0;
}

.basket_checkout_summary_row span {
	color: #555;
}

.basket_checkout_summary_row strong {
	flex-shrink: 0;
	color: var(--shop-heading);
	font-family: "montserratsemibold";
	font-weight: normal;
	text-align: right;
}


/* Checkout gegevens */

.basket_checkout_details {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	width: 100%;
	box-sizing: border-box;
}

.basket_checkout_delivery,
.basket_checkout_input_fields {
	width: 100%;
	min-width: 0;
}

.basket_checkout_field {
	margin-bottom: 18px;
}

.basket_checkout_field label {
	display: block;
	margin-bottom: 7px;
	font-family: "montserratsemibold";
	color: #333;
}

.basket_checkout_field label i {
	width: 18px;
	color: var(--shop-primary);
}

.basket_checkout_value {
	box-sizing: border-box;
	width: 100%;
	min-height: 42px;
	padding: 10px 12px;
	background: #fff;
	border: 1px solid #d5d5d5;
	border-radius: 6px;
}

.basket_checkout_field input[type="text"],
.basket_checkout_field textarea {
	box-sizing: border-box;
	width: 100%;
	border: 1px solid #d5d5d5;
	border-radius: 6px;
	background: #fff;
	padding: 10px 12px;
	font-family: inherit;
	font-size: 14px;
	outline: none;
}

.basket_checkout_field input[type="text"] {
	height: 42px;
}

.basket_checkout_field textarea {
	height: 101px;
	resize: vertical;
}

.basket_checkout_field input[type="text"]:focus,
.basket_checkout_field textarea:focus {
	border-color: var(--shop-heading);
}


/* Onderste balk */

.basket_checkout_actions {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	margin-top: 8px;
	padding-top: 16px;
	border-top: 1px solid #d5d5d5;
	box-sizing: border-box;
}

.basket_checkout_submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}


/* Mobiel */


/* Basket lijstvorm  _____________________________________________________________________________ */

/* Basket search ________________________________________________ */

.basket_search {
	position: relative;
	display: flex;
	align-items: center;
	width: 220px;
	height: 38px;
	margin-left: 2px;
	box-sizing: border-box;
	flex-shrink: 0;
}

.basket_search > i {
	position: absolute;
	left: 12px;
	color: #777;
	font-size: 14px;
	pointer-events: none;
}

.basket_search input {
	box-sizing: border-box;
	width: 100%;
	height: 50px;
	padding: 0 34px 0 34px;
	border: 1px solid #ccc;
	border-radius: 8px;
	background: #fff;
	font-family: inherit;
	font-size: 14px;
	color: #333;
	outline: none;
}

.basket_search input:focus {
	border-color: var(--shop-heading);
}

.basket_search input::placeholder {
	color: #999;
}

.basket_search_clear {
	position: absolute;
	right: 5px;
	top: 5px;
	display: none;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	cursor: pointer;
	color: #777;
}

.basket_search_clear:hover {
	color: var(--shop-primary);
}

.basket_view_selector{
    float: none;
    margin-left: 2px;
    flex-shrink: 0;
}

.view_button{
    width:42px;
    height:42px;
    border:1px solid #d8d8d8;
    border-radius:10px;
    background:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    cursor:pointer;
    transition:all .2s;
    box-shadow:0 2px 6px rgba(0,0,0,.08);
}

.view_button:hover{
    background:var(--shop-primary);
    color:#fff;
    border-color:var(--shop-primary);
}

.view_button i{
    font-size:18px;
}

.basket_table_row{
    display:grid;

    grid-template-columns:
        60px
        1.8fr
        70px
        70px
        80px
        90px
        100px
        90px
        70px
        40px;

    align-items:center;

    min-height:58px;

    padding:8px 15px;

    border-bottom:1px solid #ececec;
}

.basket_table_row.even{
    background:#fafafa;
}

.basket_table_row.oneven{
    background:#ffffff;
}

.basket_table_row:hover{
    background:#eef6ff;
}


/* ===========================
   Basket list view
   =========================== */


/* Kolommen: gebruik exact dezelfde template voor header en regels */
.basket_table_listheader,
.basket_table_row{
    display:grid;
    grid-template-columns:
        60px      /* Img */
        minmax(260px, 1fr)
        70px      /* Pot */
        70px      /* Hohe */
        80px      /* Menge */
        90px      /* Preis */
        100px     /* Total */
        90px      /* VKP */
        70px      /* Print */
        34px;     /* Delete */
    align-items:center;
    column-gap:10px;
    box-sizing:border-box;
}

/* Tabel header */
.basket_table_listheader{
    width:100%;
    min-height:44px;
    padding:0 16px;
    background:#fafafa;
    border:1px solid #ddd;
    border-radius:8px;
    font-size:13px;
    color:#444;
    font-family:"montserratsemibold";
}

.basket_table_listheader > div{
    padding:0 4px;
}

.basket_table_listheader > div:nth-child(n+3){
    text-align:center;
}

/* Forms */
.form_basket_details{
    width: 98%;
	margin-left: auto;
	margin-right: auto;
}

/* Regels */
.basket_table_row{
    width:100%;
    min-height:42px;
    padding:8px 16px;
    border-bottom:1px solid #e8e8e8;
    font-size:13px;
    transition:background .15s ease;
}

.basket_table_row.even{
    background:#fff;
}

.basket_table_row.oneven{
    background:#fcfcfc;
}

.basket_table_row:hover{
    background:#f6f8fb;
}

/* Afbeelding */
.basket_img{
    display:flex;
    align-items:center;
}

.basket_img #basket_detail_image{
    width:43px;
    height:42px;
    max-width:none;
    border-radius:7px;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

/* Artikel */
.basket_article{
    min-width:0;
}

.basket_article strong{
    display:block;
    color:var(--shop-heading);
    font-family:"montserratsemibold";
    font-size:14px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* Cellen centreren */
.basket_pot,
.basket_height,
.basket_qty,
.basket_price,
.basket_total,
.basket_retail,
.basket_print,
.basket_delete{
    text-align:center;
}

/* Inputs */
.basket_table_row input[type="text"]{
    width:74px;
    height:30px;
    border:1px solid #d6d6d6;
    border-radius:6px;
    background:#fff;
    text-align:center;
    box-sizing:border-box;
    font-size:13px;
}

.basket_table_row input[readonly]{
    background:#f5f5f5;
    color:#333;
}

/* Total */
.basket_total{
    font-family:"montserratsemibold";
}

/* Checkbox print */
.basket_print input[type="checkbox"]{
    width:16px;
    height:16px;
    cursor:pointer;
}

/* Delete */
.basket_delete i{
    cursor:pointer;
    color:#333;
    font-size:14px;
    padding:8px;
}

.basket_delete i:hover{
    color:#C51230;
}


.basket_img #basket_detail_image{
    position:relative;
    overflow:visible;
    cursor:zoom-in;
}

.basket_img #basket_detail_image::after{
    content:"";
    position:absolute;
    left:70px;
    top:-70px;
    width:280px;
    height:280px;
    background-image:inherit;
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    background-color:#fff;
    border-radius:12px;
    border:1px solid #ddd;
    box-shadow:0 10px 30px rgba(0,0,0,.22);
    opacity:0;
    visibility:hidden;
    transform:scale(.96);
    transition:all .15s ease;
    z-index:999;
    pointer-events:none;

}

.basket_img #basket_detail_image:hover::after{
    opacity:1;
    visibility:visible;
    transform:scale(1);
}

.basket_comment_block{
    margin-top:0px;
}

.basket_comment_text{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#999;
    font-size:12px;
    cursor:pointer;
    transition:.2s;
}

.basket_comment_text:hover{
    color:var(--shop-primary);
}

.basket_comment_text i{
    font-size:13px;
}

/* Opmerking aanwezig */
.basket_comment_text.filled{
    color:var(--shop-primary);
    font-family:"montserratsemibold";
}

.basket_comment_text.filled i{
    color:var(--shop-primary);
}

.basket_comment_input{
    display:none;
    width:100% !important;
    height:28px !important;
    border:1px solid #d9d9d9;
    border-radius:5px;
    padding:0 8px;
    box-sizing:border-box;
    font-size:12px;
}

.basket_comment_block.editing .basket_comment_text{
    display:none;
}

.basket_comment_block.editing .basket_comment_input{
    display:block;
}



/* Retailprijs met lock */

/* Retailprijs met slotje */

.basket_retail_price_control {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    width: 100%;
}

.basket_retail_price_control input[name="Retailprijs"] {
    flex: 0 1 80px;
    width: 80px;
    max-width: 80px;
    min-width: 0;
    box-sizing: border-box;
}

/* Retailprijs readonly - winkelwagen */

.basket_retail_price_control input[readonly],
.basket_mix_retail input[readonly] {
    background-color: #f5f6f8;
    color: #454b54;
    cursor: default;
    border-color: #e2e6ea;
}

.basket_retail_price_control input[readonly]:focus,
.basket_mix_retail input[readonly]:focus {
    outline: none;
    box-shadow: none;
}

.basket_retail_lock {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 30px;

    width: 30px;
    height: 30px;

    padding: 0;
    border: 1px solid #d8dee5;
    border-radius: 6px;

    background: #f5f7fa;
    color: #7b8794;

    cursor: pointer;
    transition: all 0.15s ease;
}

.basket_retail_lock:hover {
    background: #e9eef4;
    color: #344054;
}

.basket_retail_lock.is-locked {
    background: #e8f4ed;
    border-color: #b7ddc5;
    color: #25834a;
}

.basket_retail_price_control input[readonly] {
    background: #f4f6f8;
    color: #667085;
}

/* Kleinere schermen */


/* Basket mixdetails ________________________________________________________________________________*/
.basket_mix_block {
    width: calc(90%);
    margin: -1px 0px 18px 0px;
    padding: 10px;
    box-sizing: border-box;
    background: #f1f7f1;
    border: 1px solid #e2e5e9;
    border-top: 0;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
}

.basket_mix_header,
.basket_mix_row {
    display: grid;

    grid-template-columns:
        60px
        minmax(220px, 1fr)
        70px
        80px
        80px
        80px
        100px
        70px;

    gap: 12px;
    align-items: center;
}

.basket_mix_header {
    padding: 8px 12px;

    background: #f0f1f3;

    color: #707070;
    font-size: 10px;
    font-family: "montserratsemibold";

    border-bottom: 1px solid #ddd;
}

.basket_mix_row {
    padding: 6px 12px;
    min-height: 50px;
    border-bottom: 1px solid #ececec;
    font-size: 11px;
}

.basket_mix_row:last-child {
    border-bottom: 0;
}

.basket_mix_image span {
    width: 42px;
    height: 42px;

    display: block;

    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;

    border-radius: 6px;
    border: 1px solid #e5e7eb;
    background-color: #fff;
}

.basket_mix_article {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.basket_mix_article strong {
    color: #999;
    font-size: 10px;
}

.basket_mix_article span {
    color: var(--shop-heading);
    font-family: "montserratsemibold";
}

.basket_mix_article small {
    display: block;
    margin-top: 2px;

    color: #777;
    font-size: 10px;
    font-family: "montserratregular";
}

.basket_mix_retail input {
    width: 80px;
    height: 30px;

    box-sizing: border-box;

    border: 1px solid #d8dce2;
    border-radius: 6px;

    text-align: center;
    font-size: 12px;
}

.basket_mix_print {
    text-align: center;
}

.basket_mix_print input {
    transform: scale(1.15);
}

.basket_mix_print {
    display: flex;
    align-items: center;
    justify-content: center;
}

.basket_mix_print .checkbox-wrapper-14 {
    display: flex;
    align-items: center;
    justify-content: center;
}
	

/* Opticon scanner uitlees scherm
_________________________________________________________________________________ */


/* Hoofdcontainer */
#opticon_scanner_overlay {
    width: 100%;
    max-width: none;
    padding: 10px 20px 25px 20px;
    box-sizing: border-box;
}

#opticon_scanner_overlay h3 {
    margin: 0 0 20px 0;
}


/* Introductietekst */
.opticon_intro {
    line-height: 1.6;
    margin-bottom: 20px;
}


/* Actie / verbindknop */
.opticon_action {
    margin-bottom: 20px;
}

.button_opticon_connect {
    cursor: pointer;
    margin-left: 10px;
}


/* Statusmelding */
.opticon_status {
    margin-top: 15px;
    padding: 13px 15px;
    background: #f2f2f2;
    border-radius: 5px;
}

.opticon_status i {
    margin-right: 6px;
}

.opticon_status.connected {
    background: #edf7ed;
    color: #276738;
}

.opticon_status.error {
    background: #fdecec;
    color: #a12622;
}

.opticon_status.working {
    background: #f5f5f5;
}


/* Resultaat */
#opticon_result_container,
.opticon_result_container {
    margin-top: 25px;
}

#opticon_summary {
    margin-bottom: 10px;
}

#opticon_result {
    width: 100%;
    max-height: 450px;
    overflow-x: auto;
    overflow-y: auto;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
    box-sizing: border-box;
}


/* ============================================================
   EERSTE SCANNERRESULTAAT
   Alleen barcode + aantal
   ============================================================ */

.opticon_result_header,
.opticon_barcode_row {
    display: grid;
    grid-template-columns: 1fr 100px;
    align-items: center;
}

.opticon_result_header {
    padding: 9px 12px;
    background: #f1f1f1;
    font-weight: bold;
}

.opticon_barcode_row {
    padding: 8px 12px;
    border-top: 1px solid #eee;
}

.opticon_barcode {
    font-family: monospace;
    font-size: 14px;
}

.opticon_barcode_count {
    text-align: right;
    font-weight: bold;
}


/* ============================================================
   ARTIKELRESULTAAT
   Barcode | Artikel | Omschrijving | Potmaat | Hoogte |
   Aantal | Status
   ============================================================ */

.opticon_article_header,
.opticon_article_row {
    display: grid;

    grid-template-columns:
        145px
        90px
        minmax(250px, 1fr)
        100px
        80px
        70px
        55px;

    align-items: center;
    min-width: 850px;
}

.opticon_article_header {
    padding: 10px 12px;
    background: #f1f1f1;
    font-weight: bold;
}

.opticon_article_row {
    padding: 9px 12px;
    border-top: 1px solid #eee;
}


/* Gevonden artikel */
.opticon_article_row.found {
    background: #fff;
}


/* Niet gevonden artikel */
.opticon_article_row.not_found {
    background: #fff4f4;
}


/* Meerdere artikelen gevonden */
.opticon_article_row.multiple {
    background: #fff9e8;
}


/* Barcode */
.opticon_scan_barcode {
    font-family: monospace;
}


/* Aantal */
.opticon_article_count {
    text-align: center;
    font-weight: bold;
}


/* Status */
.opticon_article_status {
    text-align: center;
    font-size: 17px;
}

.status_found {
    color: #27823b;
}

.status_not_found {
    color: #b32929;
}

.status_multiple {
    color: #b77b00;
}


/* Artikelgegevens worden opgehaald */
.opticon_loading_articles {
    padding: 25px;
    text-align: center;
}


/* Fout bij artikel lookup */
.opticon_lookup_error {
    padding: 15px;
    background: #fdecec;
    color: #a12622;
}

/* Bewerkbaar aantal */
.opticon_quantity {
    width: 55px;
    height: 34px;
    padding: 4px 6px;

    box-sizing: border-box;

    border: 1px solid #ccc;
    border-radius: 4px;

    text-align: center;

    font-size: 14px;
    font-weight: 600;
}

.opticon_quantity:focus {
    outline: none;
    border-color: #777;
}


/* Knoppen onder resultaat */
#opticon_result_actions {
    display: flex;
    justify-content: flex-end;

    margin-top: 20px;
}


/* Toevoegen aan winkelwagen */
.button_opticon_add {
    cursor: pointer;
}


.opticon_article_inactive {
    opacity: 0.65;
}

.opticon_status_found {
    font-size: 18px;
}

.opticon_status_inactive {
    font-size: 18px;
}

.opticon_status_not_found,
.opticon_status_multiple {
    font-size: 18px;
}

.opticon_added_message {
    display: inline-block;
    padding: 10px 14px;
    font-weight: 600;
}


/* Clientportal  _________________________________________________________________________________ */	
#clientportal_content {
	display: flex;
    flex-wrap: wrap;
	flex-direction: row;
	justify-content: space-around;
	width: 100%;
	float: left;
	margin-top: 0px;
    background-color: #FFFFFF;
    border-radius: 4px;
	padding: 5px 20px;
	margin-bottom: 50px;

}


#clientportal_tabs {
	display: flow-root;
	height: fit-content;
	width: 100%;
	border-bottom: 1px solid #C9C9C9;
	margin-bottom: 10px;
}

	#clientportal_tabs span {
		display: block;
		height: 45px;
		color: #C9C9C9;
		float: left;
		padding: 15px;
		box-sizing: border-box;
		margin-bottom: -1px;
		margin-left: -1px;
		font-size: 16px;
		background-image: linear-gradient(to bottom, transparent 13px, #C9C9C9 9px);
		background-repeat: no-repeat;
		background-position: right;
		background-position-y: -8px;
		background-size: 1px;
		cursor: pointer;
	}
	
		#clientportal_tabs span.active {
			border-left: 1px solid #C9C9C9;
			border-top: 1px solid #C9C9C9;
			border-right: 1px solid #C9C9C9;
			background-color: #FFF;
			color: #707070;
			background-image: none;
		}
		

		
#clientportal_tabs_small {
	display: flow-root;
	height: fit-content;
	width: 100%;
	border-bottom: 1px solid #C9C9C9;
	margin-bottom: 10px;
	background-color: #f7f7f7;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

	#clientportal_tabs_small span {
		display: block;
		height: 35px;
		color: #C9C9C9;
		float: left;
		padding: 10px;
		box-sizing: border-box;
		margin-bottom: -1px;
		margin-left: -1px;
		font-size: 16px;
		background-image: linear-gradient(to bottom, transparent 13px, #C9C9C9 9px);
		background-repeat: no-repeat;
		background-position: right;
		background-position-y: -8px;
		background-size: 1px;
		cursor: pointer;
	}
	
		#clientportal_tabs_small span.active {
			border-left: 1px solid #C9C9C9;
			border-top: 1px solid #C9C9C9;
			border-right: 1px solid #C9C9C9;
			background-color: #FFF;
			color: #707070;
			background-image: none;
			border-top-left-radius: 10px;

		}
	
#client_portal {
	width: 98%;
}
	

/* Relaties / Leveranciers overzicht */
.relation-overview {
  width: 100%;
  padding: 20px 0 30px;
}

.relation-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
}

.relation-toolbar h1 {
  font-size: 22px;
  color: var(--shop-heading);
  font-family: "montserratsemibold";
}

.supplier-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.supplier-toolbar-actions .relation-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}

.supplier-toolbar-actions .relation-btn i {
    font-size: 13px;
}

.relation-search {
  width: 340px;
  height: 42px;
  border: 1px solid #dcdcdc;
  border-radius: 10px;
  padding: 0 14px;
  box-sizing: border-box;
}

.relation-table {
  width: 100%;
  border-collapse: collapse;
}

.relation-table th {
  text-align: left;
  padding: 14px 12px;
  color: var(--shop-heading);
  border-bottom: 1px solid var(--shop-heading);
  font-family: "montserratsemibold";
}

.relation-table td {
  padding: 13px 12px;
  border-bottom: 1px solid #E7E7E7;
  color: #555;
}

.relation-table tbody tr:hover {
  background: rgba(0,0,0,.05);
}

.relation-active {
  color: #2e643e;
  font-size: 18px;
}

.relation-edit-btn {
  background: var(--shop-primary);
  color: #fff;
  border: 0;
  border-radius: 8px;
  padding: 8px 14px;
  cursor: pointer;
}

.relation-edit-btn:hover {
  background: #6f0b04;
}
	
th[data-sort]::after {
    content: "⇅";
    margin-left: 6px;
    color: #bbb;
    font-size: 11px;
}

th[data-direction="asc"]::after {
    content: "▲";
    color: var(--shop-primary);
}

th[data-direction="desc"]::after {
    content: "▼";
    color: var(--shop-primary);
}


/* ==========================================
   LEVERANCIERSBEHEER OVERLAY
   ========================================== */

.supplier-admin-overlay {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;

    z-index: 9999;

    display: flex;
    justify-content: flex-end;

    background: rgba(20, 28, 45, .35);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity .2s ease,
        visibility .2s ease;
}

.supplier-admin-overlay.active {
    opacity: 1;
    visibility: visible;
}


/* Paneel */

.supplier-admin-panel {
    width: min(1100px, 92vw);
    height: 100%;

    background: #f7f8fa;

    box-shadow: -10px 0 35px rgba(0, 0, 0, .15);

    transform: translateX(100%);
    transition: transform .25s ease;

    display: flex;
    flex-direction: column;
}

.supplier-admin-overlay.active .supplier-admin-panel {
    transform: translateX(0);
}


/* Header */

.supplier-admin-header {
    min-height: 76px;
    padding: 16px 24px;

    background: #fff;
    border-bottom: 1px solid #e4e7eb;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.supplier-admin-label {
    display: block;

    margin-bottom: 3px;

    color: #8a9099;

    font-family: "montserratregular";
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .7px;
}

.supplier-admin-header h2 {
    margin: 0;

    color: var(--shop-heading);

    font-family: "montserratsemibold";
    font-size: 20px;
}


/* Sluiten */

.supplier-admin-close {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 0;
    border-radius: 50%;

    background: #f1f3f5;
    color: #687080;

    font-size: 16px;
    cursor: pointer;

    transition:
        background .2s ease,
        color .2s ease;
}

.supplier-admin-close:hover {
    background: var(--shop-primary);
    color: #fff;
}


/* Inhoud */

.supplier-admin-content {
    flex: 1;

    padding: 24px;

    overflow-y: auto;
}


/* Loading */

.supplier-admin-loading {
    min-height: 250px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 10px;

    color: #7a8290;
    font-size: 13px;
}

.supplier-admin-loading i {
    color: #2E643E;
    font-size: 22px;
}


/* ==========================================
   LEVERANCIERSGROEPEN
   ========================================== */

.supplier-groups-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 20px;
    min-height: 600px;
}


/* Linkerkant */

.supplier-groups-left {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
}

.supplier-groups-title {
    padding: 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-bottom: 1px solid #e5e7eb;
}

.supplier-groups-title h3 {
    margin: 0 0 3px 0;
    color: var(--shop-heading);
    font-size: 15px;
}

.supplier-groups-title span {
    color: #8a9099;
    font-size: 10px;
}

.supplier-group-add {
    width: 34px;
    height: 34px;

    border: 0;
    border-radius: 8px;

    background: #2E643E;
    color: #fff;

    cursor: pointer;
}

.supplier-groups-list {
    padding: 8px;
}

.supplier-group-item {
    padding: 11px 12px;
    margin-bottom: 3px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-radius: 7px;

    cursor: pointer;

    transition: background .15s ease;
}

.supplier-group-item:hover {
    background: #f4f6f5;
}

.supplier-group-item.active {
    background: #eef5f0;
    color: #2E643E;
}

.supplier-group-item-name {
    font-family: "montserratsemibold";
    font-size: 12px;
}

.supplier-group-item-count {
    min-width: 24px;
    height: 24px;

    padding: 0 7px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f0f1f3;
    border-radius: 12px;

    color: #6d7480;
    font-size: 10px;
}

.supplier-group-item.active .supplier-group-item-count {
    background: #fff;
    color: #2E643E;
}


/* Rechterkant */

.supplier-groups-right {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;

    overflow: hidden;
}

.supplier-group-detail-header {
    padding: 18px 20px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-bottom: 1px solid #e5e7eb;
}

.supplier-group-detail-title > span {
    display: block;

    margin-bottom: 3px;

    color: #999;
    font-size: 10px;
    text-transform: uppercase;
}

.supplier-group-detail-title h3 {
    margin: 0;

    color: var(--shop-heading);
    font-size: 17px;
}

.supplier-group-detail-actions {
    display: flex;
    gap: 7px;
}

.supplier-group-edit,
.supplier-group-delete {
    height: 34px;

    border: 0;
    border-radius: 7px;

    cursor: pointer;
}

.supplier-group-edit {
    padding: 0 12px;

    background: #f1f3f5;
    color: #394150;
}

.supplier-group-edit i {
    margin-right: 5px;
}

.supplier-group-delete {
    width: 34px;

    background: #f9eeee;
    color: var(--shop-primary);
}


/* Zoeken */

.supplier-group-search {
    position: relative;

    margin: 16px 18px;
}

.supplier-group-search i {
    position: absolute;
    left: 13px;
    top: 50%;

    transform: translateY(-50%);

    color: #9ca3af;
}

.supplier-group-search input {
    box-sizing: border-box;

    width: 100%;
    height: 40px;

    padding: 0 14px 0 38px;

    border: 1px solid #dfe3e8;
    border-radius: 8px;

    outline: none;
}

.supplier-group-search input:focus {
    border-color: #2E643E;
}


/* Leveranciers */

.supplier-group-relations {
    border-top: 1px solid #edf0f2;

    max-height: calc(100vh - 245px);
    overflow-y: auto;
}

.supplier-group-relation {
    min-height: 58px;

    padding: 8px 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-bottom: 1px solid #f0f1f2;
}

.supplier-group-relation:hover {
    background: #fafbfb;
}

.supplier-group-relation-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.supplier-group-relation-info strong {
    color: #30394a;
    font-family: "montserratsemibold";
    font-size: 12px;
}

.supplier-group-relation-info span {
    color: #9299a4;
    font-size: 10px;
}


/* Geen groepen */

.supplier-group-no-selection {
    min-height: 450px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    color: #8a9099;
}

.supplier-group-no-selection > i {
    margin-bottom: 12px;

    color: #ccd1d7;
    font-size: 38px;
}

.supplier-group-no-selection h3 {
    margin: 0 0 5px 0;

    color: #3d4655;
}

.supplier-group-no-selection p {
    margin: 0 0 18px 0;
}

.supplier-group-relation.active {
    background: #f4f8f5;
}

.supplier-group-relation.active:hover {
    background: #eef5f0;
}

.supplier-group-form {
    padding: 14px;

    background: #f7f9f8;
    border-bottom: 1px solid #e5e7eb;
}

.supplier-group-form label {
    display: block;

    margin-bottom: 6px;

    color: #596170;
    font-family: "montserratsemibold";
    font-size: 10px;
}

.supplier-group-form input {
    box-sizing: border-box;

    width: 100%;
    height: 38px;

    padding: 0 11px;

    background: #fff;
    border: 1px solid #dce1e5;
    border-radius: 7px;

    color: #30394a;

    outline: none;
}

.supplier-group-form input:focus {
    border-color: #2E643E;
}

.supplier-group-form-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 6px;

    margin-top: 9px;
}

.supplier-group-form-cancel,
.supplier-group-form-save {
    height: 32px;
    padding: 0 11px;

    border: 0;
    border-radius: 6px;

    font-size: 10px;
    cursor: pointer;
}

.supplier-group-form-cancel {
    background: #e9ecef;
    color: #596170;
}

.supplier-group-form-save {
    background: #2E643E;
    color: #fff;
}

.supplier-group-form-save i {
    margin-right: 4px;
}

.supplier-group-status {
    padding: 0 18px 12px 18px;

    color: #8a9099;
    font-size: 10px;
}

.supplier-group-status strong {
    color: #2E643E;
}


/* ==========================================
   LEVERANCIERSMELDINGEN
   ========================================== */

.supplier-alerts-layout {
    max-width: 100%;
}

.supplier-alerts-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 18px;
}

.supplier-alerts-toolbar h3 {
    margin: 0 0 3px 0;

    color: var(--shop-heading);
    font-size: 17px;
}

.supplier-alerts-toolbar span {
    color: #8a9099;
    font-size: 10px;
}


/* Formulier */

.supplier-alert-form {
    margin-bottom: 20px;

    background: #fff;

    border: 1px solid #e2e6ea;
    border-radius: 12px;

    overflow: hidden;
}

.supplier-alert-form-header {
    padding: 16px 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    background: #fafbfb;
    border-bottom: 1px solid #e6e9ec;
}

.supplier-alert-form-header span {
    display: block;

    margin-bottom: 2px;

    color: #999;
    font-size: 9px;
    text-transform: uppercase;
}

.supplier-alert-form-header h3 {
    margin: 0;

    color: var(--shop-heading);
    font-size: 15px;
}

.supplier-alert-form-close {
    width: 32px;
    height: 32px;

    border: 0;
    border-radius: 50%;

    background: #eef0f2;
    color: #69717d;

    cursor: pointer;
}

.supplier-alert-form-body {
    padding: 18px;

    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.supplier-alert-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.supplier-alert-field.full {
    grid-column: 1 / -1;
}

.supplier-alert-field > label {
    color: #596170;

    font-family: "montserratsemibold";
    font-size: 10px;
}

.supplier-alert-field input[type="text"],
.supplier-alert-field input[type="datetime-local"],
.supplier-alert-field select,
.supplier-alert-field textarea {
    box-sizing: border-box;

    width: 100%;

    padding: 10px 11px;

    background: #fff;

    border: 1px solid #dce1e5;
    border-radius: 7px;

    color: #30394a;

    outline: none;
}

.supplier-alert-field textarea {
    resize: vertical;
    min-height: 100px;
}

.supplier-alert-field input:focus,
.supplier-alert-field select:focus,
.supplier-alert-field textarea:focus {
    border-color: #2E643E;
}


/* Doelgroep */

.supplier-alert-target-options {
    display: flex;
    gap: 22px;

    padding: 12px;

    background: #f7f8f9;
    border-radius: 8px;
}

.supplier-alert-target-options label {
    display: flex;
    align-items: center;
    gap: 6px;

    cursor: pointer;
}


/* Datumregel */

.supplier-alert-form-row {
    grid-column: 1 / -1;

    display: grid;
    grid-template-columns: 1fr 1fr 100px;
    gap: 16px;
}

.supplier-alert-field.active-field {
    justify-content: flex-start;
}


/* Footer */

.supplier-alert-form-footer {
    padding: 13px 18px;

    display: flex;
    justify-content: flex-end;
    gap: 8px;

    background: #fafbfb;
    border-top: 1px solid #e6e9ec;
}

.supplier-alert-cancel,
.supplier-alert-save {
    height: 34px;

    padding: 0 14px;

    border: 0;
    border-radius: 7px;

    cursor: pointer;
}

.supplier-alert-cancel {
    background: #e9ecef;
    color: #596170;
}

.supplier-alert-save {
    background: #2E643E;
    color: #fff;
}

.supplier-alert-save i {
    margin-right: 5px;
}


.supplier-alert-save:disabled {
    opacity: .55;
    cursor: default;
}

/* ==========================================
   LEVERANCIER ALERT - SELECT2
   ========================================== */

.supplier-alert-field
.select2-container {
    width: 100% !important;
}

.supplier-alert-field
.select2-container
.select2-selection--single {
    height: 40px;

    border: 1px solid #dce1e5;
    border-radius: 7px;

    background: #fff;
}

.supplier-alert-field
.select2-container
.select2-selection--single
.select2-selection__rendered {
    height: 38px;
    line-height: 38px;

    padding-left: 11px;
    padding-right: 32px;

    color: #30394a;
    font-size: 11px;
}

.supplier-alert-field
.select2-container
.select2-selection--single
.select2-selection__arrow {
    height: 38px;
    right: 6px;
}

.supplier-alert-field
.select2-container--focus
.select2-selection--single {
    border-color: #2E643E;
}


/* Dropdown */

.supplier-admin-overlay
.select2-dropdown {
    border: 1px solid #dce1e5;
    border-radius: 7px;

    overflow: hidden;
}

.supplier-admin-overlay
.select2-search--dropdown {
    padding: 8px;
}

.supplier-admin-overlay
.select2-search--dropdown
.select2-search__field {
    box-sizing: border-box;

    width: 100%;
    height: 36px;

    padding: 0 10px;

    border: 1px solid #dce1e5;
    border-radius: 6px;

    outline: none;
}

.supplier-admin-overlay
.select2-search--dropdown
.select2-search__field:focus {
    border-color: #2E643E;
}

.supplier-admin-overlay
.select2-results__option {
    padding: 8px 11px;

    font-size: 11px;
}

/* Meldingen */

.supplier-alert-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.supplier-alert-item {
    min-height: 76px;

    padding: 14px 16px;

    display: flex;
    align-items: center;
    gap: 16px;

    background: #fff;

    border: 1px solid #e5e7eb;
    border-radius: 10px;
}

.supplier-alert-status {
    min-width: 105px;
    height: 28px;

    padding: 0 10px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;

    border-radius: 14px;

    box-sizing: border-box;

    font-family: "montserratsemibold";
    font-size: 9px;
    white-space: nowrap;
}

.supplier-alert-status i {
    font-size: 10px;
}


/* Actief */

.supplier-alert-status.active {
    background: #eaf5ed;
    color: #2E643E;
}


/* Gepland */

.supplier-alert-status.scheduled {
    background: #eef3fb;
    color: #315d91;
}


/* Verlopen */

.supplier-alert-status.expired {
    background: #f1f2f3;
    color: #7d8490;
}


/* Handmatig uitgeschakeld */

.supplier-alert-status.disabled {
    background: #f9eeee;
    color: var(--shop-primary);
}

.supplier-alert-item-content {
    flex: 1;
}

.supplier-alert-item-content h4 {
    margin: 0 0 7px 0;

    color: #30394a;
    font-size: 13px;
}

.supplier-alert-target,
.supplier-alert-period {
    display: inline-flex;
    align-items: center;
    gap: 5px;

    margin-right: 18px;

    color: #8a9099;
    font-size: 10px;
}

.supplier-alert-target i,
.supplier-alert-period i {
    color: #aab0b8;
}

.supplier-alert-item-actions {
    display: flex;
    gap: 6px;
}

.supplier-alert-edit,
.supplier-alert-delete {
    width: 34px;
    height: 34px;

    border: 0;
    border-radius: 7px;

    cursor: pointer;
}

.supplier-alert-edit {
    background: #f0f2f4;
    color: #596170;
}

.supplier-alert-delete {
    background: #f9eeee;
    color: var(--shop-primary);
}


/* Leeg */

.supplier-alert-empty {
    min-height: 300px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    color: #8a9099;
}

.supplier-alert-empty > i {
    margin-bottom: 10px;

    color: #ccd1d7;
    font-size: 35px;
}

.supplier-alert-empty h3 {
    margin: 0 0 4px 0;
}

.supplier-alert-empty p {
    margin: 0;
}


/* Customer groepen 
   ========================================================================== */

.customer-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
}

.customer-toolbar-actions .relation-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}

.customer-toolbar-actions .relation-btn i {
    font-size: 13px;
}

.customer-admin-overlay {
    position: fixed;

    left: 0;
    top: 0;
    right: 0;
    bottom: 0;

    z-index: 9999;

    display: flex;
    justify-content: flex-end;

    background: rgba(20, 28, 45, .35);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity .2s ease,
        visibility .2s ease;
}

.customer-admin-overlay.active {
    opacity: 1;
    visibility: visible;
}

.customer-admin-panel {
    width: min(1100px, 92vw);
    height: 100%;

    background: #f7f8fa;

    box-shadow: -10px 0 35px rgba(0,0,0,.15);

    transform: translateX(100%);

    transition: transform .25s ease;

    display: flex;
    flex-direction: column;
}

.customer-admin-overlay.active
.customer-admin-panel {
    transform: translateX(0);
}

.customer-admin-header {
    min-height: 76px;
    padding: 16px 24px;

    background: #fff;

    border-bottom: 1px solid #e4e7eb;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.customer-admin-label {
    display: block;

    margin-bottom: 3px;

    color: #8a9099;

    font-family: "montserratregular";
    font-size: 10px;

    text-transform: uppercase;
    letter-spacing: .7px;
}

.customer-admin-header h2 {
    margin: 0;

    color: var(--shop-heading);

    font-family: "montserratsemibold";
    font-size: 20px;
}

.customer-admin-close {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 0;
    border-radius: 50%;

    background: #f1f3f5;
    color: #687080;

    font-size: 16px;

    cursor: pointer;
}

.customer-admin-close:hover {
    background: var(--shop-primary);
    color: #fff;
}

.customer-admin-content {
    flex: 1;

    padding: 24px;

    overflow-y: auto;
}

.customer-admin-loading {
    min-height: 250px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 10px;

    color: #7a8290;
    font-size: 13px;
}

.customer-admin-loading i {
    color: #2E643E;
    font-size: 22px;
}

.customer-groups-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 20px;
    min-height: 600px;
}

.customer-groups-left,
.customer-groups-right {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
}

.customer-groups-title {
    padding: 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-bottom: 1px solid #e5e7eb;
}

.customer-groups-title h3 {
    margin: 0 0 3px 0;
    color: var(--shop-heading);
    font-size: 15px;
}

.customer-groups-title span {
    color: #8a9099;
    font-size: 10px;
}

.customer-group-add {
    width: 34px;
    height: 34px;

    border: 0;
    border-radius: 8px;

    background: #2E643E;
    color: #fff;

    cursor: pointer;
}

.customer-groups-list {
    padding: 8px;
}

.customer-group-item {
    padding: 11px 12px;
    margin-bottom: 3px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-radius: 7px;

    cursor: pointer;

    transition: background .15s ease;
}

.customer-group-item:hover {
    background: #f4f6f5;
}

.customer-group-item.active {
    background: #eef5f0;
    color: #2E643E;
}

.customer-group-item-name {
    font-family: "montserratsemibold";
    font-size: 12px;
}

.customer-group-item-count {
    min-width: 24px;
    height: 24px;
    padding: 0 7px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f0f1f3;

    border-radius: 12px;

    color: #6d7480;
    font-size: 10px;
}

.customer-group-item.active
.customer-group-item-count {
    background: #fff;
    color: #2E643E;
}

.customer-group-detail-header {
    padding: 18px 20px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-bottom: 1px solid #e5e7eb;
}

.customer-group-detail-title > span {
    display: block;

    margin-bottom: 3px;

    color: #999;

    font-size: 10px;
    text-transform: uppercase;
}

.customer-group-detail-title h3 {
    margin: 0;

    color: var(--shop-heading);
    font-size: 17px;
}

.customer-group-detail-actions {
    display: flex;
    gap: 7px;
}

.customer-group-edit,
.customer-group-delete {
    height: 34px;

    border: 0;
    border-radius: 7px;

    cursor: pointer;
}

.customer-group-edit {
    padding: 0 12px;

    background: #f1f3f5;
    color: #394150;
}

.customer-group-edit i {
    margin-right: 5px;
}

.customer-group-delete {
    width: 34px;

    background: #f9eeee;
    color: var(--shop-primary);
}

.customer-group-search {
    position: relative;

    margin: 16px 18px;
}

.customer-group-search i {
    position: absolute;

    left: 13px;
    top: 50%;

    transform: translateY(-50%);

    color: #9ca3af;
}

.customer-group-search input {
    box-sizing: border-box;

    width: 100%;
    height: 40px;

    padding: 0 14px 0 38px;

    border: 1px solid #dfe3e8;
    border-radius: 8px;

    outline: none;
}

.customer-group-search input:focus {
    border-color: #2E643E;
}

.customer-group-status {
    padding: 0 18px 12px 18px;

    color: #8a9099;
    font-size: 10px;
}

.customer-group-status strong {
    color: #2E643E;
}

.customer-group-relations {
    border-top: 1px solid #edf0f2;

    max-height: calc(100vh - 245px);

    overflow-y: auto;
}

.customer-group-relation {
    min-height: 58px;
    padding: 8px 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-bottom: 1px solid #f0f1f2;
}

.customer-group-relation:hover {
    background: #fafbfb;
}

.customer-group-relation.active {
    background: #f4f8f5;
}

.customer-group-relation.active:hover {
    background: #eef5f0;
}

.customer-group-relation-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.customer-group-relation-info strong {
    color: #30394a;

    font-family: "montserratsemibold";
    font-size: 12px;
}

.customer-group-relation-info span {
    color: #9299a4;
    font-size: 10px;
}


/* Formulier */

.customer-group-form {
    padding: 14px;

    background: #f7f9f8;

    border-bottom: 1px solid #e5e7eb;
}

.customer-group-form label {
    display: block;

    margin-bottom: 6px;

    color: #596170;

    font-family: "montserratsemibold";
    font-size: 10px;
}

.customer-group-form input {
    box-sizing: border-box;

    width: 100%;
    height: 38px;

    padding: 0 11px;

    background: #fff;

    border: 1px solid #dce1e5;
    border-radius: 7px;

    outline: none;
}

.customer-group-form-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 6px;

    margin-top: 9px;
}

.customer-group-form-cancel,
.customer-group-form-save {
    height: 32px;

    padding: 0 11px;

    border: 0;
    border-radius: 6px;

    font-size: 10px;

    cursor: pointer;
}

.customer-group-form-cancel {
    background: #e9ecef;
    color: #596170;
}

.customer-group-form-save {
    background: #2E643E;
    color: #fff;
}

.customer-group-no-selection {
    min-height: 450px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    color: #8a9099;
}

.customer-group-no-selection > i {
    margin-bottom: 12px;

    color: #ccd1d7;
    font-size: 38px;
}


.customer-alerts-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.customer-alerts-toolbar h3 {
    margin: 0 0 3px 0;
    color: var(--shop-heading);
    font-size: 17px;
}

.customer-alerts-toolbar span {
    color: #8a9099;
    font-size: 10px;
}

.customer-alert-form {
    margin-bottom: 20px;

    background: #fff;

    border: 1px solid #e2e6ea;
    border-radius: 12px;

    overflow: hidden;
}

.customer-alert-form-header {
    padding: 16px 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    background: #fafbfb;

    border-bottom: 1px solid #e6e9ec;
}

.customer-alert-form-header span {
    display: block;

    margin-bottom: 2px;

    color: #999;
    font-size: 9px;
    text-transform: uppercase;
}

.customer-alert-form-header h3 {
    margin: 0;

    color: var(--shop-heading);
    font-size: 15px;
}

.customer-alert-form-close {
    width: 32px;
    height: 32px;

    border: 0;
    border-radius: 50%;

    background: #eef0f2;
    color: #69717d;

    cursor: pointer;
}

.customer-alert-form-body {
    padding: 18px;

    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 16px;
}

.customer-alert-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.customer-alert-field.full {
    grid-column: 1 / -1;
}

.customer-alert-field > label {
    color: #596170;

    font-family: "montserratsemibold";
    font-size: 10px;
}

.customer-alert-field input[type="text"],
.customer-alert-field input[type="datetime-local"],
.customer-alert-field select,
.customer-alert-field textarea {
    box-sizing: border-box;

    width: 100%;

    padding: 10px 11px;

    background: #fff;

    border: 1px solid #dce1e5;
    border-radius: 7px;

    color: #30394a;

    outline: none;
}

.customer-alert-field textarea {
    min-height: 100px;
    resize: vertical;
}

.customer-alert-target-options {
    display: flex;
    gap: 22px;

    padding: 12px;

    background: #f7f8f9;

    border-radius: 8px;
}

.customer-alert-target-options label {
    display: flex;
    align-items: center;
    gap: 6px;

    cursor: pointer;
}

.customer-alert-form-row {
    grid-column: 1 / -1;

    display: grid;

    grid-template-columns:
        1fr 1fr 100px;

    gap: 16px;
}

.customer-alert-form-footer {
    padding: 13px 18px;

    display: flex;
    justify-content: flex-end;
    gap: 8px;

    background: #fafbfb;

    border-top: 1px solid #e6e9ec;
}

.customer-alert-cancel,
.customer-alert-save {
    height: 34px;

    padding: 0 14px;

    border: 0;
    border-radius: 7px;

    cursor: pointer;
}

.customer-alert-cancel {
    background: #e9ecef;
    color: #596170;
}

.customer-alert-save {
    background: #2E643E;
    color: #fff;
}


/* LIJST */

.customer-alert-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.customer-alert-item {
    min-height: 76px;

    padding: 14px 16px;

    display: flex;
    align-items: center;
    gap: 16px;

    background: #fff;

    border: 1px solid #e5e7eb;
    border-radius: 10px;
}

.customer-alert-status {
    min-width: 105px;
    height: 28px;

    padding: 0 10px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;

    border-radius: 14px;

    box-sizing: border-box;

    font-family: "montserratsemibold";
    font-size: 9px;

    white-space: nowrap;
}

.customer-alert-status.active {
    background: #eaf5ed;
    color: #2E643E;
}

.customer-alert-status.scheduled {
    background: #eef3fb;
    color: #315d91;
}

.customer-alert-status.expired {
    background: #f1f2f3;
    color: #7d8490;
}

.customer-alert-status.disabled {
    background: #f9eeee;
    color: var(--shop-primary);
}

.customer-alert-item-content {
    flex: 1;
}

.customer-alert-item-content h4 {
    margin: 0 0 7px 0;

    color: #30394a;
    font-size: 13px;
}

.customer-alert-target,
.customer-alert-period {
    display: inline-flex;
    align-items: center;
    gap: 5px;

    margin-right: 18px;

    color: #8a9099;
    font-size: 10px;
}

.customer-alert-item-actions {
    display: flex;
    gap: 6px;
}

.customer-alert-edit,
.customer-alert-delete {
    width: 34px;
    height: 34px;

    border: 0;
    border-radius: 7px;

    cursor: pointer;
}

.customer-alert-edit {
    background: #f0f2f4;
    color: #596170;
}

.customer-alert-delete {
    background: #f9eeee;
    color: var(--shop-primary);
}


/* SELECT2 */

.customer-alert-field
.select2-container {
    width: 100% !important;
}

.customer-alert-field
.select2-container
.select2-selection--single {
    height: 40px;

    border: 1px solid #dce1e5;
    border-radius: 7px;
}

.customer-alert-field
.select2-container
.select2-selection--single
.select2-selection__rendered {
    height: 38px;
    line-height: 38px;

    padding-left: 11px;

    color: #30394a;
    font-size: 11px;
}

.customer-alert-field
.select2-container
.select2-selection--single
.select2-selection__arrow {
    height: 38px;
}


/* LEEG */

.customer-alert-empty {
    min-height: 300px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    color: #8a9099;
}

.customer-alert-empty > i {
    margin-bottom: 10px;

    color: #ccd1d7;
    font-size: 35px;
}

/* Artikelen overzicht
   ========================================================================== */

.artikelen-overview {
    width: 100%;
    background: #fff;
    border-radius: 10px;
    padding: 24px;
    box-sizing: border-box;
}

.artikelen-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}

.artikelen-toolbar h2 {
    margin: 0;
    color: #0b214a;
    font-family: "montserratsemibold";
    font-size: 22px;
}

.artikelen-toolbar p {
    margin: 5px 0 0;
    color: #7a8495;
    font-size: 13px;
}

.artikelen-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.artikelen-search-wrapper {
    position: relative;
    width: 340px;
}

.artikelen-search-wrapper > i {
    position: absolute;
    top: 50%;
    left: 14px;
    transform: translateY(-50%);
    color: #8b95a5;
    pointer-events: none;
}

.artikelen-search {
    width: 100%;
    height: 44px;
    padding: 0 14px 0 40px;
    border: 1px solid #ccd4df;
    border-radius: 9px;
    background: #fff;
    color: #0b214a;
    box-sizing: border-box;
    font-size: 14px;
}

.artikelen-search:focus {
    border-color: var(--shop-primary);
    box-shadow: 0 0 0 3px rgba(137, 14, 5, .08);
}

.artikelen-add-btn {
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.artikelen-table-wrapper {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #e1e6ef;
    border-radius: 10px;
}

.artikelen-table {
    width: 100%;
    min-width: 850px;
    border-collapse: collapse;
    background: #fff;
}

.artikelen-table th,
.artikelen-table td {
    padding: 14px 16px;
    text-align: left;
    border-bottom: 1px solid #e7ebf1;
    vertical-align: middle;
}

.artikelen-table th {
    background: #f7f8fa;
    color: #0b214a;
    font-family: "montserratsemibold";
    font-size: 13px;
    white-space: nowrap;
}

.artikelen-table td {
    color: #445065;
    font-size: 13px;
}

.artikelen-table tbody tr:last-child td {
    border-bottom: 0;
}

.artikelen-table tbody tr:hover {
    background: #fafbfc;
}

.artikelen-table .action-column {
    width: 48px;
}

.artikelen-table th[data-sort] {
    cursor: pointer;
    user-select: none;
}

.artikelen-table th[data-sort]::after {
    content: "\f0dc";
    margin-left: 7px;
    color: #b4bbc6;
    font-family: FontAwesome;
    font-size: 11px;
}

.artikelen-table th[data-direction="asc"]::after {
    content: "\f0de";
    color: var(--shop-primary);
}

.artikelen-table th[data-direction="desc"]::after {
    content: "\f0dd";
    color: var(--shop-primary);
}

.frm_sales_portal_edit_small {
	font-size: 14px;
	line-height: 18px;
	
}

.frm_sales_portal_edit_small .header{
	padding: unset;
	padding-left: 10px;
	font-weight: bold;
}

.frm_sales_portal_edit_small td{
	padding: 5px 10px;
}

.frm_sales_portal_edit_small .toggle-password {
	float: none;
    font-size: 28px;
    margin-left: -38px;
    cursor: pointer;
    color: #707070;
}

.frm_sales_portal_edit_small .toggle-password .fa {
	margin-top: 10px;
}

.frm_artikel_edit_column1 {
	width: 250px;
}

.frm_sales_portal_edit_small input[type=text],
.frm_sales_portal_edit_small input[type=password],
.frm_sales_portal_edit_small input[type=currency] {
	height: 40px;
	min-width: 300px;
	width: 100%;
	max-width: 600px;
	border-radius: 8px;
	border: 0px;
	background-color: #E7E7E7;
	padding: 0px 10px;
	box-sizing: border-box;
	min-height: 40px;
}

.frm_sales_portal_edit_small input[type=currency] {
	min-width: unset;
	max-width: 140px;
	text-align: right;
}

.frm_sales_portal_edit_small #mixtrolley_geldig_van,
.frm_sales_portal_edit_small #mixtrolley_geldig_tot {
	max-width: 140px;
	min-width: unset;
	text-align: center;

}

.frm_sales_portal_edit_small #mixtrolley_prijs { width: 140px; min-width: unset; }

.frm_sales_portal_edit_small .small_input {
	min-width: 100px !important;
	max-width: 140px !important;
}

.frm_sales_portal_edit_small .medium_input {
	min-width: 240px !important;
	max-width: 280px !important;
}


.frm_sales_portal_edit_small input[type="checkbox"]{
	height: 20px;
	width: 20px;
	border: 0px;
	background-color: #E7E7E7;
	padding-left: 10px;
	box-sizing: border-box;
	accent-color: var(--shop-heading);
}

.frm_sales_portal_edit_small select {
	min-width: 100px !important;
	max-width: 140px !important;
	height: 40px;
	border-radius: 8px;
	border: 0px;
	background-color: #E7E7E7;
	padding: 0px 38px 0px 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
		
 background-image:
    linear-gradient(45deg, transparent 50%, gray 50%),
    linear-gradient(135deg, gray 50%, transparent 50%),
    linear-gradient(to right, #ccc, #ccc);
  background-position:
    calc(100% - 20px) calc(1em + 2px),
    calc(100% - 15px) calc(1em + 2px),
    calc(100% - 2.5em) 0.5em;
  background-size:
    5px 5px,
    5px 5px,
    1px 1.5em;
  background-repeat: no-repeat;
}

.select_box_v1_header {
	font-size: 14px;
	line-height: 18px;
	margin-left: 5px;
}
.select_box_v1 {
	min-width: 100px !important;
	max-width: 140px !important;
	height: 32px;
	border-radius: 16px;
	border: 0px;
	background-color: #E7E7E7;
	padding: 0px 38px 0px 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
		
 background-image:
    linear-gradient(45deg, transparent 50%, gray 50%),
    linear-gradient(135deg, gray 50%, transparent 50%),
    linear-gradient(to right, #ccc, #ccc);
  background-position:
    calc(100% - 20px) calc(1em + 2px),
    calc(100% - 15px) calc(1em + 2px),
    calc(100% - 2.5em) 0.5em;
  background-size:
    5px 5px,
    5px 5px,
    1px 1.5em;
  background-repeat: no-repeat;
}


.frm_sales_portal_edit_small textarea {
	height: 260px;
	min-width: 300px;
	width: 100%;
	max-width: 600px;
	border-radius: 8px;
	border: 0px;
	background-color: #E7E7E7;
	padding: 10px;
	box-sizing: border-box;
}

	.frm_sales_portal_edit_small .chosen-container{
		width: 100% !important;
		max-width: 280px;
	}
	
	.frm_sales_portal_edit_small .chosen-choices{
		border-radius: 8px !important;
		border: 0px !important;
		padding-inline: 10px !important;
		background-color: #e7e7e7 !important;
		width: 100% !important;
		box-shadow: none !important;
		background-image: none !important;

	}
	
	.frm_sales_portal_edit_small .search-choice{
		font-size: 14px;
	
	}
	
	.frm_sales_portal_edit_small .chosen-container .chosen-results li.highlighted {
		background-color: var(--shop-heading) !important;
		background-image: none !important;
	}
	
	.frm_sales_portal_edit_small .chosen-container-multi .chosen-choices li.search-choice {
		padding: 8px 25px 8px 10px !important;
		border-radius: 8px !important;
		
	}
	
	.frm_sales_portal_edit_small .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
		top: 7px !important;
		right: 5px !important;
	}
	
	
.frm_sales_portal_detail_small {

}

.frm_sales_portal_detail_small .header {
		background-color: #E7E7E7;
}

.frm_sales_portal_detail_small tr{
	height: 40px;
}
.frm_sales_portal_detail_small td{
	border-bottom: 1px solid #E7E7E7;
}


#salesportal_article_images .image_block{
	flex: 1;
	max-width: 200px;
	max-height: 200px;
	min-height: 120px;
	margin-left: 10px;
}

#salesportal_article_images .image_block img{
	width: 100%;	
	max-height: 175px;	
}


.image_block_edit {
	height: 30px;
	background-color: #e8e8e8db;
	margin: -10px -10px -10px -10px;
	position: relative;
	display: block;
	text-align: center;
	margin-top: auto;
}

	.image_block_edit .fa {
		font-size: 20px;
		line-height: 30px;
		padding: 0px 16px;
	}
	
	.image_block_edit .main_active{
		color: green;
	}


.button_save {
	display: flex;
    align-items: center;
    float: left;
    height: 40px;
    border-radius: 10px;
	border: 1px solid silver;
    min-width: 80px;
    font-size: 16px;
	background-color: #f7f7f7;
	color: #000;
    padding: 10px 15px 10px 15px;
    box-sizing: border-box;	
	cursor: pointer;
}

	.button_save_done {
		background-color: #2e643e !important;
		color: #FFF !important;
	
	}


    .button_save i {
        margin-right: 10px;
    }

.button_search {
	display: inline-flex;
    align-items: center;
    height: 38px;
    border-radius: 10px;
    min-width: 80px;
    font-size: 16px;
	background-color: #E7E7E7;
	color: #000;
    padding: 15px 15px 15px 15px;
    box-sizing: border-box;	
	cursor: pointer;
}


/* Client portal _____________________________________ */

.frm_client_portal_retailsettings,
.frm_client_portal_transportsettings {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 8px;
    table-layout: fixed;
    color: var(--shop-heading);
    font-size: 13px;
    line-height: 18px;
}

/* Standaardinstellingen VK-calculatie */

.retail-setting-toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 38px;
    cursor: pointer;
    font-size: 13px;
}

.retail-setting-toggle input[type="checkbox"] {
    width: 17px;
    height: 17px;
    margin: 0;
    cursor: pointer;
    accent-color: #63936a;
}


/* =====================================================
   RETAIL + TRANSPORT INSTELLINGEN
   ===================================================== */


/* Tabelkop */
.frm_client_portal_retailsettings tr.header td,
.frm_client_portal_transportsettings tr.header td {
    padding: 8px 10px 12px;
    border-bottom: 1px solid #ccd4df;
    color: #0b214a;
    font-family: "montserratsemibold", Arial, sans-serif;
    font-size: 13px;
    font-weight: bold;
    vertical-align: bottom;
}


/* Gegevenscellen */
.frm_client_portal_retailsettings tr:not(.header) td,
.frm_client_portal_transportsettings tr:not(.header) td {
    padding: 2px 10px;
    vertical-align: middle;
    transition:
        background-color .2s ease,
        opacity .2s ease;
}


/* Velden */
.frm_client_portal_retailsettings input[type="number"],
.frm_client_portal_retailsettings input[type="text"],
.frm_client_portal_retailsettings input[type="password"],
.frm_client_portal_retailsettings input[type="currency"],
.frm_client_portal_retailsettings select,
.frm_client_portal_transportsettings input[type="number"],
.frm_client_portal_transportsettings input[type="text"],
.frm_client_portal_transportsettings input[type="password"],
.frm_client_portal_transportsettings input[type="currency"],
.frm_client_portal_transportsettings select {
    width: 100%;
    height: 42px;
    min-height: 42px;
    box-sizing: border-box;
    border: 1px solid #d9dee7;
    border-radius: 8px;
    padding: 0 11px;
    background-color: #f3f5f8;
    color: #0b214a;
    font-family: "montserratregular", Arial, sans-serif;
    font-size: 13px;
    outline: none;
    transition:
        border-color .18s ease,
        background-color .18s ease,
        box-shadow .18s ease;
}


/* Bedragen / nummers rechts uitlijnen */
.frm_client_portal_retailsettings input[type="number"],
.frm_client_portal_retailsettings input[type="currency"],
.frm_client_portal_transportsettings input[type="number"],
.frm_client_portal_transportsettings input[type="currency"] {
    text-align: right;
}


/* Select */
.frm_client_portal_retailsettings select,
.frm_client_portal_transportsettings select {
    padding: 0 38px 0 10px;

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    background-image:
        linear-gradient(45deg, transparent 50%, gray 50%),
        linear-gradient(135deg, gray 50%, transparent 50%),
        linear-gradient(to right, #ccc, #ccc);

    background-position:
        calc(100% - 20px) calc(1em + 2px),
        calc(100% - 15px) calc(1em + 2px),
        calc(100% - 2.5em) 0.5em;

    background-size:
        5px 5px,
        5px 5px,
        1px 1.5em;

    background-repeat: no-repeat;
}


/* Hover */
.frm_client_portal_retailsettings input:hover,
.frm_client_portal_retailsettings select:hover,
.frm_client_portal_transportsettings input:hover,
.frm_client_portal_transportsettings select:hover {
    border-color: #b9c1cd;
}


/* Focus */
.frm_client_portal_retailsettings input:focus,
.frm_client_portal_retailsettings select:focus,
.frm_client_portal_transportsettings input:focus,
.frm_client_portal_transportsettings select:focus {
    background-color: #fff;
    border-color: var(--shop-primary);
    box-shadow: 0 0 0 3px rgba(137, 14, 5, .10);
}


/* Gewijzigde invoer */
.frm_client_portal_retailsettings input.field-changed,
.frm_client_portal_retailsettings select.field-changed,
.frm_client_portal_transportsettings input.field-changed,
.frm_client_portal_transportsettings select.field-changed {
    border-color: #d39b34;
    background-color: #fff9ec;
    box-shadow: 0 0 0 2px rgba(211, 155, 52, .10);
}


/* Checkbox */
.frm_client_portal_retailsettings input[type="checkbox"],
.frm_client_portal_transportsettings input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-height: unset;
    padding: 0;
    cursor: pointer;
    accent-color: var(--shop-primary);
}


/* No-label kolom - alleen retail */
.frm_client_portal_retailsettings td:nth-child(8) {
    text-align: center;
}


/* =====================================================
   ACTIEKOLOM
   ===================================================== */

.frm_client_portal_retailsettings td:last-child,
.frm_client_portal_transportsettings td:last-child {
    white-space: nowrap;
    text-align: center;
}


/* Iconen als echte knoppen */
.frm_client_portal_retailsettings td:last-child i.fa,
.frm_client_portal_transportsettings td:last-child i.fa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: 0 2px;
    border-radius: 7px;
    background-color: #f3f5f8;
    color: #526071;
    font-size: 14px;
    cursor: pointer;

    transition:
        background-color .18s ease,
        color .18s ease,
        transform .12s ease,
        box-shadow .18s ease;
}


.frm_client_portal_retailsettings td:last-child i.fa:hover,
.frm_client_portal_transportsettings td:last-child i.fa:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(9, 30, 66, .10);
}


/* Opslaan */
.frm_client_portal_retailsettings .fa-floppy-o:hover,
.frm_client_portal_transportsettings .fa-floppy-o:hover {
    background-color: #eaf5ed;
    color: #2e643e;
}


/* Verwijderen */
.frm_client_portal_retailsettings .fa-trash-o:hover,
.frm_client_portal_transportsettings .fa-trash-o:hover {
    background-color: #fff0f0;
    color: var(--shop-primary);
}


/* Toevoegen */
.frm_client_portal_retailsettings .fa-plus-square,
.frm_client_portal_transportsettings .fa-plus-square {
    background-color: var(--shop-primary) !important;
    color: #fff !important;
}


.frm_client_portal_retailsettings .fa-plus-square:hover,
.frm_client_portal_transportsettings .fa-plus-square:hover {
    background-color: #6f0b04 !important;
}


/* =====================================================
   NIEUWE INVOERREGEL
   ===================================================== */

.frm_client_portal_retailsettings tr.retail-new-row td,
.frm_client_portal_transportsettings tr.transport-new-row td {
    padding-top: 14px;
    border-top: 1px dashed #ccd4df;
}


/* =====================================================
   STATUS REGELS
   ===================================================== */


/* Bezig met opslaan */
.frm_client_portal_retailsettings tr.row-saving,
.frm_client_portal_transportsettings tr.row-saving {
    opacity: .60;
    pointer-events: none;
}


.frm_client_portal_retailsettings tr.row-saving td,
.frm_client_portal_transportsettings tr.row-saving td {
    background-color: #fff9ec;
}


/* Succes */
.frm_client_portal_retailsettings tr.row-saved td,
.frm_client_portal_transportsettings tr.row-saved td {
    background-color: #eaf5ed;
}


/* Fout */
.frm_client_portal_retailsettings tr.row-error td,
.frm_client_portal_transportsettings tr.row-error td {
    background-color: #fff0f0;
}


/* Nieuw ingevoegde regel */
.frm_client_portal_retailsettings tr.row-inserted td,
.frm_client_portal_transportsettings tr.row-inserted td {
    animation: clientPortalInserted 1.4s ease;
}


@keyframes clientPortalInserted {
    0% {
        background-color: #cfead6;
    }

    100% {
        background-color: transparent;
    }
}


/* =====================================================
   KOLOMBREEDTES RETAIL
   ===================================================== */

.frm_client_portal_retailsettings td:nth-child(1) {
    width: 16%;
}

.frm_client_portal_retailsettings td:nth-child(2),
.frm_client_portal_retailsettings td:nth-child(3) {
    width: 11%;
}

.frm_client_portal_retailsettings td:nth-child(4) {
    width: 15%;
}

.frm_client_portal_retailsettings td:nth-child(5) {
    width: 9%;
}

.frm_client_portal_retailsettings td:nth-child(6) {
    width: 12%;
}

.frm_client_portal_retailsettings td:nth-child(7) {
    width: 10%;
}

.frm_client_portal_retailsettings td:nth-child(8) {
    width: 6%;
}

.frm_client_portal_retailsettings td:nth-child(9) {
    width: 7%;
}


/* =====================================================
   KOLOMBREEDTES TRANSPORT
   ===================================================== */

/* Ladingdrager */
.frm_client_portal_transportsettings td:nth-child(1) {
    width: 20%;
}

/* Staffel aantal t/m */
.frm_client_portal_transportsettings td:nth-child(2) {
    width: 22%;
}

/* Tarief per ladingdrager */
.frm_client_portal_transportsettings td:nth-child(3) {
    width: 24%;
}

/* Max. totaal */
.frm_client_portal_transportsettings td:nth-child(4) {
    width: 22%;
}

/* Acties */
.frm_client_portal_transportsettings td:nth-child(5) {
    width: 12%;
}


/* ============================================================
   ARTIKELSPECIFIEKE VASTE RETAILPRIJZEN
   ============================================================ */

.retail-article-section {
    margin-top: 38px;
    padding-top: 20px;
    border-top: 1px solid #dce1e8;
    font-size: 14px;
    line-height: 18px;
}

.retail-article-section h3 {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 600;
}

.retail-article-description {
    margin: 0 0 22px 0;
    color: #8993a2;
    font-size: 13px;
    line-height: 20px;
}


/* ============================================================
   ARTIKEL ZOEKEN
   ============================================================ */

.retail-article-search {
    display: flex;
    margin-bottom: 20px;
}

.retail-article-search-field {
    position: relative;
    width: 440px;
    max-width: 100%;
}

.retail-article-search-field > i {
    position: absolute;
    top: 50%;
    left: 13px;
    transform: translateY(-50%);
    color: #8993a2;
    pointer-events: none;
}

#retail_article_search {
    width: 100%;
    height: 43px;
    box-sizing: border-box;
    padding: 0 12px 0 36px;

    border: 1px solid #d6dce5;
    border-radius: 9px;

    background: #f3f5f8;
    color: #263b61;

    font-family: inherit;
    font-size: 13px;

    outline: none;
    transition: border-color .2s, box-shadow .2s;
}

#retail_article_search:focus {
    border-color: #9eafc9;
    box-shadow: 0 0 0 3px rgba(38, 59, 97, .07);
}

#retail_article_search::placeholder {
    color: #8993a2;
}


/* Zoekresultaten */

#retail_article_results {
    display: none;
    position: absolute;

    top: calc(100% + 4px);
    left: 0;
    right: 0;

    z-index: 200;

    max-height: 280px;
    overflow-y: auto;

    background: #fff;
    border: 1px solid #d6dce5;
    border-radius: 9px;

    box-shadow: 0 8px 24px rgba(0,0,0,.12);
}

.retail-article-result {
    padding: 12px 14px;
    cursor: pointer;

    border-bottom: 1px solid #edf0f4;

    color: #263b61;
    font-size: 13px;

    transition: background .15s;
}

.retail-article-result:last-child {
    border-bottom: none;
}

.retail-article-result:hover {
    background: #f1f5f9;
}

.retail-article-result strong {
    font-weight: 600;
}


/* ============================================================
   NIEUW ARTIKEL TOEVOEGEN
   ============================================================ */

#retail_article_new {
    margin-bottom: 20px;
    padding: 14px;

    border: 1px solid #dce1e8;
    border-radius: 9px;

    background: #f8fafc;
}

#retail_article_selected {
    display: inline-block;
    min-width: 280px;
    margin-right: 12px;

    color: #263b61;
    font-weight: 600;
    font-size: 13px;
}

#retail_article_new input[type="number"] {
    width: 110px;
    height: 42px;
    box-sizing: border-box;

    margin-right: 10px;
    padding: 0 10px;

    border: 1px solid #d6dce5;
    border-radius: 9px;

    background: #f3f5f8;
    color: #263b61;

    font-family: inherit;
    font-size: 13px;
    text-align: center;
}


/* Toevoegen - dezelfde rode knop als bovenste tabel */

#retail_article_new button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    min-height: 34px;
    padding: 0 12px;

    border: none;
    border-radius: 8px;

    background: #990d00;
    color: #fff;

    font-family: inherit;
    font-size: 13px;
    font-weight: 600;

    cursor: pointer;
    transition: background .2s;
}

#retail_article_new button:hover {
    background: #780b00;
}


/* ============================================================
   TABEL
   ============================================================ */

.frm_client_portal_retailarticles {
    width: 98%;
    border-collapse: separate;
    border-spacing: 0;

    font-family: inherit;
    font-size: 13px;
    color: #263b61;
}

.frm_client_portal_retailarticles td {
    height: 54px;
    box-sizing: border-box;

    padding: 6px 10px;
    vertical-align: middle;

    border-bottom: 1px solid #edf0f4;
}


/* Tabelkop */

.frm_client_portal_retailarticles tr.header td {
    height: 42px;
    padding: 8px 10px;

    background: #fff;
    border-bottom: 1px solid #ccd4df;

    color: #142b52;
    font-size: 13px;
    font-weight: 600;
}


/* ============================================================
   INVOERVELDEN - ZELFDE STIJL ALS BOVENSTE TABEL
   ============================================================ */

.frm_client_portal_retailarticles input[type="number"],
.frm_client_portal_retailarticles input[type="text"] {
    width: 104px;
    height: 42px;
    box-sizing: border-box;

    padding: 0 10px;

    border: 1px solid #d6dce5;
    border-radius: 9px;

    background: #f3f5f8;
    color: #263b61;

    font-family: inherit;
    font-size: 13px;
    font-weight: 400;
    text-align: center;

    outline: none;

    transition:
        border-color .2s,
        background .2s,
        box-shadow .2s;
}

.frm_client_portal_retailarticles input:focus,
#retail_article_new input:focus {
    border-color: #9eafc9;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(38, 59, 97, .07);
    outline: none;
}


/* Gewijzigde velden */

.frm_client_portal_retailarticles .field-changed {
    border-color: #d6a247 !important;
    background: #fffaf0 !important;
}


/* ============================================================
   OPSLAAN / VERWIJDEREN
   ============================================================ */

/*
   De bestaande PHP gebruikt Font Awesome-iconen.
   Deze krijgen dezelfde vierkante knopstijl als boven.
*/

.frm_client_portal_retailarticles td .fa {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;
    box-sizing: border-box;

    margin-right: 4px;
    padding: 0;

    border: none;
    border-radius: 8px;

    background: #f1f3f6;
    color: #263b61;

    font-size: 13px;
    font-weight: normal;

    cursor: pointer;

    transition:
        background .2s,
        color .2s,
        transform .2s;
}

.frm_client_portal_retailarticles td .fa:hover {
    background: #e3e8ef;
    color: #142b52;
}


/* Verwijderknop */

.frm_client_portal_retailarticles td .fa-trash-o:hover {
    background: #fff0ee;
    color: #990d00;
}


/* ============================================================
   STATUS VAN DE REGELS
   ============================================================ */

.frm_client_portal_retailarticles tr.row-saving {
    opacity: .6;
    pointer-events: none;
}

.frm_client_portal_retailarticles tr.row-saved {
    background: #f0faf3;
}

.frm_client_portal_retailarticles tr.row-error {
    background: #fff1f0;
}


/* ============================================================
   MOBIEL / TABLET
   ============================================================ */

@media (max-width: 750px) {

    .retail-article-section {
        margin-top: 26px;
    }

    .retail-article-search-field {
        width: 100%;
    }

    #retail_article_selected {
        display: block;
        min-width: 0;
        margin: 0 0 12px 0;
    }

    #retail_article_new input[type="number"] {
        width: 110px;
    }

    .frm_client_portal_retailarticles {
        min-width: 680px;
    }

    .retail-article-section {
        overflow-x: auto;
    }

}


#clientportal_content i {
    font-size: 24px;
    margin-right: 10px;
    cursor: pointer;
}


/* ==========================================================
   CLIENT PORTAL - SUBCLIENTS
   ========================================================== */

/* Zoekbalk en nieuwe klant */

#clientportal_content #salesportal_search {
    margin: 20px 0 18px;
}

#clientportal_content #salesportal_search #frm_search {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
}

#clientportal_content #salesportal_search input[name="search"] {
    width: 280px;
    max-width: 100%;
    height: 40px;
    box-sizing: border-box;
    padding: 0 14px;
    border: 1px solid #dce2e8;
    border-radius: 6px;
    background: #fff;
    font-size: 14px;
    outline: none;
}

#clientportal_content #salesportal_search input[name="search"]:focus {
    border-color: #8095a6;
}


#clientportal_content #salesportal_search .button_create_new_order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 18px;
    box-sizing: border-box;
    border: 1px solid #f3f3f5;
    border-radius: 6px;
    background: #890e05;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s ease;
}

#clientportal_content #salesportal_search .button_create_new_order:hover {
    background: #345575;
}


/* Client portal - Login button */

#clientportal_content .portal_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 85px;
    height: 32px;
    padding: 0 14px;
    box-sizing: border-box;

    background: #8f1008;
    border: 1px solid #8f1008;
    border-radius: 5px;

    color: #fff !important;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none !important;

    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}

#clientportal_content .portal_button:hover {
    background: #b01910;
    border-color: #b01910;
    color: #fff !important;
}

/* Logoff knop - groene variant */

#clientportal_content .portal_button_green {
    background: #27834b;
    border-color: #27834b;
    color: #fff !important;
}

#clientportal_content .portal_button_green:hover {
    background: #1e6b3c;
    border-color: #1e6b3c;
}

/* ============================================================
   Subclient edito
   ============================================================ */

.subclient-editor {
    padding: 8px 12px 20px;
    font-size: 14px;
}

.subclient-editor-header {
    margin-bottom: 22px;
}

.subclient-editor-header h3 {
    margin: 0 0 6px;
    font-size: 21px;
}

.subclient-editor-header p {
    margin: 0;
    color: #777;
}

.subclient-section {
    margin-bottom: 22px;
    padding: 18px 20px;
    border: 1px solid #e5e8eb;
    border-radius: 9px;
    background: #fff;
}

.subclient-section h4 {
    margin: 0 0 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid #eee;
    font-size: 15px;
    font-weight: 600;
}

.subclient-section h4 i {
    margin-right: 8px;
    color: #6b7882;
}

.subclient-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px 22px;
}

.subclient-fields label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    color: #454d55;
    font-size: 13px;
}

.subclient-fields input:not([type='checkbox']),
.subclient-fields select {
    box-sizing: border-box;
    width: 100%;
    min-height: 38px;
    padding: 8px 10px;
    border: 1px solid #dce1e5;
    border-radius: 5px;
    background: #fff;
    font-size: 14px;
}

.subclient-fields input:focus,
.subclient-fields select:focus {
    outline: none;
    border-color: #829da9;
}

.subclient-fields input[readonly] {
    background: #f5f6f7;
    color: #777;
}

.subclient-fields .subclient-check {
    flex-direction: row;
    align-items: center;
    gap: 10px;
    min-height: 38px;
}

.subclient-editor-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
}

.subclient-editor-actions .button_save {
    cursor: pointer;
}

@media (max-width: 650px) {
    .subclient-editor {
        padding: 5px;
    }

    .subclient-section {
        padding: 14px;
    }

    .subclient-fields {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}


/* JWS Tables  _________________________________________________________________ */
	
#jws_table {
	display: table;
	width: 100%;
	margin: 20px 0px 20px 0px;
}

#jws_table_headrow {
	display: table-header-group;
	background-color: var(--shop-heading);
 	font-family: "exo_2semi_bold";
	font-size: 16px;	
	color: #FFF;
}

#jws_table_headrow .sortable {
	cursor: alias;
}

	#jws_table_headrow .sortable {
            cursor: pointer;
        }
        #jws_table_headrow .sortable::after {
            content: " >";
        }
        #jws_table_headrow .sortable.asc::after {
            content: " <";
        }

#jws_table_headrow .sortable2 {
cursor: pointer;
}


#jws_table_headrow .jws_table_cell,
#jws_table_headrow .jws_table_cell_v2 {
	display: table-cell;
	padding: 10px;
	text-align: justify;

}

#jws_table_body {
	display: table-row-group;
	
}

#jws_table_row {
	display: table-row;
}

#jws_table_row .icon_order_status {
	height: 28px;
}


#jws_table_body #jws_table_row:hover {
	transition: background-color 0.5s ease;
	background-color: rgba(0,0,0, 0.05);
	cursor: pointer;
}

	#jws_table_row.article_available{
		background-color: unset;
	}
	
	#jws_table_row.article_unavailable{
	background-color: #f4f4f4;
}

#jws_table_body .overdue_icon_low,
#jws_table_body .overdue_icon_medium,
#jws_table_body .overdue_icon_high {
	float: right;
	font-size: 20px;
	text-shadow: 1px 2px #ada7a56b;
	line-height: 30px;
}
	#jws_table_body .overdue_icon_low { color: green; }
	#jws_table_body .overdue_icon_medium { color: orange; }
	#jws_table_body .overdue_icon_high { color: red; }
	
#jws_table2_body .overdue_icon_low,
#jws_table2_body .overdue_icon_medium,
#jws_table2_body .overdue_icon_high {
	float: right;
	font-size: 16px;
	text-shadow: 1px 2px #ada7a56b;
}
	#jws_table2_body .overdue_icon_low { color: green; }
	#jws_table2_body .overdue_icon_medium { color: orange; }
	#jws_table2_body .overdue_icon_high { color: red; }
	

#jws_table_row .jws_table_cell,
#jws_table_row .jws_table_cell_v2,
#jws_table_row .jws_table_cell_v2-left
 {
	display: table-cell;
	padding: 5px 10px;
	border-bottom: 1px solid #E7E7E7;
	vertical-align: top;
}

	#jws_table_row .jws_table_cell_v2_image {
	display: table-cell;
	padding: 0px;
	border-bottom: 1px solid #E7E7E7;
	width: 110px;
	height: 110px;

	}
	
	#jws_table_row .jws_table_cell_v2 .switch_stock_add {
		position: relative;
		top: 20px;
	}
	
	#jws_table_row .jws_table_cell_v2 .switch_stock_add .mobile_icon_grower {
	height: 20px;
	margin: -8px 2px 0px 0px;
	}

	#jws_table_row .jws_table_cell_v2_image #product_detail_image{
		width: 100px;
		height: 100px;
		background-size: cover;
	}

	#jws_table_row .jws_table_cell h5{
		font-size: 12px;
		color: #9E9E9E;
		font-weight: normal;
		margin: 5px 0px;
	}
	
	
	#jws_table_row.subclients {
		display: none;
		background-color: aliceblue;
	}
	#jws_table_row.order_subclients {
	background-color: aliceblue;
	}
	
	#jws_table_row .reservations_kweker_naam {
		font-style: italic;
		color: #666;
	}
	
#jws_table_row_sub1 {
	display: table-row;
	background: #a9bfb0;
}

#jws_table_row_sub1.stockregel{
	background: #50525d;
	color: white;
}

#jws_table_row_sub1 .jws_table_cell,
#jws_table_row_sub1 .jws_table_cell_v2 {
	display: table-cell;
	padding: 10px;
	border-bottom: 1px solid #E7E7E7;
}

#jws_table2 {
	display: table;
	width: 100%;
	margin: 20px 0px 20px 0px;
}

#jws_table2_headrow {
	display: table-header-group;
 	font-family: "exo_2semi_bold";
	font-size: 16px;	
	color: var(--shop-heading);
}

#jws_table2_headrow .sortable {
	cursor: alias;
}


#jws_table2_headrow .jws_table2_cell {
	display: table-cell;
	padding: 10px;
	text-align: justify;
	color: var(--shop-heading);
	border-bottom: 1px solid var(--shop-heading);

}

#jws_table2_body {
	display: table-row-group;
	
}

#jws_table2_row {
	display: table-row;
}

#jws_table2_row .jws_table2_cell {
	display: table-cell;
	padding: 15px 10px;
	border-bottom: 1px solid #E7E7E7;
}

	#jws_table_row .detail_trolley_error{
		color: red;
	}
	#jws_table_row .detail_trolley_error i{
		font-size: 14px;
	}
	
	#jws_table_row .error_missing_retail_info {
		color: red;
	}

	#jws_table_row .error_missing_retail_info i{
		font-size: 14px;
	}

.jws_table_cell_v2 .aanbevolen_ink_remarks {
	width: 100%;
	height: 24px;
	margin: 5px 0px;
	border: 1px solid #CCC;
	border-radius: 12px;
	padding: 0px 10px;
	box-sizing: border-box;
}

	#jws_table2_row.invoice_vervallen {
	color: red;
	}

	#jws_table2_row_sub.invoice_vervallen {
	color: red;
	}
	
	
	#jws_table2_row .fa {
	font-size: 18px;
	margin-right: 10px;
	}
	
#jws_table2_row_sub {
	display: table-row;
	background-color: aliceblue;	
}

#jws_table2_row_sub .jws_table2_cell {
	display: table-cell;
	padding: 5px 10px;
	border-bottom: 1px solid #E7E7E7;
}


/* Scroll to top  _________________________________________________________________ */
#myBtn {
  display: none; /* Hidden by default */
  position: fixed; /* Fixed/sticky position */
  bottom: 10px; /* Place the button at the bottom of the page */
  right: 20px; /* Place the button 30px from the right */
  z-index: 99; /* Make sure it does not overlap */
  border: none; /* Remove borders */
  outline: none; /* Remove outline */
  background-color: rgb(103 103 103 / 80%); /* Set a background color */
  color: white; /* Text color */
  cursor: pointer; /* Add a mouse pointer on hover */
  padding: 10px; /* Some padding */
  border-radius: 18px; /* Rounded corners */
  font-size: 30px; /* Increase font size */
}

#myBtn:hover {
  background-color: rgb(33 45 85 / 90%); /* Add a dark-grey background on hover */
}
	
/* mobile elemenenten verbergen  _________________________________________________________________ */
#m_login_container {
	display: none;
}

#m_header_logo {
	display: none;
}

#header_mobile_menu {
	display: none;
}

#m_mobile_menu {
	display: none;
}


.show_mobile {
	display: none !important;
}

.show_tablet {
	display: none !important;
}

#m_footer {
	display: none;
}

	
	


/* Voor tablets in portretmodus (minimale breedte: 601px, maximale breedte: 1024px) */


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */


/* Retail calculation ___________________________________________ */

#basket_order_retail_calculation {
	box-sizing: border-box;
	width: 100%;
	padding: 18px;
	font-size: 14px;
	line-height: 20px;
	color: #333;
}

.retail_calc_section {
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 18px;
	padding: 16px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 8px;
}

.retail_calc_section_title {
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid #eee;
	font-family: "montserratsemibold";
	font-size: 15px;
	color: var(--shop-heading);
    width: 100%;
}

.retail_calc_settings {
	display: grid;
	grid-template-columns: 160px 160px 160px 180px;
	gap: 18px;
	align-items: end;
}

.retail_calc_field label {
	display: block;
	margin-bottom: 6px;
	font-family: "montserratsemibold";
	color: #333;
}

.retail_calc_field input[type="text"],
.retail_calc_field select {
	box-sizing: border-box;
	height: 40px;
	border: 1px solid #d5d5d5;
	border-radius: 6px;
	background: #fff;
	font-family: inherit;
	font-size: 14px;
	outline: none;
}

.retail_calc_field input[type="text"] {
	width: 100%;
	padding: 8px 10px;
}

.retail_calc_field select {
	width: 100%;
	padding: 0 10px;
}

.retail_calc_field input[type="text"]:focus,
.retail_calc_field select:focus {
	border-color: var(--shop-heading);
}

.retail_calc_input_suffix,
.retail_calc_input_prefix {
	display: flex;
	align-items: center;
	gap: 7px;
}

.retail_calc_input_suffix input,
.retail_calc_input_prefix input {
	flex: 1;
	min-width: 0;
}

.retail_calc_input_suffix span,
.retail_calc_input_prefix span {
	flex-shrink: 0;
	color: #555;
}

.retail_calc_switches {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px 25px;
	align-items: center;
}

.retail_calc_costs {
	grid-template-columns: repeat(3, 1fr);
}

.retail_calc_only_zero {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid #eee;
}

.retail_calc_actions {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	padding-top: 2px;
}

.retail_calc_actions .button_basket_calculate {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}


/* Filter reset button ------------------------------------------------------ */
#products_block_filter_content .filter_reset_button {
    width: 100% !important;
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin: 0 0 15px 0 !important;
    padding: 8px 10px !important;
    box-sizing: border-box;
    border: 1px solid #dfc2c0 !important;
    border-radius: 7px !important;
    background: #fbf4f3 !important;
    color: var(--shop-primary) !important;
    font-family: "montserratsemibold";
    font-size: 11px;
    line-height: 18px;
    text-align: left !important;
    cursor: pointer !important;
    transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}

#products_block_filter_content .filter_reset_button i {
    width: 20px;
    margin-right: 0 !important;
    text-align: center;
    font-size: 13px;
    color: var(--shop-primary);
}

#products_block_filter_content .filter_reset_button:hover {
    background: var(--shop-primary) !important;
    border-color: var(--shop-primary) !important;
    color: #fff !important;
    box-shadow: 0 2px 6px rgba(137,14,5,.18);
}

#products_block_filter_content .filter_reset_button:hover i {
    color: #fff;
}

#products_block_filter_content .filter_reset_button:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(137,14,5,.10);
}


/* ==========================================================================
   Responsive / media queries
   Volgorde: groot naar klein scherm
   ========================================================================== */

@media only screen and (min-width: 1000px) and (max-width: 1380px) {
.show_tablet {
	display: block !important;
}

#products_block_filter_button {
	width: 50px;
	height: 50px;
	background-color: #2e643e;
	color: white;
	border-radius: 25px;
	line-height: 40px;
	font-size: 24px;
	text-align: center;
	box-sizing: border-box;
	padding: 13px;
	margin-top: -80px;
	margin-left: 10px;
}

#products_block_filter_button.scrolling {
	position: sticky;
	top: 110px;
	z-index: 9999;
	opacity: 0.8;
}
	
	#products_block_filter {
	display: none;
	right: 0px;
	width: calc(100% - 70px);
	max-width: 400px;
	height: 100%;
	margin: 0px;
	margin-top: -25px;
	padding: 0px;
	padding-bottom: 25px;
	box-sizing: border-box;
	z-index: 10;
	background-color: #FFF;
	border-left: 1px solid silver;
	box-shadow: -4px 0px 10px 1px #aaaaaa;

	}

	#products_block_filter_content {
		font-size: 14px;
		line-height: 26px;
		height: calc(100% - 100px);
	}
	#products_block_filter_content input[type=checkbox] { transform: scale(1.5); margin-right: 10px; margin-bottom: 10px; }
	
	
	#products_block_list {
	width: 98%;
	margin: 0px auto 20px auto;
	}




}

@media screen and (max-width: 1200px) {
  .dashboard-category-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width:1100px){
    .basket_header_sticky,
    .form_basket_details{
        width:100%;
    }

    .basket_table_listheader,
    .basket_table_row{
        grid-template-columns:60px minmax(180px, 1fr) 60px 60px 70px 80px 90px 80px 60px 30px;
        column-gap:6px;
    }
}

@media screen and (max-width: 1024px) {
    .assortment_navigation {
        width: 100%;
        margin-left: 0;
        padding: 0 10px;
    }

    .assortment_main_groups,
    .assortment_subgroups_list {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 6px;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .assortment_main_group,
    .assortment_subgroup {
        flex: 0 0 auto;
        white-space: nowrap;
    }
}

@media only screen and (min-width: 601px) and (max-width: 1000px) {
    /* Je tablet-specifieke stijlen hier */
	#header_qrscanner {
		margin-left: 10px;
	}	
	
}

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

	#totaal_standort {		display: none;	}
	#header_favorites {		display: none;	}
	#header_basket {		display: none;	}
	#header_user {		display: none;	}
	
	#header_content {
	margin-left: 180px;
	}



#m_footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 64px;
    background-color: var(--shop-primary);
    display: grid;
    grid-template-columns: 1fr 2fr 1fr 1fr; /* item2 breder */
    z-index: 9999;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.15);
}

#myBtn {
  bottom: 70px; /* Place the button at the bottom of the page */
  right: 10px; 
}

/* algemene footer blokken */
#m_footer .footer_item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid rgba(255,255,255,0.12);
    color: #fff;
    min-width: 0; /* belangrijk bij grid + veel content */
}

/* laatste zonder border */
#m_footer .footer_item:last-child {
    border-right: none;
}

/* iconen links/rechts */
#m_footer .footer_item1 i,
#m_footer .footer_item4 i {
    font-size: 26px;
    color: #fff;
    cursor: pointer;
}

/* winkelwagen knop */
#m_footer .footer_item3 a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

#m_footer .footer_item3 img {
    max-width: 24px;
    max-height: 24px;
    object-fit: contain;
    display: block;
}

/* badge winkelwagen */
#m_circle_basket_counter {
    position: absolute;
    top: 8px;
    right: 16px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #fff;
    color: var(--shop-primary);
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    z-index: 2;
}

/* middenblok met A / B / C info */
#m_totaal_standort {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    width: 100%;
    gap: 6px;
    padding: 0 8px;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
}

/* elk A/B/C blok */
#m_totaal_standort > span {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    white-space: nowrap;
}

/* A/B/C letter */
#m_totaal_standort p {
    margin: 0;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    opacity: 0.9;
}

/* counter waarde */
#totaal_standort span span {
    font-size: 12px;
    font-weight: 700;
    line-height: 1.1;
}

/* actieve/tap feedback */
#m_footer .footer_item:active {
    background-color: rgba(255,255,255,0.08);
}

body {
	padding-bottom: 60px;
}

}

@media screen and (max-width: 900px) {
    .product-detail-top {
        grid-template-columns: 1fr;
        gap: 22px;
    }


    #relation_detail_modal {
        width: 100vw;
        max-width: 100vw;
    }

    #relation_detail_content {
        padding: 22px 18px 30px;
    }

    .relation-detail-heading h2 {
        font-size: 22px;
        line-height: 28px;
    }

    .relation-form-grid,
    .relation-detail-columns,
    .relation-extra-row {
        grid-template-columns: 1fr;
    }

    .form-field {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    #conceptDetailForm .relation-form-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    #conceptDetailForm .relation-form-field-wide {
        grid-column: auto;
    }

    #conceptDetailForm .concept-id-field input {
        max-width: none;
    }

}

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

	.retail_calc_settings {
		grid-template-columns: 1fr 1fr;
	}

	.retail_calc_switches,
	.retail_calc_costs {
		grid-template-columns: 1fr 1fr;
	}

}

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

	#basket_order_submit {
		padding: 12px;
	}

	.basket_checkout_details {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.basket_checkout_actions {
		justify-content: stretch;
	}

	.basket_checkout_submit {
		width: 100%;
		box-sizing: border-box;
	}

}

@media (max-width: 700px) {
    .concept-article-search-toolbar {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 700px) {
    #product_detail_modal {
        width: 100vw;
        max-width: 100vw;
    }

    #product_detail_content {
        padding: 20px 18px 28px;
    }

    .product-detail-main-image {
        height: 280px;
    }

    .product-detail-info h2 {
        font-size: 23px;
        line-height: 29px;
        margin-right: 48px;
    }

    .product-detail-price strong {
        font-size: 24px;
    }

    .product-detail-extra-inline {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

@media screen and (max-width: 700px) {
  .dashboard-category-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 600px) {
    .assortment_navigation {
        margin-bottom: 10px;
        padding: 0 8px;
    }

    .assortment_navigation_title {
        font-size: 16px;
    }

    .assortment_main_group {
        min-height: 36px;
        padding: 0 11px;
        font-size: 12px;
    }

    .assortment_subgroups {
        margin-top: 8px;
        padding: 9px 8px 8px 8px;
    }

    .assortment_subgroup {
        min-height: 30px;
        padding: 0 9px;
        font-size: 11px;
    }
}

@media (max-width: 600px) {
    #header1_buttons {
        flex-wrap: wrap;
        justify-content: center;
    }

    #header1_buttons .navbtn span {
        display: none;
    }

    #header1_buttons .navbtn {
        padding: 12px 14px;
    }
	
	#header {
		height: 66px;
	}
	
	#header_logo img {
		margin: 0 0 0 10px;
		height: 48px;
	}
	
	#header_icons {
	margin-top: unset;
	margin-right: 10px;
	}

	#header_qrscanner {
		margin-left: 10px;
		margin-right: 10px;
	}	
	
	#main-container{ 
		padding-top: 96px;
	}
	
	#dashboard_container{ 
		padding: unset;
	}
	
	
	#header_content {
	margin-left: 80px;
	}

	#dashboard_container .main-groups {
	    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
		min-width: 110px;
		top: -10px;
		background: #ffffffed;
		padding-bottom: 10px;
	}
	
	#dashboard_container a:hover {
		text-decoration: none;
		color: #fff;
	}
	
	#dashboard_container .main-groups .tile { 
		height: 80px;
        font-size: 16px;
		text-shadow: 0 2px 6px rgba(0, 0, 0, 0.75);
		padding: 8px;
	}
	
	
	#products_block_filter {
	display: none;
	right: 0px;
	width: calc(100% - 70px);
	height: 100%;
	margin: 0px;
	margin-top: 20px;
	padding: 0px;
	box-sizing: border-box;
	z-index: 10;
	background-color: #FFF;
	border-left: 1px solid silver;
	box-shadow: -4px 0px 10px 1px #aaaaaa;
	}

	#products_block_filter_content {
		font-size: 14px;
		line-height: 26px;
		height: calc(100% - 100px);
	}
	#products_block_filter_content input[type=checkbox] { transform: scale(1.5); margin-right: 10px; margin-bottom: 10px; }
	
	#products_block_list {
	width: 90%;
	margin: 0px auto 20px auto;
	}
	
	
	
	#basket_detail {
	flex-wrap: wrap;
	padding: 10px;
	}
	
	#basket_detail div{
		padding-left: 0px;
		padding-right: 0px;
    }

	#basket_detail .basket_detail_qty {
	width: 49%;
	float: left;
	margin-top: 10px;
	}
	
	#basket_detail .basket_detail_price {
	width: 49%;
	float: right;
	margin-top: 10px;
	}
	
	#basket_detail .basket_detail_oms{
	width: 65%;
	}
	

	#basket_detail .basket_detail_total_price {
		min-width: 100%;
		margin-top: 10px;
		background-color: #F9F9F9;
		padding: 10px;
		box-sizing: border-box;
	}
	
	#basket_detail .basket_detail_total_price .fa-times {
	font-size: 28px;
	position: absolute;
	top: 5px;
	right: 8px;
	}

	#basket_detail .basket_detail_total_price i.product_more_info{
	margin-right: 40px;
	}
	
	#basket_detail .basket_detail_image {
		width: 35%;
	}
	
	#basket_detail .basket_retail_border_top {
		border-top: 1px solid #9e9e9e;
		padding-top: 5px;
		margin-top: 10px !important;
	}
	
	#basket_order_calculation,
	#basket_order_retail_calculation,
	#basket_add_tags,
	#basket_order_move_departure_date,
	#basket_order_submit {
	min-width: unset;
	width: 95%;
}




    #clientportal_content,
    #client_portal,
    #frm_relatie_edit {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    #frm_relatie_edit table.frm_sales_portal_edit_small {
        width: 100% !important;
        max-width: 100%;
        display: block;
        box-sizing: border-box;
    }

    #frm_relatie_edit table.frm_sales_portal_edit_small tbody,
    #frm_relatie_edit table.frm_sales_portal_edit_small tr,
    #frm_relatie_edit table.frm_sales_portal_edit_small td {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
    }

    #frm_relatie_edit table.frm_sales_portal_edit_small td {
        padding: 6px 0;
    }

    #frm_relatie_edit input,
    #frm_relatie_edit textarea,
    #frm_relatie_edit select {
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
    }

    #frm_relatie_edit textarea {
        min-height: 100px;
    }

    #frm_relatie_edit .small_input,
    #frm_relatie_edit .medium_input {
        width: 100% !important;
    }


	
    #jws_table2 {
        width: 100%;
        max-width: 100%;
    }

    #jws_table2_headrow {
        display: none;
    }

    #jws_table2_body {
        display: block;
        width: 100%;
    }

    #jws_table2_row {
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin-bottom: 12px;
        padding: 12px;
        background: #fff;
        border-radius: 10px;
        box-shadow: 0 3px 10px rgba(0,0,0,0.08);
    }

    #jws_table2_row .jws_table2_cell {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        width: 100%;
        box-sizing: border-box;
        padding: 8px 0;
        border-bottom: 1px solid #eee;
        word-break: break-word;
    }

    #jws_table2_row .jws_table2_cell:last-child {
        border-bottom: none;
    }

    #jws_table2_row .jws_table2_cell:nth-child(1)::before {
        content: "Bestelnr";
        font-weight: 700;
    }

    #jws_table2_row .jws_table2_cell:nth-child(2)::before {
        content: "Datum";
        font-weight: 700;
    }

    #jws_table2_row .jws_table2_cell:nth-child(3)::before {
        content: "Gesamt";
        font-weight: 700;
    }

    #jws_table2_row .jws_table2_cell:nth-child(4)::before {
        content: "Status";
        font-weight: 700;
    }

    #jws_table2_row .jws_table2_cell:nth-child(5)::before {
        content: "Herunterladen";
        font-weight: 700;
    }

    #jws_table2_row .jws_table2_cell:nth-child(5) {
        justify-content: space-between;
    }

    #jws_table2_row .jws_table2_cell:nth-child(5) a {
        display: inline-flex;
    }

    #jws_table2_row .btn_invoice_download {
        float: none !important;
        margin-right: 8px !important;
    }

/* Mobile menu ___________________________________________________________________________ */
#m_mobile_menu {
	display: none;
	position: fixed;
	height: 100%;
	width: 100%;
	background-color: #515151;
	z-index: 999;
}

#m_mobile_menu_close {
	display: block;
	padding: 25px;
	text-align: right;
}	

	#m_mobile_menu_close img{
		height: 32px;	
	}
	
#m_mobile_menu_items {
	display: block;
	width: 90%;
	margin: 0px auto;
	font-size: 18px;
}

	#m_mobile_menu_items span{
		display: block;
		height: 50px;
		line-height: 50px;
		color: #CCC;
		border-bottom: 1px solid #890e05;
	}
	
	
	#m_mobile_menu_items i{
		font-size: 24px;
		margin-right: 10px;
		margin-left: -30px;
	}
	
	#m_mobile_menu_items .mobile_menu_home a{
		color: #FFF;
	}
	
	#m_mobile_menu_items .mobile_menu_home p{
		border-bottom: 2px solid #fff;		
		display: inline-block;
		line-height: 28px;
	}
	
	#m_mobile_menu_items a{
		text-decoration: none;
		color: #CCC;
	}
	

	
#m_mobile_menu_items2 {
	display: block;
	position: fixed;
	bottom: 85px;
	width: 70%;
	margin: 20px auto;
	margin-left: 15%;
}
	#m_mobile_menu_items2_detail_1 {
	display: block;
	float: left;
	width: 25%;
	}
	
	#m_mobile_menu_items2_detail_2 {
	display: block;
	float: left;
	width: 25%;
	}
	

	#m_mobile_menu_items2_detail_3 {
	display: block;
	float: left;
	width: 25%;
	}

	#m_mobile_menu_items2_detail_4 {
	display: block;
	float: right;
	width: 25%;
	}

	
	
	
	#m_mobile_menu_items2_detail img,
	#m_mobile_menu_items2_detail_1 img,
	#m_mobile_menu_items2_detail_2 img,
	#m_mobile_menu_items2_detail_3 img,
	#m_mobile_menu_items2_detail_4 img {
		width: 40px;
	}
	
	#m_mobile_menu_items2_detail_4 i{
		font-size: 38px;
		color: #fff;
	}

#m_mobile_menu hr{
	width: 80%;
	color: #CCC;
	margin: 10px auto;
	border-top: 0px;
	border-left: 0px;
	border-right: 0px;
	border-bottom: 1px solid #FFF;
}	
#m_mobile_menu .logo{
	display: block;
	width: 100%;
	text-align: center;
	position: fixed;
	bottom: 20px;

}

	#m_mobile_menu .logo img{
		margin-top: 15px;
		height: 35px;
	}



/* Date picker _________________________________________________________________________________ */	
.ui-datepicker th {
	padding: 1.0em 0.6em !important;
}

}

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

	#basket_order_retail_calculation {
		padding: 12px;
	}

	.retail_calc_settings,
	.retail_calc_switches,
	.retail_calc_costs {
		grid-template-columns: 1fr;
	}

	.retail_calc_actions .button_basket_calculate {
		width: 100%;
		justify-content: center;
		box-sizing: border-box;
	}

}

@media (max-width: 520px) {
    .relation-detail-heading {
        align-items: flex-start;
    }

    .relation-detail-icon {
        width: 52px;
        height: 52px;
        font-size: 22px;
    }

    .relation-detail-card {
        padding: 16px;
    }

    .relation-detail-footer {
        flex-direction: column-reverse;
        gap: 12px;
    }

    .relation-btn {
        width: 100%;
    }

    .bonus-fields {
        flex-wrap: wrap;
    }

    .bonus-fields input {
        width: calc(33.333% - 12px);
        min-width: 80px;
    }
}

@media only screen and (max-width: 420px) {
    .login-page .circle{
      width: 300px;
      height: 300px;
	}

	.login-page .login_logo { max-width: 180px; max-height: 60px;  }
	.login-page p.lead{display: none;}
}
