/* =====================================================================
   Vila Dorului - ajustari responsive comune (telefon / tableta / desktop)
   Se incarca dupa CSS-ul temei; nu schimba designul pe desktop.
   ===================================================================== */
html, body { max-width: 100%; overflow-x: hidden; }
img, video, svg { max-width: 100%; }
img { height: auto; }
h1, h2, h3, h4, .box_about h3, .main_title h2 { overflow-wrap: anywhere; word-break: normal; }
table { max-width: 100%; }
.table-responsive, .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Ecranul principal (hero) - titluri care incap pe telefon */
@media (max-width: 767px) {
    .hero_single h1, .hero_single.inner_pages h1 { font-size: clamp(1.6rem, 7.5vw, 2.3rem) !important; line-height: 1.2; }
    .hero_single p { font-size: 1rem !important; }
    .hero_single.inner_pages { height: 340px; }
    .main_title h2, .v-main-title { font-size: clamp(1.4rem, 6vw, 1.9rem) !important; }
    .margin_60_40 { padding-top: 40px; padding-bottom: 20px; }
    .container { padding-left: 16px; padding-right: 16px; }

    /* butoane usor de apasat cu degetul, campuri fara zoom automat pe iPhone */
    .btn_1, a.btn_1, button.btn_1 { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; }
    .btn_1.full-width { width: 100%; }
    input.form-control, select.form-control, select.form-select, textarea.form-control, input[type="text"], input[type="email"], input[type="tel"], input[type="date"], input[type="number"], select, textarea { font-size: 16px !important; }

    /* pagina de plata */
    #orderContainer { padding: 18px !important; }
    .order-box-header { padding: 16px !important; }
    .order { padding: 20px 0 !important; }

    /* pagina de cautare / rezervare */
    .booking_room_card .room_card_body { padding: 16px !important; }
    .booking_room_card .price_and_button { gap: 12px !important; }
    .booking_room_card .btn_reserve_final { padding: 10px 14px !important; }
    .filter_input_group { min-width: 100% !important; }
    #guests_dropdown { width: calc(100vw - 64px) !important; max-width: 340px; }

    /* restaurant */
    .switch-field { display: flex; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
    .switch-field label { white-space: nowrap; flex: 0 0 auto; }
    .filters_full .container { display: flex; align-items: center; gap: 8px; }
    .menu_switch a { padding: 10px 16px; font-size: 12px; }

    /* galerii / carduri */
    .strip figure { border-radius: 10px; }
    .box_booking { margin-top: 20px; }
}

@media (max-width: 380px) {
    .booking_room_card .price_and_button { flex-direction: column; align-items: flex-end !important; }
    .booking_stepper .bs_step { font-size: 9px !important; }
}

/* tabletă */
@media (min-width: 768px) and (max-width: 1024px) {
    .container { max-width: 100%; padding-left: 24px; padding-right: 24px; }
}
