body {
	background-color: #f4f1e9;
}
.debug { border: 1px solid red; background: rgba(255,0,0,0.1); }
.cursor-pointer {
	cursor: pointer;
}
.header-img {
	background-image: url('https://www.wandelkalender.info/Fotos/Panorama/header.webp');
	background-size: cover;
	background-position: bottom center;
	height: 200px;
	color: white;
	border-radius: 12px;
	overflow: hidden;
	margin-bottom: 20px; /* ruimte onder het logo */
	position: relative;
	padding-bottom: 60px; /* ruimte voor navbar binnen de header */
}

	.header-img h1 {
		position: absolute;
		top: 10px;
		left: 20px;
		background-color: transparent; /* transparante achtergrond */
		padding: 10px 20px;
		border-radius: 8px;
	}

/* Transparante en links uitgelijnde navbar */
.navbar {
	background-color: transparent !important;
	justify-content: flex-start;
	padding-left: 1rem;
	padding-right: 1rem;
}

.navbar-collapse {
	justify-content: flex-start;
}

.nav-link {
	color: white !important;
}

/* Optioneel: witte hamburger-icon */
.navbar-toggler {
	border-color: white;
}

.navbar-toggler-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%28255, 255, 255, 1%29' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}


/* Kleinere hamburger op mobiel */
.small-toggler .navbar-toggler-icon {
	width: 1.2rem;
	height: 1.2rem;
}

.small-toggler {
	padding: 0.25rem 0.5rem;
	font-size: 0.875rem;
}

/* Optioneel: wat ruimte tussen kolommen of aanpassingen voor mobiel */
#mobileNavbar .nav-link {
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

#mobileNav {
	bottom: 40px;
	z-index: 1050;
}

#mobileNavbar {
	bottom: 4px;
	z-index: 1049;
}

#mobileNav,
#mobileNavbar {
	position: fixed; /* was absolute */
}


.flag {
	width: 25px;
	height: 15px;
}

.info-box {
	background-color: white;
	border-radius: 10px;
	padding: 20px;
	margin-bottom: 30px;
	box-shadow: 0 0 5px rgba(0,0,0,0.1);
}

.afstand-lijst {
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}

	.afstand-lijst li {
		display: flex;
		justify-content: flex-end;
		gap: 0.5rem;
	}

	.afstand-lijst .waarde {
		min-width: 3.5em;
		text-align: right;
	}

	.afstand-lijst .tijd {
		white-space: nowrap;
	}

.gastenboek-card {
	background: #fff;
	border: 1px solid #dee2e6;
	border-radius: 10px;
	padding: 2px 10px 2px 10px; /* top, right, bottom, left */
	margin-bottom: 2px;
	overflow: hidden; /* voorkomt dat inhoud buiten de rand treedt */
}

.wandeling-info-card {
	background-color: #ffffff;
	background-color: #f8f9fa;
	border: 1px solid #dee2e6;
	border-radius: 10px;
	padding: 10px 5px 0px 10px; /* top, right, bottom, left */
	margin-bottom: 10px;
	height: 100%;
}

.wandeling-card {
	background: #fff;
	border: 1px solid #dee2e6;
	border-radius: 10px;
	padding: 10px 10px 10px 10px; /* top, right, bottom, left */
	margin-bottom: 10px;
	overflow: hidden; /* voorkomt dat inhoud buiten de rand treedt */
}

	/* Pas verhouding aan tussen wandeling-info (links) en sub-card-container (rechts) */
	.wandeling-card .row {
		display: flex;
		flex-wrap: wrap;
		min-width: 0;
	}

	.wandeling-card .col-md-8 {
		flex: 0 0 60%;
		max-width: 60%;
		min-width: 0;
	}

	.wandeling-card .col-md-4 {
		flex: 0 0 40%;
		max-width: 40%;
		min-width: 0;
	}

	.wandeling-card .label i {
		margin-right: 6px;
		color: #0d6efd;
	}

.sub-card {
	background-color: #f8f9fa;
	border-radius: 8px;
	padding: 10px 15px;
	flex: 1;
	min-width: 150px;
}

