/* Bus World homepage one-time vs regular transport section. */
.bw-transport-choice{
    --bw-tc-ratio-desktop:16 / 7;
    --bw-tc-ratio-tablet:16 / 8;
    --bw-tc-ratio-mobile:16 / 9;
    --bw-tc-pad-top:44px;
    --bw-tc-pad-bottom:46px;
    --bw-tc-pad-top-tablet:54px;
    --bw-tc-pad-bottom-tablet:54px;
    --bw-tc-pad-top-mobile:48px;
    --bw-tc-pad-bottom-mobile:48px;
    position:relative;
    padding:var(--bw-tc-pad-top) 0 var(--bw-tc-pad-bottom);
    overflow:hidden;
    background:#fffdfa;
    color:#000;
    font-family:var(--font-interface);
}

.bw-transport-choice__sr-title{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

.bw-transport-choice__header{margin-bottom:18px}

.bw-transport-choice__eyebrow{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin:0;
    color:#F30101;
    font-size:clamp(9px,.62vw,11px);
    font-weight:700;
    line-height:1.3;
    letter-spacing:.2em;
    text-align:center;
    text-transform:uppercase;
}

.bw-transport-choice__eyebrow span{
    width:clamp(34px,3.4vw,58px);
    height:1px;
    flex:0 0 auto;
    background:#F30101;
}

.bw-transport-choice__comparison{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);
    align-items:stretch;
    width:100%;
    max-height:none;
}

.bw-transport-choice--single .bw-transport-choice__comparison{
    grid-template-columns:minmax(0,820px);
    justify-content:center;
}

.bw-transport-choice__panel{
    min-width:0;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding-inline:clamp(10px,1.35vw,22px);
    text-align:center;
}

.bw-transport-choice__panel-header{
    min-height:94px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
}

.bw-transport-choice__title{
    margin:0;
    color:#101010;
    font-family:var(--font-display);
    font-size:clamp(27px,2.05vw,37px);
    font-style:normal;
    font-weight:600;
    line-height:1.03;
    letter-spacing:-.024em;
    text-transform:uppercase;
}

.bw-transport-choice__title span{display:block}

.bw-transport-choice__description{
    max-width:520px;
    margin:10px auto 0;
    color:rgba(0,0,0,.74);
    font-size:clamp(12px,.78vw,14px);
    line-height:1.48;
}

.bw-transport-choice__items{
    width:100%;
    max-width:none;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin:6px 0 0;
    padding:0;
    list-style:none;
}

.bw-transport-choice__item{
    position:relative;
    min-width:0;
    border-top:1px solid rgba(0,0,0,.11);
}

.bw-transport-choice__item:nth-child(-n+3){border-top:0}
.bw-transport-choice__item:not(:nth-child(3n+1)){border-left:1px solid rgba(0,0,0,.11)}

.bw-transport-choice__item-link{
    min-height:78px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:8px 6px;
    color:#000;
    text-decoration:none;
}

