/* PhotoTravel direct booking + checkout — v1.7.2 */
:root {
    --pt-pink:#ed175c;
    --pt-pink-soft:#fff3f7;
    --pt-ink:#111827;
    --pt-muted:#64748b;
    --pt-line:#e5eaf0;
    --pt-soft:#f7f9fc;
    --pt-selected:#a7c957;
    --pt-selected-border:#8eae3f;
}

/* Arama/listeme bileşenlerini gizle; parametreyle gelen sayfada doğrudan rezervasyon. */
body.wbtm-phototravel-direct #wbtm_area .wbtm_search_area,
body.wbtm-phototravel-direct #wbtm_area .wbtm_bus_left_filter_holder,
body.wbtm-phototravel-direct #wbtm_area #wbtm-bus-popup,
body.wbtm-phototravel-direct #wbtm_area .wbtm-list-header,
body.wbtm-phototravel-direct #wbtm_area .wbtm_search_route_container,
body.wbtm-phototravel-direct #wbtm_area .wbtm_bus_tab_wrapper,
body.wbtm-phototravel-direct #wbtm_area #wbtm_date_start_route { display:none !important; }

body.wbtm-phototravel-direct #wbtm_area,
body.wbtm-phototravel-direct #wbtm_area .wbtm_search_result,
body.wbtm-phototravel-direct #wbtm_area .wbtm_search_result_holder,
body.wbtm-phototravel-direct #wbtm_area .wbtm_bus_list_area,
body.wbtm-phototravel-direct #wbtm_area .wbtm_departure_bus_lists_holder {
    width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important; background:transparent !important;
}
body.wbtm-phototravel-direct #wbtm_area .wbtm_bus_list_area.wbtm-direct-seat-open > .wbtm-bus-list { display:none !important; }
body.wbtm-phototravel-direct #wbtm_area .wbtm_bus_list_area.wbtm-direct-seat-open > .wbtm_bus_details { margin-top:0 !important; border-top:0 !important; }

/* Ödemeden geri gelindiğinde çıkan staged seçim kartı: tek satır, sade. */
body.wbtm-phototravel-direct .wbtm_selected_bus_card {
    margin:0 0 18px !important; padding:15px 18px !important; min-height:0 !important;
    display:flex !important; align-items:center !important; gap:18px !important;
    border:1px solid #e5eaf0 !important; border-radius:16px !important; background:#fff !important;
    box-shadow:0 8px 24px rgba(15,23,42,.04) !important;
}
body.wbtm-phototravel-direct .wbtm_selected_bus_card .wbtm_selbus_date_badge,
body.wbtm-phototravel-direct .wbtm_selected_bus_card .wbtm_selbus_toprow,
body.wbtm-phototravel-direct .wbtm_selected_bus_card .wbtm_selbus_route,
body.wbtm-phototravel-direct .wbtm_selected_bus_card .wbtm_selbus_times,
body.wbtm-phototravel-direct .wbtm_selected_bus_card .wbtm_selbus_cart_link { display:none !important; }
body.wbtm-phototravel-direct .wbtm_selected_bus_card .wbtm_selbus_body { flex:1 1 auto !important; min-width:0 !important; }
body.wbtm-phototravel-direct .wbtm_selected_bus_card .wbtm_selbus_body::before {
    content:'Rezervasyonunuz ödeme için hazır'; display:block; margin:0 0 7px;
    color:var(--pt-ink); font-size:14px; line-height:1.25; font-weight:800;
}
body.wbtm-phototravel-direct .wbtm_selected_bus_card .wbtm_selbus_details {
    display:flex !important; align-items:center !important; gap:16px !important; color:var(--pt-muted) !important;
}
body.wbtm-phototravel-direct .wbtm_selected_bus_card .wbtm_selbus_seat { font-size:13px !important; font-weight:700 !important; }
body.wbtm-phototravel-direct .wbtm_selected_bus_card .wbtm_selbus_price { font-size:15px !important; font-weight:800 !important; color:var(--pt-ink) !important; }
body.wbtm-phototravel-direct .wbtm_selected_bus_card .wbtm_selbus_actions { flex:0 0 auto !important; }
body.wbtm-phototravel-direct .wbtm_selected_bus_card .wbtm_selected_bus_btn {
    margin:0 !important; min-height:44px !important; padding:0 18px !important; border-radius:11px !important;
    box-shadow:none !important; font-weight:800 !important;
}

