/* =========================================
   INFRATHERM - WPForms Styling
   ========================================= */

div.wpforms-container-full {
    margin: 0 !important;
}

div.wpforms-container-full .wpforms-form {
    width: 100%;
}

/* Labels */
div.wpforms-container-full .wpforms-form .wpforms-field-label {
    color: #252a34 !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    font-weight: 750 !important;
    margin-bottom: 8px !important;
    letter-spacing: -0.02em;
}

div.wpforms-container-full .wpforms-form .wpforms-field-label-inline,
.wpforms-field-label-inline {
    color: #252a34 !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
}

/* Fields */
div.wpforms-container-full .wpforms-form input[type=date],
div.wpforms-container-full .wpforms-form input[type=datetime],
div.wpforms-container-full .wpforms-form input[type=datetime-local],
div.wpforms-container-full .wpforms-form input[type=email],
div.wpforms-container-full .wpforms-form input[type=month],
div.wpforms-container-full .wpforms-form input[type=number],
div.wpforms-container-full .wpforms-form input[type=password],
div.wpforms-container-full .wpforms-form input[type=range],
div.wpforms-container-full .wpforms-form input[type=search],
div.wpforms-container-full .wpforms-form input[type=tel],
div.wpforms-container-full .wpforms-form input[type=text],
div.wpforms-container-full .wpforms-form input[type=time],
div.wpforms-container-full .wpforms-form input[type=url],
div.wpforms-container-full .wpforms-form input[type=week],
div.wpforms-container-full .wpforms-form select,
div.wpforms-container-full .wpforms-form textarea {
    width: 100% !important;
    min-height: 54px !important;
    border-radius: 18px !important;
    padding: 14px 18px !important;
    background: #f4f4f6 !important;
    border: 1px solid rgba(37, 42, 52, 0.10) !important;
    color: #252a34 !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    outline: none !important;
    transition:
        border-color 0.22s ease,
        background-color 0.22s ease,
        box-shadow 0.22s ease;
}

/* Textarea */
div.wpforms-container-full .wpforms-form textarea {
    min-height: 150px !important;
    resize: vertical !important;
}

/* Placeholder */
div.wpforms-container-full .wpforms-form input::placeholder,
div.wpforms-container-full .wpforms-form textarea::placeholder {
    color: rgba(37, 42, 52, 0.45) !important;
    opacity: 1 !important;
}

/* Focus */
div.wpforms-container-full .wpforms-form input[type=date]:focus,
div.wpforms-container-full .wpforms-form input[type=datetime]:focus,
div.wpforms-container-full .wpforms-form input[type=datetime-local]:focus,
div.wpforms-container-full .wpforms-form input[type=email]:focus,
div.wpforms-container-full .wpforms-form input[type=month]:focus,
div.wpforms-container-full .wpforms-form input[type=number]:focus,
div.wpforms-container-full .wpforms-form input[type=password]:focus,
div.wpforms-container-full .wpforms-form input[type=range]:focus,
div.wpforms-container-full .wpforms-form input[type=search]:focus,
div.wpforms-container-full .wpforms-form input[type=tel]:focus,
div.wpforms-container-full .wpforms-form input[type=text]:focus,
div.wpforms-container-full .wpforms-form input[type=time]:focus,
div.wpforms-container-full .wpforms-form input[type=url]:focus,
div.wpforms-container-full .wpforms-form input[type=week]:focus,
div.wpforms-container-full .wpforms-form select:focus,
div.wpforms-container-full .wpforms-form textarea:focus {
    background: #ffffff !important;
    border: 1px solid #662483 !important;
    box-shadow: 0 0 0 4px rgba(102, 36, 131, 0.10) !important;
}

/* Divi Focus Override */
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full input[type=date]:focus,
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full input[type=datetime]:focus,
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full input[type=datetime-local]:focus,
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full input[type=email]:focus,
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full input[type=month]:focus,
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full input[type=number]:focus,
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full input[type=password]:focus,
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full input[type=range]:focus,
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full input[type=search]:focus,
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full input[type=tel]:focus,
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full input[type=text]:focus,
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full input[type=time]:focus,
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full input[type=url]:focus,
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full input[type=week]:focus,
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full select:focus,
.et-db #et-boc .et-l .et_pb_module div.wpforms-container-full textarea:focus {
    border: 1px solid #662483 !important;
    box-shadow: 0 0 0 4px rgba(102, 36, 131, 0.10) !important;
}

