/* ── Booking Form ── */
.transport-booking-form {
    max-width: 900px;
    margin: 80px auto;
    padding: 50px 40px;

    border-radius: 28px;

    background: linear-gradient(
        180deg,
        rgba(179, 134, 69, 0.95),
        rgba(248, 245, 239, 0.95)
    );

    backdrop-filter: blur(12px);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.1);
}

.transport-booking-form h2 {
    margin-bottom: 45px;
    text-align: center;
    font-size: 2.5rem;
    font-weight: 700;
    color: #111;
}

.transport-booking-form .form-group {
    margin-bottom: 24px;
}

.transport-booking-form label {
    display: block;
    margin-bottom: 10px;

    color: #444;
    font-size: 1rem;
    font-weight: 600;
}

.input-container {
    display: flex;
    align-items: center;

    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 18px;

    background: #f8f5ef;

    transition:
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}

.input-container:focus-within {
    border-color: rgb(179, 134, 69);
    box-shadow: 0 0 0 4px rgba(179, 134, 69, 0.15);
    transform: translateY(-1px);
}

.icon {
    display: flex;
    justify-content: center;
    align-items: center;

    width: 60px;

    color: rgb(179, 134, 69);
    font-size: 1.1rem;
}

.transport-booking-form .form-control {
    padding: 18px 18px 18px 0;

    border: none !important;
    background: transparent !important;
    box-shadow: none !important;

    color: #333;
    font-size: 1rem;
}

.transport-booking-form .form-control::placeholder {
    color: #999;
}

.transport-booking-form textarea.form-control {
    resize: none;
}

.transport-booking-form .custom-btn {
    width: 100%;
    margin-top: 20px;
    padding: 18px;

    border: none;
    border-radius: 18px;

    color: white;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 1px;

    background: linear-gradient(135deg, #d8b06b, #c8943e);

    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.transport-booking-form .custom-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 28px rgba(216, 176, 107, 0.35);
}

.transport-booking-form .alert {
    border: none;
    border-radius: 18px;
}

/* Contenedor del select */
.select2-container--default .select2-selection--single {
    background-color: transparent;
    border: none;
    height: 100%;
    display: flex;
    align-items: center;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #333;
    line-height: normal;
    padding-left: 0;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    display: none; /* usamos la flecha del .input-container */
}

/* Dropdown abierto */
.traluxu-dropdown {
    border: 1px solid rgb(179, 134, 69) !important;
    border-radius: 8px !important;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(179, 134, 69, 0.2) !important;
}

/* Opciones */
.traluxu-dropdown .select2-results__option {
    padding: 10px 14px;
    color: #444;
    transition: background 0.15s ease;
}

/* Hover */
.traluxu-dropdown .select2-results__option--highlighted {
    background-color: rgba(179, 134, 69, 0.15) !important;
    color: rgb(140, 100, 40) !important;
}

/* Opción seleccionada */
.traluxu-dropdown .select2-results__option[aria-selected="true"] {
    background-color: rgb(179, 134, 69) !important;
    color: white !important;
}

/* Focus en el input-container cuando Select2 está abierto */
.select2-container--open ~ * ,
.input-container:has(.select2-container--open) {
    border-color: rgb(179, 134, 69);
    box-shadow: 0 0 0 4px rgba(179, 134, 69, 0.15);
    transform: translateY(-1px);
}

/* ── Select2 altura y alineación ── */
.input-container .select2-container {
    flex: 1;
}

.input-container .select2-container--default .select2-selection--single {
    height: auto;
    padding: 18px 18px 18px 0;
    background: transparent;
    border: none;
    display: flex;
    align-items: center;
}

.input-container .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 0;
    line-height: normal;
    color: #333;
}

.input-container .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999;
}