/*# sourceMappingURL=app.custom.css.map */

body {
    overflow-x: hidden;
    color: #000;
    font-family: 'Rajdhani',sans-serif;
    background-color: #272242;
}

.list-news .post_item .post-inner .post-desciption {
    color: #fff;
}

.ribbon-decoration-left {
    background: url('../uploads/demo/general/ornament-bg-top-white.png') no-repeat top left;
    background-size: unset;
    position: absolute;
    top: 40px;
    left: 0px;
    width: 100%;
    height: 100px;
    overflow: hidden;
    z-index: 2;
}

.ribbon-decoration-right {
    background: url('../uploads/demo/general/ornament-bg-top-white.png') no-repeat top right;
    background-size: unset;
    position: absolute;
    top: 40px;    
    right: 0px;
    width: 100%;
    height: 100px;
    overflow: hidden;
    z-index: 2;
}

.ribbon-decoration-right.red {
    background: url('../uploads/demo/general/ornament-bg-top-red.png') no-repeat top right;
    background-size: unset;
    position: absolute;
    top: 40px;    
    right: 0px;
    width: 100%;
    height: 100px;
    overflow: hidden;
    z-index: 2;
}


.bravo-effect-bg, .bravo-effect-user-bg {
    position: fixed;
    width: 100%;
    height: 100%;
    background: #d1d4ff;
    z-index: 19;
    left: 0;
    top: 0;
    opacity: .5;
}

/* RIBBON DECORATION - MOBILE RESPONSIVE */
@media (max-width: 768px) {
    .ribbon-decoration-left,
    .ribbon-decoration-right, .ribbon-decoration-right.red {
        background-size: contain;
        height: 60px;
        top: 20px;
        width: 80%;
        opacity: 0.8;
    }
    
    .ribbon-decoration-left {
        background: url('../uploads/demo/general/ornament-bg-top-white.png') no-repeat top left;
        background-size: contain;
        left: -10px;
    }
    
    .ribbon-decoration-right {
        background: url('../uploads/demo/general/ornament-bg-top-white.png') no-repeat top right;
        background-size: contain;
        right: -10px;
    }
    
    .ribbon-decoration-red {
        background: url('../uploads/demo/general/ornament-bg-top-red.png') no-repeat top right;
        background-size: contain;
        right: -10px;
    }    
}

/* Untuk perangkat yang sangat kecil (mobile portrait) */
@media (max-width: 480px) {
    .ribbon-decoration-left,
    .ribbon-decoration-right {
        height: 50px;
        top: 15px;
        width: 70%;
        opacity: 0.7;
    }
    
    .ribbon-decoration-left {
        left: -15px;
    }
    
    .ribbon-decoration-right {
        right: -15px;
    }
}

/* Untuk tablet */
@media (min-width: 769px) and (max-width: 1024px) {
    .ribbon-decoration-left,
    .ribbon-decoration-right {
        height: 80px;
        top: 30px;
        background-size: contain;
    }
}

/* Sembunyikan ribbon di layar sangat kecil jika mengganggu */
@media (max-width: 360px) {
    .ribbon-decoration-left,
    .ribbon-decoration-right {
        display: none;
    }
}

/* Optimasi untuk landscape mode */
@media (max-width: 768px) and (orientation: landscape) {
    .ribbon-decoration-left,
    .ribbon-decoration-right {
        height: 40px;
        top: 10px;
        width: 60%;
    }
}

.bravo_wrap .bravo_footer .main-footer {
    margin: 0 !important;
}

.bravo_wrap .bravo_footer .copy-right p {
    color: #000 !important;
}

.bravo_wrap .bravo_footer .copy-right {
    border-top: none;
    background: #f7f7f7;
    color: #000;
}

/* Default logo size */
.bravo-logo img {
    max-width: 250px; /* Default size */
}

/* Adjust for tablets */
@media (max-width: 768px) {
    .bravo-logo img {
        max-width: 200px;
    }

    .d-md-table-header-group {
        display: table-header-group !important;
    }
}

/* Adjust for mobile */
@media (max-width: 576px) {
    .bravo-logo img {
        max-width: 200px;
    }
}

.frontend-page .modal.login .modal-content .modal-body .st-link, .frontend-page .modal.login .modal-content .modal-body label {
    color: #000;
}

.frontend-page .modal.login .modal-content .modal-body .c-grey {
    color: #000;
}

.fixed-nav {
    position: fixed !important;
    top: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1) !important;
}
.bravo_wrap .bravo_header .content .header-left .bravo-menu .nav-active:after {
    background: #000000; /* Replace with your desired underline color */
    -webkit-filter: blur(5px); /* Replace with your desired blur amount */
    filter: blur(5px); /* Replace with your desired blur amount */
    height: 2px; /* Replace with your desired height */
}

.bravo_wrap .bravo_header .content .header-left .bravo-menu li:after {
    background: transparent;
    -webkit-filter: blur(5px); /* Replace with your desired blur amount */
    filter: blur(5px); /* Replace with your desired blur amount */
    height: 2px; /* Replace with your desired height */
}

.bravo_wrap .bravo_header .content .header-left .bravo-menu li:hover:after {
    background: #000000 !important; /* Replace with your desired underline color */
    -webkit-filter: blur(5px); /* Replace with your desired blur amount */
    filter: blur(5px); /* Replace with your desired blur amount */
    height: 2px; /* Replace with your desired height */
}


.cta-button {
    display: inline-flex;
    align-items: center;
    background: transparent;
    color: #F8F5F0;
    border: 1px solid #D4AF37;
    padding: 1.2rem 3.5rem;
    font-size: 0.85rem;
    font-weight: 400;
    letter-spacing: 2px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: relative;
    overflow: hidden;
}

.cta-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.1), transparent);
    transition: all 0.8s ease;
}


.cta-button:hover {
    background-color: rgba(212, 175, 55, 0.3);
}

.cta-button:hover::before {
    left: 100%;
}

