/* ==========================================================================
   BABELGO - MODERN RESPONSIVE & PWA THEME STYLES
   ========================================================================== */

:root {
    --babel-primary: #0284c7;
    --babel-primary-dark: #0369a1;
    --babel-secondary: #0d9488;
    --babel-accent: #f59e0b;
    --babel-dark: #0f172a;
    --babel-gray: #64748b;
    --babel-light: #f8fafc;
    --babel-card-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    --babel-hover-shadow: 0 12px 30px rgba(2, 132, 199, 0.12);
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #334155;
    background-color: #f8fafc;
    overflow-x: hidden;
}

/* Primary Color Utilities */
a, 
.text-primary,
.bc_wrap .bc_header .content .header-left .bc-menu ul li:hover > a,
.bc_wrap .bc_search_tour .bc_form_search .bc_form .field-icon,
.bc_wrap .page-template-content .bc-form-search-tour .bc_form_search_tour .field-icon,
.service-review .rate,
.price-wrapper .value,
.item-loop .info .price {
    color: var(--babel-primary) !important;
}

.btn-primary,
.btn.btn-primary,
.bc_wrap .bc_form .g-button-submit button,
.bc_wrap .bc_search_tour .bc_form_search .bc_form .g-button-submit button,
.bc_wrap .page-template-content .bc-form-search-tour .bc_form_search_tour .g-button-submit button,
.bc-pagination ul li.active a,
.bc-pagination ul li.active span {
    background-color: var(--babel-primary) !important;
    border-color: var(--babel-primary) !important;
    color: #ffffff !important;
    border-radius: 6px;
    font-weight: 600;
    transition: all 0.25s ease;
}

.btn-primary:hover,
.btn.btn-primary:hover,
.bc_wrap .bc_form .g-button-submit button:hover {
    background-color: var(--babel-primary-dark) !important;
    border-color: var(--babel-primary-dark) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.25);
}

/* Card & Item Loops Modernization */
.item-loop, 
.shop-card,
.product-card,
.destination-item {
    border-radius: 10px !important;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
    box-shadow: var(--babel-card-shadow);
}

.item-loop:hover,
.product-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--babel-hover-shadow) !important;
}

