/* Quote form styles (moved from Customizer > Additional CSS). Loaded only on pages with a Forminator form. */
/* =========================================
   FORMINATOR QUOTE FORM - THE WASTE GUYS
   ========================================= */

.forminator-ui.forminator-custom-form {
    max-width: 960px !important;
    margin: 0 auto !important;
    padding: 34px !important;

    background: #111a17 !important;
    border: 1px solid #26332f !important;
    border-radius: 10px !important;

    box-shadow:
        0 16px 40px rgba(0, 0, 0, 0.28),
        0 0 24px rgba(57, 230, 0, 0.035) !important;
}

/* Space between rows */
.forminator-ui.forminator-custom-form .forminator-row {
    margin-bottom: 20px !important;
}

/* Field labels */
.forminator-ui.forminator-custom-form .forminator-label {
    display: block !important;
    margin-bottom: 8px !important;

    color: #ffffff !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

/* Required field star */
.forminator-ui.forminator-custom-form .forminator-required {
    color: #39E600 !important;
}

/* Field descriptions */
.forminator-ui.forminator-custom-form .forminator-description {
    margin-top: 7px !important;

    color: #9ba9a4 !important;

    font-size: 13px !important;
    line-height: 1.5 !important;
}

/* Text inputs, email, phone and postcode */
.forminator-ui.forminator-custom-form .forminator-input,
.forminator-ui.forminator-custom-form .forminator-textarea,
.forminator-ui.forminator-custom-form .forminator-select2-selection {
    width: 100% !important;

    background: #0b1411 !important;
    color: #ffffff !important;

    border: 1px solid #35443f !important;
    border-radius: 6px !important;

    box-shadow: none !important;

    font-size: 15px !important;
    line-height: 1.5 !important;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease !important;
}

.forminator-ui.forminator-custom-form .forminator-input {
    min-height: 52px !important;
    padding: 13px 15px !important;
}

.forminator-ui.forminator-custom-form .forminator-textarea {
    min-height: 150px !important;
    padding: 15px !important;
    resize: vertical !important;
}

/* Placeholder text */
.forminator-ui.forminator-custom-form .forminator-input::placeholder,
.forminator-ui.forminator-custom-form .forminator-textarea::placeholder {
    color: #68756f !important;
    opacity: 1 !important;
}

/* Green focus state */
.forminator-ui.forminator-custom-form .forminator-input:focus,
.forminator-ui.forminator-custom-form .forminator-textarea:focus,
.forminator-ui.forminator-custom-form .forminator-select2-selection:focus {
    background: #0e1814 !important;
    border-color: #39E600 !important;

    box-shadow:
        0 0 0 3px rgba(57, 230, 0, 0.11),
        0 0 18px rgba(57, 230, 0, 0.06) !important;

    outline: none !important;
}

/* =========================================
   PHOTO UPLOAD AREA
   ========================================= */

.forminator-ui.forminator-custom-form .forminator-multi-upload {
    min-height: 170px !important;
    padding: 28px 20px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #0b1411 !important;

    border: 2px dashed #35443f !important;
    border-radius: 8px !important;

    transition:
        border-color 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease !important;
}

.forminator-ui.forminator-custom-form .forminator-multi-upload:hover,
.forminator-ui.forminator-custom-form .forminator-multi-upload.forminator-dragover {
    background: rgba(57, 230, 0, 0.035) !important;
    border-color: #39E600 !important;

    box-shadow: 0 0 20px rgba(57, 230, 0, 0.06) !important;
}

/* Upload instructions */
.forminator-ui.forminator-custom-form .forminator-multi-upload-message,
.forminator-ui.forminator-custom-form .forminator-multi-upload-message p {
    color: #aeb9b5 !important;
    font-size: 14px !important;
}

/* Upload icon and link */
.forminator-ui.forminator-custom-form .forminator-icon-upload,
.forminator-ui.forminator-custom-form .forminator-button-upload {
    color: #39E600 !important;
}

/* Uploaded file details */
.forminator-ui.forminator-custom-form .forminator-uploaded-file {
    background: #0b1411 !important;
    border: 1px solid #35443f !important;
    border-radius: 6px !important;
}

.forminator-ui.forminator-custom-form .forminator-uploaded-file--title,
.forminator-ui.forminator-custom-form .forminator-uploaded-file--size {
    color: #ffffff !important;
}

/* =========================================
   SUBMIT BUTTON
   ========================================= */

.forminator-ui.forminator-custom-form .forminator-button-submit {
    width: 100% !important;
    min-height: 54px !important;
    padding: 14px 24px !important;

    background: #39E600 !important;
    color: #F7F9F8 !important;

    border: 1px solid #39E600 !important;
    border-radius: 6px !important;

    box-shadow: 0 8px 22px rgba(57, 230, 0, 0.13) !important;

    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: 0.035em !important;
    text-transform: uppercase !important;

    transition:
        transform 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease !important;
}

.forminator-ui.forminator-custom-form .forminator-button-submit:hover {
    background: #4CFF15 !important;
    border-color: #4CFF15 !important;

    transform: translateY(-2px) !important;

    box-shadow:
        0 10px 26px rgba(57, 230, 0, 0.2),
        0 14px 30px rgba(0, 0, 0, 0.22) !important;
}

.forminator-ui.forminator-custom-form .forminator-button-submit:active {
    transform: translateY(0) !important;
}

/* Validation messages */
.forminator-ui.forminator-custom-form .forminator-error-message {
    margin-top: 7px !important;
    color: #ff8b8b !important;
    font-size: 13px !important;
}

.forminator-ui.forminator-custom-form .forminator-has_error .forminator-input,
.forminator-ui.forminator-custom-form .forminator-has_error .forminator-textarea {
    border-color: #ff6565 !important;
}

/* Enquiry source: filled in automatically by site.js, never shown to visitors */
.forminator-ui .twg-source-field,
.forminator-ui .forminator-row:has(.twg-source-field) {
    display: none !important;
}

/* =========================================
   DROPDOWNS ("What do you need?")
   Forminator uses Select2: the closed box sits in the form, but the open list is
   attached to <body>, so it is styled by its own classes rather than the form's.
   ========================================= */

.forminator-ui.forminator-custom-form .select2-container {
    width: 100% !important;
}

.forminator-ui.forminator-custom-form .select2-selection--single {
    display: flex !important;
    align-items: center !important;
    height: 52px !important;
    background: #0b1411 !important;
    border: 1px solid #35443f !important;
    border-radius: 6px !important;
    outline: none !important;
    transition: border-color .2s, box-shadow .2s;
}

.forminator-ui.forminator-custom-form .select2-selection__rendered {
    width: 100%;
    padding: 0 46px 0 15px !important;
    color: #f7f9f8 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
}

.forminator-ui.forminator-custom-form .select2-selection__placeholder {
    color: #68756f !important;
}

.forminator-ui.forminator-custom-form .select2-selection__arrow {
    position: absolute !important;
    top: 0 !important;
    right: 14px !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    color: #39E600 !important;
}

.forminator-ui.forminator-custom-form .select2-selection__arrow [class*="forminator-icon"]::before {
    color: #39E600 !important;
}

/* Open or focused: the same green glow as the text fields */
.forminator-ui.forminator-custom-form .select2-container--open .select2-selection--single,
.forminator-ui.forminator-custom-form .select2-container--focus .select2-selection--single,
.forminator-ui.forminator-custom-form .select2-selection--single:focus {
    background: #0e1814 !important;
    border-color: #39E600 !important;
    box-shadow: 0 0 0 3px rgba(57, 230, 0, 0.11), 0 0 18px rgba(57, 230, 0, 0.06) !important;
}

.forminator-ui.forminator-custom-form .forminator-has_error .select2-selection--single {
    border-color: #ff6565 !important;
}

/* The open list */
.forminator-select-dropdown-container--open .forminator-select-dropdown {
    background: #0b1411 !important;
    border: 1px solid #39E600 !important;
    border-radius: 6px !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.5) !important;
    overflow: hidden;
}

