* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* ✅ iOS Safari-specific checkbox fix */
@supports (-webkit-touch-callout: none) {
  input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    width: 20px; /* adjust as needed */
    height: 20px;
    border: 2px solid white; /* visible border */
    border-radius: 4px;
    background-color: transparent; /* default: transparent */
    cursor: pointer;
    transition: background-color 0.2s ease;
  }

  /* ✅ Checked state — background turns green */
  input[type="checkbox"]:checked {
    background-color: green;
        border: 2px solid green; /* visible border */
  }

  /* Optional: add a checkmark using pseudo-element */
  input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 1px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
  }
}

/* ✅ Make autofilled background white and text black */
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px white inset !important;
  -webkit-text-fill-color: black !important;
  transition: background-color 5000s ease-in-out 0s;
}

/* ✅ Add a special class to parent when autofilled */
input:-webkit-autofill ~ svg,
.group:has(input:-webkit-autofill) svg {
  fill: black !important;
}


.step-content {
    width: 100%;
    height: 100%;
    padding: 2rem;
    overflow-y: auto;
}
.loader {
  border: 3px solid rgba(255,255,255,0.3);
  border-top: 3px solid #fff;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  animation: spin 1s linear infinite;
  margin: 0 auto;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}

.step-content.active {
    display: flex !important;  /* <-- Only visible if "active" is added */
    align-items: center;
    justify-content: center;
}

/* Calendar container */
.flatpickr-calendar {
    background-color: rgba(255, 255, 255, 0.16); /* bg-[#FFFFFF29] */
    border: 1px solid rgba(255, 255, 255, 0.4);  /* border-[#FFFFFF66] */
    border-radius: 0.75rem; /* rounded-xl */
    padding: 1rem; /* p-4 */
    box-sizing: border-box;
    color: #ffffff !important;
}

/* Calendar background and border */
.flatpickr-calendar {
    background-color: rgba(255, 255, 255, 0.16); /* semi-transparent */
    border: 1px solid rgba(255, 255, 255, 0.4); 
    border-radius: 0.75rem;
    padding: 1rem;
    box-sizing: border-box;
}

/* Month text, weekday text, and numbers */
.flatpickr-month, 
.flatpickr-weekday, 
.flatpickr-day {
    color: #ffffff; /* make all text white */
}

/* Arrow buttons (prev / next) */
.flatpickr-prev-month svg path,
.flatpickr-next-month svg path {
    stroke: #ffffff; /* white arrow */
    fill: #ffffff;   /* white arrow fill */
}

/* Selected / today day */
.flatpickr-day.today,
.flatpickr-day.selected {
    background-color: rgba(10, 9, 9, 0.5); /* #0A090980 */
    color: #ffffff;
}

/* Disabled / previous days */
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Unavailable dates (custom class) */
.flatpickr-day.unavailable {
    background-color: #dc2626; /* red */
    color: #ffffff;
    opacity: 0.5;
    cursor: not-allowed;
}
/* Arrow up */


.flatpickr-current-month .numInputWrapper span.arrowUp:after {
    border-bottom-color: #ffffff;
}
/* Arrow down */

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
    border-top-color: #ffffff;
}

/* Month text, weekday text, and numbers */
.flatpickr-month, 
.flatpickr-weekday, 
.flatpickr-day {
    color: #ffffff; /* make all text white */
}

/* Arrow buttons (prev / next) */
.flatpickr-prev-month svg path,
.flatpickr-next-month svg path {
    stroke: #ffffff; /* white arrow */
    fill: #ffffff;   /* white arrow fill */
}

/* Selected / today day */
.flatpickr-day.today{
    background-color: rgba(10, 9, 9, 0.5); /* #0A090980 */
    color: #ffffff;
        border: white 1px solid;

}

.flatpickr-day.selected {
    background-color: white !important; /* #0A090980 */
    color: black !important;
    border: white 1px solid;
}

/* Disabled / previous days */
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Unavailable dates (custom class) */
.flatpickr-day.unavailable {
    background-color: #dc2626; /* red */
    color: #ffffff;
    opacity: 0.5;
    cursor: not-allowed;
}
.flatpickr-monthDropdown-months,.flatpickr-day.flatpickr-disabled, .flatpickr-day.prevMonthDay, .numInputWrapper, .flatpickr-months, .flatpickr-next-month, .flatpickr-prev-month{
      color: #ffffff !important;
}
/* Weekday names */
.flatpickr-weekday {
    color: #d1d5db !important; /* text-gray-300 */
    font-weight: 600; /* font-semibold */
    text-align: center;
}
/* Make weekdays row full width, flex evenly */
.flatpickr-weekdaycontainer {
    display: grid;            /* or flex */
    grid-template-columns: repeat(7, 1fr); /* 7 equal columns */
    text-align: center;
}

.flatpickr-month {
    font-size: 12px;
    margin-bottom: 20px;
}
.flatpickr-months {
    display: flex;
    align-items: center;       /* vertically center */
    justify-content: center; /* arrows at edges, month in middle */
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{
  color: black;
}
/* Optional: make month select and year input inline */
.flatpickr-current-month {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem; /* space between month dropdown and year input */
    padding: 0;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month, .flatpickr-months .flatpickr-next-month.flatpickr-prev-month{
      left: 15px;
    top: 15px;
} .flatpickr-months .flatpickr-next-month.flatpickr-next-month {
    right: 30px;
    top: 15px;
}
.flatpickr-calendar.inline {
    display: block;
    position: relative;
    top: 2px;
    width: 100%;
}
/* Hide days of previous/next month visually but keep layout */
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    visibility: hidden; /* keeps the cell but hides the number */
}
.flatpickr-weekdaycontainer span {
    text-transform: uppercase; 
}
/* Center the arrows vertically */
.flatpickr-prev-month,
.flatpickr-next-month {
    display: flex;
    align-items: center;
    cursor: pointer;
}

/* Make SVG arrows white (if using dark theme) */
.flatpickr-prev-month svg,
.flatpickr-next-month svg {
    fill: white;
    width: 20px;
    height: 20px;
}

/* Individual day */
.flatpickr-day {
    border-radius: 0.5rem; /* rounded-lg */
    color: #ffffff !important;
    transition: all 0.2s ease;
}

.flatpickr-day:hover {
    background-color: #2563eb; /* hover:bg-blue-600 */
    color: #ffffff !important;            /* hover:text-white */
    cursor: pointer;
}

/* Today / selected day */
.flatpickr-day.today{
    background-color: rgba(10, 9, 9, 0.5); /* bg-[#0A090980] */
    color: #ffffff !important;
    border: white 1px solid;
}
.flatpickr-day.selected {
    background-color: white !important;
    color: black !important;
    border: white 1px solid;
}
/* Disabled / previous days */
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Unavailable dates */
.flatpickr-day.unavailable {
    background-color: #dc2626; /* red-600 */
    color: #ffffff !important;
    opacity: 0.5;
    cursor: not-allowed;
}
@media screen and (max-width: 768px) {
.flatpickr-calendar.inline {
    padding: 10px;
}
}
