/* FE Advanced Search Custom Frontend Styles */

/**
 * Search Form Styles - List Layout
 */

/* Container */
.fas-search-form {
    max-width: 100%;
    margin: 0 auto;
    background: #fff;
    padding: 20px;
    border: 1px solid #ddd;
    /* Light border around whole form optional */
    border-radius: 4px;
}

/* Row (Field Group) */
.fas-field-group {
    display: flex;
    flex-wrap: wrap;
    /* Allow wrapping on mobile */
    align-items: flex-start;
    /* Align to top so label doesn't center if input is tall */
    padding: 15px 0;
    border-bottom: 1px dashed #ccc;
    /* Dotted separator */
}

.fas-field-group:last-of-type {
    border-bottom: none;
    /* No border for last item */
}

/* Label (Left Column) */
.fas-label {
    width: 25%;
    /* Fixed width for label column */
    min-width: 160px;
    box-sizing: border-box;
    padding-right: 15px;
    font-weight: bold;
    color: #333;
    font-size: 1.05em;
    padding-top: 5px;
    /* Slight alignment adjustment */
}

/* Input Area (Right Column) */
.fas-input-wrapper {
    width: 70%;
    flex-grow: 1;
    box-sizing: border-box;
}

/* Inputs styling */
.fas-input-wrapper select,
.fas-input-wrapper input[type="text"],
.fas-input-wrapper input[type="number"],
.fas-input-wrapper input[type="date"] {
    width: 100%;
    max-width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}

/* Range Inputs */
.fas-range-inputs {
    display: flex;
    align-items: center;
    gap: 10px;
}

.fas-range-inputs .fas-range-sep {
    font-weight: bold;
}

.fas-range-inputs input {
    width: 45% !important;
    /* Force share width */
}

/* Checkboxes / Radios Grid */
.fas-checkbox-group,
.fas-radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    /* Row gap 10px, Col gap 20px */
}

.fas-checkbox-group label,
.fas-radio-group label {
    display: inline-block;
    margin-right: 0;
    /* Handled by gap */
    cursor: pointer;
}

.fas-checkbox-group input,
.fas-radio-group input {
    margin-right: 5px;
}

/* Submit Button */
.fas-submit {
    margin-top: 25px;
    text-align: center;
    border-top: 1px solid #eee;
    /* Light separator before submit */
    padding-top: 20px;
}

.fas-submit input[type="submit"] {
    padding: 12px 40px;
    background-color: #0073aa;
    /* Default WP Blue, can be changed */
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 1.1em;
    cursor: pointer;
    transition: background 0.3s;
}

.fas-submit input[type="submit"]:hover {
    background-color: #005177;
}

/* Responsive: Stack on mobile */
/* Responsive: Stack on mobile */
@media (max-width: 768px) {
    .fas-field-group {
        display: block;
        /* Stack vertical */
    }

    .fas-label {
        width: 100%;
        margin-bottom: 8px;
        display: block;
    }

    .fas-input-wrapper {
        width: 100%;
    }

    .fas-submit {
        border-top: none;
        /* Optional: cleaner look on mobile */
    }
}