/* Input wrapper with icon (also matches Flatpickr's .flatpickr wrap element) */
.gf-flatpickr-wrapper,
.flatpickr.gf-flatpickr-wrapper {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: 100%;
}

/* Wrapper input styling – match body text, black, rounded */
.gf-flatpickr-input {
	border-radius: 8px;
	border: 1.5px solid #000000;
	padding: 0.625rem 2.5rem 0.625rem 0.875rem; /* space for icon on right */
	font-size: 16px;
	line-height: 1.5;
	width: 100%;
	box-sizing: border-box;
	background-color: #ffffff;
	color: #000000;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.gf-flatpickr-input::placeholder {
	color: #555555;
}

.gf-flatpickr-input:focus {
	outline: none;
	border-color: #000000;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
}

.gf-flatpickr-icon,
.flatpickr .input-button {
	position: absolute;
	right: 0.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	outline: none;
	padding: 0;
	margin: 0;
	cursor: pointer;
}

.gf-flatpickr-icon.input-button:focus,
.gf-flatpickr-icon.input-button:focus-visible,
.flatpickr .input-button:focus,
.flatpickr .input-button:focus-visible {
	outline: none !important;
	box-shadow: none !important;
}

.gf-flatpickr-icon img,
.flatpickr .input-button img {
	display: block;
	width: 18px;
	height: 18px;
}

/* Flatpickr calendar base – light, rounded, black text */
.flatpickr-calendar {
	font-family: inherit;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	border: 1.5px solid #000000;
}





/* New CSS */


/* Calendar container */
.flatpickr-calendar {
	border-radius: 10px;
	border: 1px solid #ddd;
	box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  }
  
  /* Month title */
  .flatpickr-current-month {
	color: #111;
	font-weight: 600;
  }
  
  /* Navigation arrows */
  .flatpickr-prev-month svg,
  .flatpickr-next-month svg {
	fill: var(--color-black) !important;
  }
  
  /* Weekday labels */
  .flatpickr-weekday {
	color: #666;
	font-weight: 500;
  }
  
  /* Hover day */
  .flatpickr-day:hover {
	background: #ffe5e5;
	border-color: #ffe5e5;
  }
  
  /* Today */
  .flatpickr-day.today {
	border-color: #d60000;
  }
  
  /* Selected day */
  .flatpickr-day.selected {
	background: #d60000 !important;
	border-color: #d60000 !important;
	color: white;
  }
  
  /* Start + End circles */
  .flatpickr-day.startRange,
  .flatpickr-day.endRange {
	background: #d60000;
	border-color: #d60000;
	color: #fff;
	border-radius: 50%;
  }
  
  /* Range middle */
  .flatpickr-day.inRange {
	background: #ffd6d6 !important;
	border-color: #ffd6d6 !important;
	color: #111;
	border-radius: 0;
  }
  
  /* Smooth range connection */
  .flatpickr-day.inRange {
	box-shadow: -5px 0 0 #ffd6d6, 5px 0 0 #ffd6d6 !important;
  }
  
  /* Prevent circle on middle */
  .flatpickr-day.startRange + .inRange {
	border-radius: 0;
  }
  
  /* Active focus */
  .flatpickr-day:focus {	
	background: #d60000 !important;
	border-color: #d60000 !important;
  }
  
  /* Input focus */
  .flatpickr-input:focus {
	border-color: #d60000 !important;
	box-shadow: 0 0 0 2px rgba(214,0,0,0.15);
  }
  
  /* Time picker (if enabled) */
  .flatpickr-time input:hover,
  .flatpickr-time input:focus {
	background: #ffe5e5 !important;
  }


  span.flatpickr-weekday {
	color: var(--color-black) !important;
	font-weight: 500 !important;
  }

  flatpickr-current-month .flatpickr-monthDropdown-months {
	font-family: var(--font-family) !important;
	font-size: var(--font-body-size) !important;
	font-weight: var(--font-body-weight) !important;
	line-height: var(--font-body-line) !important;
	color: var(--color-black) !important;
  }

  .flatpickr-current-month .flatpickr-monthDropdown-months option {
	font-family: var(--font-family) !important;
	font-size: var(--font-body-size) !important;
	font-weight: var(--font-body-weight) !important;
	line-height: var(--font-body-line) !important;
	color: var(--color-black) !important;
  }