.bravo_wrap .page-template-content .bravo-form-search-all {
    padding: 200px 0;
    background-position: 50% !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

.bravo_wrap .page-template-content .bravo-form-search-all .text-heading, .bravo-news .bravo_banner h1 {
    line-height: 1.1;
    margin-bottom: 2rem;
    letter-spacing: 1px;
    background: linear-gradient(to right, #ffffff, #f5bb00);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    position: relative;
}

.bravo_wrap .page-template-content .bravo-form-search-all .text-heading {
    text-align: center;
}

.bravo_wrap .page-template-content .bravo-form-search-all .text-heading::after, .bravo-news .bravo_banner h1::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 0;
    width: 80px;
    height: 2px;
    background: linear-gradient(90deg, #D4AF37, transparent);
}

body #app {
    height: 100%;
    flex-grow: 1;
    background-color: #FFF;
    color: #000;
}

.bravo_wrap .bravo_footer .main-footer .nav-footer .context .contact {
    padding-left: 0;
    margin-bottom: 30px;
}

.bravo-news .header img {
    width: 250px;
    float: left;
    margin-right: 20px;
}

.bravo-news .bravo_banner {
    background-color: #1a2b48;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 150px 0;
    position: relative;
}

@media (max-width: 1023px) {
    .bravo-news .header img {
        width: 100%;
        margin-bottom: 20px;
    }
}

.bravo-news .post_item {
    margin-bottom: 120px;
}

.bravo-news .btn-readmore {
    color: #fff !important;
}

.bravo-news .widget_category ul li span, .bravo_wrap .bravo_search_tour .bravo_form_search .bravo_form .g-button-submit button, .bravo_wrap .bravo_search_tour .bravo_filter .filter-title:before, .bravo_wrap .bravo_search_tour .bravo_filter .g-filter-item .item-content .bravo-filter-price .irs--flat .irs-bar, .bravo_wrap .bravo_search_tour .bravo_filter .g-filter-item .item-content .bravo-filter-price .irs--flat .irs-from, .bravo_wrap .bravo_search_tour .bravo_filter .g-filter-item .item-content .bravo-filter-price .irs--flat .irs-to, .bravo_wrap .bravo_search_tour .bravo_filter .g-filter-item .item-content .bravo-filter-price .irs--flat .irs-single, .bravo_wrap .bravo_search_tour .bravo_filter .g-filter-item .item-content .bravo-filter-price .irs--flat .irs-handle>i:first-child, .bravo-news .header .cate ul li, .bravo_wrap .page-template-content .bravo-form-search-tour .bravo_form_search_tour .g-button-submit button, .bravo_wrap .page-template-content .bravo-list-locations .list-item .destination-item .image .content .desc, .bravo_wrap .bravo_detail_space .bravo_content .g-attributes h3:after, .bravo_wrap .bravo_form .g-button-submit button, .btn.btn-primary, .bravo_wrap .bravo_form .g-button-submit button:active, .btn.btn-primary:active, .bravo_wrap .bravo_detail_space .bravo-list-hotel-related-widget .heading:after, .btn-primary:not(:disabled):not(.disabled):active {
    background: #f50d0d;
}

.frontend-page .modal.login .modal-content .modal-body .form-submit {
    height: 45px;
    width: 100%;
    background: #f50d0d;
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
    border: none;
    border-radius: 3px;
    font-weight: 600;
}

.frontend-page .modal.login .modal-content .modal-header .modal-title {
    font-size: 2em;
    font-weight: 500;
    color: #000;
}

@media (max-width: 1023px) {
    .bravo_wrap .bravo_header .content .header-right {
        width: 10%;
        position: absolute;
        top: 20px;
        right: 0.5rem;
    }

    .bravo_wrap .bravo_header .content .header-right .bravo-more-menu i {
        color: #fff;
    }
}

.bravo_wrap .bravo_header .bravo-menu-mobile .user-profile .avatar {
    background: #000;
    color: #fff;
    text-align: center;
    padding: 20px 0;
}


.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li a {
    font-size: 2em;
    color: #ffffff;
}

.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li a:hover {
    color: #f50d0d;
}

.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li.active a {
    color: #f50d0d;
}

.bravo_wrap .page-template-content .bravo-form-search-all .text-heading {
    font-weight: 500;
    font-size: 5em;
    color: #fff;
}

.bravo_wrap .page-template-content .bravo-call-to-action .context .title {
    font-size: 48px;
    font-weight: 500;
    color: #fff;
}

.bravo-pagination ul li.active a, .bravo-pagination ul li.active span
{
    border-color: #ff1818 !important;
}

.bravo-pagination ul li.active a, .bravo-pagination ul li.active span {
    color: #ffffff !important;
}

.bravo-list-news {
    margin: 120px 0;
}

.bravo_wrap .page-template-content .bravo-list-news .title, .bravo_wrap .page-template-content .bravo-list-event .title {
    font-size: 3.5em;
    color: #fff;
    margin-bottom: 2rem;
    line-height: 1.1;
    letter-spacing: 1px;
    background: linear-gradient(to right, #E5E4E2, #D4AF37);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    position: relative;
}

.bravo_wrap .bravo_detail_event .bravo-list-space-related .item-loop .item-title a {
    color: #ffffff;
}

.bravo_wrap .page-template-content .bravo-list-news .title::after, .bravo_wrap .page-template-content .bravo-list-event .title::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 0;
    width: 80px;
    height: 2px;
    background: linear-gradient(90deg, #D4AF37, transparent);
}

.bravo_wrap .bravo_detail_event .bravo-list-space-related .item-loop .item-title a {
    color: #fff;
}

.bravo_wrap .page-template-content .bravo-list-news .item-news .thumb-image {
    height: 350px;
}

.bravo_wrap .bravo_detail_event .bravo-list-space-related .item-loop .info .duration {
    color: #fff;
}

.bravo_wrap .bravo_detail_event .bravo-list-space-related .item-loop .info {
    padding: 0 15px;
    display: block;
}

.bravo_wrap .bravo_detail_event .bravo-list-space-related .item-loop .featured {
    position: absolute;
    top: 15px;
    left: 15px;
    background: #f50d0d;
    display: inline-block;
    padding: 0 10px;
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    z-index: 1;
    height: 30px;
    line-height: 30px;
    border-radius: 5px;
}


.blog-breadcrumb ul li.active {
    color: #beceff;
}

.bravo-news .article .post-header {
    max-height: initial;
    overflow: hidden;
}

.bravo-news .bravo_content .sidebar-widget .textwidget {
    color: #fff;
}

.bravo-news .sidebar-widget .sidebar-title h2, .bravo-news .sidebar-widget .sidebar-title h4 {
    color: #fff;
    font-weight: 500;
    position: relative;
    display: inline-block;
    z-index: 9;
    padding-right: 25px;
    padding-bottom: 20px;
    margin: 0;
}

.bravo-news .post-content {
    color: #fff;
    font-size: 15px;
}

.bravo-news .article h2.title, .bravo-news .article h3.post-title, .bravo-news .article h4.post-title {
    color: #f50d0d;
    font-size: 3em;
    margin-top: 30px;
    margin-bottom: 30px;
}

.bravo_wrap .page-template-content .bravo-list-news .title .sub-title {
    color: #D4AF37;
}

.bravo_wrap .page-template-content .bravo-list-event {
    margin: 120px 0;
}

.bravo_wrap .page-template-content .bravo-list-event .sub-title {
    color: #D4AF37;
}

.bravo_wrap .bravo_detail_event .bravo_content .g-header h1, .bravo_wrap .bravo_detail_event .bravo_content .g-header h2 {
    color: #fff;
}

.bravo_wrap .bravo_detail_event .bravo_content .g-faq .item .header h5 {
    color: #fff;
}

.bravo_wrap .bravo_detail_event .bravo_content .g-faq .item .body {
    color: #fff;
}

.bravo_wrap .bravo_detail_event .bravo_content .g-event-feature .item .info .value {
    color: #fff;
}

.bravo_wrap .bravo_detail_event .bravo_content .g-event-feature .item .info .name {
    color: #fff;
}

.bravo_wrap .bravo_detail_event .bravo_content .g-event-feature .item .icon {
    color: #ffffff;
}


.bravo_wrap .bravo_detail_event .bravo_content .g-overview h4, .bravo_wrap .bravo_detail_event .bravo_content .g-overview strong,
.bravo_wrap .bravo_detail_event .bravo_content .g-overview ul li,
.bravo_wrap .bravo_detail_event .bravo_content .g-overview .description {
    color: #ffffff;
}

.bravo_wrap .bravo_footer .main-footer .nav-footer,
.bravo_wrap .bravo_footer .main-footer .nav-footer .context .contact .c-title,
.bravo_wrap .bravo_footer .main-footer .nav-footer a,
.bravo_wrap .bravo_footer .main-footer .nav-footer .context .contact .sub a i
{
    color: #fff;
}

.bravo_wrap .bravo_footer .main-footer .nav-footer .title {
    font-size: 2em;
}

.bravo_wrap .page-template-content .bravo-featured-item .featured-item .content .title {
    font-size: 18px;
    color: #fff;
}

.bravo_wrap .page-template-content .bravo-featured-item .featured-item .content .desc {
    font-size: 13px;
    color: #fff;
}

.bravo_wrap .page-template-content .bravo-list-news .item-news .caption .item-title a {
    color: #ca2828;
}

.bravo_wrap .page-template-content .bravo-list-news .item-news .caption .item-desc {
    color: #c3c3c3;
}

.bravo_wrap .page-template-content .bravo-list-news .item-news .caption .item-date a {
    color: #fff;
}

.bravo_wrap .bravo_topbar {
    background: #2c2649;
    padding: 15px 0;
}

.bravo_wrap .bravo_header {
    background: #272242;
    /*background: #1d1834*/
}

@media (max-width: 576px) and (orientation: portrait) {
    .bravo_wrap .bravo_header {
        background: #1d1834;
    }
}

.bravo_wrap .bravo_header .content {
    background: transparent;
    display: block;
}

.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li a {
    color: #fff;
}

.bravo_wrap .page-template-content .bravo-list-news .item-news .caption .item-more a:after {
    background: #ffc84e;
}

.bravo_wrap .page-template-content .bravo-list-news .item-news .caption .item-more a {
    color: #dccba5;
}

.bravo_wrap .bravo_footer .copy-right p {
    color: #fff;
}



/** BREADCRUMB **/
.blog-breadcrumb ul {
    color: #fff;
    background: #2c2649;
}

.blog-breadcrumb ul li a {
    display: block;
    font-weight: 500;
    color: #fff;
    text-decoration: none;
    line-height: 21px;
}

.bravo-news .post-info ul li {
    color: #ffffff;
}

.bravo-news .widget_bloglist ul li .content .thumb-list-item-title a {
    color: #fff;
}

.bravo-news .sidebar-widget .sidebar-title h2, .bravo-news .sidebar-widget .sidebar-title h4 {
    color: #ffffff;
    background-color: #000000;
    font-size: 1.2em;
}

.bravo-news .widget_bloglist ul li .content .cate a {
    font-size: 12px;
    font-weight: 600;
    color: #ff4b4b;
}

.bravo-news .bravo_banner h1 {
    font-size: 5em;
    color: #fff;
}

.bravo-news .text-darken {
    color: #ff310b;
}


/*** MODAL ***/
.bravo_wrap .bc_popup .modal-title{
    color: #000;
}

.bravo_wrap .bc_popup .modal-content p
{
    color: #000;
}

/*** EVENTS */

.bravo_wrap .bravo_search_event .bravo_banner {
    padding: 100px 0;
}

.bravo_wrap .bravo_search_event .bravo-list-item .topbar-search .text {
    font-size: 2em;
    color: #fff;
}

.bravo_wrap .bravo_search_event .bravo-list-item .list-item .item-loop .item-title a {
    color: #fff;
}

.bravo_wrap .page-template-content .bravo-list-event .item-loop .item-title a {
    color: #fff;
}

.bravo_wrap .page-template-content .bravo-list-event .item-loop .start-time {
    color: #fff;
}

.bravo_wrap .bravo-list-item .topbar-search .control {
    color: #fff;
}

.bravo_wrap .bravo_search_event .bravo_filter .filter-title {
    color: #fff;
}

.bravo_wrap .bravo_search_event .bravo_filter .g-filter-item .item-title h3, .bravo_wrap .bravo_search_event .bravo_filter .g-filter-item .item-title h4 {
    color: #fff;
}

.bravo_detail_event .modal-title {
    color: #000;
}

.bravo-news .widget_category ul li a {
    color: #fff;
}

/*** CONTACT */
.bravo_wrap .bravo-contact-block .form_wrapper .contact-header h1 {
    font-size: 3em;
    color: #fff;
    margin-top: 0;
}

/*** SIGN UP */
.bravo-login-form-page .form-title{
    color: #fff;
}


.bravo_wrap .bravo_form .field-icon, .bravo_wrap .bravo_form .smart-search .parent_text,
.bravo_wrap .bravo_form .smart-search:after, .bravo_wrap .bravo_form .dropdown-toggle:after,
.bravo_wrap .page-template-content .bravo-list-space .item-loop .service-review .rate,
.bravo_wrap .bravo_search_space .bravo_filter .g-filter-item .item-content .btn-more-item,
.bravo_wrap .bravo_detail_space .bravo_content .g-header .review-score .head .left .text-rating,
.bravo-reviews .review-box .review-box-score .review-score,
.bravo-reviews .review-box .review-box-score .review-score-base span,
.bravo_wrap .bravo_detail_tour .bravo_content .g-header .review-score .head .left .text-rating {
    color: #fff;
}

.bravo-reviews .review-box .review-box-score .review-score-text {
    color: #ffffff;
}

.bravo-reviews .review-box .review-sumary .item .label {
    color: #fff;
}


.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: #fff;
    transition: width 0.3s ease;
}

.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li a:hover::after {
    width: 100%;
}

.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li a:last-child {
    padding-right: 0 !important;
}



/****** EVENT SINGLE PAGE *****/
.bravo-landing-section {
}

.bravo-landing-section.about {
    background-color: #fff;
    padding-top: 300px;
    padding-bottom: 300px;
}

.bravo-landing-section.venue3 {
    padding-top: 300px;
    padding-bottom: 300px;
    position: relative;

}


.bravo-landing-section.video-teaser {
    margin-top: 0;
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.bravo-landing-section.video-teaser video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}

#venue-description {
    color: #000; 
    padding: 20px; 
    text-align:left; 
    background: rgba(255, 255, 255, 0.5); 
    border-radius: 20px;
}

