/* Theme Name: Tripgo Child Theme
Theme URI: https://themeforest.net/user/ovatheme/portfolio
Description: This is child theme of tripgo
Author: Ovatheme
Author URI: https://themeforest.net/user/ovatheme
Template: tripgo
Version: 1.0.0
Tags: two-columns, three-columns, left-sidebar, right-sidebar, custom-menu, editor-style, featured-images, flexible-header, full-width-template, post-formats, rtl-language-support, sticky-post, translation-ready
Text Domain:  tripgo-child
*/

/* Pages with Elementor full-width template: no sidebar */
body.elementor-template-full-width #main-content {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Regular pages (non-Elementor): also full-width since sidebar is irrelevant */
body.page:not(.woocommerce-page) #main-content {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.page:not(.woocommerce-page) #sidebar {
    display: none;
}

/* Search dropdowns above sticky header (header z-index: 9999) */
.ovabrw-search .search-field .ovabrw-guestspicker-content {
    z-index: 10001 !important;
}

.select2-container--open .select2-dropdown {
    z-index: 10001 !important;
}

.xdsoft_datetimepicker {
    z-index: 10001 !important;
}

/* Prevent horizontal overflow */
html, body, #page {
    overflow-x: hidden;
}

/* ══════════════════════════════════════════════════
   ACCESSIBILITY: WCAG AA Contrast Fixes (4.5:1 min)
   ══════════════════════════════════════════════════ */

/* --- Search Widget: select2 dropdown text & guests label --- */
.ovabrw-search .select2-selection__rendered,
.ovabrw-search .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #595959 !important;
}

.ovabrw-search .guestslabel,
.ovabrw-search .guestspicker .guestslabel {
    color: #595959 !important;
}

/* --- Tour duration badge (e.g. "5 hours") --- */
.ova-tour-day {
    color: #0D7D65 !important;
    border-color: #0D7D65 !important;
}

/* --- Rating number --- */
.rating .number,
.rating {
    color: #595959 !important;
}

/* --- Product card footer: prices & meta --- */
.ova_foot_product .old-product-price,
.ova_foot_product .old-product-price bdi,
.ova_foot_product del,
.ova_foot_product del bdi {
    color: #767676 !important;
}

/* --- "Explore" / Book Now product button --- */
.btn.product-btn-book-now,
a.btn.product-btn-book-now {
    background-color: #C9343E !important;
    border-color: #C9343E !important;
    color: #fff !important;
}

.btn.product-btn-book-now:hover,
a.btn.product-btn-book-now:hover {
    background-color: #fff !important;
    color: #C9343E !important;
    border-color: #C9343E !important;
}

/* --- Feature titles: h6→span needs block display --- */
.ova-features-product .feature .title-desc span.title {
    display: block;
}

/* --- Feature descriptions (opacity fix) --- */
.ova-features-product .desc,
.features-product .desc {
    opacity: 1 !important;
    color: #595959 !important;
}

/* --- Blog post meta (author, date, Read More) --- */
.ova-blog .item .ova-content .post-meta .item-meta .left {
    color: #595959 !important;
    opacity: 1 !important;
}

.ova-blog .item .ova-content .post-meta .item-meta .right,
.ova-blog .item .ova-content .post-meta .item-meta .right a {
    color: #595959 !important;
}

.ova-blog .read-more span {
    color: #595959 !important;
}

/* --- Section sub-titles (e.g. "Bosphorus Blog") --- */
.ova-title .sub-title {
    color: #0D7D65 !important;
}

/* --- Footer text (inside Elementor text-editor widget) --- */
.footer-box p,
.footer-box-last p {
    color: #595959 !important;
}