.forminator-select-dropdown-container--open .forminator-select-dropdown--below {
    margin-top: 6px !important;
}

.forminator-select-dropdown-container--open .forminator-select-dropdown--above {
    margin-top: -6px !important;
}

.forminator-select-dropdown .select2-results__options {
    max-height: 300px !important;
    padding: 6px !important;
    scrollbar-color: #35443f #0b1411;
}

.forminator-select-dropdown .select2-results__option {
    margin: 0 !important;
    padding: 11px 12px !important;
    border-radius: 4px !important;
    background: transparent !important;
    color: #f7f9f8 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    outline: none !important;
}

.forminator-select-dropdown .select2-results__option--highlighted {
    background: rgba(57, 230, 0, 0.12) !important;
    color: #39E600 !important;
}

.forminator-select-dropdown .select2-results__option[aria-selected="true"],
.forminator-select-dropdown .select2-results__option--selected {
    color: #39E600 !important;
    font-weight: 700 !important;
}

/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 600px) {
    .forminator-ui.forminator-custom-form {
        padding: 22px 18px !important;
        border-radius: 8px !important;
    }

    .forminator-ui.forminator-custom-form .forminator-row {
        margin-bottom: 16px !important;
    }

    .forminator-ui.forminator-custom-form .forminator-multi-upload {
        min-height: 145px !important;
        padding: 22px 15px !important;
    }
}

