/* --- LAYOUT OVERRIDES & SPACING --- */
/* Override Forminator's default column styling to remove borders and padding */
.forminator-ui .forminator-row[class*="forminator-cols-"] {
    padding: 0 !important;
    border: none !important;
    background: none !important;
    gap: 30px; /* The space between columns */
    align-items: flex-start;
}
.forminator-ui .forminator-row[class*="forminator-cols-"] > div[class*="forminator-col"] {
    padding: 0 !important;
}

/* --- SUMMARY BOX STYLES (COLUMN 1) --- */
.aqw-summary-box {
    background-color: #f7f9fa;
    border: 1px solid #e5e8ed;
    border-radius: 12px;
    padding: 24px;
    height: 100%;
    box-sizing: border-box;
}
.aqw-summary-item { display: flex; align-items: flex-start; margin-bottom: 25px; }
.aqw-summary-item:last-child { margin-bottom: 0; }
.aqw-summary-icon { margin-right: 15px; color: #555; flex-shrink: 0; }
.aqw-summary-text { display: flex; flex-direction: column; }
.aqw-summary-label { font-size: 14px; color: #8c98a9; margin-bottom: 4px; }
#aqw-selected-date-display, #aqw-selected-time-display { font-size: 16px; font-weight: 500; color: #1c273c; }
.placeholder-text { color: #8c98a9 !important; font-weight: normal !important; }

/* --- DATE PICKER STYLES (COLUMN 2) --- */
.aqw-date-picker-field .forminator-input-with-icon,
.aqw-date-picker-field .forminator-label {
    display: none !important;
}
#aqw-datepicker-container .flatpickr-calendar {
    box-shadow: none !important;
    border: none !important;
    width: 100% !important;
    background: transparent !important;
    padding: 0 !important;
}
.flatpickr-months { padding: 10px 0; }
.flatpickr-months .flatpickr-month { background: transparent !important; color: #1c273c !important; fill: #1c273c !important; height: 34px; font-weight: 600; font-size: 16px; }
.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month { color: #1857f7 !important; fill: #1857f7 !important; top: 17px; padding: 0; }
span.flatpickr-weekday { color: #8c98a9 !important; font-weight: 500 !important; font-size: 14px; }
.flatpickr-day { color: #1c273c !important; border-radius: 50% !important; border: none !important; font-weight: 500; }
.flatpickr-day.today:not(.selected) { border: 1px solid #1857f7 !important; color: #1857f7 !important; }
.flatpickr-day.selected, .flatpickr-day.selected:hover { background: #1857f7 !important; color: #fff !important; border-color: #1857f7 !important; }
.flatpickr-day.disabled, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay { color: #c0c7d1 !important; }

/* --- TIME SLOT STYLES (COLUMN 3) --- */
.aqw-timezone-label { margin: 10px 0 18px 0; font-size: 15px; color: #8c98a9; }
.aqw-time-slots-field .forminator-label { display: none !important; }

/* THE KEY FIX: Aggressively hide all parts of Forminator's default radio button styling */
.aqw-time-slots-field input[type="radio"] {
    display: none !important;
}
.aqw-time-slots-field .forminator-radio-bullet {
    display: none !important; /* This hides the default "dot" */
}
.aqw-time-slots-field .forminator-radio {
    display: contents; /* This makes the wrapper element "disappear" from the layout */
}

/* Create a scrollable container for the time slots */
.aqw-time-slots-field .forminator-radio-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 280px; /* Adjust this value as needed */
    overflow-y: auto;
    padding-right: 10px;
}
/* Style the label as a clean, rectangular button */
.aqw-time-slots-field .forminator-radio-label {
    display: block;
    border: 1px solid #c0c7d1;
    border-radius: 8px; /* This creates the slightly rounded rectangle */
    padding: 12px;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    color: #1857f7;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    background-color: #fff;
}
.aqw-time-slots-field .forminator-radio-label:hover {
    background: #f0f5ff;
    border-color: #1857f7;
}
.aqw-time-slots-field input[type="radio"]:checked + .forminator-radio-label {
    background: #1857f7;
    color: #fff;
    border-color: #1857f7;
    font-weight: bold;
}