/* Desktop & Tablet Navigation */
.bc_wrap .bc_header {
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.bc_header .bc-logo {
    display: inline-flex;
    align-items: center;
}

.bc_header .bc-logo img {
    max-height: 46px;
    width: auto;
    object-fit: contain;
}

/* Highlight animation for booking card */
.highlight-booking-card {
    animation: pulse-border 1.2s ease-in-out;
}
@keyframes pulse-border {
    0% { box-shadow: 0 0 0 0 rgba(2, 132, 199, 0.6); }
    70% { box-shadow: 0 0 0 12px rgba(2, 132, 199, 0); }
    100% { box-shadow: 0 0 0 0 rgba(2, 132, 199, 0); }
}

/* ==========================================================================
   MOBILE & PWA RESPONSIVENESS (< 992px)
   ========================================================================== */
@media (max-width: 991.98px) {
    /* Safe container padding */
    .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .bc_header .bc-logo img {
        max-height: 38px !important;
    }

    /* Detail Pages Spacing for Dual Mobile Bars */
    .bc_detail_tour,
    .bc_detail_space,
    .bc_detail_car,
    .bc_detail_event,
    .bc_detail_boat,
    .bc_detail_hotel {
        padding-bottom: calc(130px + env(safe-area-inset-bottom, 0px)) !important;
    }

    .bc_detail_tour .bc_content,
    .bc_detail_space .bc_content,
    .bc_detail_car .bc_content,
    .bc_detail_event .bc_content,
    .bc_detail_boat .bc_content,
    .bc_detail_hotel .bc_content {
        padding-bottom: 20px !important;
    }

    /* Fixed Mobile Action Bar on Detail Pages (Positioned above PWA Bottom Nav) */
    .bc_wrap .bc-more-book-mobile {
        position: fixed !important;
        bottom: calc(58px + env(safe-area-inset-bottom, 0px)) !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 1040 !important;
        background: #ffffff !important;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08) !important;
        padding: 10px 16px !important;
        border-top: 1px solid #e2e8f0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    .bc_wrap .bc-more-book-mobile .container {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .bc_wrap .bc-more-book-mobile .left {
        display: flex !important;
        flex-direction: column !important;
        text-align: left !important;
        max-width: 50% !important;
    }

    .bc_wrap .bc-more-book-mobile .left .g-price {
        display: flex !important;
        align-items: baseline !important;
        gap: 6px !important;
        line-height: 1.2 !important;
    }

    .bc_wrap .bc-more-book-mobile .left .g-price .prefix {
        font-size: 11px !important;
        color: #64748b !important;
        text-transform: uppercase !important;
    }

    .bc_wrap .bc-more-book-mobile .left .g-price .onsale {
        text-decoration: line-through !important;
        color: #94a3b8 !important;
        font-size: 12px !important;
    }

    .bc_wrap .bc-more-book-mobile .left .g-price .text-price {
        color: var(--babel-primary) !important;
        font-size: 17px !important;
        font-weight: 800 !important;
    }

    .bc_wrap .bc-more-book-mobile .left .service-review {
        font-size: 11px !important;
        color: #64748b !important;
        margin-top: 2px !important;
    }

    .bc_wrap .bc-more-book-mobile .right .btn {
        background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
        border: none !important;
        color: #ffffff !important;
        border-radius: 25px !important;
        padding: 10px 22px !important;
        font-weight: 700 !important;
        font-size: 14px !important;
        box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35) !important;
        cursor: pointer !important;
    }

    /* Single Booking Sidebar Card on Mobile */
    .bc_single_book_wrap {
        margin-top: 24px !important;
        margin-bottom: 24px !important;
        border-radius: 16px !important;
        background: #ffffff !important;
        border: 1px solid #e2e8f0 !important;
        box-shadow: 0 4px 25px rgba(0, 0, 0, 0.07) !important;
        overflow: hidden !important;
        scroll-margin-top: 80px !important;
    }

    .bc_single_book_wrap .bc_single_book {
        padding: 18px 14px !important;
        border-radius: 16px !important;
        border: none !important;
    }

    .bc_single_book .form-head {
        padding: 12px 14px !important;
        background: #f8fafc !important;
        border-radius: 10px !important;
        margin-bottom: 15px !important;
    }

    .bc_single_book .form-head .price .text-lg {
        color: var(--babel-primary) !important;
        font-weight: 800 !important;
    }

    .bc_single_book .form-group {
        margin-bottom: 14px !important;
    }

    .bc_single_book .form-date-search .date-wrapper {
        border-radius: 10px !important;
        border: 1px solid #cbd5e1 !important;
        padding: 10px 14px !important;
    }

    .bc_single_book .form-guest-search .guest-wrapper {
        border-radius: 10px !important;
        border: 1px solid #cbd5e1 !important;
        padding: 10px 14px !important;
    }

    .bc_single_book .submit-group {
        margin-top: 18px !important;
        padding-bottom: 6px !important;
    }

    .bc_single_book .submit-group .btn {
        width: 100% !important;
        display: block !important;
        padding: 14px !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        border-radius: 10px !important;
        background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
        border: none !important;
        box-shadow: 0 4px 15px rgba(2, 132, 199, 0.3) !important;
    }

    /* Checkout & Booking Confirmation Pages Clearance */
    .bc-booking-page,
    #bc-checkout-page,
    .form-checkout,
    .gateways-table {
        padding-bottom: calc(85px + env(safe-area-inset-bottom, 0px)) !important;
        scroll-margin-top: 90px !important;
    }

    .hotel_rooms_form .hotel_room_book_status.sticky {
        bottom: calc(65px + env(safe-area-inset-bottom, 0px)) !important;
        z-index: 999;
    }

    /* Footer Spacing for Bottom Bar */
    .bc_footer {
        padding-bottom: 85px !important;
    }
}

/* Typography Customizations */