.bw-transport-choice__item-link[href]:hover{color:#F30101}

.bw-transport-choice__item-link:focus-visible,
.bw-transport-choice__cta:focus-visible{
    outline:3px solid #F30101;
    outline-offset:4px;
}

.bw-transport-choice__icon{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    color:#F30101;
    transition:transform 180ms ease;
}

.bw-transport-choice__icon svg{
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.bw-transport-choice__item-link[href]:hover .bw-transport-choice__icon{transform:translateY(-2px)}

.bw-transport-choice__item-label{
    max-width:120px;
    font-size:clamp(10px,.7vw,12px);
    font-weight:700;
    line-height:1.22;
    text-align:center;
}

.bw-transport-choice__divider{
    position:relative;
    width:1px;
    height:100%;
    min-height:470px;
    background:rgba(0,0,0,.13);
}

.bw-transport-choice__versus{
    position:absolute;
    top:50%;
    left:50%;
    z-index:3;
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border:5px solid #fffdfa;
    border-radius:50%;
    background:#F30101;
    color:#fff;
    font-family:var(--font-display);
    font-size:19px;
    font-weight:600;
    line-height:1;
    transform:translate(-50%,-50%);
}

.bw-transport-choice--no-divider .bw-transport-choice__comparison{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}
.bw-transport-choice--no-divider .bw-transport-choice__divider{display:none}

.bw-transport-choice__media{
    position:relative;
    width:100%;
    height:clamp(118px,8.6vw,148px);
    margin-top:10px;
    overflow:hidden;
    background:#fffdfa;
}

.bw-transport-choice__picture,
.bw-transport-choice__picture img{
    width:100%;
    height:100%;
    display:block;
}

.bw-transport-choice__picture img{
    object-fit:cover;
    object-position:var(--bw-tc-object-position,center center);
    transition:transform 300ms ease;
}

/* Soft fade into the section background, matching the approved reference. */
.bw-transport-choice__media::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:
        linear-gradient(90deg,#fffdfa 0%,rgba(255,253,250,0) 9%,rgba(255,253,250,0) 91%,#fffdfa 100%),
        linear-gradient(180deg,rgba(255,253,250,0) 66%,#fffdfa 100%);
}

.bw-transport-choice__panel:hover .bw-transport-choice__picture img{transform:scale(1.01)}

.bw-transport-choice__cta{
    width:min(100%,330px);
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-top:8px;
    padding:10px 20px;
    border:1px solid #F30101;
    border-radius:3px;
    background:#F30101;
    color:#fff;
    font-size:clamp(10px,.7vw,12px);
    font-weight:700;
    letter-spacing:.08em;
    line-height:1.2;
    text-align:center;
    text-decoration:none;
    text-transform:uppercase;
    transition:filter 180ms ease,transform 180ms ease;
}

.bw-transport-choice__cta:hover{filter:brightness(.9)}
.bw-transport-choice__cta svg{
    width:17px;
    height:17px;
    flex:0 0 auto;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform 180ms ease;
}
.bw-transport-choice__cta:hover svg{transform:translateX(4px)}

@media (max-width:1199px) and (min-width:1024px){
    .bw-transport-choice{--bw-tc-pad-top:40px;--bw-tc-pad-bottom:42px}
    .bw-transport-choice__panel{padding-inline:10px}
    .bw-transport-choice__title{font-size:clamp(25px,2.55vw,33px)}
    .bw-transport-choice__panel-header{min-height:88px}
    .bw-transport-choice__item-link{min-height:74px}
    .bw-transport-choice__icon{width:28px;height:28px}
    .bw-transport-choice__media{height:118px}
    .bw-transport-choice__divider{min-height:440px}
}

@media (max-width:1023px){
    .bw-transport-choice{
        padding:var(--bw-tc-pad-top-tablet) 0 var(--bw-tc-pad-bottom-tablet);
    }

    .bw-transport-choice__comparison,
    .bw-transport-choice--no-divider .bw-transport-choice__comparison{
        grid-template-columns:1fr;
        max-height:none;
        gap:0;
    }

    .bw-transport-choice__panel{padding-inline:0}
    .bw-transport-choice__panel-header{min-height:0}
    .bw-transport-choice__title{font-size:clamp(31px,4.7vw,42px)}
    .bw-transport-choice__description{max-width:620px;font-size:14px}
    .bw-transport-choice__items{max-width:820px;margin:16px auto 0}
    .bw-transport-choice__item-link{min-height:92px}
    .bw-transport-choice__icon{width:34px;height:34px}
    .bw-transport-choice__item-label{font-size:12px}
    .bw-transport-choice__media{
        width:100%;
        height:auto;
        aspect-ratio:var(--bw-tc-ratio-tablet);
        max-height:230px;
        margin-top:14px;
    }
    .bw-transport-choice__cta{width:min(100%,390px);min-height:48px;margin-top:10px}

    .bw-transport-choice__divider{
        width:100%;
        height:1px;
        min-height:1px;
        margin:54px 0;
    }

    .bw-transport-choice__versus{
        top:50%;
        width:54px;
        height:54px;
        font-size:19px;
    }
}

@media (max-width:767px){
    .bw-transport-choice{
        padding:var(--bw-tc-pad-top-mobile) 0 var(--bw-tc-pad-bottom-mobile);
    }

    .bw-transport-choice__eyebrow{gap:9px;letter-spacing:.14em}
    .bw-transport-choice__eyebrow span{width:26px}
    .bw-transport-choice__header{margin-bottom:24px}
    .bw-transport-choice__title{font-size:clamp(29px,8.6vw,39px)}
    .bw-transport-choice__description{font-size:14px}
    .bw-transport-choice__items{grid-template-columns:repeat(2,minmax(0,1fr))}
    .bw-transport-choice__item:nth-child(-n+3){border-top:1px solid rgba(0,0,0,.11)}
    .bw-transport-choice__item:nth-child(-n+2){border-top:0}
    .bw-transport-choice__item:not(:nth-child(3n+1)){border-left:0}
    .bw-transport-choice__item:nth-child(even){border-left:1px solid rgba(0,0,0,.11)}
    .bw-transport-choice__item-link{min-height:88px}
    .bw-transport-choice__icon{width:30px;height:30px}
    .bw-transport-choice__item-label{font-size:12px}
    .bw-transport-choice__media{
        width:100%;
        aspect-ratio:var(--bw-tc-ratio-mobile);
        max-height:none;
        margin-top:12px;
    }
    .bw-transport-choice__media::after{
        background:linear-gradient(180deg,rgba(255,253,250,0) 78%,#fffdfa 100%);
    }
    .bw-transport-choice__cta{width:100%;min-height:48px}
    .bw-transport-choice__divider{margin:50px 0}
}

@media (max-width:390px){
    .bw-transport-choice__item-link{min-height:84px;padding-inline:4px}
    .bw-transport-choice__icon{width:28px;height:28px}
    .bw-transport-choice__item-label{font-size:11px}
}

@media (prefers-reduced-motion:reduce){
    .bw-transport-choice__icon,
    .bw-transport-choice__picture img,
    .bw-transport-choice__cta,
    .bw-transport-choice__cta svg{
        transition:none!important;
    }
    .bw-transport-choice__panel:hover .bw-transport-choice__picture img,
    .bw-transport-choice__item-link[href]:hover .bw-transport-choice__icon{
        transform:none;
    }
}