.venue-image-container {
    position: relative;
    cursor: pointer;
}

.venue-area {
    float: left;
    border: 2px solid rgba(255, 255, 255, 0.7);
    background-color: rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
    border-radius: 5px;
    height: 250px;
    width: 300px;
    margin-left: 20px;
    margin-top: 20px;
}

@media (max-width: 1366px) and (orientation: landscape) {
    .venue-area {
        float: left;
        height: 250px;
        width: 250px;
    }
}
        
.venue-area:hover {
    background-color: rgba(255, 255, 255, 0.4);
    border-color: #fff;
}

.venue-description {
    color: #000;
    padding: 20px;
    text-align: left;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 20px;
    height: 100%;
}
        
.venue-title {
    color: #fff;
    margin-bottom: 20px;
    font-weight: bold;
}
        
  .area-label {
            position: absolute;
            background: rgba(0, 0, 0, 0.7);
            color: white;
            padding: 5px 10px;
            border-radius: 4px;
            font-size: 14px;
            pointer-events: none;
            opacity: 0;
            transition: opacity 0.3s;
        }
        
        .venue-area:hover .area-label, .venue-area.active-area .area-label {
            opacity: 1;
        }
        
        .active-area {
            background-color: rgba(255, 215, 0, 0.4);
            border-color: gold;
        }
        
        /* Hidden template untuk teks area */
        .text-templates {
            display: none;
        }
        
        /* Mobile Navigation untuk Area */
        .mobile-area-nav {
            display: none;
            margin-bottom: 20px;
        }
        
         .mobile-area-btn {
            display: inline;
            float: left;
            width: 33%;
            margin-bottom: 10px;
            margin-right: 1px;
            padding: 12px;
            background: rgba(255, 255, 255, 0.9);
            border: 2px solid #4a6fa5;
            border-radius: 8px;
            color: #333;
            font-weight: bold;
            text-align: center;
            transition: all 0.3s ease;
        }
        
        .mobile-area-btn:hover, .mobile-area-btn.active {
            background: #4a6fa5;
            color: white;
        }
        
        /* Gambar untuk setiap area (mobile) */
        .area-image {
            display: none;
            width: 100%;
            border-radius: 10px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.3);
            margin-bottom: 20px;
        }
        
        .area-image.active {
            display: block;
        }
        
        .area-image-title {
            text-align: center;
            color: white;
            font-weight: bold;
            margin-top: 10px;
            font-size: 2.5rem;
        }
        
        /* ===== RESPONSIVE RULES ===== */
        
        /* Desktop - sembunyikan gambar area */
        @media (min-width: 769px) {
            .area-image {
                display: none !important;
            }
        }
        
        /* Tablet (768px ke bawah) */
        @media (max-width: 768px) {
            .venue {
                padding: 40px 0;
            }
            
            .venue-title {
                text-align: center;
            }
            
            .venue-description {
                padding: 15px;
                border-radius: 15px;
            }
            
            .lead {
                font-size: 1rem;
            }
            
            /* Sembunyikan area klik pada gambar di tablet/mobile */
            .venue-area {
                display: none;
            }
            
            /* Sembunyikan gambar utama di mobile */
            #venue-image {
                display: none;
            }
            
            /* Tampilkan navigasi mobile */
            .mobile-area-nav {
                display: block;
                margin-top: 50px;
            }
            
            /* Tampilkan gambar default untuk mobile */
            #default-image {
                visibility: hidden;
            }
        }
        
        /* Mobile (576px ke bawah) */
        @media (max-width: 576px) {
            .venue {
                padding: 30px 0;
            }
            
            .venue-title {
                margin-bottom: 15px;
            }
            
            .venue-description {
                padding: 12px;
                border-radius: 12px;
            }
            
            .lead {
                font-size: 0.9rem;
                margin-top: 15px !important;
            }
            
            .mobile-area-btn {
                padding: 10px;
                font-size: 0.9rem;
            }
            
            .area-image-title {
                font-size: 2.5rem;
            }

            
            /* Perbaikan spacing untuk mobile */
            .row {
                margin-left: -8px;
                margin-right: -8px;
            }
            

        }
        
        /* Very Small Mobile (360px ke bawah) */
        @media (max-width: 360px) {
            .lead {
                font-size: 0.85rem;
            }
            
            .mobile-area-btn {
                padding: 8px;
                font-size: 0.85rem;
            }
            
            .venue-description {
                padding: 10px;
            }
            
            .area-image-title {
                font-size: 2.5rem;
            }
        }
        
        /* Landscape Mobile */
        @media (max-height: 500px) and (orientation: landscape) {
            .venue {
                padding: 20px 0;
            }
            
            .venue-image-container {
                margin-bottom: 15px;
            }
            
            .mobile-area-nav {
                margin-bottom: 10px;
            }
            
            .mobile-area-btn {
                padding: 6px;
                margin-bottom: 5px;
                font-size: 0.8rem;
            }
        }
        


