.col-md-3.form-control-label {
    margin-top: 10px;
}

.osm-payment-method-item.os_paypal.clearfix {
    margin-bottom: 20px;
}

/* Target all form input fields */
form input[type="text"],
form input[type="email"],
form input[type="tel"],
form input[type="number"],
form input[type="password"],
form input[type="date"],
form input[type="url"],
form select,
form textarea {
    width: 30% !important;
    box-sizing: border-box;
}

/* Also target any other common form elements */
form .form-control,
form .input-field,
form .field input,
form .wpforms-field input,
form .cf7-control input,
form .gfield input {
    width: 30% !important;
    box-sizing: border-box;
}

/* Ensure labels and containers don't interfere */
form label {
    display: inline-block;
    width: auto;
}

form .form-row,
form .form-group,
form .wpforms-field-row,
form .gfield {
    overflow: visible;
}

/* Target only the Trip Start & End date input fields */
#personal_trip_start,
#personal_trip_end {
    width: 180px !important;     /* Adjust this value as needed */
    min-width: 150px;
    flex: 0 0 180px !important; /* Forces fixed width in flex container */
    max-width: 180px !important;
}

/* Ensure the input group doesn't stretch */
#personal_field_trip_start .input-group,
#personal_field_trip_end .input-group {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

/* Optional: Keep calendar button snug */
#personal_trip_start_btn,
#personal_trip_end_btn {
    flex-shrink: 0;
    width: 40px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Hide both duration fields */
#field_essentials_trip_duration_days,
#field_optimum_trip_duration_days {
    display: none !important;
}

/* Date fields 30% */
#field_trip_start_date .eb-form-control,
#field_trip_end_date .eb-form-control {
    width: 30% !important;
}

/* 100% WORKING — Seamless Blue Card for Existing Customer Login (tested on your exact HTML) */
.osm-signup-page #osm-existing-user-login ~ form[name="osm_login_form"],
.osm-signup-page #osm-existing-user-login {
    background: #e3f2fd !important;
    padding: 30px 40px !important;
    border-radius: 16px !important;
    border: 2px solid #1976d2 !important;
}

.osm-signup-page #osm-existing-user-login {
    border-bottom: none !important;
    border-radius: 16px 16px 0 0 !important;
    padding-bottom: 15px !important;
    margin-bottom: 0 !important;
}

.osm-signup-page #osm-existing-user-login ~ form[name="osm_login_form"] {
    border-top: none !important;
    border-radius: 0 0 16px 16px !important;
    padding-top: 0 !important;
    margin-top: -2px !important;   /* eliminates the tiny gap */
}

/* Heading style */
.osm-signup-page #osm-existing-user-login h3 {
    color: #1565c0 !important;
    font-size: 1.5rem !important;
    margin: 0 0 20px 0 !important;
    font-weight: 600 !important;
}

/* Input polish */
.osm-signup-page #osm-existing-user-login ~ form[name="osm_login_form"] input {
    height: 48px !important;
    border-radius: 12px !important;
}

.osm-signup-page #osm-existing-user-login ~ form[name="osm_login_form"] .btn-primary {
    border-radius: 12px !important;
    padding: 12px 40px !important;
    background: #1565c0 !important;
    border: none !important;
}

/* Full-width login fields ONLY inside modals */
#login-modal .uk-input,
#login-modal input[type="text"],
#login-modal input[type="password"],
#login-modal input[name="username"],
#login-modal input[name="password"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Optional: a little breathing room */
#login-modal .login-fields {
    margin-bottom: 1rem;
}
#login-modal .form-check-input {
    width: auto !important;
}

img.osm-payment-method-icon.clearfix {
    margin-bottom: 10px;
}

#osm-signup-page .osm-message a[href*="login"],
.osm-message a[href*="/login"] {
    vertical-align: middle !important;
}

/* Make password fields exactly the same width as all other text inputs */
.password-group .input-group {
    width: 75% !important;
}
.password-group .input-group .form-control {
    width: 75% !important;
    flex: 1 1 auto !important;
}

/* Optional: give the eye button a little breathing room */
.password-group .input-group .btn {
    flex-shrink: 0;
}