
/* Dolan VW Safari brand */
:root{
 --bvws-blue:#062B72;
 --bvws-blue-dark:#031B4E;
 --bvws-orange:#FF6A00;
 --bvws-orange-hover:#FF7A16;
}
.navbar-light,.navbar-light.bg-light,.sticky-top.navbar-light{background-color:var(--bvws-blue)!important;}
.navbar-light .navbar-nav .nav-link,.navbar-light .navbar-nav .nav-link:visited{color:#fff!important;}
.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link.active{color:var(--bvws-orange)!important;}
.navbar-light .navbar-brand,.navbar-light .navbar-brand h1{color:#fff!important;}
.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:hover h1{color:var(--bvws-orange)!important;}
.navbar-light .btn.btn-primary,.navbar-light a.btn.btn-primary{background-color:var(--bvws-orange)!important;border-color:var(--bvws-orange)!important;color:#fff!important;}
.navbar-light .btn.btn-primary:hover,.navbar-light a.btn.btn-primary:hover{background-color:var(--bvws-orange-hover)!important;border-color:var(--bvws-orange-hover)!important;}
.navbar-light .dropdown-menu .dropdown-item:hover,.navbar-light .dropdown-menu .dropdown-item:focus{color:var(--bvws-orange)!important;background:rgba(255,106,0,.08)!important;}
.section-title::before,.section-title::after{background:var(--bvws-orange)!important;}
footer,.footer{background-color:var(--bvws-blue-dark)!important;}
.bvws-google-translate,#google_translate_element,.goog-te-banner-frame.skiptranslate,body>.skiptranslate{display:none!important;}
body{top:0!important;}
#bvws-language-select{color:#fff!important;background:var(--bvws-blue-dark)!important;border-color:rgba(255,255,255,.35)!important;}
#bvws-language-select option{color:#111!important;background:#fff!important;}
.footer-bank-card,.footer-payment,.footer-currency,.payment-methods,.currency-selector,.currency-switcher{display:none!important;}
/* Preserve original template header colors. */
.container-fluid.bg-primary { background-color: #13357B !important; }

/* Header logo: replace the text brand without changing the navbar layout. */
.navbar-light .navbar-brand.bvws-logo-link{
    display:flex;
    align-items:center;
    width:390px;
    min-width:390px;
    height:70px;
    overflow:visible;
}
.bvws-header-logo{
    display:block;
    width:auto;
    height:70px;
    max-width:100%;
    object-fit:contain;
    flex:0 0 auto;
}
.bvws-header-brand-text{
    display:block;
    margin-left:10px;
    color:#fff;
    font-size:20px;
    font-weight:700;
    line-height:1.15;
    white-space:nowrap;
    letter-spacing:.1px;
}
.navbar-light .navbar-brand.bvws-logo-link:hover .bvws-header-brand-text{
    color:#fff;
}

@media (max-width: 991.98px){
    .navbar-light .navbar-brand.bvws-logo-link{
        width:auto;
        min-width:0;
        height:62px;
    }
    .bvws-header-logo{
        height:62px;
    }
    .bvws-header-brand-text{
        font-size:17px;
        margin-left:8px;
    }
}
@media (max-width: 575.98px){
    .navbar-light .navbar-brand.bvws-logo-link{
        height:58px;
    }
    .bvws-header-logo{
        height:58px;
    }
    .bvws-header-brand-text{
        font-size:15px;
        margin-left:6px;
    }
}


/* Dolan VW Safari - SEO article and vertical short-video frames */
.bvws-seo-article article { font-size: 1rem; line-height: 1.85; color: #555; }
.bvws-seo-article article h2, .bvws-seo-article article h3 { color: #0b2b64; margin-top: 1.5rem; margin-bottom: .75rem; }
.bvws-short-videos { background: #f8f9fa; }
.bvws-video-frame { position: relative; width: 100%; aspect-ratio: 9 / 16; overflow: hidden; border-radius: 14px; background: #111; box-shadow: 0 10px 25px rgba(0,0,0,.12); }
.bvws-video-frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bvws-video-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 20px; background: linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,.12) 55%, rgba(0,0,0,.25)); color: #fff; }
.bvws-video-overlay strong { font-size: 1rem; margin-top: 12px; text-transform: uppercase; }
.bvws-video-overlay small { margin-top: 5px; opacity: .9; }
.bvws-play { width: 58px; height: 58px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.95); color: #0b2b64; font-size: 22px; padding-left: 4px; }

.bvws-video-managed { position: relative; overflow: hidden; background: #111; }
.bvws-video-managed video, .bvws-video-managed img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bvws-video-empty { aspect-ratio: 9/16; display:flex; align-items:center; justify-content:center; color:#fff; background:#222; padding:20px; text-align:center; }
@media (max-width: 575.98px){ .bvws-video-frame { min-height: 420px; } }
.bvws-video-managed .bvws-video-overlay { inset: auto 0 0; padding: 12px 10px; background: linear-gradient(to top, rgba(0,0,0,.82), rgba(0,0,0,0)); pointer-events: none; justify-content: flex-end; }


/* =========================================================
   DOLAN VW SAFARI - Modern Travel Color System
   ========================================================= */
:root{
 --dolan-navy:#123B5D;
 --dolan-navy-dark:#0A2942;
 --dolan-teal:#0E9F9A;
 --dolan-teal-dark:#087C79;
 --dolan-coral:#F28C5B;
 --dolan-sand:#F7F3EA;
 --dolan-ink:#18323F;
 --dolan-white:#FFFFFF;

 --bvws-blue:var(--dolan-navy);
 --bvws-blue-dark:var(--dolan-navy-dark);
 --bvws-orange:var(--dolan-coral);
 --bvws-orange-hover:#E97849;
 --bs-primary:var(--dolan-navy);
 --bs-secondary:var(--dolan-teal);
}

/* Main travel palette */
body{
    color:var(--dolan-ink);
    background:#fff;
}
a{ color:var(--dolan-teal); }
a:hover{ color:var(--dolan-teal-dark); }

.text-primary{ color:var(--dolan-navy)!important; }
.bg-primary{ background-color:var(--dolan-navy)!important; }
.border-primary{ border-color:var(--dolan-teal)!important; }

.btn-primary,
a.btn-primary{
    background-color:var(--dolan-teal)!important;
    border-color:var(--dolan-teal)!important;
    color:#fff!important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
a.btn-primary:hover{
    background-color:var(--dolan-teal-dark)!important;
    border-color:var(--dolan-teal-dark)!important;
    color:#fff!important;
}
.btn-light{
    color:var(--dolan-navy)!important;
}
.section-title{ color:var(--dolan-navy)!important; }
.section-title::before,
.section-title::after{
    border-color:var(--dolan-coral)!important;
    background:var(--dolan-coral)!important;
}

/* Header / navigation */
.navbar-light,
.navbar-light.bg-light,
.sticky-top.navbar-light{
    background-color:var(--dolan-navy)!important;
}
.navbar-light .navbar-nav .nav-link,
.navbar-light .navbar-nav .nav-link:visited{
    color:#fff!important;
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link.active{
    color:var(--dolan-coral)!important;
}
.navbar-light .navbar-nav .nav-link::before{
    background:var(--dolan-teal)!important;
}
.navbar-light .navbar-brand,
.navbar-light .navbar-brand h1{
    color:#fff!important;
}
.navbar-light .navbar-brand:hover,
.navbar-light .navbar-brand:hover h1{
    color:#fff!important;
}
.navbar .dropdown-menu{
    border-radius:12px!important;
    box-shadow:0 12px 30px rgba(10,41,66,.14);
}
.dropdown .dropdown-menu a:hover{
    background:var(--dolan-teal)!important;
    color:#fff!important;
}

/* Top bar and hero/search accents */
.topbar,
.container-fluid.bg-primary{
    background-color:var(--dolan-navy)!important;
}
.bvws-home-search-shell{
    background:rgba(10,41,66,.88)!important;
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    backdrop-filter:blur(8px);
}
.packages .packages-item,
.blog .blog-item{
    border-radius:16px;
    overflow:hidden;
}
.packages .packages-item .packages-price{
    background:var(--dolan-teal)!important;
    color:#fff!important;
}
footer,.footer{
    background-color:var(--dolan-navy-dark)!important;
}
.footer a:hover{ color:var(--dolan-coral)!important; }

/* Warm travel accent for important highlights */
.text-secondary{ color:var(--dolan-teal)!important; }
.badge.bg-primary{ background:var(--dolan-teal)!important; }

/* Mobile navigation */
@media (max-width:991.98px){
    .navbar-light .navbar-nav .nav-link:hover,
    .navbar-light .navbar-nav .nav-link.active{
        color:var(--dolan-teal)!important;
    }
    .navbar.navbar-expand-lg .navbar-toggler{
        border-color:rgba(255,255,255,.5)!important;
        color:#fff!important;
    }
}


/* =========================================================
   HOMEPAGE LAYOUT FIX - About, Booking & Header Brand
   ========================================================= */

/* Make the text beside the Dolan VW Safari logo more prominent. */
.navbar-light .navbar-brand.bvws-logo-link{
    width: 430px;
    min-width: 430px;
}
.bvws-header-brand-text{
    font-size: 28px;
    font-weight: 700;
    line-height: 1.1;
    margin-left: 14px;
    letter-spacing: 0;
}

/* About section: prevent columns/content from collapsing or overflowing. */
.about .container > .row{
    align-items: center;
}
.about .container > .row > [class*="col-"]{
    min-width: 0;
}
.about .container > .row > .col-lg-5 > .h-100{
    overflow: hidden;
}
.about .container > .row > .col-lg-7{
    padding: 42px 40px;
    background-size: cover;
    background-position: center;
}
.about .bvws-about-heading{
    font-size: 48px;
    line-height: 1.18;
    font-weight: 700;
    margin-bottom: 1.25rem!important;
}
.about .container > .row > .col-lg-7 > p{
    line-height: 1.75;
}
.about .container > .row > .col-lg-7 .row{
    margin-left: -8px;
    margin-right: -8px;
}
.about .container > .row > .col-lg-7 .row > [class*="col-"]{
    padding-left: 8px;
    padding-right: 8px;
}
.about .bvws-about-detail-btn,
.booking .bvws-booking-detail-btn{
    display: inline-flex!important;
    width: auto!important;
    max-width: max-content!important;
    height: auto!important;
    min-height: 0!important;
    flex: 0 0 auto!important;
    align-items: center!important;
    justify-content: center!important;
    white-space: nowrap!important;
    writing-mode: horizontal-tb!important;
    transform: none!important;
}

/* Booking section: keep the two main columns stable on desktop. */
.booking .container > .row{
    align-items: center;
}
.booking .container > .row > [class*="col-"]{
    min-width: 0;
}
.booking .container > .row > .col-lg-6:first-child{
    padding-right: 28px;
}
.booking .container > .row > .col-lg-6:last-child{
    padding-left: 28px;
}
.booking .bvws-booking-form{
    width: 100%;
}
.booking .bvws-booking-form .row{
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
}
.booking .bvws-booking-form .form-floating > .form-control,
.booking .bvws-booking-form .form-floating > .form-select{
    min-height: 58px;
}
.booking .bvws-booking-form .form-floating > label{
    white-space: normal;
}

/* Tablet/mobile: restore the compact brand and stack sections cleanly. */
@media (max-width: 991.98px){
    .navbar-light .navbar-brand.bvws-logo-link{
        width: auto;
        min-width: 0;
    }
    .bvws-header-brand-text{
        font-size: 21px;
        margin-left: 9px;
    }
    .about .container > .row > .col-lg-7{
        padding: 30px 24px;
    }
    .about .bvws-about-heading{
        font-size: 40px;
    }
    .booking .container > .row > .col-lg-6:first-child,
    .booking .container > .row > .col-lg-6:last-child{
        padding-left: 12px;
        padding-right: 12px;
    }
}
@media (max-width: 575.98px){
    .bvws-header-brand-text{
        font-size: 18px;
        margin-left: 7px;
    }
    .about .container > .row > .col-lg-7{
        padding: 24px 16px;
    }
    .about .bvws-about-heading{
        font-size: 32px;
    }
    .about .container > .row > .col-lg-7 .row > [class*="col-"]{
        width: 100%;
    }
}

/* =========================================================
   FINAL HARD RESET FOR HOMEPAGE COLUMN/BUTTON COLLISIONS
   ========================================================= */
@media (min-width: 992px){
    .about .container > .row > .col-lg-5{flex:0 0 auto!important;width:41.66666667%!important;display:block!important;}
    .about .container > .row > .col-lg-7{flex:0 0 auto!important;width:58.33333333%!important;display:block!important;}
    .booking .container > .row > .col-lg-6{flex:0 0 auto!important;width:50%!important;display:block!important;}
}

/* Never allow homepage content children to line up as flex columns. */
.about .container > .row > .col-lg-7 > h1,
.about .container > .row > .col-lg-7 > h5,
.about .container > .row > .col-lg-7 > p,
.booking .container > .row > .col-lg-6 > h1,
.booking .container > .row > .col-lg-6 > h5,
.booking .container > .row > .col-lg-6 > p{
    display:block!important;
    width:100%!important;
    height:auto!important;
    flex:none!important;
}

/* Exact fixed-size buttons so they can never stretch vertically. */
.about .bvws-about-detail-btn,
.booking .bvws-booking-detail-btn{
    display:inline-flex!important;
    flex:0 0 auto!important;
    align-self:flex-start!important;
    width:160px!important;
    min-width:160px!important;
    max-width:160px!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    padding:0 20px!important;
    margin-top:8px!important;
    margin-bottom:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    line-height:1!important;
    align-items:center!important;
    justify-content:center!important;
    vertical-align:middle!important;
}

/* Keep heading readable and separate from the logo/other content. */
.about .bvws-about-heading{font-size:48px!important;line-height:1.18!important;}
@media (max-width: 991.98px){
    .about .bvws-about-heading{font-size:40px!important;}
    .about .bvws-about-detail-btn,
    .booking .bvws-booking-detail-btn{width:160px!important;height:56px!important;}
}
@media (max-width: 575.98px){
    .about .bvws-about-heading{font-size:32px!important;}
}