/* Responsive styles for mobile devices */
@media screen and (max-width: 1023px) {

    .bravo-landing-section.about, .bravo-landing-section.venue, .bravo-landing-section.schedule, .bravo-landing-section.reserve, .bravo-landing-section.registration {
        padding-top: 50px !important;
        padding-bottom: 10px !important;;
    }

    .bravo-landing-section.video-teaser {
        margin-top: 0 !important;
    }

    #bravo-schedule .time-row, #bravo-schedule .event-row {
        min-height: 8rem;
        margin-bottom: 30px;
    }

    #bravo-schedule tr:nth-child(2) .time-row:nth-child(2) {
        margin-top: 55px;
    }

    #bravo-schedule .event-row:first-child {
        padding-left: 12px; /* Match your table's cell padding */
    }

    /* If you're using Bootstrap */
    #bravo-schedule .table td {
        vertical-align: top;
    }

    .bravo-landing-section {
        margin-bottom: 0 !important;
    }

    .bravo-landing-section.video-teaser {
        margin-bottom: 100px;
        height: 80vh; /* Reduce height for smaller screens */
    }

    .bravo-landing-section.video-teaser video {
        width: 100%;
    }
}

/* Untuk perangkat yang sangat kecil (mobile portrait) */
@media (max-width: 480px) {
    .bravo-landing-section.logo {
        margin-bottom: 0 !important;
    }
}


#bravo-welcome {
    background: url('../uploads/demo/general/greetings-bg.jpg') no-repeat center bottom;
    background-size: contain;
    background-color: #fff;
}

.bravo-landing-section.venue {
    padding-top: 200px;
    padding-bottom: 300px;
    position: relative;
    background: url('../uploads/demo/general/bg-welcome-to-jakarta.jpg') no-repeat center center;
    background-size: cover;
}

#bravo-venue h1 {
    text-align: center;
}

.bravo-landing-section.venue2 {
    position: relative;
    padding-top: 200px;
    padding-bottom: 300px;
    position: relative;
    background: url('../uploads/demo/general/venue-jakarta-jicc.jpg') no-repeat center center;
    background-size: cover;
}

.bravo-landing-section.venue3 {
    padding-top: 300px;
    padding-bottom: 300px;
    position: relative;
    background: url('../uploads/demo/general/bg-blackwhite.png') no-repeat center center;    
    background-size: cover;
    background-color: #2c2649;
}

.bravo-landing-section.venue .container {
    position: relative;
    z-index: 2;
}


.bravo-landing-section.venue img.thumb {
    max-width: 280px;
    max-height: 170px;
}

/* BRAVO WELCOME & VENUE SECTIONS - MOBILE RESPONSIVE */
@media (max-width: 768px) {
    #bravo-welcome {
        background-size: cover;
        background-position: center center;
        min-height: 300px;
    }
    
    .bravo-landing-section.venue,
    .bravo-landing-section.venue2,
    .bravo-landing-section.venue3 {
        padding-top: 100px;
        padding-bottom: 150px;
        background-attachment: scroll;
        background-size: cover;
        min-height: 400px;
    }
    
    .bravo-landing-section.venue::before {
        background: linear-gradient(to bottom, rgba(0,0,0,0.8), transparent 20%, transparent 70%, rgba(0,0,0,0.8));
    }
    
    /* Optimasi khusus untuk venue3 dengan background pattern */
    .bravo-landing-section.venue3 {
        background-size: contain;
        background-color: #2c2649;
    }
}

/* Untuk perangkat yang sangat kecil (mobile portrait) */
@media (max-width: 480px) {
    #bravo-welcome {
        min-height: 250px;
        background-size: contain;
        background-position: bottom;
    }
    
    .bravo-landing-section.venue,
    .bravo-landing-section.venue2,
    .bravo-landing-section.venue3 {
        padding-top: 80px;
        padding-bottom: 120px;
        min-height: 350px;
    }
    
    .bravo-landing-section.venue::before {
        background: linear-gradient(to bottom, rgba(0,0,0,0.9), transparent 15%, transparent 65%, rgba(0,0,0,0.9));
    }
}

/* Untuk tablet */
@media (min-width: 769px) and (max-width: 1024px) {
    .bravo-landing-section.venue,
    .bravo-landing-section.venue2,
    .bravo-landing-section.venue3 {
        padding-top: 150px;
        padding-bottom: 200px;
    }
}

/* Optimasi untuk landscape mode */
@media (max-width: 768px) and (orientation: landscape) {
    #bravo-welcome {
        min-height: 200px;
    }
    
    .bravo-landing-section.venue,
    .bravo-landing-section.venue2,
    .bravo-landing-section.venue3 {
        padding-top: 60px;
        padding-bottom: 100px;
        min-height: 300px;
    }
}

