/* #Site Styles
================================================== */

/* ### general ### */
* { margin: 0px; padding: 0px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
html, body { font-family: Arial; font-size: 14px; color: #000; scroll-behavior: smooth; }
input, select, textarea { font-family: Arial; font-size: 14px; color: #000; }
body { background: #fff; }
img { border: 0px; display: block; }
ul, li { list-style: none; }
:focus { outline: none; }
h1,h2,h3,h4,h5,h6 { font-weight: normal; }

/* Placeholder kleur voor moderne browsers */
input::placeholder,
textarea::placeholder {
    color: #C9C9C9; /* De kleur die je wilt toepassen op de placeholder */
    opacity: 1; /* Zorgt ervoor dat de kleur volledig zichtbaar is */
}

/* Specifieke stijl voor oudere browsers */
input:-ms-input-placeholder {
    color: #C9C9C9; /* Voor Internet Explorer 10 */
}

textarea:-ms-input-placeholder {
    color: #C9C9C9;
}

input::-ms-input-placeholder {
    color: #C9C9C9; /* Voor Internet Explorer 11 */
}

textarea::-ms-input-placeholder {
    color: #C9C9C9;
}

/* Verwijder de standaard pijl en klok-icoon van datetime-local velden */
input[type="datetime-local"]::-webkit-calendar-picker-indicator {
    display: none;
}

input[type="datetime-local"]::-webkit-inner-spin-button,
input[type="datetime-local"]::-webkit-clear-button {
    display: none;
}

/* Verwijder standaard picker voor Firefox */
input[type="datetime-local"]::-moz-clear {
    display: none;
}

/* ### global classes ### */
.clear { clear: both; visibility: hidden; line-height: 0; height: 0; }
.center { margin: 0 auto; max-width: 1290px; position: relative; }
.hidden { display: none; }

.importantmessagebox {height:38px;}

/* ### wrapper ### */
#wrapper { position: relative; display: block; width: 100%; min-height: 100%; }

/* ### main container ### */
#mainCntr { width: 100%; overflow: hidden; }

	/* ### header container ### */
	#headerCntr { position: relative; width: 100%; }
	#headerCntr .logo { float: left; width: 325px; position: relative; }
	#headerCntr .logo img { max-width: 100%; }
	#headerCntr .logo .tagline { padding: 15px 3px 0px 0px; line-height: 20px; position: absolute; right: 0px; bottom: 0px; font-size: 14px; color: #333333;  }
	#headerCntr hr {  border: none; margin: 10px 0; }

		/* ### green box #634791 ### */
		.greenBox { padding: 12px 0; width: 100%; overflow: hidden; text-align: center; background:#6b952d; }
		.greenBox p { font-size: 16px; color: #fff; letter-spacing:1px; }

		/* ### top box ### */
		.topBox { 
			display: flex; 
			align-items: center; 
			justify-content: space-between; 
			padding: 10px 0; 
			margin-bottom: 15px; 
			width: 100%; 
			border-bottom: 1px solid #F1F1F1; 
		}

		/* Linkerzijde (telefoonnummer) */
		.topBox .left { 
			flex: 1; 
		}
		.topBox .left  span { 
			font-weight: bold; 
		}

		/* Rechterzijde (navigatie) */
		.topBox .right { 
			flex: 1; 
			display: flex; 
			justify-content: flex-end; 
		}

		/* Center-align de Trustpilot widget */
		.topBox-center {
			flex: 1;
			display: flex;
			justify-content: center;
		}
		/* Specifieke stijling voor de Trustpilot widget */
		.topBox-center .trustpilot-widget {
			font-size: 12px; /* Kleiner lettertype, passend bij andere tekst */
			color: #6b952d !important; /* Groene tint, passend bij jouw website */
			font-weight: 500;
			text-align: center;
		}
		/* Zorg ervoor dat links in de widget de juiste kleur krijgen */
		.topBox-center .trustpilot-widget a {
			color: #6b952d !important; /* Link kleur aanpassen naar groen */
			text-decoration: none;
		}

		/* Hover effect voor een subtiele interactie */
		.topBox-center .trustpilot-widget a:hover {
			text-decoration: underline;
			color: #52700E !important; /* Donkere tint voor de hover state */
		}
		/* Pas de hoogte en breedte aan voor een betere uitlijning */
		.topBox-center {
			flex: 1;
			display: flex;
			justify-content: center;
			align-items: center;
		}

		.topBox p { font-size: 13px; color: #555; }

        /* ### top box navigatie items: klantenservice, bezorgregio etc ### */
		.topBox .list { float: right; }
		.topBox .list ul { display: flex; align-items: center; margin: 0; padding: 0; }
		.topBox .list li { padding: 0 8px; list-style: none; display: flex; align-items: center; }
		.topBox .list li:last-child { padding-right: 0; }
		.topBox .list li a { font-size: 13px; color: #555; text-decoration: none; line-height: 1; }
		.topBox .list li a:hover { text-decoration: underline; }
		.topBox .list li.arrow > a { padding: 0 15px 0 0; background: url(../images/downarrow.png) right center no-repeat; }
        
        /* ### top box Login sectie ### */
		.topBox .list li .login { width: 400px; display: none; z-index:1002; position: absolute; right: 20px; top: 22px; border-radius: 7px; box-shadow: 1px 1px 3px 0px rgba(0,0,0,0.60); background:#fff; }
		.topBox .list li .arrow { width: 18px; height: 10px; display: block; text-indent: -9999px; z-index: 9; position: absolute; right: 0px; top: -9px; border-left: 9px solid transparent; border-right: 9px solid transparent; border-bottom: 10px solid #F68D1F; /* kleur van de driehoek */ }
		.topBox .list .title { padding: 7px 0; display: block; font-size: 14px; color: #fff; text-align: center; background: #F68D1F; }
		.topBox .list .block { padding: 10px 25px; overflow: hidden; }
		.topBox .list input[type="text"],.topBox .list input[type="password"] { padding: 0px 10px; margin-bottom: 5px; width: 100%; height: 23px; font-size: 12px; color: #ccc; border: 1px solid #cccccc; background: none; }
		.topBox .list .row { padding-bottom: 10px; width: 100%; overflow: hidden; }
		.topBox .list .checkbox span { margin: 5px 0 0 0; display: inline-block; cursor: pointer; position: relative; float: left; padding-left: 20px; line-height: 16px; margin-right: 15px; font-size: 11px; color: #999999; }
		.topBox .list .checkbox input[type=checkbox] {display: none}
		.topBox .list .checkbox span:before {content: ""; display: inline-block; width: 15px; height: 15px; margin-right: 10px; position: absolute; left: 0; bottom: 1px}
		.topBox .list .checkbox span:before{background: url(../images/checkbox_normal.png) no-repeat}
		.topBox .list .checkbox input[type=checkbox]:checked + span:before{content: ""; background: url(../images/checkbox_selected.png)}
		.topBox .list .loginbtn { width: 153px; height: 30px; border-radius: 5px; float: right; font-size: 12px; color: #fff; border: none; cursor: pointer; background: #79ab32; }
		.topBox .list .loginbtn:hover { text-decoration: underline; }
		.topBox .list a.registration { font-size: 11px; color: #666666; float: left; text-decoration: underline; }
		.topBox .list a.registration:hover { text-decoration: none; }
		.topBox .list a.forgotbtn { font-size: 11px; color: #666666; float: right; text-decoration: underline; }
		.topBox .list a.forgotbtn:hover { text-decoration: none; }

/* Basisstijl voor het person-icon */
.person-icon {
    display: flex;
    align-items: center;
    gap: 3px;
    text-decoration: none;
    font-size: 14px;
    color: #a1a1a1;
    line-height: 1; /* Consistente lijnhoogte */
}

.person-icon svg {
    width: 20px;
    height: 20px;
    fill: #a1a1a1;
    margin-right: 3px; /* Zorg voor evenredige afstand */
}

.person-icon:hover {
    color: #000;
}

.logged-in svg {
    fill: #6b952d;
}

/* Optionele styling voor ingelogde status */
.logged-in svg {
    fill: #6b952d; /* Maak het person-icon groen voor ingelogde gebruikers */
}

.autosave-error-notification {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
    padding: 10px;
    border-radius: 5px;
    margin-bottom: 15px;
    font-size: 14px;
}
.autosave-success-notification {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
    padding: 10px;
    border-radius: 5px;
    margin-bottom: 15px;
    font-size: 14px;
}

.notification {
    display: none; /* initieel verborgen */
    position: fixed; /* vast op het scherm */
    top: 10px; /* 10px vanaf de bovenkant */
    left: 50%; /* gecentreerd */
    transform: translateX(-50%); /* verschuif naar links met 50% van de breedte */
    padding: 15px;
    border-radius: 5px;
    z-index: 10000; /* hoge z-index zodat het boven andere elementen verschijnt */
}
.success {
    background-color: #52700E; /* groene achtergrond */
    color: white;
}
.error {
    background-color: #f44336; /* rode achtergrond */
    color: white;
}
.notificationlogin {
    display: block; /* Zorg ervoor dat de melding zichtbaar is */
    position: fixed; /* Maak de melding vast aan het scherm */
    top: 40px; /* Zet de melding 35px vanaf de bovenkant */
    left: 50%; /* Centreer horizontaal */
    transform: translateX(-50%); /* Zorg dat de melding perfect gecentreerd wordt */
    z-index: 10000; /* Zorg dat de melding boven andere elementen staat */
    background-color: #dff0d8; /* Groene achtergrond */
    color: #52700E; /* Donkergroene tekst */
    border: 1px solid #d6e9c6; /* Groene rand */
    padding: 15px 30px; /* Padding voor ruimte binnen de melding */
    border-radius: 7px; /* Afgeronde hoeken */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Schaduw voor meer visuele nadruk */
    font-size: 14px; /* Lettergrootte */
	font-weight: bold;
    text-align: center; /* Centreer de tekst */
    max-width: 90%; /* Zorg dat de melding niet breder wordt dan 90% van het scherm */
    word-wrap: break-word; /* Breek tekst als deze te lang is */
}


/* ### right box: keurmerk & shoppingcart ### */
.rightBox {
    padding: 0px 0px 0px 0px;
    width: calc(100% - 484px);
    float: right;
    position: relative;
}
.rightBox ul {
    margin-right: -10px;
    list-style: none;
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    overflow: hidden;
}
.rightBox li {
    padding: 0 10px 0 0;
    float: left;
}
.rightBox li.keur {
    width: 85%;
}
.rightBox li.cart {
    width: 15%;
}
.rightBox .block {
    padding: 10px 15px;
    width: 100%;
    height: 100%;
    position: relative; /* Ensure the block is positioned relative */
}
.rightBox .block img.webhopkeurmerk {
    width: 100px;
    height: auto;
    padding-top: 2px;
    float: right;
	opacity: 0.7;
}
.rightBox .block img.shoppingcarticon {
    width: 35px;
    height: auto;
    padding-top: 5px;
    float: right;
}
.cart .cart-notification {
    width: 23px;
    height: 23px;
    background-color: #F68D1F;
    border-radius: 50%;
    position: absolute;
    top: 6px; /* Pas aan om de cirkel correct te positioneren */
    right: 6px; /* Pas aan om de cirkel correct te positioneren */
    border: 2px solid white; /* Optioneel: witte rand */
    display: flex; /* Flexbox inschakelen */
    align-items: center; /* Verticaal centreren */
    justify-content: center; /* Horizontaal centreren */
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
}  

/* Voor mobiele winkelwagen notificatie */
.mobilecart {
    position: relative; /* Zorg ervoor dat de notificatie correct wordt gepositioneerd */
}

.mobilecart .cart-notification {
    width: 19px;
    height: 19px;
    background-color: #F68D1F;
    border-radius: 50%;
    position: absolute;
    top: 8px; /* Pas aan om de cirkel correct te positioneren */
    right: 10px; /* Pas aan om de cirkel correct te positioneren */
    display: flex; /* Flexbox inschakelen */
    align-items: center; /* Verticaal centreren */
    justify-content: center; /* Horizontaal centreren */
	border: 2px solid white;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
}

		/* ### menu box ### */
		#headerCntr .menuBox { border-radius:7px; margin-top: 12px; width: 100%; height: 50px; background:#fff; }
		#headerCntr .mobileMenu { display: none; }
		#headerCntr .mobileMenuLink { display: none; }
		#headerCntr .menuBox ul {
			list-style: none;
			display: flex;
			justify-content: center; /* Centreren horizontaal */
			align-items: center;      /* Verticaal uitlijnen indien nodig */
			height: 100%;
			margin: 0;
			padding: 0;
		}
		#headerCntr .menuBox li {
			margin: 0 5px; /* Ruimte tussen items */
		}
		#headerCntr .menuBox li a { padding: 0 15px; display: block; font-size: 16px; font-weight: bold; color: #333; text-decoration: none; line-height: 50px; }
		#headerCntr .menuBox li:hover a,#headerCntr .menuBox li.active a { text-decoration: underline; border-radius: 7px 7px 0 0; background: #f4f4f1; }

	/* ### content container ### */
	#contentCntr { width: 100%; background-color: #f4f4f1; padding-bottom: 20px; }

		/* ### list box ### */
		.listBoxUsp { padding: 10px 0; width: 100%; display: flex; justify-content: center; flex-wrap: wrap; }
		.listBoxUsp .center { width: 100%; }
		.listBoxUsp ul { list-style: none; display:flex; justify-content: space-between; box-sizing: border-box; width: 100%; margin: 0; padding: 0; }
		.listBoxUsp li { flex: 1;display: flex;justify-content: center;align-items: center;padding: 3px 35px 3px 3px; font-size: 14px;	color: #777;position: relative;	}
		.listBoxUsp li::before {content: url(../images/right.png); margin-right: 10px; align-self: center; position: relative; top: 2px; }

			/* ### banner box ### */
			.bannerBox { width: 100%; overflow: hidden; height:165px; position: relative; margin-bottom: 10px; border: 1px solid #e1e1e1; background-size:cover; border-radius: 10px; }
			.bannerBox.categories {
				width: 100%;
				height: 165px; /* Specifieke hoogte voor desktop */
				background-position: center;
				background-size: cover;
				background-repeat: no-repeat;
				border: 1px solid #e1e1e1;
				border-radius: 10px;
			}

			.bannerBox.home { background: url("/assets/images/banners/desktop-banner-herfst-2024.webp") top no-repeat; margin-bottom: 5px; }
			.bannerBox.rozen { background: url("/assets/images/banners/roderozen-banner.webp") right top no-repeat; }
			.bannerBox.rouw { background: url("/assets/images/banners/rouwbloemen-thema-wit.webp") right top no-repeat; }
			.bannerBox.fruit { background: url("/assets/images/banners/banner-fruitmanden.webp") right top no-repeat; }

			/* ### Homepagina en Categorietekst box ### */
			.CategorieTekst { width:100%; max-width:1290px; margin-top:10px; background: #ffffff; padding:15px; border-radius: 15px; overflow: hidden; height:auto; }
			.CategorieTekst.home { height:auto; margin-top:15px; }
			.CategorieTekst h1 { font-size: 26px; font-weight: bold; color: #6b952d; text-align:center; }
			.CategorieTekst.home h1 { font-size: 22px; font-weight: bold; color: #6b952d; text-align:center; }
			.CategorieTekst h2 { font-size: 24px; font-weight: bold; color: #6b952d; text-align:center; margin-top:5px; }
			.CategorieTekst h3 { font-size: 18px; font-weight: bold; color: #6b952d; text-align:center; margin-top:20px; }
			.CategorieTekst h4 { font-size: 16px; font-weight: bold; color: #6b952d; text-align:center; } 
			.CategorieTekst h5 { font-size: 16px; font-weight: bold; color: #6b952d; text-align:center; }	
			.CategorieTekst p { font-size: 15px; line-height: 1.5; width:90%; text-align:center; margin: 0 auto; margin-top: 5px; margin-bottom: 5px; }
			.CategorieTekst img { margin: 0 auto; }
			.CategorieTekst a { font-weight: bold; color: #333;}
			.CategorieTekst a:hover { color: #6b952d; }
			a.leesMeer { cursor: pointer; font-size: 14px; color:#a1a1a1; margin:4px 0; text-align: center; text-decoration: underline; display: block; border-bottom:1px solid #f1f1f1; padding-bottom: 10px; }
			a.av-link { cursor: pointer; color:#444; text-decoration: underline; } 
			h2.trustpilot-title { text-align: center; margin-top:15px;}
			.CategorieTekst.trustpilot {background: #fff; padding: 10px 0 5px 0; border: 1px solid #e1e1e1; margin-bottom:15px; }

			.category-content-above, .category-content-below {
				margin: 20px 0;
				padding: 15px;
				background-color: #f9f9f9;
				border-radius: 5px;
				font-size: 1.8em;
				line-height: 1.6;
			}

.faq-section {
    margin: 20px 0;
    padding: 20px;
    border-radius: 15px;
	text-align: center; 
    background-color: #ffffff;
}

.faq-section h2 { font-size: 22px; font-weight: bold; color: #F68D1F; margin-bottom: 15px; }

.faq-container {
    display: flex;
    flex-direction: column;
    align-items: center; /* Centreer de FAQ-items */
    width: 100%;
}

.faq-item {
    margin-bottom: 10px;
	width: 75%;
	max-width: 800px;
    border-bottom: 1px solid #ddd;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	border-radius: 10px;
}

.faq-question {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    text-align: left;
    background: #fff;
    border: none;
    padding: 15px 20px;
    font-size: 14px;
	color:#555;
    font-weight: bold;
    cursor: pointer;
    outline: none;
    transition: background-color 0.3s, color 0.3s;
    border-radius: 10px;
}

.faq-question:hover {
    background-color: #ffffff;
	text-decoration: underline;
}

.faq-icon {
    font-size: 18px;
    margin-left: 10px;
    color: #6b952d; /* Gebruik een merk-kleur */
    transition: transform 0.3s, color 0.3s;
}

.faq-answer {
    display: none;
    padding: 15px 20px;
    background-color: #f4f4f1;
    font-size: 14px;
    line-height: 1.6;
    color: #555;
    border-left: 3px solid #6b952d;
    border-radius: 0px;
}

.faq-answer p {
    margin: 0;
}

.faq-answer:first-child {
    margin-top: 10px;
}

			/* ### flower box ### */
			.flowerBox { padding: 10px 0 0 0; width: 100%; margin-bottom: 20px; }
			.flowerBox.localpages { width: 90%; margin:0 auto; }
			.flowerBox.catimage { margin-bottom: 0px; }
			.flowerBox h1 { padding:5px 20px; text-align: center; display:block; font-size: 28px; color: #6b952d; font-weight: normal; }
			.flowerBox h2 { padding:5px 20px; text-align: center; display:block; font-size: 21px; color: #333333; font-weight: bold; }
			.flowerBox p { display: block; font-size: 12px; color: #666; line-height: 16px; }
			.flowerBox ul { list-style: none; display: flex; align-items: stretch; flex-wrap: wrap; justify-content: center; width: 100%; margin: 10px 0; }
			.flowerBox li { background-color: #fff; border-radius: 10px; padding: 0; margin:7px; width: calc(25% - 10.5px); float: left; position: relative; }
			.flowerBox ul li:nth-child(4n + 1) { margin-left: 0; }
			.flowerBox ul li:nth-child(4n) { margin-right: 0; }
			/* Kleine aanpassing voor symmetrie */
			.flowerBox ul li:nth-child(4n + 1),
			.flowerBox ul li:first-child {
				margin-left: 0;
			}
			.flowerBox li.related { width: 24%; }
			.flowerBox li.localpages { width: 24%; }
			.flowerBox li img { width: 100%; transition: transform 0.3s ease-in-out; }
			.flowerBox li a { padding: 10px; width: 100%; height: 100%; text-align: center; text-decoration: none; display: block; }
			.flowerBox li .search { position: absolute; right: 25px; bottom: 107px; display: block; width: 15px; height: 15px; text-align: center; line-height: 15px; background:#a1a1a1 url(../images/search.png) center center no-repeat; border: 1px solid #e2e2e2; border-radius:5px; opacity: 0.8; filter: alpha(opacity=80); }
			.flowerBox .supperbox { width:100%;height:55px; }
			.flowerBox .title { padding: 10px 21px; display: inline-block;  font-size: 15px; color: #333; font-weight: bold; line-height: 20px; background: #fff; }
			.flowerBox li p { padding: 10px 0; }
			.flowerBox .price { padding: 0px; font-size: 14px; color: #a1a1a1; margin-bottom: 5px; }
			.flowerBox .price span { margin-left: 3px; font-size: 18px; color: #333; }

			.flowerBox li:hover,.flowerBox li.active a { box-shadow: 0 3px 10px rgb(0 0 0 / 0.2); }
			.flowerBox ul li:hover img { transform: scale(1.03); /* Zoom-in effect bij hover */ }
			.flowerBox ul li:hover .title { color:#6b952d; }

			.flowerBox span.button {padding: 7px 21px; margin-bottom: 5px; display: none; font-size: 14px; color: #fff; font-weight: normal; line-height: 18px; margin-bottom: 5px; background: #6b952d; position: relative; z-index: 1;}
			.flowerBox span.buttonMobile {display:none}
			.flowerBox span.button.soldout { border: 1px solid #555;  background: #a1a1a1; }

			.flowerBox a.BekijkCategorie { padding: 15px; display: block; margin: 0 auto; width:275px; border-radius: 25px; font-size: 18px; color: #fff; font-weight: normal; line-height: 20px; background: #6b952d; text-align: center;}
   			.flowerBox a.BekijkCategorie:hover { background: #86B417; }
			.flowerBox li a img.bannerimage { border-bottom-left-radius: 7px; border-bottom-right-radius: 7px; }

/* Overlay-titel styling */
.flowerBox.catimage ul { margin-top: 0px; }
.flowerBox.catimage li .overlay-title {
	position: absolute;
	top: 10px;
	left: 10px;
	color: #555;
	font-size: 18px;
	font-weight: bold;
	text-align: left;
	padding: 6px 12px;
	border-radius: 10px;
	z-index: 2;
	display: block;
	max-width: 75%;
	white-space: normal; /* Laat de tekst op meerdere regels doorlopen */
	word-wrap: break-word; /* Breekt lange woorden correct af */
	line-height: 1.2;				
}
.flowerBox.catimage li:hover { box-shadow: none; border: 1px solid #6b952d; }
.flowerBox.catimage li:hover .overlay-title { color: #6b952d; }

/* Zorg dat de afbeeldingen goed schalen */
.flowerBox.catimage li img {
    width: 100%;
    height: auto;
    display: block;
}
.flowerBox.catimage ul li:hover img { transform: scale(1.02); }

			.pageoverlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4);  z-index: 999; }
			.pageoverlayCart { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4);  z-index: 999; }

			/* ### product detail pagina opmaak ### */
			.breadcrumb {
				font-size: 14px;
				margin-bottom: 20px;
			}
			.breadcrumb a {
				color: #6b952d;
				text-decoration: none;
			}
			.breadcrumb a:hover {
				text-decoration: underline;
			}
			.breadcrumb span {
				color:#777;
			}

			.product-detail {
				display: flex;
				gap: 2rem;
				padding: 5px 0 20px 0;
			}

			.product-image,
			.product-info {
				flex-basis: 50%; /* Elke container neemt 50% van de ruimte in */
				max-width: 50%;  /* Zorg ervoor dat het niet breder wordt dan 50% */
				background-color: #fff;
			}

			.product-image img {
				max-width: 95%;
				height: auto;
			}

			.product-image {
				border-radius: 15px;
				padding:20px;
			}

			.product-info {
				flex: 1;
				box-shadow: 0 3px 10px rgb(0 0 0 / 0.2); border-radius:15px;
				padding: 25px;
			}
			.product-info p { margin:20px 0; font-size: 14px; width:75%; line-height: 24px; }
			.product-info h2 { margin:20px 0; }
			.product-info h2.ProdTitleDesktop { color:#6b952d; font-size:28px; margin:0; }
			.product-info h3 { font-size: 16px; font-weight:bold; margin-bottom: 20px;}
				
			.size-selection {
				display: flex;
				gap: 15px;
			}

			.size-label {
				display: flex;
				flex-direction: column;
				align-items: center;
				text-align: center;
			}

			.size-button {
				display: inline-block;
				padding: 10px 14px;
				border: 1px solid #ccc;
				border-radius: 4px;
				background-color: #f3f3f3;
				cursor: pointer;
				font-size: 16px;
				transition: background-color 0.3s ease;
			}

			.size-label:hover .size-button {
    			border: 1px solid #6b952d;
			}

			.size-label input[type="radio"]:checked + .size-button {
				background-color: #cfe1b9;
				color: #4b6624;
			}

			.size-label span {
				display: block;
				text-align: center;
				margin-bottom: 10px;
				font-size: 14px;
				font-weight: bold;
			}

			.thumbnail-container {
				margin: 5px 0; /* Voeg wat ruimte rond de thumbnail toe */
			}

			.variation-thumbnail {
				width: 75px; /* Pas de grootte aan naar wens */
				height: auto;
				cursor: pointer;
			}

			.description-mobile {
				display: none;
			}

.personal-card { margin-top:35px; }
.AddonsBox { margin-bottom: 35px; padding:20px; border: 1px solid #e1e1e1; border-radius: 15px; }
.AddonsBox:hover { border-color: #6b952d; }

.AddonsBox h3 {
	font-size: 16px;
	font-weight:bold;
	margin-bottom: 20px;
}

/* Styling voor de cadeau-thumbnail */
.gift-thumbnail {
    width: 40px;
    height: 40px;
    object-fit: cover;
    cursor: pointer;
    margin: 0 3px 0 10px;
    transition: transform 0.2s;
}

.gift-thumbnail:hover {
    transform: scale(1.2);
}

.custom-checkbox {
    display: flex;
    align-items: center;
	margin-bottom:20px;
}

.custom-checkbox .checkbox-label {
    margin-left:7px;
	font-size: 13px;
	cursor: pointer;
}

/* Verberg de standaard checkbox */
.custom-checkbox input[type="checkbox"] {
    display: none;
}

/* Stijl voor de aangepaste checkbox */
.custom-checkbox .checkmark {
	position: relative;
    display: inline-block;
    width: 22px; /* Aangepast formaat */
    height: 22px;
    margin-right: 5px;
    border: 1px solid #a1a1a1;
	border-radius: 4px;
    background-color: #f9f9f9;
    vertical-align: middle;
    cursor: pointer;
}

.custom-checkbox .checkmark.white {
	background-color: #fff;
}

/* Stijl voor wanneer de checkbox is aangevinkt */
.custom-checkbox input[type="checkbox"]:checked + .checkmark {
    background-color: #6b952d;
}

/* Wit vinkje toevoegen */
.custom-checkbox input[type="checkbox"]:checked + .checkmark:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 40%;
    height: 12px; /* Grotere hoogte */
    width: 6px; /* Grotere breedte */
    border: solid white;
    border-width: 0 3px 3px 0; /* Dikkere lijnen */
    transform: translate(-50%, -50%) rotate(45deg);
}

.personal-card select {
    width:70%;
    padding: 10px;
    margin: 10px 0 15px 0;
	border-radius: 4px;
	border: 1px solid #a1a1a1;
	font-size: 14px;
}

/* Basis styling voor het kaartje container */
.card-container {
  border: 0px solid #d1d1d1;
  border-radius: 8px;
  display: flex;
  align-items: stretch; /* Zorgt dat de kinderen dezelfde hoogte krijgen */
  position: relative;
  margin-top:15px;
}

/* Styling voor de afbeelding */
.card-image {
  display: block;
  max-width: 250px;
  height: auto; /* Vaste hoogte voor de afbeelding */
  object-fit:contain;
  margin-right: 2px;
  border: 1px solid #d1d1d1;	
  border-right: none;
  border-radius: 8px 0 0 8px;
}

/* Styling voor het tekstgedeelte */
.card-textarea {
  flex-grow: 1;
  padding: 15px;
  border: 1px solid #d1d1d1;
  border-radius: 4px;
  font-family: Arial, sans-serif;
  font-size: 14px;
  text-align: left;
  background-color: #fff;
  width: 70%;
  height: 165px;
  resize: none; /* Voorkom dat gebruikers de textarea kunnen vergroten/verkleinen */
}

.card-textarea.preview {
  border-radius:0 7px 7px 0;
  border-left: 2px dotted #d1d1d1;
}

.card-textarea::placeholder {
    color: #c1c1c1; /* Pas de kleur aan naar je voorkeur */
}

div#charCounter { padding:7px; width: 70%; }

/* Styling voor het ribbon textarea */
div#cardOptions strong { font-weight: bold; font-size: 14px; }
input.ribbontextarea {
  border: 1px solid #a1a1a1;
  border-radius: 4px;	
  font-family: Arial, sans-serif;
  font-size: 13px;
  text-align: left;
  background-color: #fff;
  width:90%;
  height:35px;
  padding-left: 10px;
  margin: 5px 0 12px 0;
  display: block;
  resize: none; /* Voorkom dat gebruikers de textarea kunnen vergroten/verkleinen */
}

input.ribbontextarea::placeholder {
    color: #c1c1c1; /* Pas de kleur aan naar je voorkeur */
}

/* Verberg de afbeelding standaard */
.card-image[hidden] {
  display: none;
}
.mobile-text {
    display: none;
}

a.giftaddonslink { color:#6b952d; text-decoration: none; font-size: 13px; }

.groeneBestelKnop {
    background-color: #6b952d; /* Groene achtergrond */
	width: 65%;
    color: white; /* Witte tekst */
    padding: 15px 32px; /* Boven/onder en zijwaartse padding */
    text-align: center; /* Centreert tekst */
    text-decoration: none; /* Geen onderstreping */
    display: inline-block; /* Laat de knop zich gedragen als een inline blok */
    font-size: 16px; /* Lettergrootte */
	font-weight: bold;
    margin: 4px 2px; /* Margin rondom de knop */
    cursor: pointer; /* Cursor wijzigen naar een handje bij hover */
    border: none; /* Geen rand */
    border-radius: 30px; /* Afgeronde hoeken */
    transition: background-color 0.3s ease; /* Een zachte overgang voor hover effect */
}
.groeneBestelKnop:hover {
    background-color: #5d8230; /* Iets donkerdere groen bij hover */
}

.groeneBestelKnop.NonAvailability {
    background-color: #9A9A9A; /* Grijze achtergrond voor disabled knop */
    cursor: not-allowed; /* Cursor wijzigen naar 'not allowed' */
    color: #ddd; /* Lichtere tekstkleur */
}

.usp-container {
    margin-top: 20px; /* Aanpassen op basis van je layout */
}

.usp {
    display: flex;
    align-items: center;
    margin-bottom: 5px; /* Afstand tussen USP's */
}

.usp-icon {
    display: inline-block;
    width: 15px; /* Breedte van het vinkje, pas aan naar behoefte */
    height: 15px; /* Hoogte van het vinkje, pas aan naar behoefte */
    background-image: url('../images/right.png'); /* Pad naar je PNG-bestand */
    background-size: cover; /* Zorgt dat de afbeelding de volledige grootte van het element beslaat */
    margin-right: 10px; /* Ruimte tussen vinkje en tekst */
}

.usp-text {
    font-size: 14px;
	color: #a1a1a1;
	margin-top: 3px;
	line-height: 18px;
}

.additional-info-section {
    display: flex;
    margin: 20px 0;
    padding: 15px;
    border-radius: 15px;
    background-color: #ffffff;
	flex-wrap: wrap;
}

.additional-info-left,
.additional-info-right {
    flex: 1;
    padding: 10px;
	box-sizing: border-box;
}

.additional-info-left {
    /* Stijlen specifiek voor de linker kolom (indien nodig) */
}

.additional-info-right {
    padding-left: 20px;
    border-left: 1px solid #ddd; /* Optionele scheidingslijn tussen de kolommen */
}

.additional-info-section h3 {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
    color: #333;
}

.additional-info-section p {
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}

/* Stijlen voor de weergave van de winkelwagen: */
.shopping-cart {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.shopping-cart h1 {
 	margin-top: 0px;	
}

div.cartnotification {
    position: absolute; /* Of gebruik 'absolute' als je het relatief aan een container wilt plaatsen */
    top: 10px; /* Pas dit aan afhankelijk van de gewenste positie */
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000; /* Zorg ervoor dat de notificatie boven andere elementen staat */
    width: auto; /* Pas aan voor de gewenste breedte */
    width: 90%; /* Zorgt ervoor dat het niet te breed wordt op kleinere schermen */
    font-weight: bold;
    padding: 15px;
    text-align: center;
    margin-bottom: 15px;
    border-radius: 15px;
    background-color: #fff; /* Voeg een achtergrondkleur toe als dat nodig is */
    opacity: 1; /* Zorg ervoor dat de initiële opaciteit 1 is */
    transition: opacity 0.5s ease; /* Soepele overgang van de opaciteit */
}

div.cartnotification.customers {
	position: relative;
	width: 100%;
	margin-bottom: 15px;
	top: auto;
}

div.cartnotification.success {
	background-color: #cfe1b9;
	color: #52700E;
	border: 1px solid #6b952d;
}

div.cartnotification.error {
	background-color: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

div.cartnotificationsmall {
    position: relative; /* Of gebruik 'absolute' als je het relatief aan een container wilt plaatsen */
    z-index: 1000; /* Zorg ervoor dat de notificatie boven andere elementen staat */
    width: auto; /* Pas aan voor de gewenste breedte */
    width: 65%; /* Zorgt ervoor dat het niet te breed wordt op kleinere schermen */
    font-weight: bold;
    padding: 15px;
    text-align: center;
	margin-bottom: 15px;
    border-radius: 25px;
    background-color: #fff; /* Voeg een achtergrondkleur toe als dat nodig is */
    opacity: 1; /* Zorg ervoor dat de initiële opaciteit 1 is */
    transition: opacity 0.5s ease; /* Soepele overgang van de opaciteit */
}

div.cartnotificationsmall.error {
	background-color: #f8d7da;
	color: #721c24;
	border: 1px dashed rgb(114, 28, 36);
}

div.save-warning-notification {
	background-color: #f8d7da;
	width:80%;
	padding: 10px;
	color: #721c24;
	text-align:center;
	border: 1px dashed #721c24;
	border-radius: 25px;
	font-weight: bold;
	font-size: 13px;
    line-height: 1.5;
	text-decoration: underline;
}

.tooltip {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.tooltip .info-icon {
    width: 20px; /* Breedte van het icoon */
    height: 20px; /* Hoogte van het icoon */
    background-image: url('/assets/images/info-icon.png'); /* Laad je eigen icoon */
    background-size: cover; /* Zorg dat de afbeelding volledig in de cirkel past */
    background-position: center; /* Centreer de afbeelding */
    background-repeat: no-repeat; /* Voorkom herhaling */
    border-radius: 50%; /* Maak het een cirkel */
    margin: 0 2px 0 5px; /* Afstand tussen tekst en icoon */	
    display: inline-block; /* Zorg dat het inline met de tekst blijft */
    vertical-align: middle; /* Uitlijning met de tekst */
    transition: transform 0.2s ease-in-out; /* Animatie bij hover */
}

.tooltip .tooltip-text {
    visibility: hidden;
    width: 250px; /* Breedte van de tooltip */
    background-color: #f9f9f9; /* Achtergrondkleur */
    color: #333; /* Tekstkleur */
    text-align: center; /* Centreer de tekst */
    border-radius: 5px; /* Ronde hoeken */
    padding: 5px 10px; /* Padding binnen de tooltip */
    position: absolute;
    z-index: 1;
    bottom: 125%; /* Plaats de tooltip boven de tekst */
    left: 50%;
    margin-left: -125px; /* Centraal uitlijnen */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); /* Schaduw voor diepte */
    opacity: 0; /* Tooltip standaard onzichtbaar */
    transition: opacity 0.3s ease-in-out; /* Animatie voor fade-in */
    font-weight: normal !important; /* Normaal gewicht voor de tekst */
}

.tooltip:hover .tooltip-text {
    visibility: visible; /* Maak de tooltip zichtbaar */
    opacity: 1; /* Volledig zichtbaar */
}

#discount-code-section {
	margin-top:5px;
}
#discount-code-section input {
    width: 150px;
    padding: 7px;
    border: 1px solid #ccc;
    border-radius: 15px 0 0 15px;
    font-size: 13px;
	color: #a1a1a1;
	text-align: center;
}

#discount-code-section input::placeholder {
    color: #c1c1c1; /* Pas de kleur aan naar je voorkeur */
}

#discount-code-section .btn-apply {
    width: 80px;
    padding: 7px;
    color: #fff;
    background-color: #F68D1F;
    border: 1px solid #F68D1F;
    border-radius: 0 15px 15px 0px;
	font-size: 13px;
    cursor: pointer;	
}

.cart-items {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.cart-item {
	position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 20px;
    border: 1px solid #fff;
    border-radius: 15px;
    background-color: #fff;
	transition: border-color 0.3s ease;
}
.cart-item:hover{
	border-color: #6b952d;
}

.cart-item-left {
    flex: 1;
    padding: 10px;
    max-width: 225px;
}

.cart-item-middle {
    flex: 2;
    padding: 10px;
}

.cart-item-right {
    flex: 1.5;
    text-align: left;
	background: #ffffff;
	border: 2px solid #e1e1e1;
	border-radius: 15px;
	padding: 20px;
	box-shadow: none;
}

.cart-item-right:hover{
	box-shadow: 0 3px 10px rgb(0 0 0 / 0.2);
	border-color: #fff;
}

.cart-item-right h3 {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 15px;
	color:#6b952d;
	
}

.cart-item-right p {
	font-size: 14px;
	line-height: 20px;
}

.cart-item-image img {
    max-width: 100%;
    border-radius: 5px;
}

.cart-item-details {
    padding: 10px;
}

.cart-item-details h2 {
    font-size: 1.5em;
    margin-bottom: 10px;
}

.cart-item-details p {
    margin: 5px 0;
}
.cart-item-details p.TextCardP {
	width: 90%;
	line-height: 20px;
	color: #a1a1a1;
}

.cart-item-details li { 
	line-height: 20px;
}

.cart-item-details h3 {
    margin-top: 14px;
}

.AddonsBoxItems {
	border-top:1px solid #ddd;
	margin-top: 20px;
	padding-top: 7px;
	width: 75%;
}

	div#discount-code-field {
		padding: 20px;
		border: 1px solid #ddd;
		border-radius: 15px;
	}
    .discount-section {
        text-align: center;
        margin-top: 20px;
    }

    .discount-section h2 {
        font-size: 16px;
        color: #6b952d;
    }

    .total-cost {
        text-align: center;
        margin-top: 40px;
    }

    .total-cost h2 {
        font-size: 24px;
        color: #333;
    }
    .total-cost small {
        color: #a1a1a1;
        line-height: 30px;
        font-size: 14px;
    }

.quantity-wrapper {
    display: flex;
    align-items: center;
    gap: 5px; /* Pas de afstand aan tussen de knoppen en het inputveld */
	margin-top: 15px;
}

.quantity-input {
    width: 40px;
    text-align: center;
    border: 1px solid #ccc;
    font-size: 14px;
    padding: 5px;
    -moz-appearance: textfield; /* Voor Firefox */
}

.quantity-input::-webkit-outer-spin-button,
.quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.quantity-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 28px;
    cursor: pointer;
    font-size: 17px;
    font-weight: bold;
    border: 1px solid #ccc;
}

.quantity-button.minus {
    border-radius: 15px 0 0 15px;
    color: #777;
    background-color: transparent;
}

.quantity-button.plus {
    border-radius: 0 15px 15px 0;
    background-color: transparent;
    color: #777;
}

.quantity-button.remove {
    border: none;
    margin-right: 5px; /* Voeg ruimte toe tussen de prullenbakknop en de min-knop */
    color: #777;
    background-color: transparent;
}

.quantity-button.remove img {
    width: 18px;
    height: 18px;
}

.quantity-button:active {
    transform: scale(0.95);
}

.remove-icon {
    position: absolute;
    top: 8px;
    right: 10px;
    font-size: 26px;
    color: #a1a1a1;
    cursor: pointer;
}

.remove-icon:hover {
    color: #F68D1F; /* Rood bij hover als visuele feedback */
}

.btn-checkout {
	background-color: #6b952d; 
	color: #ffffff;;
	padding: 17px 90px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	font-size: 18px;
	font-weight: bold;
	margin: 4px 2px;
	margin-bottom:20px;
	cursor: pointer;
	border-radius: 30px;
	transition: background-color 0.3s ease;
}
.btn-checkout.top {
	padding: 10px 45px;
	font-size: 16px;
}
.btn-checkout:hover{
	background-color: #52700E; 
}

.btn-addons, .btn-address, .btn-save, .btn-cancel, .btn-date {
    display: inline-block;
    width: 210px;
    margin: 10px 10px 0 0;
    padding: 10px 15px;
    color: #fff;
    background-color: #52700E;
    border: none;
    border-radius: 30px;
    cursor: pointer;
	transition: background-color 0.3s ease;
}
.btn-address:hover {
	background-color: #6b952d;
}
.btn-addons {
    background-color: transparent;
	border: 1px solid #777;
	color: #555;
	padding: 7px 7px;
	width: 185px;
	transition: background-color 0.3s ease;
}
.btn-cancel.small {
    background-color: transparent;
	border: 1px solid #c1c1c1;
	color: #a1a1a1;
	padding: 10px 15px;
	width: 135px;
}
.btn-addons.invoices {
	width: 225px;
	background-color: #52700E;
	color: #fff;
	border: none;
	padding: 10px 10px;
}
.btn-addons:hover {
	color: #333;
	border: 1px solid #555;
	text-decoration: underline;
}
.btn-addons.invoices:hover {
	color: #fff;
	border: none;
	text-decoration: none;
	background-color: #6b952d;
}
.btn-save {
    background-color: #6b952d;
	width: 135px;
}

.btn-save.big {
	width: 185px;
}

.btn-save:hover {
	background-color: #52700E;
}

.btn-cancel {
    background-color: #F68D1F;
	width: 135px;
}

.btn-confirm {
    background-color: #F68D1F;
}

.btn-confirm.green {
    background-color: #6b952d;
}

.btn-remove {
	background-color: transparent;
	border:none;
	text-decoration: underline;
	color: #a1a1a1;
	cursor: pointer;
}

.popup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    z-index: 1234;
	width: 450px;
}

 .customText {
  padding: 15px;
  border: 1px solid #d1d1d1;
  border-radius:8px;
  font-family: Arial, sans-serif;
  font-size: 14px;
  text-align: center;
  background-color: #fff;
  width: 100%;
  min-width: 250px;
  height: 125px;
  resize: none; /* Voorkom dat gebruikers de textarea kunnen vergroten/verkleinen */
}

input[name^="ribbonText"] {
  padding: 10px;
  border: 1px solid #d1d1d1;
  border-radius: 8px;
  font-family: Arial, sans-serif;
  font-size: 14px;
  background-color: #fff;
  width: 450px;
  margin-bottom: 7px;
  position: relative;
}

.popup-input-container {
    position: relative;
    margin-bottom: 10px;
}

.popup-ribbontextarea {
    width: 100%;
    padding-right: 50px; /* Zorg voor ruimte voor de counter */
    box-sizing: border-box;
}

.popup-char-counter {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    color: #a1a1a1;
    white-space: nowrap;
}

.input-container {
  position: relative;
  width: 450px;	
  background-color: aliceblue;	
}

.char-counter {
  position: absolute;
  right: 10px;
  bottom: 10px;
  font-size: 12px;
  color: #a1a1a1;
}


 select#addonSelect, select#ribbonColorSelect {
    width:80%;
    padding: 10px;
    margin: 10px 0 5px 0;
	border-radius: 8px;
	border: 2px solid #a1a1a1;
	font-size: 14px;
}

.notification {
    padding: 15px;
    margin-bottom: 15px;
    border: 1px solid transparent;
    border-radius: 4px;
}

.notification.success {
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6;
}

.notification.error {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
}

/* Modern styling voor de formulier elementen */
.address-form, .date-form {
    margin-top: 10px;
}

.address-form label, .date-form label {
    display: block;
    margin: 5px 0;
    font-weight: bold;
}

.address-form input, .address-form select, .date-form input {
    width: 100%;
    padding: 10px;
    margin: 5px 0 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1em;
}

    /* Geldige velden: lichtgroene achtergrond + subtiele groene rand + checkmark */
    .address-form input.field-valid,
    .address-form select.field-valid,
    .address-form textarea.field-valid {
        background-color: #f9fdf5;
        border-color: #6b952d !important;
        box-shadow: 0 0 0 1px rgba(76, 175, 80, 0.25);
        padding-right: 2rem;
        background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%236b952d' d='M6.173 12.414L2.05 8.293 3.464 6.879l2.709 2.708 6.364-6.364 1.414 1.415z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 0.6rem center;
        background-size: 14px 14px;
    }

    /* Ongeldige velden: heel lichte roodtint ter indicatie */
    .address-form input.field-invalid,
    .address-form select.field-invalid,
    .address-form textarea.field-invalid {
        background-color: #fff5f5;
        border-color: #e53935 !important;
        box-shadow: 0 0 0 1px rgba(229, 57, 53, 0.2);
    }

.address-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
	width: 90%;
}

.address-column {
    flex: 1;
}

.address-column input {
    width: 100%;
}

.address-error {
    width: 100%;
    background-color: #f8d7da;
    color: #721c24;
    font-weight: bold;
    padding: 10px;
    text-align: center;
	font-size:12px;
	line-height:20px;
    margin-bottom: 15px;
    border: 1px dashed #721c24;
    border-radius: 5px;
}

.address-suggestions {
    position: absolute;
    background: white;
    border: 1px solid #ccc;
    max-height: 150px;
    overflow-y: auto;
    width: 100%;
    z-index: 9999;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}

.address-suggestion-item {
    padding: 10px;
    cursor: pointer;
    border-bottom: 1px solid #eee;
}

.address-suggestion-item:hover {
    background: #f2f2f2;
}

.no-results {
    padding: 10px;
    color: #888;
    text-align: center;
}

.date-form {
    border: 1px solid #ddd;
    padding: 20px;
    border-radius: 5px;
    background-color: #f9f9f9;
    margin-top: 10px;
}

.date-form h3 {
    margin-bottom: 10px;
}

.date-form input {
    width: 100%;
    max-width: 200px;
    padding: 10px;
    margin: 5px 0 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1em;
}

/* Voeg een achtergrondafbeelding toe voor de kalender */
.date-input-icon {
    background: #FFF url('/assets/images/calendar-icon.png') no-repeat right 10px center;
    background-size: 20px 20px; /* Zorg ervoor dat het icoon past */
    padding-right: 60px; /* Zorg dat er ruimte is voor het icoon aan de rechterkant */
}


.incompleteshoppingcart {
	width: 60%; 
	background-color: #fff8e1; 
	font-size: 14px; 
	color: #333; 
	padding: 15px; 
	text-align:center; 
	margin: 0 auto; 
	margin-top:15px;
	margin-bottom:15px;
	border: 2px dashed #ffc107; 
	border-radius:15px; 
	display: none;
}

.checkout-container {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.checkout-left {
    justify-content: space-between;
    align-items: flex-start;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 15px;
    background-color: #fff;
	transition: border-color 0.3s ease;		
}
.checkout-left:hover{
	border-color: #6b952d;
}
.checkout-right {
    background-color: #ffffff;
    padding: 20px;
    border-radius: 15px;
	box-shadow: 0 2px 5px rgb(0 0 0 / 0.2);
}

.checkout-left {
    flex: 0 0 49%;
}

.checkout-right {
    flex: 0 0 49%;
}

/* Formuliervelden */
.checkout-left input[type="text"],
.checkout-left input[type="email"],
.checkout-left input[type="tel"],
.checkout-left input[type="number"],
.checkout-left select {
    width: 80%;
    padding: 10px;
    margin-bottom: 10px;
    border: 1px solid #b9b9b9;
    border-radius: 5px;
    font-size: 16px;
    box-sizing: border-box;
}

.checkout-left label {
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
}

    /* Geldig veld: lichtgroen + subtiele groene rand + checkmark rechts */
    input.field-valid,
    select.field-valid,
    textarea.field-valid {
        background-color: #f9fdf5;
        border-color: #6b952d !important;
        box-shadow: 0 0 0 1px rgba(76, 175, 80, 0.25);
        padding-right: 2rem;
        background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%236b952d' d='M6.173 12.414L2.05 8.293 3.464 6.879l2.709 2.708 6.364-6.364 1.414 1.415z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 0.6rem center;
        background-size: 14px 14px;
    }

    /* Ongeldig veld: lichte roodtint */
    input.field-invalid,
    select.field-invalid,
    textarea.field-invalid {
        background-color: #fff5f5;
        border-color: #e53935 !important;
        box-shadow: 0 0 0 1px rgba(229, 57, 53, 0.2);
    }

/* Zorgt ervoor dat de labels en radio buttons horizontaal naast elkaar staan */
.radio-group {
    display: flex;
    gap: 20px;
	margin: 12px 0;
}

.radio-group label {
    display: flex;
    align-items: center; /* Centreert de radio button en het label verticaal */
    margin-right: 20px; /* Optionele marge tussen het label en de radio button */
	cursor: pointer;
}

.radio-group label.createaccount {
	font-weight: normal;
}

.account-optin-box {
    border: 2px dashed #6b952d;
    border-radius: 5px;
    padding: 15px;
    margin-top: 10px;
    background-color: #f9fdf5;
	width: 80%;
}

.radio-group input[type="radio"] {
    margin-right: 12px; /* Ruimte tussen de radio button en het tekstlabel */
	cursor: pointer;
}

.error-field {
    border: 1px solid #721c24 !important;
    background-color: #f8d7da;
	color:#721c24 !important;
}

.error-text {
    color: #721c24;
    font-size: 14px;
    margin: 5px 0;
	padding:5px;
}

/* Rechter kolom: Overzicht van bestelde producten */
.checkout-right h3 {
    font-size: 18px;
    margin-bottom: 20px;
    color: #666;
	text-align: center;
	font-weight: bold;
}

.checkout-right p {
    font-size: 13px;
    line-height: 1.5;
    color: #666;
}

.checkout-right hr {
    margin: 10px 0;
    border: none;
    border-top: 1px solid #e1e1e1;
}

.checkout-right .right-column-cart-summary {
    padding: 15px;
    border: 1px solid #ddd;
    background-color: #f9f9f9;
    border-radius: 5px;
}

.checkout-right .cart-item-summary {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 15px;
}

.checkout-right .cart-item-info {
    flex-grow: 1;
    margin-left: 10px;
	color: #666;
}

.cart-item-summary {
    align-items: flex-start;
}

.cart-item-price p,
.cart-item-info p {
    margin: 0;
}

.cart-item-unitprice p {
    margin: 0;
	color:#C1C1C1;
}

/* Container voor elke betaalmethode met omkadering */
.paymentMethodsContainer {
	margin-bottom: 15px;
}
.payment-method-wrapper {
    border: 1px solid #e1e1e1;
    border-radius: 8px;
    margin-bottom: 5px;
    background: #fff;
    transition: all 0.3s ease; /* Animatie voor hover en select */
	cursor: pointer;
}

/* Vergroot de betaalmethode bij hover */
.payment-method-wrapper:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); /* Voeg een lichte schaduw toe */
    border-color: #6b952d; /* Verander de borderkleur bij hover */
}

/* Betaalmethode label met afbeelding en tekst */
.payment-label {
    display: flex;
    justify-content: space-between;
	padding:15px;
    align-items: center;
    width: 100%; /* Zorgt ervoor dat het element de volledige breedte gebruikt */
	cursor: pointer;
	position: relative;
}

.payment-label strong {
	color:#666;
}

/* Nieuwe toevoeging */
.payment-label .most-chosen {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: #6b952d;
    color: #fff;
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 10px;
    white-space: nowrap;
    pointer-events: none;
}

/* Zorg ervoor dat de afbeelding naar rechts wordt uitgelijnd */
.payment-icon {
    height: 20px;
	width:auto;
    margin-left: auto; /* Duwt de afbeelding naar rechts */
}

/* Select dropdown voor iDEAL banken */
#idealBanks, #cardTypes {
    width: 100%;
    max-width: 175px;
	margin-left: 15px;
}

.payment-method select {
    width: 100%;
    padding: 5px;
    margin: 5px 0 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1em;
}

/* Groene omkadering voor de geselecteerde betaalmethode */
.payment-method-wrapper.selected {
    border-color: #6b952d;
    background-color: #f4f9ef; /* Optioneel: geef een lichtgroene achtergrond */
}

/* Zorg dat de radio button zichtbaar blijft */
.payment-label input[type="radio"] {
    margin-right: 10px;
}

.discount-amount-wrapper {
    text-align: center;
    margin-bottom: 15px;
    padding: 10px;
    border: 2px dashed #6b952d;
    border-radius: 8px;
    background-color: #fff;
}

.discount-amount {
    font-size: 14px;
    color: #333;
    font-weight: bold;
}

.discount-value {
    font-size: 14px;
    color: #6b952d;
    font-weight: bold;
}

.checkout-right .cart-item-price {
    text-align: right;
    white-space: nowrap;
	color: #666;
}

.checkout-right .cart-item-price p {
    margin: 0;
}

.checkout-right .cart-item-image {
    width: 75px;
    height: 75px;
    margin-right: 10px;
    object-fit: cover;
}

.checkout-right .cart-item-addons {
    margin-left: 15px;
    list-style-type: none;
    padding-left: 0;
}

.checkout-right .cart-item-addons li {
    font-size: 14px;
    color: #555;
}

.checkout-right .cart-item-delivery {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.checkout-right .cart-item-delivery p {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
}

.checkout-right .cart-item-delivery .delivery-price {
    text-align: right;
    white-space: nowrap;
}


.checkout-right .cart-total {
    margin-top: 20px;
}

.checkout-right .cart-total p {
    font-size: 16px;
}

.checkout-right p.total-price {
    font-size: 18px;
    font-weight: bold;
    color: #333;
}

p.checkouterrormsg {
	display:none;
	background-color: #f8d7da;
	color: #721c24;
	border: 1px dashed #721c24;
	border-radius: 25px;
	padding: 10px; 
	width: 65%; 
	margin: 10px 0; 
	font-weight:bold;
	text-decoration: underline;
}

/* Container voor login en registratie */
.klantlogin-container {
    display: flex;
    justify-content: space-between;
	width: 100%;
    gap: 50px;
	padding-top:20px;
}

/* Algemene form-container */
.form-container {
    flex: 1;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 10px;
    background-color: #ffffff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.form-container a { color: #0066CC; text-decoration:underline; }

/* Input velden */
.input-field {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 14px;
    box-sizing: border-box;
}

/* Knoppen */
.btn-login {
    width: 45%;
	display: block;
    padding: 12px;
    background-color: #6b952d;
    color: white;
    border: none;
    cursor: pointer;
    font-size: 16px;
    border-radius: 20px;
	margin: 0 auto;
    transition: background-color 0.3s ease;
}
.btn-login.orange {
	background-color: #F68D1F;
}
.btn-login.orange.save {
	background-color: #F68D1F;
	margin:0;
}
.btn-login.green.save {
	background-color: #6b952d;
	margin:0;
}
.btn-login:hover {
    background-color: #52700E;
}
.btn-login.orange.save:hover {
    background-color: #52700E;
}
.btn-login.green.save:hover {
    background-color: #52700E;
}

/* Container voor klantaccount dashboard */
.account-container {
    display: flex;
    gap: 20px;
}

.account-sidebar {
    width: 20%;
    background-color: #ffffff;
    padding: 20px;
    border-right: 1px solid #ddd;
	border-radius: 10px;
	box-shadow: 0 2px 5px rgb(0 0 0 / 0.2);	
}

.account-sidebar ul {
    list-style-type: none;
    padding: 0;
}

.account-sidebar ul li {
    margin-bottom: 20px;
}

.account-sidebar ul li a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
}

.account-sidebar ul li a:hover {
	color: #000;
	text-decoration: underline;
}

.account-content {
    width: 100%;
    padding: 25px;
    background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 15px	
}

.account-content h2 {
	color: #6b952d;
	font-weight: bold;
}
.account-content h3 {
	color: #333;
	font-weight: bold;
}
.account-content p {
	line-height: 24px;
	width: 90%;
}

.account-content ul {
	list-style: disc !important;
    list-style-type: disc !important; 
	margin-top: 15px;
    margin-left: 20px;
    padding-left: 10px;
}

.account-content ul li {
    display: list-item !important;
	list-style: disc !important;
    line-height: 20px;
    margin-bottom: 10px;
    color: #000;
}

.account-content ul li::marker {
    color: #6b952d; /* Gebruik dezelfde groene kleur als in de kopteksten */
    font-size: 1.3em; /* Maak de opsommingstekens iets opvallender */
}

.account-content ul li a {
	color: #6b952d;
}

/* AV en Privay pages: */
.page-title {
    color: #6b952d;
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
}

.intro-text {
    font-size: 14px;
    margin-bottom: 20px;
    text-align: justify;
}

.table-of-contents {
    margin-bottom: 30px;
    padding: 15px;
    background-color: #f8f9fa;
    border-radius: 5px;
}

.table-of-contents h3 {
    font-size: 18px;
    margin-bottom: 10px;
}

.table-of-contents ul {
    list-style: none;
    padding: 0;
	padding-left: 20px;
    margin: 0;
}

.table-of-contents ul.sub {
    list-style: none;
    padding: 0;
	padding-left: 20px;
    margin: 0;
}

.table-of-contents li {
    margin-bottom: 5px;
}

.table-of-contents a {
    text-decoration: none;
    color: #6b952d;
}

.table-of-contents a:hover {
    text-decoration: underline;
}

.content-section {
    margin-bottom: 30px;
}

.content-section h3 {
    color: #6b952d;
    font-size: 20px;
    margin-bottom: 10px;
}

.content-section p,
.content-section ul {
    font-size: 15px;
    margin: 10px 0;
}

.content-section ul {
    padding-left: 20px;
    list-style-type: disc;
}

.content-section ul[type="a"] {
    list-style-type: lower-alpha;
}


	/* Dashboard welkom sectie */
	.dashboard-welcome {
		margin-bottom: 20px;
		line-height: 22px;
	}

	/* Stijlen voor de dashboard kaarten */
	.dashboard-cards {
		display: flex;
		gap: 20px;
		flex-wrap: wrap;
	}

	.dashboard-card {
		background-color: #fff;
		padding: 20px;
		border: 1px solid #f1f1f1;
		border-radius: 10px;
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
		flex: 1;
		max-width: 300px;
		text-align: left;
		transition: transform 0.2s ease;
	}

	.dashboard-card:hover {
		transform: translateY(-5px);
	}

	.dashboard-card h3 {
		font-size: 18px;
		color: #333;
		display: flex;
		align-items: center;
	}

	.dashboard-card h3 i {
		margin-right: 8px;
	}

	.order-details p {
		font-size: 14px;
		color: #333;
		margin: 8px 0;
	}

	/* Button styling */
	.btn {
		display: inline-block;
		margin-top: 15px;
		padding: 10px 15px;
		background-color: #6b952d;
		color: #fff;
		border-radius: 20px;
		text-decoration: none;
		font-size: 14px;
	}

	.btn:hover {
		background-color: #F68D1F;
	}

	.btn-view-all {
		display: inline-block;
	}

	.btn-shop-now {
		display: inline-block;
		background-color: #6b952d;
	}

	.btn-shop-now:hover {
		background-color: #F68D1F;
	}

/* Stijlen voor de bestelgeschiedenis tabel */
.table-orders-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* Smooth scroll voor mobiele apparaten */
}

.table-orders {
    width: 100%;
    min-width: 800px; /* Minimum breedte van de tabel, zodat hij breder is dan een mobiel scherm */
    border-collapse: collapse;
	border: 1px solid #ddd;
}

.table-orders th, .table-orders td {
    padding: 10px;
    text-align: left;
	font-size: 14px;
    border-bottom: 1px solid #ddd;
    white-space: nowrap; /* Zorg ervoor dat de inhoud niet naar de volgende regel gaat */
}

.table-orders td {
    font-size: 14px;
    line-height: 1.5;
}


.table-orders th {
    background-color: #f2f2f2;
}

.table-orders tr {
    border-bottom: 1px solid #ddd;
}

a.toggle-products span { margin-right: 2px; padding-bottom: 2px; }
a.toggle-products { text-decoration: none;}

/* Badges voor orderstatus */
.status-badge {
    padding: 3px 10px;
    color: white;
    border-radius: 7px;
	font-size: 12px;
    display: inline-block;
}

	.status-new { background-color: #0A88EF; color: #fff; } /* Hoofdkleur voor nieuwe orders */
	.status-processing { background-color: #EF970A; color: #fff; } /* Lichtere tint van de hoofdkleur */
	.status-shipped { background-color: #EFC30A; color: #fff; } /* Secundaire kleur met een lichtere tint */
	.status-delivered { background-color: #89aa57; color: #fff; } /* Primaire kleur */
	.status-cancelled { background-color: #c94c1f; color: #fff; } /* Donkerdere, opvallende tint */
	.status-default { background-color: #c3c3c3; color: #333; } /* Neutrale tint voor onbekende status */

.order-products {
    background-color: #f9f9f9;
}

.order-products ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.order-products ul {
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    list-style-type: none; /* Verwijder bullet-points */
    padding: 0;
    margin: 0;
}

.order-products ul, .order-products ul li {
    font-size: inherit;
    line-height: inherit;
    margin: 0;
    padding: 0;
}

/* Wrapper for order items */
.order-items-wrapper {
    display: flex;
    flex-direction: column;
    gap: 15px; /* Ruimte tussen items */
}

/* Styling voor elk item binnen de bestelling */
.order-item-details {
    font-size: 12px; /* Consistente grootte */
    padding: 10px;
    background-color: #fff;
    border-radius: 5px;
    border: 1px solid #ddd;
}

/* Specifieke styling voor de titel en status */
.order-item-details .item-title {
    font-weight: bold;
    margin-bottom: 5px;
}

.order-item-details .item-details,
.order-item-details .item-status {
    font-size: 12px;
    color: #333;
}

/* CSS voor een dunne, omhoog en omlaag wijzende pijl */
.arrow-toggle {
    display: inline-block;
    width: 0; 
    height: 0; 
    margin-left: 5px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #c1c1c1; /* Kleur voor de omhoog-pijl */
    transition: transform 0.3s;
}

.arrow-toggle.down {
    border-top: none;
    border-bottom: 5px solid #c1c1c1; /* Kleur voor de omlaag-pijl */
}

.btn-download {
    padding: 5px 10px;
    background-color: #007bff;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
}

.btn-download:hover {
    background-color: #0056b3;
    color: #fff;
}

/* Algemene styling voor de Track & Trace-pagina */
.track-trace-page {
    font-family: Arial, sans-serif;
    color: #333;
    line-height: 22px;
	padding-top: 20px;
}

.track-trace-page .container {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
	background: #ffffff;
}

/* Titel styling */
.track-trace-page h2 {
    color: #6b952d;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
}
.track-trace-page h3 {
    color: #6b952d;
    font-size: 18px;
    font-weight: bold;
    margin: 20px 0;
}

/* Order items container */
.track-trace-page .order-items {
    text-align: left;
    margin-top: 20px;
}

.track-trace-page .order-item {
    border: 1px solid #ddd;
    padding: 10px;
    margin-bottom: 10px;
    border-radius: 10px;
    display: flex;
    align-items: center;
}

/* Afbeeldingen styling */
.track-trace-page .order-item img {
    max-width: 150px;
    border-radius: 10px;
}

/* Flex containers */
.track-trace-page .order-item div {
    padding-left: 15px;
}

.track-trace-page .order-item div:first-child {
    flex: 1;
}

.track-trace-page .order-item div:nth-child(2) {
    flex: 2;
}

.track-trace-page .order-item div:last-child {
    flex: 3;
}

/* Bezorggegevens styling */
.track-trace-page .order-item p {
    margin: 5px 0;
}

/* Knop styling */
.track-trace-page .btn-view-all {
    display: inline-block;
    background-color: #6b952d;
    color: #fff;
    text-decoration: none;
    padding: 10px 20px;
    border-radius: 20px;
    font-size: 16px;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.track-trace-page .btn-view-all:hover {
    background-color: #5a8424;
}
 
/* Formuliervelden: klantaccount & klantenservice: */
.order-history { width:50%;}
.order-history.klantenservice { background: #f9f9f9; padding:20px; border:1px solid #e9e9e9; border-radius: 7px; }
.order-history.register { width:100%;}
.order-history input[type="text"],
.order-history input[type="email"],
.order-history input[type="tel"],
.order-history input[type="number"],
.order-history input[type="password"],
.order-history textarea,
.order-history select {
    width: 80%;
    padding: 10px;
    margin-bottom: 10px;
    border: 1px solid #b9b9b9;
    border-radius: 5px;
    font-size: 16px;
    box-sizing: border-box;
}

.order-history textarea {
	height: 100px;
}

.order-history .g-recaptcha {
	border-radius: 5px !important;
}

div.photouploadbox{
	margin-bottom: 10px;
	background: #fff;
	padding:15px;
	width:80%;
	border-radius: 5px;
	border:1px solid #b9b9b9;
}

.order-history label {
    display: block;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
}

.order-history .radio-group {
    display: flex;
    gap: 20px;
	margin: 12px 0;
}

.order-history .radio-group label {
    display: flex;
    align-items: center; /* Centreert de radio button en het label verticaal */
    margin-right: 20px; /* Optionele marge tussen het label en de radio button */
}

.order-history .radio-group input[type="radio"] {
    margin-right: 12px; /* Ruimte tussen de radio button en het tekstlabel */
}

/* Stijlen voor chat widget: */
#chat-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Aanpasbare transparantie */
    display: none; /* Verborgen tot de chat wordt geopend */
    z-index: 1001; /* Zorg ervoor dat het achter het chatvenster maar boven de rest ligt */
}

#chat-widget {
    position: fixed;
    bottom: 20px;
    left: 20px; /* Verplaats naar de linkerkant */
    right: auto; /* Verwijder de rechterkant positionering background-color: rgba(107, 149, 45, 0.7); */
	background-color: rgba(200, 200, 200, 0.9); 
    color: white;
    padding: 10px 20px;
    border-radius: 20px;
    cursor: pointer;
    font-weight: bold;
    font-size: 1rem;
}

#chat-widget:hover {
    background-color: #52700E;
}

#chat-window {
    position: fixed;
    bottom: 20px;
    left: 20px; 
    right: auto; 
	padding:10px;
	background-color: #f9f9f9;
	max-width: 350px;
    max-height: 500px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    border: 1px solid #e0e0e0;
    border-radius: 10px;
	z-index: 1002;
}

#chat-messages {
    height: 300px;
    overflow-y: auto;
    margin-bottom: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#chat-messages::-webkit-scrollbar {
    width: 8px; /* Breedte van de scrolbalk */
}

#chat-messages::-webkit-scrollbar-thumb {
    background-color: #888; /* Kleur van de scrolbalk */
    border-radius: 4px;
}

#chat-messages::-webkit-scrollbar-thumb:hover {
    background-color: #555; /* Kleur bij hover */
}

.user-message, .bot-message {
    max-width: 75%;
    padding: 10px 15px;
    border-radius: 10px;
    line-height: 1.4;
    font-size: 0.95rem;
    word-wrap: break-word;
    display: inline-block;
}

.user-message {
    align-self: flex-end;
    background-color: #dcf8c6;
    color: #303030;
    border-top-right-radius: 0px;
}

.bot-message {
    align-self: flex-start;
    background-color: #ffffff;
    color: #303030;
    border-top-left-radius: 0px;
    border: 1px solid #e0e0e0;
}

#chat-input {
    width: 100%;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    padding: 10px;
    font-size: 1rem;
    margin-bottom: 5px;
}

.chat-buttons {
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

#send-button {
    flex: 1;
    padding: 10px;
    background-color: #6b952d;
    color: white;
    border: none;
    border-radius: 25px;
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#send-button:hover {
    background-color: #52700E;
}

#close-chat-button {
    padding: 10px;
    background-color: #F68D1F;
    color: white;
    border: none;
    border-radius: 25px;
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer;
    width: 40%;
}

#close-chat-button:hover {
    background-color: #e69500;
}
	
.message-sender {
    font-size: 0.85rem;
    font-weight: bold;
    display: block;
}

.user-message .message-sender {
    text-align: right;
    color: #34b7f1;
    padding-bottom: 5px;
}

.bot-message .message-sender {
    text-align: left;
    color: #6b952d;
    padding-bottom: 5px;
}

.message-time {
    font-size: 0.75rem;
    color: gray;
    display: block;
    margin-top: 2px;
}

.user-message .message-time {
    text-align: right;
}

.bot-message .message-time {
    text-align: left;
}

.chat-message {
    opacity: 0;
    transition: opacity 0.5s ease-in;
}

.chat-message.visible {
    opacity: 1;
}

/* Stijlen voor de Lokaal SEO en provincie / gemeente en plaats layout */
.LokaalPages {
	margin-top: 10px;
}
.LokaalPagesContent {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;	
	background-color: #ffffff;
}
.LokaalPagesContent.bgcolor {
    border: none;
    border-radius: 8px;
    padding: 15px;	
	background-color: #ffffff;
	margin: 30px 0;
}
.LokaalPagesContent a {
	color:#6b952d;
}
.LokaalPagesContent a:hover {
	color:#333;
}
.LokaalPagesContent .button-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* Centraal uitgelijnd */
    gap: 15px; /* Ruimte tussen de knoppen */
    margin-top: 15px;
	margin-bottom:15px;
}

.LokaalPagesContent a.button {
    padding: 7px;
    display: inline-block;
    width: 275px;
    border-radius: 25px;
    font-size: 16px;
    color: #fff;
    font-weight: normal;
    line-height: 18px;
    background: #6b952d;
    text-align: center;
    text-decoration: none;
    transition: background 0.3s ease-in-out;
}

.LokaalPagesContent a.button:hover {
    background: #86B417;
}

.LokaalPages h1 {
    font-family: 'Arial', sans-serif;
    font-weight: 700;
    color: #6b952d;
    text-align: center; /* Zorgt dat de titels gecentreerd zijn */
    margin: 10px 0;	
}
.LokaalPages h2 {
    font-family: 'Arial', sans-serif;
    font-weight: 700;
    color: #333;
    text-align: center; /* Zorgt dat de titels gecentreerd zijn */
    margin: 10px 0;	
}	
.LokaalPages p {
    font-size: 1rem;
    color: #555;
    text-align: center;
    line-height: 1.6;
	width:85%;
	margin: 0 auto;
}
.province-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
    padding: 20px;
    background-color: #fffff;
    border-radius: 8px;
	margin-bottom: 20px;
}

.province-block {
    background-color: #ffffff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.province-block:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.province-block h3 {
    font-size: 18px;
    font-weight: bold;
    color: #333;
    margin-bottom: 10px;
}

.municipality-list {
    list-style: none;
    padding: 0;
    margin: 0;
    min-height: 300px;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.municipality-list.expanded {
    max-height: none;
}

.municipality-list li {
    font-size: 14px;
    color: #666;
    padding: 5px 0;
    border-bottom: 1px solid #eee;
}

.municipality-list li:last-child {
    border-bottom: none;
}

.view-more {
    font-size: 14px;
    color: #007BFF;
    cursor: pointer;
    text-align: center;
    padding: 8px;
	font-weight: bold;
	margin-top: 10px;
}

.view-more:hover {
    text-decoration: underline;
}


.municipality-list a {
    color: #555;
    text-decoration: none;
}

/* Populaire plaatsen */
.popular-places {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
	width: 50%;
    padding: 10px 0;
    list-style: none; /* Verwijdert de standaard bullet-points */
    text-align: center; /* Zorgt dat de links gecentreerd blijven */
	margin:0 auto;
}

.popular-places li {
    list-style: none;
}

.popular-places a {
    text-decoration: none;
    font-size: 1rem;
    color: #6b952d;
    padding: 8px 12px;
    border: 1px solid #6b952d;
    border-radius: 5px;
	background: #fff;
    transition: background-color 0.3s, color 0.3s;
    display: inline-block;
}

.popular-places a:hover {
    background-color: #6b952d;
    color: #fff;
}


/* USP-sectie */
.usp-section {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    margin: 30px 0;
    padding: 20px;
    background-color: #ffffff;
    border-radius: 8px;
}

.usp-block {
    flex: 1 1 30%;
    max-width: 30%;
    margin: 10px;
    text-align: center;
    padding: 20px;
    background-color: #f4f4f1;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s;
}

.usp-block:hover {
    transform: scale(1.05);
}

.usp-block h3 {
    font-size: 1.2rem;
    color: #6b952d;
    margin-bottom: 10px;
	font-weight: bold;
}

.usp-block p {
    font-size: 1rem;
    color: #666;
}


/* Footer Layout */
#footerCntr {
	margin-top: 20px;
    background-color: #ffffff;
}

.footer-columns {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
}

.footer-column {
    flex: 1 1 200px;
    min-width: 200px;
}

.footer-column span.FooterHeader {
    font-size: 16px;
    font-weight: bold;
    color: #333;
	display: block;
    margin-bottom: 15px;
}

.footer-column ul {
    list-style: none;
    padding: 0;
}

.footer-column ul li {
    margin-bottom: 12px;
}

.footer-column ul li a {
    color: #555;
    text-decoration: none;
}

.footer-column ul li a:hover {
    color: #6b952d;
    text-decoration: underline;
}

.footer-column img.keurmerklogo {
	width:150px;
	height:auto;
	margin-top:25px;
}

/* Contactkolom styling */
.footer-column .contact-info {
    list-style: none;
    padding: 0;
    font-size: 14px;
    line-height: 1.8;
    color: #555;
}

.contact-info {
    list-style: none;
    padding: 0;
    margin: 0;
}

.contact-item {
    display: flex;
    align-items: flex-start; /* Zorgt ervoor dat het icoon bovenaan wordt uitgelijnd */
    margin-bottom: 10px;
    font-size: 14px;
    color: #555;
}

.contact-item svg {
    flex-shrink: 0;
    margin-right: 12px;
    margin-top: 4px; /* Optioneel, voor iets betere uitlijning met de tekst */
    fill: #777;
}

.contact-item a {
    color: #555;
    text-decoration: none;
}

.contact-item a:hover {
    color: #6b952d;
    text-decoration: underline;
}

/* Veilig betalen - betaalmethoden */
.payment-methods {
    margin: 20px 0 20px 0;
}

.payment-icons {
    display: grid; /* Gebruik grid voor meer controle */
    grid-template-columns: repeat(3, 1fr); /* Maximaal 3 iconen naast elkaar */
    gap: 5px; /* Ruimte tussen de iconen */
    margin-top: 15px;
}

.payment-icons img {
    width: 45px;
    height: auto;
	margin-top: 15px;
	opacity: 0.7;
    filter: grayscale(100%); /* Grayscale effect voor een rustige uitstraling */
    transition: filter 0.3s ease;
}

.payment-icons img:hover {
    filter: grayscale(0%); /* Kleuren weer zichtbaar bij hover */
}

/* Copyright sectie styling */
.footer-copyright-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
    border-top: 1px solid #e1e1e1;
    padding: 15px 0;
    flex-wrap: wrap; /* Zorgt ervoor dat de items kunnen wrappen */
}

/* Default weergave voor grotere schermen */
.footer-copyright-left {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #555;
    font-weight: bold;
}

.footer-copyright-left span {
    padding-top: 7px;
}

.footer-copyright-left img {
    width: 125px;
    height: auto;
}

.footer-copyright-right {
    font-size: 14px;
    font-weight: bold;
    color: #777;
    text-align: right;
}


.helpBox {display: none;}

/* Algemene voorwaarden popup */
.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7); /* semi-transparante achtergrond */
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.popup-content {
    background: #fff;
    padding: 20px;
    width: 80%;
    max-width: 600px;
    max-height: 80vh; /* Beperkte hoogte */
    overflow-y: auto; /* Scrollen bij overflow */
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    position: relative;
}

.popup-content::-webkit-scrollbar {
    width: 8px; /* Breedte van de scrolbalk */
}

.popup-content::-webkit-scrollbar-thumb {
    background-color: #888; /* Kleur van de scrolbalk */
    border-radius: 4px;
}

.popup-content::-webkit-scrollbar-thumb:hover {
    background-color: #555; /* Kleur bij hover */
}

.popup-close {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 30px;
    cursor: pointer;
}

.fixed-close-button {
    position: fixed;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    padding: 10px 20px;
    background-color: #F68D1F;
    color: #fff;
	font-size: 14px;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.3);
    display: none; /* Verberg standaard */
    z-index: 1001; /* Zorg dat de knop bovenaan de popup blijft */
}

/* ### product verwijderen notificatie popup ### */
#confirmPopup {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

#confirmPopup .image-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px 0;
}

/* ### kaartje toevoegen notificatie popup ### */
.popup {
	text-align: center;
    position: fixed;
    left: 50%;
    top: 50%;
	min-width: 300px;
    transform: translate(-50%, -50%);
    background-color: white;
    padding: 20px;
    border: 1px solid #ddd;
	border-radius: 20px;
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
    z-index: 1000;
    animation: jumpIn 0.2s;
}
.popup input[name^="ribbonText"] {
	max-width:300px;
}
.popup h2 { font-size: 22px; color:#6b952d; font-weight: bold; }
.popup p { margin:25px 0; font-size: 14px; line-height: 24px; }
.popup button { padding: 12px 25px; border-radius: 20px; font-size: 14px; font-weight: bold; border:none; cursor: pointer;color:#fff; }
.popup button.choosecard { margin-right: 10px; background-color: #F68D1F; }
.popup button.nocard { background-color: #6b952d; }

/* ### top box Login popup voor Mobiel: ### */
.login-popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Achtergrond met transparantie */
    z-index: 1001;
}

.login-content {
    background-color: #fff;
    margin: 15% auto; 
    padding: 20px;
    width: 90%;
    max-width: 400px; 
    border: 1px solid #ddd;
	border-radius: 20px;
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
	text-align: center;
}

.login-content span.PopupHeader { font-size: 22px; color:#6b952d; font-weight: bold; }
.login-content p { margin:25px 0; font-size: 14px; line-height: 24px; }
.login-content a { color: #0066CC; text-decoration:underline; }
.login-content input.loginfield { border: 1px solid #a1a1a1; border-radius: 8px; font-size: 13px; text-align: left; background-color: #fff; width: 100%; height: 35px; padding-left: 10px; display: block; resize: none; }
.login-content button { padding: 12px 25px; border-radius: 20px; font-size: 14px; font-weight: bold; border:none; cursor: pointer;color:#fff; }
.login-content button.loginButton { margin-right: 10px; background-color: #6b952d; }
.login-content button.regButton { margin-right: 10px; background-color: #F68D1F; }

.remember-me-container {
    display: inline-flex;
    align-items: center;
    margin-top: 10px; /* Extra ruimte boven de container */
    margin-bottom: 10px; /* Extra ruimte onder de container */
}

.remember-me-container input[type="checkbox"] {
    margin-right: 8px; /* Ruimte tussen checkbox en label */
}

.remember-me-container label {
    font-size: 14px;
    line-height: 1.5;
}

.close-btn {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close-btn:hover {
    color: #000;
}

/* Laadicoontje stijl */
.loader {
    border: 4px solid #f3f3f3;
    border-radius: 50%;
    border-top: 4px solid #3498db;
    width: 16px;
    height: 16px;
    animation: spin 2s linear infinite;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes jumpIn {
    from {transform: translate(-50%, -50%) scale(0.5);}
    to {transform: translate(-50%, -50%) scale(1);}
}

@keyframes subtlePulse {
    0% { box-shadow: 0 0 0 rgba(82, 112, 14, 0.5); }
    50% { box-shadow: 0 0 15px rgba(134, 175, 35, 0.9); }
    100% { box-shadow: 0 0 0 rgba(82, 112, 14, 0.5); }
}

.pulse-animation {
    animation: subtlePulse 1.5s ease-in-out 8;
    font-smooth: never;
    -webkit-font-smoothing: none;
    -moz-osx-font-smoothing: grayscale;
    backface-visibility: hidden;
    perspective: 1000px;
    transform: translate3d(0, 0, 0);
}


/* #Media Queries
================================================== */
/* .mobilelogo2 { display: none; } */
.mobileHeaderBox { display: none; }
.deliveryDate { display: none;}
h2.ProdTitleMobile { display: none; }
.breadcrumb.mobile { display: none; }

.mobileshow { display: none; }
.mobilehide { display: block; }
.paymentBox { display: none; }
.mobileflagBox { display: none;  }
.mobileFooter { display: none; }
.backtotop { display: none; }

.character-counter { display: none; }
@media only screen and (max-width: 1199px) {
	.center { padding: 0px 10px; }
	#headerCntr .logo { width: 30%; }
	.rightBox { padding-left: 20px; width: 70%; }
	#headerCntr .menuBox li a { font-size: 15px; padding: 0px 7px; }

	.listBoxUsp ul { margin-right: -8px; }
	.listBoxUsp li { padding: 3px 8px 3px 20px; }

	.flowerBox li { width: 24%; }

	.productBox ul { padding: 0px; margin-right: -10px; }
	#headerCntr .logo .tagline { bottom: 0px; font-size: 12px; }

}
