/* Bus World homepage Airport Transfer Spotlight section. */
.bw-airport-spotlight{
    position:relative;
    padding:var(--bw-as-desktop-top,48px) 0 var(--bw-as-desktop-bottom,48px);
    overflow:hidden;
    background:#fffaf6;
    color:#111;
    font-family:var(--font-interface);
}

.bw-airport-spotlight .bw-shell{position:relative;z-index:1}

.bw-airport-spotlight__hero{
    display:grid;
    grid-template-columns:minmax(340px,42%) minmax(0,58%);
    min-height:var(--bw-as-desktop-hero,380px);
    overflow:hidden;
    background:#fff;
}

.bw-airport-spotlight__copy{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(28px,3vw,48px) clamp(28px,3.2vw,54px);
    background:
        linear-gradient(90deg,#fffaf6 0%,#fffaf6 78%,rgba(255,250,246,.82) 91%,rgba(255,250,246,0) 100%);
}

.bw-airport-spotlight__eyebrow{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 14px;
    color:#F30101;
    font-size:clamp(10px,.74vw,13px);
    font-weight:700;
    line-height:1.3;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.bw-airport-spotlight__eyebrow-icon,
.bw-airport-spotlight__group-icon{
    display:grid;
    place-items:center;
    flex:0 0 auto;
    color:#F30101;
}

.bw-airport-spotlight__eyebrow-icon{width:34px;height:34px}
.bw-airport-spotlight__eyebrow-icon svg{width:32px;height:32px}

.bw-airport-spotlight__eyebrow-icon svg,
.bw-airport-spotlight__group-icon svg{
    fill:none;
    stroke:currentColor;
    stroke-width:1.6;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.bw-airport-spotlight__title{
    margin:0;
    color:#11151c;
    font-family:var(--font-display);
    font-size:clamp(40px,3.35vw,62px);
    font-style:normal;
    font-weight:600;
    line-height:.98;
    letter-spacing:-.032em;
}

.bw-airport-spotlight__title span{display:block}

.bw-airport-spotlight__paragraph{
    max-width:520px;
    margin:20px 0 0;
    color:rgba(0,0,0,.68);
    font-size:clamp(13px,.93vw,16px);
    line-height:1.62;
}

.bw-airport-spotlight__cta{
    width:max-content;
    min-width:230px;
    min-height:54px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    margin-top:28px;
    padding:12px 24px;
    background:#F30101;
    color:#fff;
    font-size:clamp(11px,.78vw,13px);
    font-weight:700;
    letter-spacing:.035em;
    text-decoration:none;
    text-transform:uppercase;
    transition:filter 180ms ease;
}

.bw-airport-spotlight__cta:hover{filter:brightness(.88)}

.bw-airport-spotlight__cta svg,
.bw-airport-spotlight__view-all svg,
.bw-airport-spotlight__arrow{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform 180ms ease;
}

.bw-airport-spotlight__cta:hover svg,
.bw-airport-spotlight__view-all:hover svg,
.bw-airport-spotlight__link:hover .bw-airport-spotlight__arrow{transform:translateX(4px)}

.bw-airport-spotlight__media{
    position:relative;
    min-width:0;
    display:block;
    overflow:hidden;
    color:inherit;
    text-decoration:none;
}

.bw-airport-spotlight__media::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    z-index:1;
    width:15%;
    pointer-events:none;
    background:linear-gradient(90deg,#fffaf6,rgba(255,250,246,0));
}

.bw-airport-spotlight__picture,
.bw-airport-spotlight__picture img{
    width:100%;
    height:100%;
    display:block;
}

.bw-airport-spotlight__picture img{
    object-fit:cover;
    object-position:var(--bw-as-position-desktop,center right);
    transform:scale(1.001);
}

.bw-airport-spotlight__routes{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:22px;
    border-top:1px solid rgba(0,0,0,.10);
    border-bottom:1px solid rgba(0,0,0,.10);
    background:rgba(255,255,255,.58);
}

.bw-airport-spotlight__group{
    min-width:0;
    padding:22px clamp(18px,2vw,30px) 20px;
}

.bw-airport-spotlight--dividers .bw-airport-spotlight__group + .bw-airport-spotlight__group{
    border-left:1px solid rgba(0,0,0,.12);
}

.bw-airport-spotlight__group-title{margin:0}

.bw-airport-spotlight__group-toggle{
    width:100%;
    min-height:48px;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:0 0 11px;
    border:0;
    border-bottom:2px solid transparent;
    background:transparent;
    color:#11151c;
    font:inherit;
    text-align:left;
}

.bw-airport-spotlight__group-icon{width:42px;height:42px}
.bw-airport-spotlight__group-icon svg{width:39px;height:39px}

.bw-airport-spotlight__group-heading{
    min-width:0;
    font-family:var(--font-display);
    font-size:clamp(20px,1.45vw,27px);
    font-weight:600;
    line-height:1.08;
}

.bw-airport-spotlight__group-heading::after{
    content:"";
    width:38px;
    height:2px;
    display:block;
    margin-top:9px;
    background:#F30101;
}

.bw-airport-spotlight__chevron{display:none}

.bw-airport-spotlight__list{
    margin:2px 0 0;
    padding:0;
    list-style:none;
}

.bw-airport-spotlight__link{
    min-height:38px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    padding:7px 2px;
    border-bottom:1px solid rgba(0,0,0,.10);
    color:rgba(0,0,0,.78);
    font-size:clamp(12px,.82vw,14px);
    line-height:1.35;
    text-decoration:none;
    transition:color 180ms ease;
}

.bw-airport-spotlight__link:hover{color:#F30101}
.bw-airport-spotlight__arrow{width:16px;height:16px;color:#F30101}

.bw-airport-spotlight__cta:focus-visible,
.bw-airport-spotlight__link:focus-visible,
.bw-airport-spotlight__group-toggle:focus-visible,
.bw-airport-spotlight__view-all:focus-visible{
    outline:3px solid #F30101;
    outline-offset:3px;
}

.bw-airport-spotlight__view-all{
    width:max-content;
    display:flex;
    align-items:center;
    gap:10px;
    margin:20px auto 0;
    padding:8px 0;
    color:#F30101;
    font-weight:700;
    text-decoration:none;
}

@media (max-width:1199px){
    .bw-airport-spotlight__hero{
        grid-template-columns:minmax(310px,43%) minmax(0,57%);
        min-height:var(--bw-as-tablet-hero,340px);
    }
    .bw-airport-spotlight__copy{padding:28px clamp(24px,3vw,40px)}
    .bw-airport-spotlight__title{font-size:clamp(38px,4.2vw,52px)}
    .bw-airport-spotlight__group{padding-inline:18px}
    .bw-airport-spotlight__group-heading{font-size:clamp(19px,1.8vw,23px)}
}

@media (max-width:899px){
    .bw-airport-spotlight{
        padding:var(--bw-as-tablet-top,48px) 0 var(--bw-as-tablet-bottom,48px);
    }

    .bw-airport-spotlight__hero{
        grid-template-columns:1fr;
        min-height:0;
    }

    .bw-airport-spotlight__copy{
        padding:34px clamp(24px,5vw,42px) 30px;
        background:#fffaf6;
    }

    .bw-airport-spotlight__paragraph{max-width:680px}
    .bw-airport-spotlight__media{height:var(--bw-as-tablet-hero,340px)}
    .bw-airport-spotlight__media::before{display:none}
    .bw-airport-spotlight__picture img{object-position:var(--bw-as-position-tablet,center center)}

    .bw-airport-spotlight__routes{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .bw-airport-spotlight--dividers .bw-airport-spotlight__group + .bw-airport-spotlight__group{border-left:0}
    .bw-airport-spotlight--dividers .bw-airport-spotlight__group:nth-child(even){border-left:1px solid rgba(0,0,0,.12)}
    .bw-airport-spotlight--dividers .bw-airport-spotlight__group:nth-child(n+3){border-top:1px solid rgba(0,0,0,.12)}
}

@media (max-width:767px){
    .bw-airport-spotlight{
        padding:var(--bw-as-mobile-top,44px) 0 var(--bw-as-mobile-bottom,44px);
    }

    .bw-airport-spotlight__copy{padding:28px 0 26px}
    .bw-airport-spotlight__title{font-size:clamp(36px,11vw,46px)}
    .bw-airport-spotlight__paragraph{font-size:16px;line-height:1.58}
    .bw-airport-spotlight__cta{width:100%;min-height:50px;margin-top:24px}

    .bw-airport-spotlight__media{
        height:auto;
        aspect-ratio:16 / 10;
    }

    .bw-airport-spotlight__picture img{object-position:var(--bw-as-position-mobile,62% center)}

    .bw-airport-spotlight__routes{
        grid-template-columns:1fr;
        margin-top:18px;
        border-bottom:0;
    }

    .bw-airport-spotlight__group{
        padding:0;
        border-bottom:1px solid rgba(0,0,0,.12);
    }

    .bw-airport-spotlight--dividers .bw-airport-spotlight__group:nth-child(even),
    .bw-airport-spotlight--dividers .bw-airport-spotlight__group:nth-child(n+3){border-left:0;border-top:0}

    .bw-airport-spotlight__group-toggle{
        min-height:68px;
        grid-template-columns:40px minmax(0,1fr) 22px;
        gap:10px;
        padding:10px 4px;
        cursor:pointer;
    }

    .bw-airport-spotlight__group-icon{width:38px;height:38px}
    .bw-airport-spotlight__group-icon svg{width:34px;height:34px}
    .bw-airport-spotlight__group-heading{font-size:22px}
    .bw-airport-spotlight__group-heading::after{display:none}

    .bw-airport-spotlight__chevron{
        width:10px;
        height:10px;
        display:block;
        border-right:2px solid #F30101;
        border-bottom:2px solid #F30101;
        transform:rotate(45deg);
        transition:transform 180ms ease;
    }

    .bw-airport-spotlight__group-toggle[aria-expanded="true"] .bw-airport-spotlight__chevron{
        transform:rotate(225deg) translate(-2px,-2px);
    }

    .bw-airport-spotlight__group-body{padding:0 4px 10px}
    .bw-airport-spotlight__group-body[hidden]{display:none}
    .bw-airport-spotlight__link{min-height:44px;font-size:14px}
}

@media (min-width:768px){
    .bw-airport-spotlight__group-toggle{pointer-events:none}
    .bw-airport-spotlight__group-body[hidden]{display:block!important}
}

@media (prefers-reduced-motion:reduce){
    .bw-airport-spotlight__cta,
    .bw-airport-spotlight__cta svg,
    .bw-airport-spotlight__view-all svg,
    .bw-airport-spotlight__arrow,
    .bw-airport-spotlight__chevron{
        transition:none!important;
    }
}