/* Perbaikan background position untuk mobile */
@media (max-width: 768px) {
    .bravo-landing-section.venue {
        background-position: center 30%;
    }
    
    .bravo-landing-section.venue2 {
        background-position: center 40%;
    }
    
    .bravo-landing-section.venue3 {
        background-position: center center;
    }
}



#bravo-schedule .table, #bravo-reserve .table {
    border-spacing: 30px;
}

#bravo-schedule .table th, #bravo-reserve .table th {
    color: #fff;
}


#bravo-schedule .table tr, #bravo-reserve .table tr  {
    font-size: 1.25rem;
}

#bravo-schedule {
    position: relative;
    padding-top: 100px;
    padding-bottom: 300px;
    background: url('../uploads/demo/general/schedule-bg.jpg') no-repeat center center;
    background-size: cover;
}

#bravo-schedule .table td, #bravo-reserve .table td {
    padding: 30px;
    border-bottom: 10px solid transparent;
    color: white;
    background-clip: padding-box;
    font-size: 1em;
}

@media (max-width: 768px) {
    
    #bravo-schedule .table td, #bravo-reserve .table td {
        font-size: 0.8em;
    }
}    

.schedule-table {
        background: rgba(22, 28, 53, 0.9);
        color: #fff;
        border-radius: 6px;
    }
    .schedule-table th {
        background: #1f2546;
        color: #fff;
        text-transform: uppercase;
        font-size: 14px;
        padding: 14px;
    }
    .schedule-table td {
        background: #2b315d;
        padding: 14px;
        vertical-align: middle;
        font-size: 14px;
    }
    .btn-book {
        background: #e0a800;
        border: none;
        color: #000;
        font-weight: bold;
        padding: 8px 14px;
        border-radius: 4px;
        text-decoration: none;
    }
    .btn-book:hover {
        background: #c99700;
        color: #000;
        text-decoration: none;
    }
    
@media (max-width: 768px) {
    .table-responsive {
        overflow-x: hidden !important;
    }

    table.schedule-table {
        table-layout: fixed;
        width: 100%;
        word-wrap: break-word;
        white-space: normal;
    }
}    

/* Mobile-friendly table styles */

@media (max-width: 767.98px) {

    #bravo-schedule .table td, #bravo-reserve .table td {
        padding: 20px;
    }

    .table-nowrap {
        white-space: nowrap;
        width: 100%;
        margin-bottom: 0;
    }

    .table-responsive {
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: -ms-autohiding-scrollbar;
        border: 1px solid #dee2e6;
    }

    .table-responsive::-webkit-scrollbar {
        -webkit-appearance: none;
        height: 5px;
    }

    .table-responsive::-webkit-scrollbar-thumb {
        border-radius: 5px;
        background-color: rgba(0,0,0,.2);
    }
}

@media (max-width: 768px) {
    #bravo-reserve .table {
        width: 100%;
        border-collapse: collapse;
    }
    #bravo-reserve .table tr {
        display: block;
        margin-bottom: 1rem;
        border: 1px solid #dee2e6;
        border-radius: 0.25rem;
    }

    #bravo-reserve .table td {
        display: flex;
        justify-content: space-between;
        padding: 0.75rem;
        border-bottom: 1px solid #dee2e6;
    }

    #bravo-reserve .table td:before {
        content: attr(data-label);
        font-weight: bold;
        padding-right: 1rem;
        flex: 0 0 40%;
    }

    #bravo-reserve .table td:last-child {
        border-bottom: none;
    }

    #bravo-reserve .btn-block {
        display: inline-block;
        width: auto;
    }
}


#bravo-registration-section .btn-register {
    color: #fff;
    padding: 20px;
    font-size: 1.4em;
    margin-top: 5rem;
    border-radius: 15px;
    text-decoration: none;
    background-color: #e70d01;
}

/* BRAVO REGISTRATION BUTTON - MOBILE RESPONSIVE */
@media (max-width: 768px) {
    #bravo-registration-section .btn-register {
        padding: 16px 24px;
        font-size: 1.1em;
        margin-top: 3rem;
        border-radius: 12px;
        width: 90%;
        max-width: 300px;
        display: block;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
}

/* Untuk perangkat yang sangat kecil (mobile portrait) */
@media (max-width: 480px) {
    #bravo-registration-section .btn-register {
        padding: 14px 20px;
        font-size: 1em;
        margin-top: 2.5rem;
        border-radius: 10px;
        width: 95%;
        margin-bottom: 3em;
    }
}

/* Untuk tablet */
@media (min-width: 769px) and (max-width: 1024px) {
    #bravo-registration-section .btn-register {
        padding: 18px 28px;
        font-size: 1.2em;
        margin-top: 4rem;
        border-radius: 13px;
    }
}

/* Tambahan untuk hover state di mobile */
@media (max-width: 768px) {
    #bravo-registration-section .btn-register:active {
        background-color: #c50b00;
        transform: scale(0.98);
        transition: all 0.2s ease;
    }
}


table.contact-details td {
    padding: 20px;
    vertical-align: top;
    font-size: 1em;
    color: #fff;
}

.bravo-landing-section.registration {
    font-size: 1.25rem;
    padding-bottom: 300px;
    position: relative;
    background: url('../uploads/demo/general/register-background.jpg') no-repeat center right;
    background-size: contain;
}

#bravo-registration ul.terms-list {
    list-style: square;
}

.bravo-landing-section.reserve {
    font-size: 1.25rem;
    padding-top: 200px;
    padding-bottom: 300px;
    position: relative;
    background: url('../uploads/demo/general/reserve-background-web.jpg') no-repeat center center;
    background-size: cover;
}

.bravo-landing-section.reserve::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, black, transparent 15%, transparent 80%, black);
    z-index: 1;
    pointer-events: none; /* This makes the overlay ignore mouse events */
}

.bravo-landing-section.reserve .container {
    position: relative;
    z-index: 2;
}

.bravo_wrap .bravo_detail_location .bravo_content .title-location {
    margin-top: 0;
    color: #fff;
    font-weight: 500;
    font-size: 3rem;
    line-height: 1.3;
}

.bravo_wrap .bravo_detail_location .bravo_content .g-location-module .item-loop .service-review .rate, .bravo_wrap .bravo_detail_location .bravo_content .g-trip-ideas .trip-idea .trip-idea-category, .bravo_wrap .bravo_footer .main-footer .nav-footer .context ul li a:hover, .bravo_wrap .bravo_detail_tour .bravo_content .g-attributes .list-attributes .item i.icon-default, .bravo_wrap .bravo_detail_space .bravo_content .g-attributes .list-attributes .item i.icon-default, .bravo_wrap .page-template-content .bravo-list-hotel .item-loop .service-review .rate, .bravo_wrap .page-template-content .bravo-list-tour.box_shadow .list-item .item .caption .title-address .title a:hover, .bravo_wrap .bravo_search_hotel .bravo-list-item .list-item .item-loop .service-review .rate, .bravo_wrap .bravo_search_hotel .bravo_filter .g-filter-item .item-content .btn-apply-price-range {
    color: #ffffff;
}


@media (max-width: 768px) {
    .bravo_wrap .bravo_detail_location .bravo_content .g-trip-ideas .trip-idea .col-lg-4 {
        display: block;
    }
}

.bravo_wrap .bravo_detail_location .bravo_content .g-overview .description {
    margin-top: 30px;
    margin-bottom: 30px;
    font-size: 1.5em;
    color: #fff;
    letter-spacing: 0;
    font-weight: 300;
}

