/*
Theme Name: Dolan VW Safari
Description: Direct WordPress conversion of the original Dolan VW Safari HTML template.
Version: 1.0.1
*/

/* Dolan VW Safari search bar */
.search-bar form{position:relative;}
.search-bar form .form-control{padding-right:140px;}

/* Search field: keep the browser focus outline subtle without changing the design. */
.search-bar input[type="search"]:focus { outline: none !important; box-shadow: 0 0 0 2px rgba(255,255,255,.18) !important; }

/* Homepage search: subtle focus without a heavy browser outline. */
.bvws-search-form input[type="search"]:focus{outline:0!important;box-shadow:0 0 0 1px rgba(255,255,255,.20)!important;}

/* Search field: no heavy browser outline on focus. */
.search-bar input[type="search"]:focus,
.bvws-search-form input[type="search"]:focus {
    outline: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

/* Align package cards so every card in a carousel has the same height. */
.packages .packages-carousel .owl-stage {
    display: flex;
    align-items: stretch;
}

.packages .packages-carousel .owl-item {
    display: flex;
    height: auto;
}

.packages .packages-carousel .packages-item {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.packages .packages-carousel .packages-img {
    height: 260px;
    flex: 0 0 260px;
}

.packages .packages-carousel .packages-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.packages .packages-carousel .packages-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 285px;
}

.packages .packages-carousel .packages-content > .p-4 {
    flex: 1 1 auto;
}

.packages .packages-carousel .packages-content > .row {
    margin-top: auto;
    flex: 0 0 auto;
}

@media (max-width: 767.98px) {
    .packages .packages-carousel .packages-img {
        height: 230px;
        flex-basis: 230px;
    }

    .packages .packages-carousel .packages-content {
        min-height: 270px;
    }
}


/* Final visual fixes */
.bvws-home-search-shell {
    padding: 1rem !important;
    background: rgba(19, 53, 123, 0.8);
}

.bvws-home-search-shell .bvws-search-form {
    position: relative;
}

.bvws-home-search-shell .form-control {
    min-height: 50px;
}

.bvws-home-search-shell .btn {
    line-height: 1.2;
}

.packages .packages-item .packages-img .packages-price {
    text-align: center !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    min-height: 44px;
    box-sizing: border-box;
}

.blog .blog-content p {
    text-align: justify;
}

.blog .blog-content .h4 {
    display: block;
}

@media (max-width: 767.98px) {
    .bvws-home-search-shell {
        padding: .75rem !important;
    }
}


/* Search field focus: keep only a thin, unobtrusive outline. */
.bvws-search-form input[type="search"]:focus {
    outline: none !important;
    border: 1px solid rgba(19, 53, 123, .16) !important;
    box-shadow: 0 0 0 1px rgba(19, 53, 123, .08) !important;
}

/* Blog cards: make every card in the same row equal height and align the
 * content/buttons to the same bottom edge on both homepage and Blog page. */
.blog .row > [class*="col-"] {
    display: flex;
    align-items: stretch;
}

.blog .row > [class*="col-"] > .blog-item {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.blog .blog-item .blog-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    text-align: left;
}

/* Keep title and excerpt areas consistent so the action buttons line up. */
.blog .blog-item .blog-content > .h4 {
    min-height: 58px;
    line-height: 1.35;
}

.blog .blog-item .blog-content > p.my-3 {
    min-height: 72px;
    text-align: justify;
}

.blog .blog-item .blog-content > .btn {
    margin-top: auto;
    align-self: flex-start;
}

@media (max-width: 767.98px) {
    .blog .blog-item .blog-content > .h4,
    .blog .blog-item .blog-content > p.my-3 {
        min-height: auto;
    }
}


/* Final homepage button/layout hardening */
.about .btn,
.booking .btn{
    box-sizing: border-box;
}
.about .bvws-about-detail-btn,
.booking .bvws-booking-detail-btn{
    display: inline-flex !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    min-height: 48px !important;
    padding: .75rem 2rem !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    writing-mode: horizontal-tb !important;
}
.about .bvws-about-heading{
    max-width: 100%;
}
@media (min-width: 992px){
    .about .bvws-about-heading{
        font-size: 48px !important;
    }
}