/* --- Owl carousel dots: touch target fix (44px WCAG minimum) --- */
.owl-dots .owl-dot {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ══════════════════════════════════════════════════
   MOBILE HEADER FIX (all 4 language headers)
   ══════════════════════════════════════════════════ */
@media (max-width: 767px) {
    /* --- Header section: tighter padding --- */
    .elementor-element-3d3ad137 {
        padding: 8px 10px !important;
    }

    /* --- Logo column: shrink to fit --- */
    .elementor-element-3d3ad137 > .elementor-container > .elementor-element-ed9971d {
        width: 55% !important;
    }

    /* --- Logo image: constrain size (override inline style) --- */
    .elementor-element-2161d92a .brand_el a img[style] {
        width: 150px !important;
        max-width: 150px !important;
        height: auto !important;
    }

    /* --- Logo container --- */
    .elementor-element-2161d92a .brand_el {
        max-width: 150px !important;
    }

    .elementor-element-2161d92a .brand_el a {
        display: block !important;
        max-width: 150px !important;
    }

    /* --- Nav column (hidden): minimal width --- */
    .elementor-element-3d3ad137 > .elementor-container > .elementor-element-397fd9c8 {
        width: 0% !important;
        display: none !important;
    }

    /* --- Right column (wishlist + hamburger): balance --- */
    .elementor-element-3d3ad137 > .elementor-container > .elementor-element-6f10bca9 {
        width: 45% !important;
        display: flex !important;
        align-items: center !important;
    }

    .elementor-element-6f10bca9 > .elementor-widget-wrap {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
    }

    /* --- Wishlist widget: fix sizing --- */
    .elementor-element-f447721,
    .elementor-element-5609fe6,
    .elementor-element-2e26b9e,
    .elementor-element-759f455 {
        width: auto !important;
        max-width: none !important;
        flex-shrink: 0 !important;
    }

    .elementor-element-f447721 > .elementor-widget-container,
    .elementor-element-5609fe6 > .elementor-widget-container,
    .elementor-element-2e26b9e > .elementor-widget-container,
    .elementor-element-759f455 > .elementor-widget-container {
        margin: 0 9px 0 0 !important;
    }

    /* --- Hamburger menu: proper positioning --- */
    .elementor-element-46d0bdb4 {
        position: relative !important;
        right: auto !important;
        width: auto !important;
        max-width: none !important;
        flex-shrink: 0 !important;
    }

    .elementor-element-46d0bdb4 > .elementor-widget-container {
        margin: 0 5px 0 0 !important;
    }
}

/* --- Tablet header fix --- */
@media (max-width: 1024px) and (min-width: 768px) {
    .elementor-element-2161d92a .logo-mobile img,
    .elementor-element-2161d92a .ova-logo img,
    .elementor-element-2161d92a img {
        max-width: 200px !important;
        height: auto !important;
    }
}

/* ══════════════════════════════════════════════════
   MOBILE HERO SECTION FIX (Homepage)
   ══════════════════════════════════════════════════ */
@media (max-width: 767px) {
    /* --- Hero section: proper mobile height --- */
    .elementor-element-63b028f > .elementor-container {
        min-height: 350px !important;
    }

    /* --- H1 heading: reduce top padding --- */
    .elementor-element-1126b82 > .elementor-widget-container {
        padding-top: 20px !important;
    }

    /* --- H1 font size for mobile --- */
    .elementor-element-1126b82 .elementor-heading-title {
        font-size: 28px !important;
        line-height: 1.3 !important;
    }

    /* --- Book Now button: center and proper margin --- */
    .elementor-element-mob_book_btn {
        text-align: center !important;
    }

    .elementor-element-mob_book_btn > .elementor-widget-container {
        margin-top: 10px !important;
    }

    /* --- Hero subtitle/description section --- */
    .elementor-element-b6fd128 .ova-title .title {
        font-size: 32px !important;
        line-height: 1.2 !important;
    }

    .elementor-element-b6fd128 .ova-title .description {
        font-size: 16px !important;
        line-height: 1.5 !important;
    }

    /* --- Hero column padding --- */
    .elementor-element-9842769 > .elementor-element-populated {
        padding: 30px 15px 30px 15px !important;
    }
}



/* ===== DESTINATION PAGE ===== */
.destination-custom-page {
    padding: 30px 0 60px;
}
.destination-header {
    text-align: center;
    margin-bottom: 40px;
}
.destination-header .destination-title {
    font-size: 32px !important;
    font-weight: 700 !important;
    margin-bottom: 8px;
}
.destination-header .destination-subtitle {
    font-size: 16px;
    color: #999;
    margin: 0;
}
.destination-description {
    max-width: 900px;
    margin: 0 auto;
    padding: 40px 0;
    border-top: 1px solid #E6E6E6;
}
.destination-description h2 { margin-top: 30px; }
.destination-description ul { padding-left: 20px; }
@media (max-width: 575px) {
    .destination-header .destination-title { font-size: 24px !important; }
}

/* ===== INCLUDED/EXCLUDED ICONS ===== */
.content-product-item.tour-description ul {
    list-style: none;
    padding-left: 0;
}

.content-product-item.tour-description ul li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 8px;
}

.content-product-item.tour-description ul li::before {
    position: absolute;
    left: 0;
    top: 2px;
    font-size: 16px;
    font-weight: 700;
}

/* What Is Included - green checkmark */
.included-list li::before {
    content: "✓";
    color: #00BB98;
}

/* What Is Not Included - red X */
.excluded-list li::before {
    content: "✕";
    color: #FD4C5C;
}

/* What to Bring - blue dot */
.bring-list li::before {
    content: "•";
    color: #2B5797;
    font-size: 20px;
}