.bravo_wrap .bravo_detail_location .bravo_content .g-trip-ideas .trip-idea h2 {
    font-weight: 300;
    font-size: 2em;
    color: #fff;
    letter-spacing: 0;
    line-height: 1.7;

}

.bravo_wrap .bravo_detail_location .bravo_content .g-trip-ideas .trip-idea .description {
    font-size: 1.5em;
    color: #fff;
    letter-spacing: 0;
    margin-top: 40px;
    margin-bottom: 5px;
}


.bravo-booking-page .form-title {
    margin: 0;
    color: #fff;
    font-size: 2rem;
}

.booking-review .booking-review-title {
    color: #fff;
    font-size: 1.5rem;
}

.booking-review .booking-review-content .service-info .service-name a {
    color: #fff;
    font-size: 1.1rem;
}

.bravo-booking-page .form-section {
    margin-bottom: 20px;
    margin-top: 20px;
}

.booking-review .booking-review-content .review-list li .val {
    color: #ffffff;
}

.term-conditions-checkbox a {
    color: #ff0202;
    font-weight: bold;
}

.booking-review .booking-review-content .info-form>ul li .val {
    color: #ffffff;
}

.booking-success-notice .notice-success .line1 span {
    color: #ffffff;
    font-weight: 600;
}

.booking-success-notice .booking-info-detail li span {
    font-weight: 500;
    color: #ffffff;
}

.gender-options {
    display: flex;
    align-items: center;
}
.gender-option {
    margin-right: 20px;
    display: flex;
    align-items: center;
}
.gender-option input {
    margin-right: 5px;
}

.bravo-form-register a {
    color: #f50d0d
}

.bravo-login-form-page.bravo-login-page .card-header, .bravo-login-form-page.bravo-login-page .card-body p {
    color: #000;
}

.booking-success-notice .notice-success p.line1, .booking-success-notice .notice-success p.line2 {
    color: #fff;
}

.bravo-login-form-page .col-form-label {
    color: #000;
}


/** User Guide **/

.container.user-guide .jumbotron {
    background: linear-gradient(135deg, #0a0a0a, #212529);
    color: white;
    border-radius: 0;
    padding: 3rem 2rem;
    margin-bottom: 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.container.user-guide .card {
    box-shadow: 0 4px 6px rgba(0,0,0,0.3);
    margin-bottom: 30px;
    border: none;
    border-radius: 8px;
    overflow: hidden;
    background-color: #343a40;
    color: #e0e0e0;
}

.container.user-guide .card-header {
    border-bottom: 1px solid rgba(255,255,255,0.05);
    background-color: rgba(0,0,0,0.2);
}

.container.user-guide .step-number {
    display: inline-block;
    width: 30px;
    height: 30px;
    background-color: #f50d0d;
    color: white;
    text-align: center;
    border-radius: 50%;
    margin-right: 10px;
    line-height: 30px;
    font-weight: bold;
}

.container.user-guide .section-title {
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 25px;
    color: #e0e0e0;
}

.container.user-guide .section-title:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 3px;
    background-color: #f50d0d;
}

.container.user-guide .toc-item {
    padding: 8px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    color: #e0e0e0;
}

.container.user-guide .toc-item:hover {
    background-color: rgba(255,255,255,0.05);
    color: #0d6efd;
}

.container.user-guide .list-group-item {
    background-color: #343a40;
    border: 1px solid rgba(255,255,255,0.1);
    color: #e0e0e0;
}

.container.user-guide .list-group-item:hover {
    background-color: rgba(255,255,255,0.05);
}

.container.user-guide .form-control {
    background-color: rgba(0,0,0,0.3);
    border: 1px solid rgba(255,255,255,0.1);
    color: #e0e0e0;
}

.container.user-guide .form-control:focus {
    background-color: rgba(0,0,0,0.4);
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
    color: #e0e0e0;
}

.container.user-guide .form-control::placeholder {
    color: #9e9e9e;
}

.container.user-guide .form-text {
    color: #9e9e9e !important;
}

.container.user-guide .btn-primary {
    background-color: #f50d0d;
    border-color: #ff0000;
}

.container.user-guide .btn-success {
    background-color: #198754;
    border-color: #198754;
}

.container.user-guide .btn-info {
    background-color: #0dcaf0;
    border-color: #0dcaf0;
}

.container.user-guide .alert {
    background-color: rgba(0,0,0,0.3);
    border: 1px solid rgba(255,255,255,0.1);
    color: #e0e0e0;
}

.container.user-guide .alert-info {
    background-color: rgba(13, 202, 240, 0.2);
    border-color: rgba(13, 202, 240, 0.3);
}

.container.user-guide .alert-success {
    background-color: rgba(25, 135, 84, 0.2);
    border-color: rgba(25, 135, 84, 0.3);
}

.container.user-guide .alert-light {
    background-color: rgba(248, 249, 250, 0.1);
    border-color: rgba(248, 249, 250, 0.2);
}

.container.user-guide .alert-warning {
    background-color: rgba(255, 193, 7, 0.2);
    border-color: rgba(255, 193, 7, 0.3);
}

.container.user-guide hr {
    border-color: rgba(255,255,255,0.1);
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #0a0a0a;
}

::-webkit-scrollbar-thumb {
    background: #343a40;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Image styling */
.container.user-guide img {
    filter: brightness(0.8);
    transition: filter 0.3s ease;
}

.container.user-guide img:hover {
    filter: brightness(1);
}

@media (max-width: 768px) {
    .container.user-guide .jumbotron {
        padding: 2rem 1rem;
    }

    .container.user-guide .display-4 {
        font-size: 2.5rem;
    }
}


/****** TRAVEL DESTINATION ****/
.travel-destination .hero-container {
    position: relative;
    overflow: hidden;
    color: white;
    padding: 150px 0 120px;
}

.travel-destination .hero-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

.travel-destination .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: -1;
}

.travel-destination .hero-title {
    font-size: 3.5rem;
    margin-bottom: 1rem;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.travel-destination .hero-subtitle {
    font-size: 1.2rem;
    max-width: 700px;
    margin: 0 auto 2rem;
    opacity: 0.9;
}

.travel-destination .duration-badge {
    background-color: rgba(212, 175, 55, 0.2);
    color: #D4AF37;
    border: 1px solid #D4AF37;
    font-size: 1rem;
    padding: 8px 20px;
    border-radius: 30px;
    font-weight: 400;
}

.travel-destination .section-title {
    position: relative;
    margin-bottom: 2.5rem;
    padding-bottom: 15px;
}

.travel-destination .section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 3px;
    background: #D4AF37;
}

.travel-destination .highlight-card {
    background-color: #0A0A0A;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 5px;
    padding: 25px;
    height: 100%;
    transition: transform 0.3s, box-shadow 0.3s;
}

.travel-destination .highlight-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.travel-destination .highlight-icon {
    font-size: 2rem;
    color: #D4AF37;
    margin-bottom: 15px;
}

.travel-destination .price-section {
    background-color: #0A0A0A;
    border: 1px solid rgba(255, 255, 255, 0.05);
    padding: 30px;
    border-radius: 5px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
}

.travel-destination .price-amount {
    font-size: 3rem;
    color: #D4AF37;
    font-weight: 700;
    line-height: 1;
}

.travel-destination .included-list,
.travel-destination .excluded-list {
    list-style-type: none;
    padding-left: 0;
}

.travel-destination .included-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
}

.travel-destination .included-list li::before {
    content: '\f05d';
    font-family: 'FontAwesome';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: #D4AF37;
}