.sub-card-container {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.afstand-card, .locatie-card {
	background-color: #f8f9fa;
	border: 1px solid #dee2e6;
	border-radius: 10px;
	padding: 10px 5px 0px 10px; /* top, right, bottom, left */
}

.wandeling-info-card,
.sub-card-container {
	flex-shrink: 1; /* voorkom overlopen */
	min-width: 0; /* essentieel voor overflow te voorkomen in flex-items */
}

*, *::before, *::after {
	box-sizing: border-box;
}

/* Style voor kalender */
.calendar-search {
	font-size: 1rem;
	padding: 0.5rem;
}

.calendar-wrapper {
	width: 100%; /* neem volledige breedte in */
	max-width: 100%; /* voorkom overstrekken */
	border: 1px solid #ccc;
	border-radius: 0.75rem;
	overflow: hidden; /* zorgt voor afgeronde hoeken */
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.calendar {
	margin: 0;
	border-collapse: collapse;
	width: 100%;
}

	.calendar th,
	.calendar td {
		border: none;
		padding: 0.4rem;
		text-align: center;
		vertical-align: middle;
		height: 2rem;
		line-height: 2rem;
		align-items: center;
		justify-content: center;
	}

.active-day {
	background-color: #cfe2ff; /* Bootstrap primary blauw */
	color: #084298; /* Witte tekst */
	border-radius: 50%; /* Ronde vorm (cirkel) */
	width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: auto;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
	font-weight: bold;
	transition: background-color 0.3s, transform 0.2s;
}


	.active-day:hover {
		background-color: #bddbff; /* Donkerder blauw bij hover */
		transform: scale(1.05);
	}

.holiday {
	background-color: #fdeaea; /* Zachte rood/roze tint */
	color: #a33; /* Donkerrode tekst */
	border-radius: 50%;
	width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: auto;
	font-size: 0.8rem;
	font-weight: 500;
	box-shadow: inset 0 0 0 1px #f3baba;
}

.active-day.holiday {
	border: 2px solid #007bff; /* blauwe rand, pas kleur aan naar wens */
	color: #007bff; /* optioneel: tekstkleur ook blauw */
}

.walking-day {
	font-weight: bold;
	text-decoration: underline;
	cursor: pointer;
}

.no-walking-day {
	font-weight: normal;
	text-decoration: none;
}
.afgelast {
	color: #dc3545; /* Bootstrap 'danger' rood */
	text-decoration: line-through;
	opacity: 0.75;
	font-style: italic;
}

/* Tooltip wrapper */
.tooltip-wrapper {
	position: relative;
	display: inline-block;
	width: 2em;
	height: 2em;
	text-align: center;
	color: #000;
	padding: 0;
	margin: 0;
}

	/* Tooltip tekst */
	.tooltip-wrapper .tooltiptext {
		visibility: hidden;
		opacity: 0;
		background-color: #fdeaea; /* Zachte rood/roze tint */
		color: #a33; /* Donkerrode tekst */
		text-align: center;
		padding: 6px 10px;
		border-radius: 6px;
		position: absolute;
		z-index: 10;
		bottom: 125%;
		left: 50%;
		transform: translateX(-50%);
		font-size: 0.75rem;
		white-space: nowrap;
		transition: opacity 0.3s ease;
	}

		/* Tooltip pijl */
		.tooltip-wrapper .tooltiptext::after {
			content: "";
			position: absolute;
			top: 100%;
			left: 50%;
			margin-left: -5px;
			border-width: 5px;
			border-style: solid;
			border-color: #333 transparent transparent transparent;
		}

	/* Hover state */
	.tooltip-wrapper:hover .tooltiptext {
		visibility: visible;
		opacity: 1;
	}

.verbergen {
	visibility: hidden
}

::placeholder {
  color: #6c757d;     /* Grijs zoals Bootstrap */
  font-style: italic; /* Cursief */
  opacity: 1;         /* Volledig zichtbaar (soms nodig in Firefox) */
  font-size: 0.8rem;
}

/* Desktop: standaard breedtes */
.gastenboek td.col1 {
  width: 15%;
}
.gastenboek td.col2 {
  width: 25%;
}
.gastenboek td.col3 {
  width: 60%;
}
	/* standaard voor alle schermen */
	#WandelingenContainer > div:nth-child(odd) {
	  background-color: #f9f9f9; /* oneven divs */
	  background-color: #faf6f0; /* oneven divs */
  	  background-color: #f0eae2; /* even divs */
	  background-color: #f4f1e9; /* oneven divs */
	}

	#WandelingenContainer > div:nth-child(even) {
	  background-color: #f2f2f2; /* even divs */
	  background-color: #f0eae2; /* even divs */
	  background-color: lightgreen; /* even divs */
	  background-color: #f4f1e9; /* oneven divs */
	}
	