/* Ana rezervasyon yüzeyi */
body.wbtm-phototravel-direct .wbtm_registration_area {
    margin-top:0 !important; padding:20px !important; border:1px solid #edf0f4 !important;
    border-radius:22px !important; background:var(--pt-soft) !important; box-shadow:0 18px 50px rgba(15,23,42,.045) !important;
}
body.wbtm-phototravel-direct .wbtm_registration_area > form { max-width:1240px; margin:0 auto; }
body.wbtm-phototravel-direct .wbtm_registration_area .mpRow { gap:24px; align-items:flex-start; }

/* Koltuk alanı */
body.wbtm-phototravel-direct .wbtm_seat_plan_area {
    border:1px solid #e4e9ef !important; border-radius:20px !important; background:#fff !important;
    padding:18px 16px 16px !important; box-shadow:0 10px 28px rgba(15,23,42,.045) !important;
}
body.wbtm-phototravel-direct .wbtm_seat_plan_area table th,
body.wbtm-phototravel-direct .wbtm_seat_plan_area table td,
body.wbtm-phototravel-direct div.wbtm_bus_list_area div.wbtm_seat_plan_area table th,
body.wbtm-phototravel-direct div.wbtm_bus_list_area div.wbtm_seat_plan_area table td {
    height:60px !important; min-height:60px !important; padding:6px !important; background:transparent !important;
}
body.wbtm-phototravel-direct .wbtm_seat_plan_area .mp_seat_item { min-height:50px !important; }
body.wbtm-phototravel-direct div.wbtm_bus_list_area div.wbtm_seat_plan_area div.mp_seat .seat_visual {
    min-height:48px !important; border-radius:13px 13px 5px 5px !important; border:1px solid #d8dee7 !important;
    border-bottom-width:5px !important; box-shadow:0 4px 9px rgba(15,23,42,.07) !important;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease !important;
}
body.wbtm-phototravel-direct .wbtm_seat_plan_area .seat_number { font-size:13px !important; font-weight:800 !important; }