/* Field spacing */
div.wpforms-container-full .wpforms-form .wpforms-field {
    padding: 0 0 22px !important;
}

/* Submit wrapper */
div.wpforms-container-full .wpforms-form .wpforms-submit-container {
    padding-top: 4px !important;
}

/* Submit button */
.wpforms-form button[type=submit],
div.wpforms-container-full button[type=submit],
div.wpforms-container-full .wpforms-form button[type=submit] {
    position: relative;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 200px !important;
    min-height: 58px !important;
    padding: 16px 32px !important;
    border: 1px solid #662483 !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #662483 0%, #8a35ad 100%) !important;
    background-color: #662483 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    opacity: 1 !important;
    cursor: pointer !important;
    float: none !important;
    box-shadow: 0 18px 42px rgba(102, 36, 131, 0.28) !important;
    transition:
        transform 0.24s ease,
        box-shadow 0.24s ease,
        background-color 0.24s ease,
        border-color 0.24s ease !important;
}

/* Submit hover */
.wpforms-form input[type=submit]:hover,
.wpforms-form button[type=submit]:hover,
div.wpforms-container-full button[type=submit]:hover,
div.wpforms-container-full .wpforms-form button[type=submit]:hover {
    padding: 16px 32px !important;
    background: linear-gradient(90deg, #252a34 0%, #101219 100%) !important;
    background-color: #252a34 !important;
    border: 1px solid #252a34 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 24px 54px rgba(37, 42, 52, 0.26) !important;
}

/* Submit active */
.wpforms-form button[type=submit]:active,
div.wpforms-container-full button[type=submit]:active {
    transform: translateY(0) !important;
}

/* Submit non-hover state */
div.wpforms-container-full button[type=submit]:not(:hover):not(:active) {
    color: #ffffff !important;
    background: linear-gradient(90deg, #662483 0%, #8a35ad 100%) !important;
    background-color: #662483 !important;
    border: 1px solid #662483 !important;
}

/* Required asterisk */
div.wpforms-container-full .wpforms-form .wpforms-required-label {
    color: #f9b233 !important;
    font-weight: 800 !important;
}

/* Error messages */
div.wpforms-container-full .wpforms-form label.wpforms-error,
div.wpforms-container-full .wpforms-form em.wpforms-error {
    color: #d63638 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin-top: 7px !important;
    font-weight: 600 !important;
}

/* Error fields */
div.wpforms-container-full .wpforms-form .wpforms-field input.wpforms-error,
div.wpforms-container-full .wpforms-form .wpforms-field textarea.wpforms-error,
div.wpforms-container-full .wpforms-form .wpforms-field select.wpforms-error {
    border-color: #d63638 !important;
    box-shadow: 0 0 0 4px rgba(214, 54, 56, 0.08) !important;
}

/* Confirmation message */
div.wpforms-container-full .wpforms-confirmation-container-full,
div[submit-success] > .wpforms-confirmation-container-full {
    background: #f4f4f6 !important;
    border: 1px solid rgba(102, 36, 131, 0.16) !important;
    border-radius: 24px !important;
    color: #252a34 !important;
    padding: 24px 28px !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
    box-shadow: 0 16px 40px rgba(37, 42, 52, 0.08) !important;
}

/* Select options */
div.wpforms-container-full select > option:not(.placeholder):checked {
    background: #662483 !important;
    color: #ffffff !important;
}

div.wpforms-container-full select > option:hover {
    background: #662483 !important;
    color: #ffffff !important;
}

/* Checkbox / Radio spacing */
div.wpforms-container-full .wpforms-form .wpforms-field-checkbox ul,
div.wpforms-container-full .wpforms-form .wpforms-field-radio ul {
    margin-top: 8px !important;
}

div.wpforms-container-full .wpforms-form .wpforms-field-checkbox li,
div.wpforms-container-full .wpforms-form .wpforms-field-radio li {
    margin-bottom: 10px !important;
}

/* Flatpickr Calendar */
.flatpickr-calendar {
    background: #ffffff !important;
    border: 1px solid rgba(102, 36, 131, 0.18) !important;
    border-radius: 18px !important;
    box-shadow:
        0 22px 60px rgba(37, 42, 52, 0.18),
        0 0 0 1px rgba(102, 36, 131, 0.06) !important;
    overflow: hidden !important;
    z-index: 9999999999 !important;
}

.flatpickr-months {
    background: #252a34 !important;
}

.flatpickr-current-month,
.flatpickr-current-month input.cur-year,
.flatpickr-current-month .flatpickr-monthDropdown-months {
    color: #ffffff !important;
    font-weight: 800 !important;
}

.flatpickr-weekday {
    color: #662483 !important;
    font-weight: 800 !important;
}

.flatpickr-day {
    border-radius: 999px !important;
    color: #252a34 !important;
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: rgba(37, 42, 52, 0.28) !important;
    background: transparent !important;
    border-color: transparent !important;
    cursor: default !important;
}

.flatpickr-day.today {
    border-color: #f9b233 !important;
}

.flatpickr-day:hover {
    background-color: #f9b233 !important;
    color: #252a34 !important;
    border-color: #f9b233 !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: #662483 !important;
    color: #ffffff !important;
    border: 1px solid #662483 !important;
}

/* Timepicker */
.ui-timepicker-wrapper {
    overflow-y: auto !important;
    height: 142px !important;
    width: 10em !important;
    min-width: 300px !important;
    max-width: 100% !important;
    background: #ffffff !important;
    border: 1px solid rgba(102, 36, 131, 0.22) !important;
    border-radius: 18px !important;
    outline: none !important;
    z-index: 10001 !important;
    margin: 0 !important;
    box-shadow: 0 18px 44px rgba(37, 42, 52, 0.16) !important;
}

.ui-timepicker-list li {
    color: #252a34 !important;
    padding: 9px 14px !important;
}

li.ui-timepicker-selected,
.ui-timepicker-list li:hover {
    background: #662483 !important;
    color: #ffffff !important;
    border: 1px solid #662483 !important;
}

/* Mobile */
@media (max-width: 767px) {
    div.wpforms-container-full .wpforms-form .wpforms-field-label {
        font-size: 16px !important;
    }

    div.wpforms-container-full .wpforms-form input[type=date],
    div.wpforms-container-full .wpforms-form input[type=datetime],
    div.wpforms-container-full .wpforms-form input[type=datetime-local],
    div.wpforms-container-full .wpforms-form input[type=email],
    div.wpforms-container-full .wpforms-form input[type=month],
    div.wpforms-container-full .wpforms-form input[type=number],
    div.wpforms-container-full .wpforms-form input[type=password],
    div.wpforms-container-full .wpforms-form input[type=range],
    div.wpforms-container-full .wpforms-form input[type=search],
    div.wpforms-container-full .wpforms-form input[type=tel],
    div.wpforms-container-full .wpforms-form input[type=text],
    div.wpforms-container-full .wpforms-form input[type=time],
    div.wpforms-container-full .wpforms-form input[type=url],
    div.wpforms-container-full .wpforms-form input[type=week],
    div.wpforms-container-full .wpforms-form select,
    div.wpforms-container-full .wpforms-form textarea {
        min-height: 52px !important;
        border-radius: 16px !important;
        padding: 13px 16px !important;
        font-size: 15px !important;
    }

    .wpforms-form button[type=submit],
    div.wpforms-container-full button[type=submit],
    div.wpforms-container-full .wpforms-form button[type=submit] {
        min-height: 56px !important;
        padding: 15px 26px !important;
        font-size: 15px !important;
    }

    .wpforms-form input[type=submit]:hover,
    .wpforms-form button[type=submit]:hover,
    div.wpforms-container-full button[type=submit]:hover,
    div.wpforms-container-full .wpforms-form button[type=submit]:hover {
        padding: 15px 26px !important;
    }
}