/* ========================================================================== */
/* Safari Connect Hub — Homepage v1.10.392                                */
/* Compact 8-tour homepage grid + approved Featured Operator card.            */
/* ========================================================================== */

/* -------------------------------------------------------------------------- */
/* Handpicked Tours — up to 8 cards, 4 per desktop row.                       */
/* Reuses the canonical card markup; only the homepage presentation compacts. */
/* -------------------------------------------------------------------------- */
body.home .tmc-home-tours__grid,
body.home .tmc-home-tours__grid[class*="tmc-home-tours__grid--count-"]{
    display:grid!important;
    gap:22px 18px!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    max-width:none!important;
    width:100%!important;
}
body.home .tmc-home-tours__item{
    display:flex!important;
    min-width:0!important;
}
body.home .tmc-home-tours__item>.tmc-tour-card--homepage{
    border-radius:11px!important;
    box-shadow:0 6px 18px rgba(24,55,40,.07)!important;
    height:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    width:100%!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__media,
body.home .tmc-tour-card--homepage.tmc-tour-card--destination .tmc-tour-card__media{
    height:152px!important;
    min-height:152px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__media img,
body.home .tmc-tour-card--homepage .tmc-tour-card__media>a>img{
    height:100%!important;
    object-fit:cover!important;
    width:100%!important;
}
body.home .tmc-tour-card--homepage .tmc-featured-badge{
    font-size:9px!important;
    gap:4px!important;
    left:9px!important;
    padding:5px 7px!important;
    top:9px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__body,
body.home .tmc-tour-card--homepage.tmc-tour-card--destination .tmc-tour-card__body{
    padding:12px 13px 10px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__title,
body.home .tmc-tour-card--homepage.tmc-tour-card--destination .tmc-tour-card__title{
    display:-webkit-box!important;
    font-size:17px!important;
    line-height:1.15!important;
    margin:0 0 7px!important;
    min-height:39px!important;
    overflow:hidden!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__location{
    font-size:11px!important;
    line-height:1.3!important;
    margin:0 0 6px!important;
    min-height:0!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__location span{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__rating-row{
    font-size:10.5px!important;
    gap:3px!important;
    margin:0 0 7px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__classification{
    gap:5px!important;
    margin:0 0 7px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__classification-item{
    font-size:9.5px!important;
    gap:3px!important;
    max-width:calc(50% - 3px)!important;
    padding:4px 6px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__classification-item b{
    display:none!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__meta,
body.home .tmc-tour-card--homepage .tmc-tour-card__meta--summary{
    gap:0!important;
    margin:0!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__meta-item{
    font-size:10.5px!important;
    gap:4px!important;
    min-height:0!important;
    padding:0 7px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__operator,
body.home .tmc-tour-card--homepage.tmc-tour-card--destination .tmc-tour-card__operator{
    gap:7px!important;
    min-height:0!important;
    padding:9px 13px 8px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__operator-avatar,
body.home .tmc-tour-card--homepage .tmc-tour-card__operator-avatar img{
    height:29px!important;
    width:29px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__operator-copy a,
body.home .tmc-tour-card--homepage .tmc-tour-card__operator-copy strong{
    font-size:10.5px!important;
    line-height:1.2!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__operator-copy small{
    font-size:8.5px!important;
    margin-top:1px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__footer-actions,
body.home .tmc-tour-card--homepage.tmc-tour-card--destination .tmc-tour-card__footer-actions{
    align-items:center!important;
    gap:8px!important;
    min-height:0!important;
    padding:9px 13px 11px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__price-label{
    font-size:8.5px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__price-value{
    font-size:16px!important;
    line-height:1.08!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__price small{
    font-size:8px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__cta,
body.home .tmc-tour-card--homepage.tmc-tour-card--destination .tmc-tour-card__cta{
    border-radius:6px!important;
    font-size:10px!important;
    min-height:34px!important;
    min-width:82px!important;
    padding:0 9px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__cta .tmc-icon{
    height:12px!important;
    width:12px!important;
}

/* One to three cards should remain sensibly sized rather than stretching huge. */
body.home .tmc-home-tours__grid--count-1{grid-template-columns:minmax(0,290px)!important}
body.home .tmc-home-tours__grid--count-2{grid-template-columns:repeat(2,minmax(0,290px))!important}
body.home .tmc-home-tours__grid--count-3{grid-template-columns:repeat(3,minmax(0,290px))!important}

/* -------------------------------------------------------------------------- */
/* Featured Safari Operators — exact approved homepage visual direction.      */
/* Cover image, overlapping logo, identity beside logo, rating + CTA.         */
/* -------------------------------------------------------------------------- */
body.home .tod-featured-operators--homepage{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    margin:0 auto!important;
    max-width:1240px!important;
    padding:64px 32px 70px!important;
}
body.home .tod-featured-operators--homepage .tod-home-featured-heading{
    grid-column:1!important;
    grid-row:1!important;
    margin:0 0 24px!important;
    max-width:760px!important;
    text-align:left!important;
}
body.home .tod-featured-operators--homepage .tod-home-featured-heading__eyebrow{
    justify-content:flex-start!important;
    letter-spacing:.18em!important;
    margin-bottom:7px!important;
}
body.home .tod-featured-operators--homepage .tod-home-featured-heading__eyebrow:before,
body.home .tod-featured-operators--homepage .tod-home-featured-heading__eyebrow:after,
body.home .tod-featured-operators--homepage .tod-home-featured-heading__ornament{
    display:none!important;
}
body.home .tod-featured-operators--homepage .tod-home-featured-heading h2{
    font-family:var(--asc-font-heading,"Barlow Condensed","Arial Narrow",Arial,sans-serif)!important;
    font-size:34px!important;
    font-weight:700!important;
    letter-spacing:-.02em!important;
    line-height:1.08!important;
    margin:0!important;
}
body.home .tod-featured-operators--homepage .tod-home-featured-heading p{
    font-size:14px!important;
    line-height:1.5!important;
    margin:6px 0 0!important;
}
body.home .tod-featured-operators--homepage .tod-home-featured-footer{
    align-self:end!important;
    grid-column:2!important;
    grid-row:1!important;
    margin:0 0 26px 24px!important;
}
body.home .tod-featured-operator-grid--homepage,
body.home .tod-featured-operator-grid--homepage:has(> :only-child),
body.home .tod-featured-operator-grid--homepage:has(> :nth-child(2):last-child),
body.home .tod-featured-operator-grid--homepage:has(> :nth-child(3):last-child){
    display:grid!important;
    gap:18px!important;
    grid-column:1/-1!important;
    grid-row:2!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    justify-content:start!important;
    max-width:none!important;
    width:100%!important;
}
body.home .tod-featured-operator-grid--homepage:has(> :only-child){
    grid-template-columns:minmax(0,292px)!important;
}
body.home .tod-featured-operator-grid--homepage:has(> :nth-child(2):last-child){
    grid-template-columns:repeat(2,minmax(0,292px))!important;
}
body.home .tod-featured-operator-grid--homepage:has(> :nth-child(3):last-child){
    grid-template-columns:repeat(3,minmax(0,292px))!important;
    max-width:912px!important;
}
body.home .tod-home-operator-card--option3{
    background:#fff!important;
    border:1px solid #e3e7e2!important;
    border-radius:11px!important;
    box-shadow:0 6px 18px rgba(24,55,40,.08)!important;
    min-width:0!important;
    overflow:hidden!important;
    width:100%!important;
}
body.home .tod-home-operator-card--option3 .tod-home-operator-card__cover{
    height:142px!important;
}
body.home .tod-home-operator-card--option3 .tod-home-operator-card__cover:after{
    background:linear-gradient(180deg,rgba(14,42,29,.02),rgba(14,42,29,.16))!important;
}
/* The approved card does not need an extra Featured badge; section context already says Featured. */
body.home .tod-home-operator-card--option3 .tod-home-operator-card__featured{
    display:inline-flex!important;
}
body.home .tod-home-operator-card--option3 .tod-home-operator-card__body{
    align-items:stretch!important;
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    column-gap:10px!important;
    padding:0 12px 12px!important;
    position:relative!important;
    text-align:left!important;
}
body.home .tod-home-operator-card--option3 .tod-home-operator-card__avatar{
    align-self:start!important;
    border:3px solid #fff!important;
    grid-column:1!important;
    grid-row:1/3!important;
    height:58px!important;
    margin:-29px 0 0!important;
    width:58px!important;
}
body.home .tod-home-operator-card--option3 .tod-home-operator-card__name{
    align-items:center!important;
    font-family:var(--asc-font-heading,"Barlow Condensed","Arial Narrow",Arial,sans-serif)!important;
    font-size:17px!important;
    font-weight:700!important;
    gap:5px!important;
    grid-column:2!important;
    grid-row:1!important;
    justify-content:flex-start!important;
    line-height:1.12!important;
    margin:8px 0 2px!important;
    min-width:0!important;
    text-align:left!important;
}
body.home .tod-home-operator-card--option3 .tod-home-operator-card__name a{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
body.home .tod-home-operator-card--option3 .tod-home-operator-card__verified{
    flex:0 0 16px!important;
    font-size:9px!important;
    height:16px!important;
    width:16px!important;
}
body.home .tod-home-operator-card--option3 .tod-home-operator-card__tagline{
    display:none!important;
}
body.home .tod-home-operator-card--option3 .tod-home-operator-card__meta,
body.home .tod-home-operator-card--option3 .tod-home-operator-card__meta.no-rating{
    align-items:flex-start!important;
    border:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
    grid-column:2!important;
    grid-row:2!important;
    margin:0 0 9px!important;
    min-width:0!important;
    width:100%!important;
}
body.home .tod-home-operator-card--option3 .tod-home-operator-card__meta-item{
    border:0!important;
    color:#657169!important;
    font-size:10px!important;
    gap:4px!important;
    justify-content:flex-start!important;
    line-height:1.2!important;
    min-height:0!important;
    padding:0!important;
    width:100%!important;
}
body.home .tod-home-operator-card--option3 .tod-home-operator-card__meta-item>span{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
}
body.home .tod-home-operator-card--option3 .tod-home-operator-card__meta-item i{
    color:#74847a!important;
    font-size:10px!important;
}
body.home .tod-home-operator-card--option3 .tod-home-operator-card__meta-item:has(.fa-binoculars){
    display:none!important;
}
body.home .tod-home-operator-card--option3 .tod-home-operator-card__meta-rating i{
    color:#efa21c!important;
}
body.home .tod-home-operator-card--option3 .tod-home-operator-card__cta{
    background:#076247!important;
    border:1px solid #076247!important;
    border-radius:6px!important;
    color:#fff!important;
    font-size:11px!important;
    font-weight:800!important;
    gap:7px!important;
    grid-column:1/-1!important;
    grid-row:3!important;
    justify-content:center!important;
    margin:0!important;
    min-height:38px!important;
    padding:0 12px!important;
    width:100%!important;
}
body.home .tod-home-operator-card--option3 .tod-home-operator-card__cta:hover{
    background:#064d39!important;
    border-color:#064d39!important;
    color:#fff!important;
}

@media(max-width:1100px){
    body.home .tmc-home-tours__grid,
    body.home .tmc-home-tours__grid[class*="tmc-home-tours__grid--count-"]{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    body.home .tod-featured-operator-grid--homepage,
    body.home .tod-featured-operator-grid--homepage:has(> :only-child),
    body.home .tod-featured-operator-grid--homepage:has(> :nth-child(2):last-child),
    body.home .tod-featured-operator-grid--homepage:has(> :nth-child(3):last-child){
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        max-width:none!important;
    }
}

@media(max-width:767px){
    body.home .tmc-home-tours__grid,
    body.home .tmc-home-tours__grid[class*="tmc-home-tours__grid--count-"]{
        display:flex!important;
        gap:14px!important;
        grid-template-columns:none!important;
        max-width:none!important;
        overflow-x:auto!important;
        overscroll-behavior-inline:contain!important;
        padding-bottom:4px!important;
        scroll-snap-type:x mandatory!important;
        scrollbar-width:none!important;
        width:100%!important;
        -webkit-overflow-scrolling:touch!important;
    }
    body.home .tmc-home-tours__grid::-webkit-scrollbar{display:none!important}
    body.home .tmc-home-tours__item{
        flex:0 0 min(86vw,330px)!important;
        scroll-snap-align:start!important;
        width:min(86vw,330px)!important;
    }
    body.home .tmc-tour-card--homepage .tmc-tour-card__media,
    body.home .tmc-tour-card--homepage.tmc-tour-card--destination .tmc-tour-card__media{
        height:172px!important;
        min-height:172px!important;
    }

    body.home .tod-featured-operators--homepage,
    body.home .tod-featured-operators--homepage:has(.tod-featured-operator-grid--homepage > :only-child){
        display:block!important;
        padding:50px 18px 54px!important;
    }
    body.home .tod-featured-operators--homepage .tod-home-featured-heading{
        margin:0 0 18px!important;
    }
    body.home .tod-featured-operators--homepage .tod-home-featured-heading h2{
        font-size:30px!important;
    }
    body.home .tod-featured-operators--homepage .tod-home-featured-footer{
        margin:18px 0 0!important;
        text-align:left!important;
    }
    body.home .tod-featured-operator-grid--homepage,
    body.home .tod-featured-operator-grid--homepage:has(> :only-child),
    body.home .tod-featured-operator-grid--homepage:has(> :nth-child(2):last-child),
    body.home .tod-featured-operator-grid--homepage:has(> :nth-child(3):last-child){
        display:flex!important;
        gap:14px!important;
        max-width:none!important;
        overflow-x:auto!important;
        overscroll-behavior-inline:contain!important;
        scroll-snap-type:x mandatory!important;
        scrollbar-width:none!important;
        width:100%!important;
        -webkit-overflow-scrolling:touch!important;
    }
    body.home .tod-featured-operator-grid--homepage::-webkit-scrollbar{display:none!important}
    body.home .tod-featured-operator-grid--homepage > *{
        flex:0 0 min(86vw,318px)!important;
        scroll-snap-align:start!important;
        width:min(86vw,318px)!important;
    }
    body.home .tod-featured-operator-grid--homepage:has(> :only-child)>*{
        flex-basis:100%!important;
        width:100%!important;
    }
    body.home .tod-home-operator-card--option3 .tod-home-operator-card__cover{
        height:150px!important;
    }
}
