/* =========================================================
   Tourify Enquiry Forms — validation, phone & country UI
   ========================================================= */

/* Honeypot — hidden from real visitors, still reachable by simple bots */
.tourify-hp-field {
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Inline field errors */
.field-error {
    display: none;
    margin-top: 6px;
    color: #d1373a;
    font-size: 13px;
    line-height: 1.4;
}

.field-error.is-visible {
    display: block;
}

/* Invalid field highlighting (applies to plain inputs, selects, textareas,
   and the intl-tel-input wrapper) */
.tourify-field-invalid input,
.tourify-field-invalid select,
.tourify-field-invalid textarea,
.tourify-field-invalid .iti {
    border-color: #d1373a !important;
    box-shadow: 0 0 0 3px rgba(209, 55, 58, .08) !important;
}

.tourify-field-valid input,
.tourify-field-valid select,
.tourify-field-valid textarea {
    border-color: #1a9a6a !important;
}

/* Phone field — let intl-tel-input own the width */
.tourify-phone-field {
    position: relative;
}

.tourify-phone-field .iti {
    width: 100%;
}

.tourify-phone-field input {
    width: 100%;
}

/* Country autocomplete */
.tourify-country-field {
    position: relative;
}

.tourify-country-dropdown {
    position: absolute;
    z-index: 40;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    max-height: 240px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #d6dfe5;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(20, 60, 76, .12);
    padding: 6px 0;
}

.tourify-country-dropdown[hidden] {
    display: none;
}

.tourify-country-option {
    padding: 9px 16px;
    font-size: 14px;
    color: #344d60;
    cursor: pointer;
}

.tourify-country-option:hover,
.tourify-country-option.is-active {
    background: #eef7f6;
    color: #09616a;
}

.tourify-country-empty {
    padding: 9px 16px;
    font-size: 13px;
    color: #93a4b7;
}

/* Submission feedback banner (success/error) */
.tourify-enquiry-feedback {
    margin: 0 0 18px;
    padding: 12px 16px;
    border-radius: 6px;
    font-size: 14px;
}

.tourify-enquiry-feedback[hidden] {
    display: none;
}

.tourify-enquiry-feedback.is-success {
    background: #eafaf1;
    color: #0a7a4a;
    border: 1px solid #bfe8d3;
}

.tourify-enquiry-feedback.is-error {
    background: #fdecea;
    color: #b3261e;
    border: 1px solid #f5c2c0;
}

/* Disabled submit state while an AJAX request is in flight */
button[type="submit"][aria-busy="true"] {
    opacity: .7;
    pointer-events: none;
}