.travel-destination .excluded-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
    color: #AAAAAA;
}

.travel-destination .excluded-list li::before {
    content: '\f05c';
    font-family: 'FontAwesome';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: #dc3545;
}

.travel-destination .btn-gold {
    background-color: #D4AF37;
    color: #000;
    font-weight: 600;
    border: none;
    padding: 12px 25px;
    transition: all 0.3s;
}

.travel-destination .btn-gold:hover {
    background-color: #B89B35;
    transform: translateY(-2px);
    color: #000;
}

.travel-destination .btn-outline-gold {
    background-color: transparent;
    color: #D4AF37;
    border: 1px solid #D4AF37;
    font-weight: 600;
    padding: 12px 25px;
    transition: all 0.3s;
}

.travel-destination .btn-outline-gold:hover {
    background-color: rgba(212, 175, 55, 0.1);
    color: #D4AF37;
}

.travel-destination .info-card {
    background-color: #0A0A0A;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 5px;
}

.travel-destination .info-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    padding: 15px 0;
}

.travel-destination .info-item:last-child {
    border-bottom: none;
}

.travel-destination .info-icon {
    color: #D4AF37;
    width: 30px;
    text-align: center;
    margin-right: 15px;
}

@media (max-width: 768px) {
    .travel-destination .hero-title {
        font-size: 2.5rem;
    }

    .travel-destination .hero-container {
        padding: 100px 0 80px;
    }
}



.bravo_wrap .bravo_detail_location .bravo_content .g-location {
    margin-bottom: 0 !important;
}


/** HOME BANNER */
.home-banner {
    height: 100vh;
    min-height: 520px;
    background-image: url('/uploads/demo/general/home-banner.jpg'); 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

.home-banner::before {
    content: "";
    position: absolute;
    top: 0; 
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.1); /* overlay default */
    z-index: 1;
}

.home-banner h1 {
    font-size: 4em;
}

.home-banner p {
    font-size: 2em;
}


.banner-text {
    position: relative;
    z-index: 2; /* agar tidak tertutup overlay */
}

/* HOME BANNER - MOBILE RESPONSIVE */
@media (max-width: 768px) {
    .home-banner {
        height: 70vh;
        background-image: url('/uploads/demo/general/home-banner-mobile.jpg'); 
        background-size: cover;
        background-position: bottom left;
        min-height: 400px;
        background-position: top center;
    }
    
    .home-banner::before {
        /* Overlay lebih gelap khusus mobile */
        background: rgba(0,0,0,0.3);        
    }
    
    .home-banner h1 {
        font-size: 2.5em;
        line-height: 1.2;
        margin-bottom: 15px;
    }
    
    .home-banner p {
        font-size: 1.3em;
        line-height: 1.4;
    }
    
    .banner-text {
        padding: 0 20px;
        text-align: center;
    }
}

/* Untuk perangkat yang sangat kecil (mobile portrait) */
@media (max-width: 480px) {
    .home-banner {
        height: 60vh;
        min-height: 350px;
        background-image: url('/uploads/demo/general/home-banner-mobile.jpg'); 
        background-size: cover;
        background-position: bottom left;
    }
    
    .home-banner::before {
        /* Overlay lebih gelap khusus mobile */
        background: rgba(0,0,0,0.3);        
    }    
    
    .home-banner h1 {
        font-size: 2.2em;
        margin-top: 6em;
    }
    
    .home-banner h2 {
        font-size: 1.5em;
    }    
    
    .home-banner p {
        font-size: 1.1em;
    }
}

/* Untuk tablet landscape */
@media (min-width: 769px) and (max-width: 1024px) {
    .home-banner {
        height: 80vh;
        min-height: 450px;
    }
    
    .home-banner h1 {
        font-size: 3em;
    }
    
    .home-banner p {
        font-size: 1.6em;
    }
}

/** CAROUSEL */

.testimony-29101 img {
    max-width: 350px;
}

.testimony-29101 .text {
  padding: 2rem;
  font-size: 1.5em;
}
  .testimony-29101 .text blockquote {
    position: relative;
    padding-bottom: 50px;
    font-size: 18px; }
    .testimony-29101 .text blockquote .author {
      font-size: 14px;
      position: absolute;
      bottom: 0; }

@media (max-width: 991.98px) {
  .testimony-29101 .text {
    width: 100%;
    display: block !important; } }

@media (max-width: 991.98px) {
  .slide-one-item .owl-nav {
    display: none; } }