/* BOŞ = beyaz */
body.wbtm-phototravel-direct .wbtm_seat_plan_area .seat_available:not(.seat_selected) .seat_visual,
body.wbtm-phototravel-direct .wbtm_seat_plan_upper .seat_available:not(.seat_selected) .seat_visual,
body.wbtm-phototravel-direct .wbtm_cabin_seat_plan .seat_available:not(.seat_selected) .seat_visual {
    background:#fff !important; border-color:#d7dee7 !important; color:#111827 !important; opacity:1 !important;
}
body.wbtm-phototravel-direct .seat_available:not(.seat_selected) .seat_number { color:#111827 !important; }
body.wbtm-phototravel-direct .wbtm_seat_plan_area .seat_available:not(.seat_selected):hover .seat_visual {
    transform:translateY(-2px); border-color:#b8c3cf !important; box-shadow:0 8px 16px rgba(15,23,42,.11) !important;
}

/* DOLU = mevcut PhotoTravel pembesi */
body.wbtm-phototravel-direct .wbtm_seat_plan_area .seat_booked .seat_visual,
body.wbtm-phototravel-direct .wbtm_seat_plan_upper .seat_booked .seat_visual,
body.wbtm-phototravel-direct .wbtm_cabin_seat_plan .seat_booked .seat_visual {
    background:var(--pt-pink) !important; border-color:var(--pt-pink) !important; opacity:.88 !important; box-shadow:0 4px 9px rgba(237,23,92,.15) !important;
}
body.wbtm-phototravel-direct .seat_booked .seat_number { color:#fff !important; }

/* SEÇİLİ = sarımsı yeşil */
body.wbtm-phototravel-direct .wbtm_seat_plan_area .seat_available.seat_selected .seat_visual,
body.wbtm-phototravel-direct .wbtm_seat_plan_upper .seat_available.seat_selected .seat_visual,
body.wbtm-phototravel-direct .wbtm_cabin_seat_plan .seat_available.seat_selected .seat_visual {
    background:var(--pt-selected) !important; border-color:var(--pt-selected-border) !important;
    box-shadow:0 0 0 3px rgba(167,201,87,.20), 0 7px 14px rgba(78,99,31,.16) !important;
}
body.wbtm-phototravel-direct .seat_available.seat_selected .seat_number { color:#20300c !important; }

/* Alt açıklama renkleri */
body.wbtm-phototravel-direct .wbtm_seat_legend_swatch.is_available { background:#fff !important; border:1.5px solid #cbd5e1 !important; }
body.wbtm-phototravel-direct .wbtm_seat_legend_swatch.is_selected { background:var(--pt-selected) !important; border:1.5px solid var(--pt-selected-border) !important; }
body.wbtm-phototravel-direct .wbtm_seat_legend_swatch.is_booked { background:var(--pt-pink) !important; border:1.5px solid var(--pt-pink) !important; }

/* Yolcu kartı ve alanlar */
body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item {
    border:1px solid #e4e9ef !important; border-radius:18px !important; background:#fff !important;
    overflow:hidden !important; box-shadow:0 8px 24px rgba(15,23,42,.035) !important;
}
body.wbtm-phototravel-direct .wbtm_attendee_area .mpPanelHeader,
body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item > :first-child { border-color:#edf0f4 !important; }
body.wbtm-phototravel-direct .wbtm_registration_area input.formControl,
body.wbtm-phototravel-direct .wbtm_registration_area select.formControl,
body.wbtm-phototravel-direct .wbtm_registration_area textarea.formControl {
    min-height:50px !important; border:1px solid #dde4ec !important; border-radius:12px !important;
    background:#fff !important; color:#111827 !important; font-size:14px !important; font-weight:500 !important;
    box-shadow:none !important; transition:border-color .15s ease, box-shadow .15s ease, background .15s ease !important;
}
body.wbtm-phototravel-direct .wbtm_registration_area textarea.formControl { min-height:86px !important; padding-top:13px !important; }
body.wbtm-phototravel-direct .wbtm_registration_area input.formControl:focus,
body.wbtm-phototravel-direct .wbtm_registration_area select.formControl:focus,
body.wbtm-phototravel-direct .wbtm_registration_area textarea.formControl:focus {
    border-color:rgba(237,23,92,.55) !important; box-shadow:0 0 0 4px rgba(237,23,92,.07) !important; outline:0 !important;
}
body.wbtm-phototravel-direct .wbtm_registration_area input::placeholder,
body.wbtm-phototravel-direct .wbtm_registration_area textarea::placeholder { color:#94a3b8 !important; opacity:1 !important; }

/* Oda Tercihi: sade, hafif ve select odaklı */
body.wbtm-phototravel-direct .wbtm_ex_service_area > h3,
body.wbtm-phototravel-direct .wbtm_ex_service_area table > thead { display:none !important; }
body.wbtm-phototravel-direct .wbtm_ex_service_area { margin:0 0 18px !important; }
body.wbtm-phototravel-direct .wbtm_ex_service_area .mpPanel { padding:0 !important; border:0 !important; box-shadow:none !important; background:transparent !important; }
body.wbtm-phototravel-direct .wbtm_ex_service_area tr.phototravel-room-choice {
    display:grid !important; grid-template-columns:1fr !important; padding:16px 17px !important;
    border:1px solid #e5eaf0 !important; border-radius:16px !important; background:#fff !important;
    box-shadow:0 7px 20px rgba(15,23,42,.03) !important;
}
body.wbtm-phototravel-direct .wbtm_ex_service_area tr.phototravel-room-choice > td {
    display:block !important; width:100% !important; padding:0 !important; border:0 !important; text-align:left !important;
}
body.wbtm-phototravel-direct .wbtm_ex_service_area tr.phototravel-room-choice > td:first-child,
body.wbtm-phototravel-direct .wbtm_ex_service_area tr.phototravel-room-choice > td:nth-child(3) { display:none !important; }
body.wbtm-phototravel-direct .wbtm_ex_service_area tr.phototravel-room-choice > td:nth-child(2) { display:block !important; width:100% !important; }
body.wbtm-phototravel-direct .phototravel-room-choice-label {
    display:block; margin:0 0 3px; color:var(--pt-ink); font-size:14.5px; line-height:1.35; font-weight:800;
}
body.wbtm-phototravel-direct .phototravel-room-choice-help {
    display:block; margin:0 0 11px; color:#718096; font-size:12.25px; line-height:1.45; font-weight:500;
}
body.wbtm-phototravel-direct .wbtm_ex_service_area tr.phototravel-room-choice select[name="extra_service_qty[]"] {
    display:block !important; width:100% !important; min-height:50px !important; margin:0 !important;
    padding:0 44px 0 14px !important; border:1px solid #d9e1e9 !important; border-radius:11px !important;
    background-color:#fbfcfe !important; color:#111827 !important; font-size:13.5px !important; font-weight:700 !important; cursor:pointer;
}
body.wbtm-phototravel-direct .wbtm_ex_service_area tr.phototravel-room-choice select[name="extra_service_qty[]"]:focus {
    border-color:rgba(237,23,92,.55) !important; box-shadow:0 0 0 4px rgba(237,23,92,.07) !important; outline:0 !important;
}

/* Rezervasyon Özeti — tüm satırlar aynı grid, bol nefes, tutarlar hizalı */
body.wbtm-phototravel-direct .wbtm_booking_summary_route,
body.wbtm-phototravel-direct .wbtm_booking_summary_subtotal,
body.wbtm-phototravel-direct .wbtm_booking_summary_note { display:none !important; }
body.wbtm-phototravel-direct .wbtm_booking_summary_preview {
    border:1px solid #e5eaf0 !important; border-radius:18px !important; background:#fff !important;
    overflow:hidden !important; box-shadow:0 8px 24px rgba(15,23,42,.035) !important;
}
body.wbtm-phototravel-direct .wbtm_booking_summary_title {
    margin:0 !important; padding:15px 17px !important; background:#fbfcfe !important; border-bottom:1px solid #edf1f5 !important;
    color:#111827 !important; font-size:14px !important; line-height:1.3 !important; font-weight:800 !important;
}
body.wbtm-phototravel-direct .wbtm_booking_summary_card { padding:6px 15px 14px !important; }
body.wbtm-phototravel-direct .wbtm_booking_summary_table { width:100% !important; border-collapse:collapse !important; table-layout:fixed !important; }
body.wbtm-phototravel-direct .wbtm_summary_preview_rows tr:not(.wbtm_summary_preview_empty_row) { border-bottom:1px solid #eef2f6 !important; }
body.wbtm-phototravel-direct .wbtm_summary_preview_rows tr:not(.wbtm_summary_preview_empty_row) td {
    padding:11px 6px !important; vertical-align:middle !important; line-height:1.25 !important; font-size:13px !important;
}
body.wbtm-phototravel-direct .wbtm_summary_preview_rows tr:not(.wbtm_summary_preview_empty_row) td:first-child {
    width:34% !important; font-size:0 !important; color:#64748b !important; font-weight:700 !important;
}
body.wbtm-phototravel-direct .wbtm_summary_preview_rows tr:not(.wbtm_summary_preview_empty_row) td:first-child::after {
    content:'Koltuk No'; font-size:12.5px; font-weight:700; color:#64748b; text-transform:none; letter-spacing:0;
}
body.wbtm-phototravel-direct .wbtm_summary_preview_rows tr:not(.wbtm_summary_preview_empty_row) td:nth-child(2) {
    width:24% !important; color:#111827 !important; font-size:13px !important; font-weight:800 !important;
}
body.wbtm-phototravel-direct .wbtm_summary_preview_rows tr:not(.wbtm_summary_preview_empty_row) td:nth-child(3) {
    width:42% !important; text-align:right !important; color:#111827 !important; font-size:13px !important; font-weight:800 !important; white-space:nowrap !important;
}
body.wbtm-phototravel-direct .wbtm_summary_preview_services {
    margin:0 !important; padding:4px 6px 6px !important; border-bottom:1px solid #eef2f6 !important;
}
body.wbtm-phototravel-direct .wbtm_summary_preview_service_row {
    min-height:40px !important; padding:9px 0 !important; gap:18px !important; align-items:center !important;
}
body.wbtm-phototravel-direct .wbtm_summary_preview_service_row .wbtm_summary_service_name {
    color:#64748b !important; font-size:12.5px !important; line-height:1.35 !important; font-weight:700 !important;
}
body.wbtm-phototravel-direct .wbtm_summary_preview_service_row .wbtm_summary_service_price {
    color:#111827 !important; font-size:13px !important; line-height:1.35 !important; font-weight:800 !important; white-space:nowrap !important;
}
body.wbtm-phototravel-direct .wbtm_summary_services_subtotal { display:none !important; }
body.wbtm-phototravel-direct .wbtm_booking_summary_total {
    margin:12px 0 0 !important; padding:13px 12px !important; border:1px solid #edf1f5 !important; border-radius:12px !important;
    background:#f8fafc !important; align-items:center !important;
}
body.wbtm-phototravel-direct .wbtm_booking_summary_total > span:first-child { color:#334155 !important; font-size:13.5px !important; font-weight:750 !important; }
body.wbtm-phototravel-direct .wbtm_booking_summary_total .wbtm_summary_preview_total { color:#1e3a8a !important; font-size:17px !important; font-weight:850 !important; white-space:nowrap !important; }
body.wbtm-phototravel-direct .wbtm_summary_preview_book_now,
body.wbtm-phototravel-direct #wbtm_add_to_cart {
    border-radius:12px !important; min-height:54px !important; font-size:15px !important; font-weight:800 !important;
    box-shadow:0 8px 18px rgba(237,23,92,.14) !important;
}
body.wbtm-phototravel-direct .wbtm_hold_badge { margin-top:12px !important; border-radius:12px !important; font-size:12.5px !important; font-weight:700 !important; }

/* Doğrulama */
body.wbtm-phototravel-direct .wbtm_registration_area .wbtm_input_error { border-color:#dc2626 !important; box-shadow:0 0 0 4px rgba(220,38,38,.07) !important; }
body.wbtm-phototravel-direct .phototravel-field-error { display:block; margin:6px 2px 0 !important; color:#b91c1c !important; font-size:11.5px !important; font-weight:650 !important; line-height:1.4 !important; }
body.wbtm-phototravel-direct .phototravel-form-alert {
    display:flex; flex-direction:column; gap:2px; margin:0 0 14px !important; padding:12px 14px !important;
    border:1px solid #fecaca !important; border-radius:12px !important; background:#fff7f7 !important; color:#991b1b !important; font-size:12.5px !important; line-height:1.45 !important;
}
body.wbtm-phototravel-direct .phototravel-form-alert strong { color:#991b1b !important; font-size:13.5px !important; font-weight:800 !important; }

/* TC number steppers */
body.wbtm-phototravel-direct input.phototravel-tc-input[type="number"]::-webkit-outer-spin-button,
body.wbtm-phototravel-direct input.phototravel-tc-input[type="number"]::-webkit-inner-spin-button { -webkit-appearance:none !important; margin:0 !important; }
body.wbtm-phototravel-direct input.phototravel-tc-input[type="number"] { appearance:textfield !important; -moz-appearance:textfield !important; }

/* WooCommerce ödeme / sepet: sade görünüm ve Türkçe koltuk süresi */
body.phototravel-wbtm-checkout .wbtm-cart-hold {
    margin:0 0 18px !important; padding:11px 14px !important; border:1px solid #cfe3b0 !important; border-radius:11px !important;
    background:#f7fbea !important; color:#3f5d19 !important; box-shadow:none !important; font-size:13px !important; font-weight:700 !important;
}
body.phototravel-wbtm-checkout .wbtm-cart-hold.is-urgent { background:#fff8e8 !important; border-color:#f1d38a !important; color:#7a5a10 !important; }
body.phototravel-wbtm-checkout .wbtm-cart-hold.is-expired { background:#fff1f2 !important; border-color:#fecdd3 !important; color:#9f1239 !important; }
/* Eski/classic ve Blocks checkout'ta kalan Booking Details için görsel fallback. */
body.phototravel-wbtm-checkout dt.variation-BookingDetails,
body.phototravel-wbtm-checkout dd.variation-BookingDetails,
body.phototravel-wbtm-checkout .wc-block-components-product-details__booking-details,
body.phototravel-wbtm-checkout .phototravel-hidden-booking-details { display:none !important; }
body.phototravel-wbtm-checkout .woocommerce-checkout-review-order-table,
body.phototravel-wbtm-checkout .wc-block-components-order-summary { border-radius:14px !important; overflow:hidden; }

@media (max-width:800px) {
    /* Sayfanın hiçbir bölümünün mobilde yatay taşmasına izin verme. */
    html, body.wbtm-phototravel-direct { overflow-x:hidden !important; }
    body.wbtm-phototravel-direct #wbtm_area,
    body.wbtm-phototravel-direct #wbtm_area * { box-sizing:border-box; }

    body.wbtm-phototravel-direct .wbtm_registration_area {
        width:100% !important; max-width:100% !important; margin:0 !important;
        padding:10px !important; border-radius:15px !important;
    }
    body.wbtm-phototravel-direct .wbtm_registration_area > form,
    body.wbtm-phototravel-direct .wbtm_registration_area .mpRow,
    body.wbtm-phototravel-direct .wbtm_registration_area .mpRow > * {
        width:100% !important; max-width:100% !important; min-width:0 !important;
    }
    body.wbtm-phototravel-direct .wbtm_registration_area .mpRow {
        display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:14px !important;
    }

    /* Koltuk planı: ekran genişliğine sığar, koltuklar dengeli küçülür. */
    body.wbtm-phototravel-direct .wbtm_seat_plan_area {
        width:100% !important; max-width:100% !important; min-width:0 !important;
        padding:14px 10px 12px !important; border-radius:16px !important; overflow:hidden !important;
    }
    body.wbtm-phototravel-direct .wbtm_seat_plan_area table {
        width:100% !important; max-width:100% !important; min-width:0 !important;
        table-layout:fixed !important; border-collapse:separate !important; border-spacing:0 !important;
    }
    body.wbtm-phototravel-direct .wbtm_seat_plan_area table th,
    body.wbtm-phototravel-direct .wbtm_seat_plan_area table td,
    body.wbtm-phototravel-direct div.wbtm_bus_list_area div.wbtm_seat_plan_area table th,
    body.wbtm-phototravel-direct div.wbtm_bus_list_area div.wbtm_seat_plan_area table td {
        width:auto !important; min-width:0 !important; max-width:none !important;
        height:52px !important; min-height:52px !important; padding:3px !important;
    }
    body.wbtm-phototravel-direct .wbtm_seat_plan_area .mp_seat,
    body.wbtm-phototravel-direct .wbtm_seat_plan_area .mp_seat_item {
        width:100% !important; max-width:58px !important; min-width:0 !important; margin-left:auto !important; margin-right:auto !important;
    }
    body.wbtm-phototravel-direct div.wbtm_bus_list_area div.wbtm_seat_plan_area div.mp_seat .seat_visual {
        width:100% !important; min-width:0 !important; max-width:58px !important; min-height:46px !important;
        margin:0 auto !important; border-radius:12px 12px 5px 5px !important;
    }
    body.wbtm-phototravel-direct .wbtm_seat_plan_area .seat_number {
        font-size:13px !important; line-height:1 !important;
    }
    body.wbtm-phototravel-direct .wbtm_seat_plan_area .wbtm_seat_legend,
    body.wbtm-phototravel-direct .wbtm_seat_plan_area .seat_legend {
        display:flex !important; flex-wrap:wrap !important; justify-content:center !important; gap:10px 14px !important;
        font-size:12px !important;
    }

    /* Sağ taraf: oda tercihi + yolcu formu + özet mobilde tam genişlik. */
    body.wbtm-phototravel-direct .wbtm_ex_service_area,
    body.wbtm-phototravel-direct .wbtm_attendee_area,
    body.wbtm-phototravel-direct .wbtm_booking_summary_preview {
        width:100% !important; max-width:100% !important; min-width:0 !important;
    }
    body.wbtm-phototravel-direct .wbtm_ex_service_area tr.phototravel-room-choice {
        padding:14px !important; border-radius:15px !important;
    }
    body.wbtm-phototravel-direct .phototravel-room-choice-label { font-size:15px !important; }
    body.wbtm-phototravel-direct .phototravel-room-choice-help { font-size:12.5px !important; margin-bottom:10px !important; }
    body.wbtm-phototravel-direct .wbtm_ex_service_area tr.phototravel-room-choice select[name="extra_service_qty[]"] {
        width:100% !important; max-width:100% !important; min-width:0 !important; height:50px !important;
        padding-left:12px !important; padding-right:34px !important; font-size:13px !important;
        text-overflow:ellipsis !important; white-space:nowrap !important;
    }

    /* Yolcu kartı başlığı ve içerik alanı. */
    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item { border-radius:16px !important; }
    body.wbtm-phototravel-direct .wbtm_attendee_area .mpPanelHeader { padding:14px !important; }
    body.wbtm-phototravel-direct .wbtm_attendee_area .mpPanelBody,
    body.wbtm-phototravel-direct .wbtm_attendee_area .mpPanelContent,
    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item > div:not(.mpPanelHeader) {
        max-width:100% !important; min-width:0 !important;
    }

    /* WBTM'nin iki sütunlu alanlarını mobilde tek sütuna çevir. */
    body.wbtm-phototravel-direct .wbtm_attendee_area .mpRow,
    body.wbtm-phototravel-direct .wbtm_attendee_area .mp_form_row,
    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_form_row {
        display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:11px !important;
        width:100% !important; max-width:100% !important;
    }
    body.wbtm-phototravel-direct .wbtm_attendee_area .mp_form_item,
    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_form_item,
    body.wbtm-phototravel-direct .wbtm_attendee_area [class*="mpColumn"],
    body.wbtm-phototravel-direct .wbtm_attendee_area [class*="mp_col"],
    body.wbtm-phototravel-direct .wbtm_attendee_area [class*="col-"] {
        width:100% !important; max-width:100% !important; min-width:0 !important; flex:0 0 100% !important;
    }
    body.wbtm-phototravel-direct .wbtm_registration_area input.formControl,
    body.wbtm-phototravel-direct .wbtm_registration_area select.formControl,
    body.wbtm-phototravel-direct .wbtm_registration_area textarea.formControl,
    body.wbtm-phototravel-direct .wbtm_attendee_area input,
    body.wbtm-phototravel-direct .wbtm_attendee_area select,
    body.wbtm-phototravel-direct .wbtm_attendee_area textarea {
        width:100% !important; max-width:100% !important; min-width:0 !important;
        min-height:50px !important; font-size:16px !important; /* iOS otomatik zoom yapmasın */
        padding-left:13px !important; padding-right:13px !important;
    }
    body.wbtm-phototravel-direct .wbtm_registration_area textarea.formControl { min-height:82px !important; }

    /* Rezervasyon özeti mobilde taşmasın; fiyatlar okunur kalsın. */
    body.wbtm-phototravel-direct .wbtm_booking_summary_title { padding:14px !important; font-size:14px !important; }
    body.wbtm-phototravel-direct .wbtm_booking_summary_card { padding:6px 12px 12px !important; }
    body.wbtm-phototravel-direct .wbtm_booking_summary_table { table-layout:fixed !important; }
    body.wbtm-phototravel-direct .wbtm_summary_preview_rows tr:not(.wbtm_summary_preview_empty_row) td {
        padding:10px 4px !important; font-size:12px !important;
    }
    body.wbtm-phototravel-direct .wbtm_summary_preview_rows tr:not(.wbtm_summary_preview_empty_row) td:first-child { width:36% !important; }
    body.wbtm-phototravel-direct .wbtm_summary_preview_rows tr:not(.wbtm_summary_preview_empty_row) td:nth-child(2) { width:16% !important; }
    body.wbtm-phototravel-direct .wbtm_summary_preview_rows tr:not(.wbtm_summary_preview_empty_row) td:nth-child(3) {
        width:48% !important; font-size:12.5px !important; white-space:nowrap !important;
    }
    body.wbtm-phototravel-direct .wbtm_summary_preview_service_row {
        display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; gap:10px !important;
    }
    body.wbtm-phototravel-direct .wbtm_booking_summary_total { padding:12px 10px !important; }
    body.wbtm-phototravel-direct .wbtm_booking_summary_total .wbtm_summary_preview_total { font-size:16px !important; }
    body.wbtm-phototravel-direct .wbtm_summary_preview_book_now,
    body.wbtm-phototravel-direct #wbtm_add_to_cart { width:100% !important; min-height:52px !important; }

    body.wbtm-phototravel-direct .wbtm_selected_bus_card {
        width:100% !important; max-width:100% !important; align-items:stretch !important; flex-direction:column !important; gap:12px !important;
    }
    body.wbtm-phototravel-direct .wbtm_selected_bus_card .wbtm_selbus_actions,
    body.wbtm-phototravel-direct .wbtm_selected_bus_card .wbtm_selected_bus_btn { width:100% !important; }
}

@media (max-width:420px) {
    body.wbtm-phototravel-direct .wbtm_registration_area { padding:8px !important; }
    body.wbtm-phototravel-direct .wbtm_seat_plan_area { padding:12px 7px 10px !important; }
    body.wbtm-phototravel-direct .wbtm_seat_plan_area table th,
    body.wbtm-phototravel-direct .wbtm_seat_plan_area table td { height:48px !important; min-height:48px !important; padding:2px !important; }
    body.wbtm-phototravel-direct .wbtm_seat_plan_area .mp_seat,
    body.wbtm-phototravel-direct .wbtm_seat_plan_area .mp_seat_item,
    body.wbtm-phototravel-direct div.wbtm_bus_list_area div.wbtm_seat_plan_area div.mp_seat .seat_visual { max-width:52px !important; }
    body.wbtm-phototravel-direct div.wbtm_bus_list_area div.wbtm_seat_plan_area div.mp_seat .seat_visual { min-height:43px !important; }
    body.wbtm-phototravel-direct .wbtm_seat_plan_area .seat_number { font-size:12.5px !important; }
    body.wbtm-phototravel-direct .wbtm_ex_service_area tr.phototravel-room-choice { padding:12px !important; }
    body.wbtm-phototravel-direct .wbtm_booking_summary_preview { border-radius:15px !important; }
}

/* ==========================================================
   v1.7.2 — MOBILE PASSENGER FORM: ONE FIELD PER ROW
   WBTM'nin mpPanelBody'si masaüstünde iki kolonlu grid kullanır.
   Mobilde doğrudan bu grid'i tek kolona zorluyoruz; her alan
   kendi satırında ve %100 genişlikte kalır.
   ========================================================== */
@media only screen and (max-width: 800px) {
    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item .mpPanelBody {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-flow: row !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 16px 14px 18px !important;
        box-sizing: border-box !important;
    }

    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item .mpPanelBody > .mp_form_item {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item .mpPanelBody > .mp_form_item .formControl,
    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item .mpPanelBody > .mp_form_item input,
    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item .mpPanelBody > .mp_form_item select,
    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item .mpPanelBody > .mp_form_item textarea {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        min-height: 52px !important;
        margin: 0 !important;
        font-size: 16px !important;
    }

    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item .mpPanelBody > .mp_form_item textarea.formControl,
    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item .mpPanelBody > .mp_form_item textarea {
        min-height: 88px !important;
        resize: vertical !important;
    }

    /* Custom alanların kendi inline/flex genişlikleri de tek satırı bozamaz. */
    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item .mpPanelBody > * {
        float: none !important;
        flex: none !important;
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Kart içeriğinin sağ/sola taşmasını önle. */
    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item,
    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item .mpPanelBody,
    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item .mpPanelHeader {
        overflow: hidden !important;
    }
}

@media only screen and (max-width: 420px) {
    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item .mpPanelBody {
        padding: 14px 12px 16px !important;
        gap: 10px !important;
    }
    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item .mpPanelBody > .mp_form_item .formControl,
    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item .mpPanelBody > .mp_form_item input,
    body.wbtm-phototravel-direct .wbtm_attendee_area .wbtm_attendee_item .mpPanelBody > .mp_form_item select {
        min-height: 50px !important;
    }
}


/* v1.7.3 - passenger field order / roommate row */
body.wbtm-phototravel-direct .wbtm_attendee_area .phototravel-roommate-item {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
}
body.wbtm-phototravel-direct .wbtm_attendee_area .phototravel-roommate-item input,
body.wbtm-phototravel-direct .wbtm_attendee_area .phototravel-roommate-item textarea {
    width: 100% !important;
    max-width: none !important;
}
@media (max-width: 767px) {
    body.wbtm-phototravel-direct .wbtm_attendee_area .phototravel-roommate-item {
        display: block;
    }
}
