/* ========================================================================== */
/* Safari Connect Hub — Homepage v1.10.393                                */
/* Restore original 3-column Tour-card scale + 4-column operator placement.   */
/* ========================================================================== */

/* -------------------------------------------------------------------------- */
/* Handpicked Safari Tours — original full-size canonical cards, 3 per row.   */
/* v1.10.392 compacted the cards for four-across; this deliberately restores   */
/* the established card dimensions while retaining up to 8 eligible Tours.    */
/* -------------------------------------------------------------------------- */
body.home .tmc-home-tours__grid,
body.home .tmc-home-tours__grid[class*="tmc-home-tours__grid--count-"]{
    display:grid!important;
    gap:30px 26px!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    max-width:none!important;
    overflow:visible!important;
    padding-bottom:0!important;
    width:100%!important;
}
body.home .tmc-home-tours__grid--count-1{
    grid-template-columns:minmax(0,390px)!important;
    max-width:390px!important;
}
body.home .tmc-home-tours__grid--count-2{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    max-width:800px!important;
}
body.home .tmc-home-tours__item{
    display:flex!important;
    min-width:0!important;
    width:100%!important;
}
body.home .tmc-home-tours__item>.tmc-tour-card--homepage{
    border-radius:18px!important;
    box-shadow:0 10px 28px rgba(18,47,35,.08)!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:238px!important;
    min-height:238px!important;
}
body.home .tmc-tour-card--homepage .tmc-featured-badge{
    font-size:11px!important;
    gap:5px!important;
    left:14px!important;
    padding:8px 11px!important;
    top:14px!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{
    gap:11px!important;
    padding:20px 22px 18px!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:18px!important;
    line-height:1.2!important;
    margin:0!important;
    min-height:44px!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:12.5px!important;
    line-height:1.3!important;
    margin:0!important;
    min-height:20px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__location span{
    display:-webkit-box!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    white-space:normal!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__rating-row{
    font-size:13px!important;
    gap:5px!important;
    margin:-1px 0 1px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__classification{
    gap:5px!important;
    margin-top:0!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__classification-item{
    font-size:10.5px!important;
    gap:4px!important;
    max-width:none!important;
    min-height:23px!important;
    padding:0 8px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__classification-item--format{max-width:60%!important}
body.home .tmc-tour-card--homepage .tmc-tour-card__classification-item--comfort{max-width:38%!important}
body.home .tmc-tour-card--homepage .tmc-tour-card__classification-item:only-child{max-width:100%!important}
body.home .tmc-tour-card--homepage .tmc-tour-card__classification-item b{display:inline!important}
body.home .tmc-tour-card--homepage .tmc-tour-card__meta,
body.home .tmc-tour-card--homepage .tmc-tour-card__meta--summary{
    gap:8px 0!important;
    margin:2px 0 0!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__meta-item{
    font-size:11px!important;
    gap:6px!important;
    min-height:0!important;
    padding:0 12px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__meta-item:first-child{padding-left:0!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:11px!important;
    min-height:0!important;
    padding:14px 20px 13px!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:42px!important;
    width:42px!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:12.5px!important;
    line-height:1.2!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__operator-copy small{
    font-size:10px!important;
    line-height:1.2!important;
    margin-top:3px!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:14px!important;
    min-height:0!important;
    padding:14px 20px 17px!important;
}
body.home .tmc-tour-card--homepage .tmc-tour-card__price-label{font-size:9.5px!important}
body.home .tmc-tour-card--homepage .tmc-tour-card__price-value{font-size:18px!important;line-height:1.05!important}
body.home .tmc-tour-card--homepage .tmc-tour-card__price small{font-size:9.5px!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:11px!important;
    font-size:11.5px!important;
    min-height:46px!important;
    min-width:138px!important;
    padding:0 18px!important;
}

/* -------------------------------------------------------------------------- */
/* Featured Operators — title first, cards immediately below, 4 columns.      */
/* -------------------------------------------------------------------------- */
body.home .tod-featured-operators--homepage,
body.home .tod-featured-operators--homepage:has(.tod-featured-operator-grid--homepage > :only-child){
    display:block!important;
    margin:0 auto!important;
    max-width:1240px!important;
    padding:64px 32px 70px!important;
}
body.home .tod-featured-operators--homepage .tod-home-featured-heading{
    display:block!important;
    margin:0 0 24px!important;
    max-width:760px!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:grid!important;
    gap:18px!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    justify-content:start!important;
    margin:0!important;
    max-width:none!important;
    overflow:visible!important;
    width:100%!important;
}
body.home .tod-featured-operator-grid--homepage > *{
    max-width:none!important;
    min-width:0!important;
    width:100%!important;
}
body.home .tod-featured-operators--homepage .tod-home-featured-footer{
    display:block!important;
    margin:20px 0 0!important;
    text-align:left!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;
        max-width:none!important;
    }
    body.home .tmc-home-tours__grid--count-1{grid-template-columns:minmax(0,390px)!important;max-width:390px!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;
    }
}

@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(88vw,390px)!important;
        scroll-snap-align:start!important;
        width:min(88vw,390px)!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:218px!important;
        min-height:218px!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:18px 18px 16px!important}
    body.home .tmc-tour-card--homepage .tmc-tour-card__operator{padding:13px 18px 12px!important}
    body.home .tmc-tour-card--homepage .tmc-tour-card__footer-actions{padding:13px 18px 16px!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-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;
        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:min(86vw,318px)!important;
        width:min(86vw,318px)!important;
    }
}