.slide-one-item .owl-nav .owl-prev,
.slide-one-item .owl-nav .owl-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #000; }
  .slide-one-item .owl-nav .owl-prev span,
  .slide-one-item .owl-nav .owl-next span {
    font-size: 30px; }
  .slide-one-item .owl-nav .owl-prev:hover,
  .slide-one-item .owl-nav .owl-next:hover {
    color: #000; }
  .slide-one-item .owl-nav .owl-prev:active, .slide-one-item .owl-nav .owl-prev:focus,
  .slide-one-item .owl-nav .owl-next:active,
  .slide-one-item .owl-nav .owl-next:focus {
    outline: none; }

.slide-one-item .owl-nav .owl-prev {
  left: 20px; }

.slide-one-item .owl-nav .owl-next {
  right: 20px; }

.slide-one-item .owl-dots {
  position: absolute;
  bottom: 20px;
  width: 100%;
  text-align: center;
  z-index: 2; }
  .slide-one-item .owl-dots .owl-dot {
    display: inline-block; }
    .slide-one-item .owl-dots .owl-dot > span {
      -webkit-transition: 0.3s all cubic-bezier(0.32, 0.71, 0.53, 0.53);
      -o-transition: 0.3s all cubic-bezier(0.32, 0.71, 0.53, 0.53);
      transition: 0.3s all cubic-bezier(0.32, 0.71, 0.53, 0.53);
      display: inline-block;
      width: 15px;
      height: 3px;
      background: rgba(0, 123, 255, 0.4);
      margin: 3px; }
    .slide-one-item .owl-dots .owl-dot.active > span {
      width: 15px;
      background: #007bff; }


/* CSS untuk konsistensi carousel */
.testimony-29101 {
  min-height: 400px; /* Atur tinggi minimal yang sama untuk semua slide */
  padding: 2rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.testimony-img-container {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
}

.testimony-img {
  width: 350px;
  height: 100%;
  object-fit: cover;
}

.testimony-text-container {
  max-width: 800px;
  width: 100%;
  flex: 1; /* Agar teks memenuhi sisa space */
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.testimony-quote {
    position: relative;
    padding: 20px 25px; /* beri ruang supaya ikon tidak menimpa teks */
    font-size: 1.2rem;
    line-height: 1.6;
    color: #555;
}

/* KIRI ATAS */
.fa-quote-left {
    position: absolute;
    top: -10px;
    left: 0;
    font-size: 2rem;
    color: #b0b0b0;
    opacity: 0.6;
}

/* KANAN BAWAH */
.fa-quote-right {
    position: absolute;
    bottom: -10px;
    right: 0;
    font-size:2rem;
    color: #b0b0b0;
    opacity: 0.6;
}

/* Responsive Mobile */
@media (max-width: 576px) {
    .testimony-quote {
        font-size: 1rem;
        padding: 20px 16px;
    }

    .fa-quote-right,
    .fa-quote-left {
        font-size: 1.4rem;
    }
}


/* Untuk mengatur tinggi yang konsisten pada teks */
.testimony-text-container .text {
  min-height: 200px; /* Sesuaikan dengan kebutuhan */
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Owl Carousel customization */
.owl-carousel .owl-item {
  display: flex;
  justify-content: center;
}

.owl-carousel .testimony-29101 {
  width: 100%;
}

/* TESTIMONY CAROUSEL - MOBILE RESPONSIVE */
@media (max-width: 768px) {
    .testimony-29101 {
        min-height: 300px;
        padding: 1rem 0;
        flex-direction: column;
    }
    
    .testimony-29101 img {
        max-width: 200px;
        height: auto;
    }
    
    .testimony-img {
        width: 200px;
        max-height: 200px;
    }
    
    .testimony-29101 .text {
        padding: 1.5rem;
        padding-bottom: 100px;
        font-size: 1.1em;
        width: 100%;
    }
    
    .testimony-29101 .text blockquote {
        padding-bottom: 40px;
        font-size: 16px;
        text-align: center;
    }
    
    .testimony-29101 .text blockquote .author {
        font-size: 13px;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        text-align: center;
    }
    
    .testimony-text-container {
        max-width: 100%;
    }
    
    .testimony-quote {
        min-height: 80px;
        font-size: 0.95em;
        line-height: 1.6;
        text-align: center;
    }
    
    .quote-icon, .quote-icon-right {
        height: 20px;
        justify-content: center;
    }
    
    .quote-icon i, .quote-icon-right i {
        font-size: 1.2rem;
    }
    
    .testimony-text-container .text {
        min-height: 150px;
    }
}

/* Untuk perangkat yang sangat kecil (mobile portrait) */
@media (max-width: 480px) {
    .testimony-29101 {
        min-height: 250px;
        padding: 0.5rem 0;
    }
    
    .testimony-29101 img {
        max-width: 350px;
    }
    
    .testimony-img {
        width: 150px;
        max-height: 300px;
    }
    
    .testimony-29101 .text {
        padding: 1rem;
        padding-bottom: 80px;
        font-size: 1em;
    }
    
    .testimony-29101 .text blockquote {
        padding-bottom: 35px;
        font-size: 14px;
    }
    
    .testimony-29101 .text blockquote .author {
        font-size: 12px;
    }
    
    .testimony-quote {
        min-height: 60px;
        font-size: 0.9em;
        line-height: 1.5;
    }
    
    .quote-icon i, .quote-icon-right i {
        font-size: 1rem;
    }
    
    .testimony-text-container .text {
        min-height: 120px;
    }
}

/* Untuk tablet */
@media (min-width: 769px) and (max-width: 991px) {
    .testimony-29101 img {
        max-width: 280px;
    }
    
    .testimony-img {
        width: 280px;
    }
    
    .testimony-29101 .text {
        font-size: 1.3em;
        padding-bottom: 180px;
    }
    
    .testimony-29101 .text blockquote {
        font-size: 17px;
    }
}

/* Optimasi navigation untuk mobile */
@media (max-width: 768px) {
    .slide-one-item .owl-nav {
        display: none !important;
    }
    
    .slide-one-item .owl-dots {
        bottom: 10px;
    }
    
    .slide-one-item .owl-dots .owl-dot > span {
        width: 12px;
        height: 2px;
        margin: 2px;
    }
    
    .slide-one-item .owl-dots .owl-dot.active > span {
        width: 12px;
    }
}

/* Landscape mode optimization */
@media (max-width: 768px) and (orientation: landscape) {
    .testimony-29101 {
        min-height: 200px;
        flex-direction: row;
        gap: 1rem;
    }
    
    .testimony-29101 img {
        max-width: 120px;
    }
    
    .testimony-img {
        width: 120px;
        max-height: 120px;
    }
    
    .testimony-29101 .text {
        padding: 1rem;
        padding-bottom: 60px;
    }
    
    .testimony-quote {
        min-height: 50px;
        font-size: 0.85em;
    }
}

/* Touch-friendly improvements */
@media (max-width: 768px) {
    .owl-carousel .owl-stage-outer {
        padding: 10px 0;
    }
    
    .testimony-29101 {
        margin: 0 10px;
    }
}




/** PARALLAX ***/

.parallax-section {
    position: relative;
    overflow: hidden;
}
        
.parallax-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('../uploads/demo/general/bg-blackwhite.png') no-repeat center center;    
    background-size: cover;
    background-position: center;
    z-index: -1;
}

.parallax-section table {
    overflow: initial;
}
        .content-wrapper {
            position: relative;
            z-index: 1;
            height: 100%;
            overflow-y: auto;
            padding: 80px 0;
        }
        
        .section-content {
            color: white;
            padding-bottom: 100px;
            border-radius: 10px;
            margin-bottom: 50px;
            font-size: 1.5em;
        }
        
        .section-title {
            color: #fff;
            text-transform: uppercase;
            letter-spacing: 2px;
            margin-bottom: 30px;
            padding-bottom: 15px;
            border-bottom: 2px solid #fff;
        }
        
        
/* PARALLAX - MOBILE RESPONSIVE */
@media (max-width: 768px) {
    .parallax-section {
        overflow: visible;
        min-height: auto;
    }
    
    .parallax-bg {
        position: absolute;
        background-attachment: scroll;
        height: 120%; /* Sedikit lebih tinggi untuk coverage yang baik */
    }
    
    .content-wrapper {
        padding: 40px 0;
        overflow-y: visible;
    }
    
    .section-content {
        font-size: 1.1em;
        padding: 30px 20px;
        margin-bottom: 30px;
        backdrop-filter: blur(5px);
        background: rgba(0, 0, 0, 0.6); /* Background semi-transparent untuk readability */
    }
    
    .section-title {
        font-size: 1.8em;
        letter-spacing: 1px;
        margin-bottom: 20px;
        padding-bottom: 10px;
        text-align: center;
    }
    
    .parallax-section table {
        font-size: 0.9em;
        overflow-x: auto;
        display: block;
    }
}

/* Untuk perangkat yang sangat kecil (mobile portrait) */
@media (max-width: 480px) {
    .parallax-bg {
        height: 130%;
        background-position: top center;
    }
    
    .content-wrapper {
        padding: 30px 0;
    }
    
    .section-content {
        font-size: 1em;
        padding: 25px 15px;
        margin-bottom: 20px;
        border-radius: 8px;
    }
    
    .section-title {
        font-size: 1.5em;
        letter-spacing: 0.5px;
        margin-bottom: 15px;
    }
}

/* Untuk tablet */
@media (min-width: 769px) and (max-width: 1024px) {
    .parallax-bg {
        background-attachment: scroll;
    }
    
    .content-wrapper {
        padding: 60px 0;
    }
    
    .section-content {
        font-size: 1.3em;
        padding: 40px 30px;
    }
    
    .section-title {
        font-size: 2em;
    }
}

/* Nonaktifkan efek parallax untuk perangkat mobile */
@media (max-width: 1024px) and (orientation: portrait) {
    .parallax-bg {
        background-attachment: scroll;
        transform: none !important;
    }
}


/* Table style to match the design */
.table-accommodation {
    border: 2px solid #dedede;
    border-collapse: separate;
    border-spacing: 0;
    background: #ffffff;
}

.table-accommodation th {
    background: #f4f4f4;
    font-weight: 600;
    padding: 18px !important;
    border: 2px solid #dedede !important;
    text-transform: uppercase;
    text-align: center;
    vertical-align: baseline !important;
}


.table-accommodation td {
    padding: 18px !important;
    border: 2px solid #dedede !important;
    background: #ffffff;
}

.table-accommodation tbody tr td:first-child {
    font-weight: 500;
}