/* code specifek voor bepaalde schermgroottes */
/* 
Breakpoint	Schermbreedte	CSS-class prefix
Extra small (xs)	<576px (mobiel)	.col-
Small (sm)	≥576px (mobiel/tablet)	.col-sm-
Medium (md)	≥768px (tablet)	.col-md-
Large (lg)	≥992px (desktop)	.col-lg-
Extra large (xl)	≥1200px (grote desktop)	.col-xl-
*/

/* Voor schermgrootes tot 768: mobiel + tablet */
@media (max-width: 768px) {
	.header-img {
		height: 150px;
	}
	.header-img h1 {
		font-size: 1.5rem;
	}
	
	.info-box h5{
	}
	
	.navbar {
		position: relative;
	}

	.navbar-toggler {
		position: absolute;
		top: 0.75rem;
		right: 1rem;
		z-index: 10;
	}

	.calendar th,
	.calendar td {
		padding: 0.25rem;
		font-size: 0.85rem;
	}

	.calendar-search {
		font-size: 0.85rem;
		padding: 0.3rem 0.4rem;
	}

  .gastenboek thead {
    display: none; /* Verberg headers op mobiel als je visueel cards wilt maken */
  }

  .gastenboek tr {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #ddd;
    padding: 0.5em 0;
  }

  .gastenboek td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .gastenboek td.col1,
  .gastenboek td.col2 {
    width: 50%;
    float: left;
  }

  .gastenboek td.col3 {
    width: 100%;
    clear: both;
    margin-top: 0.5em;
  }

  /* Optioneel: label toevoegen met ::before */
  .gastenboek td.col1::before {
    content: "Datum: ";
    font-weight: bold;
  }

  .gastenboek td.col2::before {
    content: "Naam: ";
    font-weight: bold;
  }

  .gastenboek td.col3::before {
    content: "Bericht: ";
    font-weight: bold;
  }
	.wandeling-card .row {
		flex-direction: column;
		padding: 0.25rem;
		font-size: 0.85rem;
	}

	.wandeling-card .col-md-8, .wandeling-card .col-md-4 {
		max-width: 100%;
	}
}

/* voor scherm groottes tot 576: alleen mobiel */
@media (max-width: 576px) {
	#zoekcriteriaAccordion .accordion-button {
		font-size: 0.9rem;
		padding: 0.5rem 1rem;
	}

	#zoekcriteriaAccordion .accordion-body {
		font-size: 0.85rem;
		padding: 0.75rem;
	}

	#WandelingenContainer > div:nth-child(odd) {
	  background-color: #f9f9f9; /* oneven divs */
	  background-color: #faf6f0; /* oneven divs */
  	  background-color: #f0eae2; /* even divs */
	}

	#WandelingenContainer > div:nth-child(even) {
	  background-color: #f2f2f2; /* even divs */
	  background-color: #f0eae2; /* even divs */
	  background-color: lightgreen; /* even divs */
	  background-color: #f4f1e9; /* oneven divs */
	}
	.wandeling-card .row {
		padding: 0.20rem;
		font-size: 0.80rem;
	}

}

/*  voor scherm groottes vanaf 992: desktop:  */ 
@media (min-width: 992px) {
	.sub-card-container {
		flex-direction: row;
	}

	.afstand-card {
		flex: 0 0 45%;
	}

	.locatie-card {
		flex: 0 0 55%;
	}
}
