/* Bus World homepage How Booking Works section. */
.bw-booking-works{
    position:relative;
    overflow:hidden;
    box-sizing:border-box;
    padding:var(--bw-booking-desktop-top,48px) 0 var(--bw-booking-desktop-bottom,44px);
    background:
        radial-gradient(circle at 50% 6%,rgba(243,1,1,.025),transparent 28%),
        linear-gradient(180deg,#fff 0%,#fdfdfd 100%);
    color:#111;
    font-family:var(--font-interface);
}

.bw-booking-works *,
.bw-booking-works *::before,
.bw-booking-works *::after{box-sizing:border-box}

.bw-booking-works__shell{position:relative}

.bw-booking-works__header{
    width:min(100%,1040px);
    margin-inline:auto;
    text-align:center;
}

.bw-booking-works__eyebrow-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
}

.bw-booking-works__eyebrow-row > span{
    width:46px;
    height:1px;
    background:#F30101;
}

.bw-booking-works__eyebrow{
    margin:0;
    color:#F30101;
    font-size:clamp(11px,.78vw,14px);
    font-weight:700;
    line-height:1.3;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.bw-booking-works__title{
    margin:clamp(10px,.9vw,15px) 0 0;
    color:#111;
    font-family:var(--font-display);
    font-size:clamp(43px,4vw,72px);
    font-style:normal;
    font-weight:600;
    line-height:1;
    letter-spacing:-.035em;
    text-wrap:balance;
}

.bw-booking-works__paragraph{
    margin:12px 0 0;
    color:rgba(0,0,0,.68);
    font-size:clamp(15px,1.04vw,18px);
    line-height:1.5;
}

.bw-booking-works__header-mark{
    position:relative;
    display:block;
    width:118px;
    height:1px;
    margin:16px auto 0;
    background:rgba(243,1,1,.48);
}

.bw-booking-works__header-mark::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:8px;
    height:8px;
    border:1px solid #F30101;
    background:#fff;
    transform:translate(-50%,-50%) rotate(45deg);
}

.bw-booking-works--routes::before,
.bw-booking-works--routes::after{
    content:"";
    position:absolute;
    top:42px;
    width:160px;
    height:110px;
    opacity:.16;
    pointer-events:none;
    background:
        radial-gradient(circle at 8px 8px,#F30101 0 4px,transparent 5px),
        radial-gradient(circle at calc(100% - 8px) calc(100% - 8px),#F30101 0 4px,transparent 5px),
        repeating-linear-gradient(125deg,transparent 0 9px,rgba(243,1,1,.7) 9px 11px,transparent 11px 18px);
    clip-path:polygon(0 0,14% 0,14% 52%,52% 52%,52% 100%,100% 100%,100% 86%,66% 86%,66% 38%,28% 38%,28% 0);
}

.bw-booking-works--routes::before{left:16px}
.bw-booking-works--routes::after{right:16px;transform:scaleX(-1)}

.bw-booking-works__ticket{
    position:relative;
    display:grid;
    grid-template-columns:1fr;
    min-height:clamp(350px,calc(var(--bw-booking-desktop-max-height,820px) - 440px),380px);
    margin-top:clamp(22px,2vw,30px);
    border:1px solid rgba(243,1,1,.28);
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 35px rgba(0,0,0,.065);
    isolation:isolate;
}

.bw-booking-works__ticket::before,
.bw-booking-works__ticket::after{
    content:"";
    position:absolute;
    z-index:4;
    top:50%;
    width:30px;
    height:60px;
    border:1px solid rgba(243,1,1,.28);
    background:#fdfdfd;
    transform:translateY(-50%);
}

.bw-booking-works__ticket::before{
    left:-1px;
    border-left:0;
    border-radius:0 30px 30px 0;
}

.bw-booking-works__ticket::after{
    right:-1px;
    border-right:0;
    border-radius:30px 0 0 30px;
}

.bw-booking-works--ticket-side-desktop .bw-booking-works__ticket{
    grid-template-columns:clamp(170px,14vw,210px) minmax(0,1fr);
}

.bw-booking-works__ticket-side{
    position:relative;
    z-index:1;
    min-width:0;
    display:none;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:16px;
    overflow:hidden;
    padding:24px 18px;
    border-radius:19px 0 0 19px;
    background:#F30101;
    color:#fff;
}

.bw-booking-works--ticket-side-desktop .bw-booking-works__ticket-side{display:flex}

.bw-booking-works__ticket-side::after{
    content:"";
    position:absolute;
    top:0;
    right:-1px;
    bottom:0;
    border-right:2px dashed rgba(255,255,255,.52);
}

.bw-booking-works__ticket-icon{
    width:82px;
    height:62px;
    display:grid;
    place-items:center;
}

.bw-booking-works__ticket-icon svg,
.bw-booking-works__ticket-icon img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.bw-booking-works__ticket-rule{
    width:118px;
    height:1px;
    background:rgba(255,255,255,.76);
}

.bw-booking-works__ticket-rule--short{width:82px}

.bw-booking-works__ticket-label{
    display:flex;
    flex-direction:column;
    align-items:center;
    color:#fff;
    font-family:var(--font-display);
    font-size:clamp(27px,2vw,36px);
    font-weight:600;
    line-height:1.03;
    letter-spacing:.04em;
    text-align:center;
    text-transform:uppercase;
}

.bw-booking-works__ticket-cityline{
    width:145px;
    margin-top:2px;
    opacity:.72;
}

.bw-booking-works__ticket-cityline svg{
    width:100%;
    height:auto;
    fill:none;
    stroke:currentColor;
    stroke-width:1.25;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.bw-booking-works__steps{
    position:relative;
    z-index:2;
    min-width:0;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    margin:0;
    padding:26px 24px 24px;
    list-style:none;
}

.bw-booking-works__steps::before{
    content:"";
    position:absolute;
    z-index:-1;
    left:7%;
    right:7%;
    top:160px;
    height:1px;
    background:#F30101;
    opacity:.5;
}

.bw-booking-works__steps::after{
    content:"";
    position:absolute;
    z-index:-1;
    left:calc(7% - 4px);
    right:calc(7% - 4px);
    top:157px;
    height:7px;
    background:
        radial-gradient(circle at 4px 3.5px,#F30101 0 3px,transparent 3.5px),
        radial-gradient(circle at calc(100% - 4px) 3.5px,#F30101 0 3px,transparent 3.5px);
}

.bw-booking-works__step{
    position:relative;
    min-width:0;
    display:grid;
    grid-template-rows:112px 48px auto;
    align-items:start;
    justify-items:center;
    padding:0 clamp(12px,1.3vw,22px);
    text-align:center;
}

.bw-booking-works__step + .bw-booking-works__step{border-left:1px dashed rgba(0,0,0,.1)}

.bw-booking-works__step-icon{
    width:78px;
    height:78px;
    display:grid;
    place-items:center;
    color:#F30101;
}

.bw-booking-works__step-icon svg,
.bw-booking-works__step-icon img,
.bw-booking-works__recurring-icon svg,
.bw-booking-works__recurring-icon img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.bw-booking-works__step-number{
    position:relative;
    z-index:2;
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border:1px solid #F30101;
    border-radius:50%;
    background:#fff;
    color:#111;
    font-family:var(--font-display);
    font-size:23px;
    font-weight:600;
    line-height:1;
}

.bw-booking-works__step-copy{min-width:0;padding-top:14px}

.bw-booking-works__step-title{
    margin:0;
    color:#141414;
    font-family:var(--font-display);
    font-size:clamp(19px,1.35vw,24px);
    font-weight:600;
    line-height:1.08;
    text-wrap:balance;
}

.bw-booking-works__step-description{
    margin:12px 0 0;
    color:rgba(0,0,0,.66);
    font-size:clamp(13px,.86vw,15px);
    line-height:1.52;
    text-wrap:pretty;
}

.bw-booking-works__actions{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr);
    gap:clamp(20px,2vw,30px);
    margin-top:clamp(20px,1.8vw,28px);
}

.bw-booking-works__recurring,
.bw-booking-works__cta{
    min-width:0;
    min-height:78px;
    display:flex;
    align-items:center;
    color:inherit;
    text-decoration:none;
    border-radius:12px;
}

.bw-booking-works__recurring{
    gap:18px;
    padding:12px 22px;
    border:1px solid rgba(243,1,1,.28);
    background:#fff;
    transition:border-color 180ms ease,transform 180ms ease;
}

.bw-booking-works__recurring:hover{border-color:#F30101;transform:translateY(-2px)}

.bw-booking-works__recurring-icon{
    width:58px;
    height:58px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    padding:9px;
    border:1px solid rgba(243,1,1,.42);
    border-radius:50%;
    color:#F30101;
}

.bw-booking-works__recurring-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:4px;
}

.bw-booking-works__recurring-copy strong{
    color:#111;
    font-family:var(--font-display);
    font-size:clamp(20px,1.35vw,25px);
    font-weight:600;
    line-height:1.1;
}

.bw-booking-works__recurring-copy span{
    color:rgba(0,0,0,.65);
    font-size:clamp(13px,.88vw,15px);
    line-height:1.45;
}

.bw-booking-works__arrow{
    width:20px;
    height:20px;
    flex:0 0 auto;
    margin-left:auto;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform 180ms ease;
}

.bw-booking-works__recurring:hover .bw-booking-works__arrow,
.bw-booking-works__cta:hover .bw-booking-works__arrow{transform:translateX(4px)}

.bw-booking-works__cta{
    justify-content:center;
    gap:14px;
    padding:14px 26px;
    background:#F30101;
    color:#fff;
    font-size:clamp(12px,.9vw,15px);
    font-weight:700;
    letter-spacing:.08em;
    text-align:center;
    text-transform:uppercase;
    box-shadow:0 10px 24px rgba(243,1,1,.16);
    transition:transform 180ms ease,box-shadow 180ms ease;
}

.bw-booking-works__cta:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(243,1,1,.2)}

.bw-booking-works__recurring:focus-visible,
.bw-booking-works__cta:focus-visible{
    outline:3px solid #F30101;
    outline-offset:5px;
}

.bw-booking-works__cta:focus-visible{outline-color:#111}

.bw-booking-works__skyline{
    width:100%;
    height:120px;
    display:block;
    margin:16px auto -18px;
    object-fit:cover;
    object-position:center bottom;
    opacity:1;
    pointer-events:none;
    user-select:none;
}

@media (max-width:1199px){
    .bw-booking-works--routes::before,
    .bw-booking-works--routes::after{width:110px;height:82px;opacity:.11}
    .bw-booking-works--ticket-side-desktop .bw-booking-works__ticket{grid-template-columns:145px minmax(0,1fr)}
    .bw-booking-works__ticket-side{padding-inline:12px}
    .bw-booking-works__ticket-label{font-size:26px}
    .bw-booking-works__ticket-cityline{width:112px}
    .bw-booking-works__steps{padding-inline:14px}
    .bw-booking-works__step{padding-inline:10px}
    .bw-booking-works__step-icon{width:64px;height:64px}
    .bw-booking-works__steps::before{top:147px}
    .bw-booking-works__steps::after{top:144px}
    .bw-booking-works__step-title{font-size:clamp(17px,1.55vw,21px)}
    .bw-booking-works__step-description{font-size:13px}
}

@media (max-width:1023px){
    .bw-booking-works{
        padding:var(--bw-booking-tablet-top,48px) 0 var(--bw-booking-tablet-bottom,48px);
    }
    .bw-booking-works--routes::before,
    .bw-booking-works--routes::after{display:none}
    .bw-booking-works__ticket,
    .bw-booking-works--ticket-side-desktop .bw-booking-works__ticket{
        display:block;
        min-height:0;
        border-radius:16px;
    }
    .bw-booking-works__ticket-side{display:none!important}
    .bw-booking-works--ticket-side-tablet .bw-booking-works__ticket-side{
        display:flex!important;
        min-height:86px;
        flex-direction:row;
        border-radius:15px 15px 0 0;
    }
    .bw-booking-works--ticket-side-tablet .bw-booking-works__ticket-label{
        flex-direction:row;
        gap:8px;
        font-family:var(--font-interface);
        font-size:13px;
        letter-spacing:.12em;
    }
    .bw-booking-works--ticket-side-tablet .bw-booking-works__ticket-icon{width:54px;height:42px}
    .bw-booking-works--ticket-side-tablet .bw-booking-works__ticket-rule,
    .bw-booking-works--ticket-side-tablet .bw-booking-works__ticket-cityline{display:none}
    .bw-booking-works__ticket::before,
    .bw-booking-works__ticket::after{display:none}
    .bw-booking-works__steps{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:0;
        padding:12px 20px;
    }
    .bw-booking-works__steps::before,
    .bw-booking-works__steps::after{display:none}
    .bw-booking-works__step{
        grid-template-columns:54px 56px minmax(0,1fr);
        grid-template-rows:auto;
        align-items:center;
        justify-items:start;
        gap:12px;
        min-height:150px;
        padding:20px 16px;
        text-align:left;
        border-bottom:1px solid rgba(0,0,0,.08);
    }
    .bw-booking-works__step + .bw-booking-works__step{border-left:0}
    .bw-booking-works__step:nth-child(odd){border-right:1px solid rgba(0,0,0,.08)}
    .bw-booking-works__step:last-child{
        grid-column:1 / -1;
        width:50%;
        justify-self:center;
        border-right:0;
        border-bottom:0;
    }
    .bw-booking-works__step-icon{width:52px;height:52px;grid-column:2}
    .bw-booking-works__step-number{width:42px;height:42px;font-size:20px;grid-column:1}
    .bw-booking-works__step-copy{grid-column:3;padding:0}
    .bw-booking-works__step-title{font-size:20px}
    .bw-booking-works__step-description{margin-top:7px;font-size:14px}
    .bw-booking-works__actions{grid-template-columns:1fr;gap:14px}
    .bw-booking-works__recurring,
    .bw-booking-works__cta{min-height:72px}
    .bw-booking-works__skyline{width:100%;height:92px;margin-bottom:-20px;object-fit:cover;object-position:center bottom}
}

@media (max-width:767px){
    .bw-booking-works{
        padding:var(--bw-booking-mobile-top,42px) 0 var(--bw-booking-mobile-bottom,42px);
    }
    .bw-booking-works__title{font-size:clamp(35px,10.8vw,46px)}
    .bw-booking-works__paragraph{font-size:16px}
    .bw-booking-works__ticket{margin-top:22px;border-radius:14px;box-shadow:0 8px 26px rgba(0,0,0,.055)}
    .bw-booking-works--ticket-side-mobile .bw-booking-works__ticket-side{
        display:flex!important;
        min-height:78px;
        flex-direction:row;
        border-radius:13px 13px 0 0;
    }
    .bw-booking-works--ticket-side-mobile .bw-booking-works__ticket-label{
        flex-direction:row;
        gap:7px;
        font-family:var(--font-interface);
        font-size:12px;
        letter-spacing:.12em;
    }
    .bw-booking-works--ticket-side-mobile .bw-booking-works__ticket-icon{width:48px;height:38px}
    .bw-booking-works--ticket-side-mobile .bw-booking-works__ticket-rule,
    .bw-booking-works--ticket-side-mobile .bw-booking-works__ticket-cityline{display:none}
    .bw-booking-works__steps{
        grid-template-columns:1fr;
        padding:8px 16px 12px;
    }
    .bw-booking-works__step,
    .bw-booking-works__step:last-child{
        position:relative;
        grid-column:auto;
        width:100%;
        min-height:0;
        grid-template-columns:42px 52px minmax(0,1fr);
        gap:10px;
        padding:18px 0;
        border:0;
        border-bottom:1px solid rgba(0,0,0,.08);
    }
    .bw-booking-works__step:last-child{border-bottom:0}
    .bw-booking-works:not(.bw-booking-works--mobile-stacked) .bw-booking-works__step::after{
        content:"";
        position:absolute;
        left:20px;
        top:60px;
        bottom:-18px;
        width:1px;
        background:#F30101;
        opacity:.84;
    mix-blend-mode:multiply;
    }
    .bw-booking-works__step:last-child::after{display:none}
    .bw-booking-works__step-number{width:40px;height:40px;font-size:19px}
    .bw-booking-works__step-icon{width:48px;height:48px}
    .bw-booking-works__step-title{font-size:20px;line-height:1.1}
    .bw-booking-works__step-description{font-size:15px;line-height:1.55}
    .bw-booking-works__actions{margin-top:16px}
    .bw-booking-works__recurring{
        min-height:0;
        align-items:flex-start;
        gap:13px;
        padding:16px;
    }
    .bw-booking-works__recurring-icon{width:50px;height:50px;padding:8px}
    .bw-booking-works__recurring-copy strong{font-size:21px}
    .bw-booking-works__recurring-copy span{font-size:14px}
    .bw-booking-works__recurring .bw-booking-works__arrow{display:none}
    .bw-booking-works__cta{min-height:56px;padding:12px 18px;font-size:13px}
    .bw-booking-works__skyline{width:100%;height:72px;margin-top:14px;margin-bottom:-20px;object-fit:cover;object-position:center bottom}
}

@media (max-width:390px){
    .bw-booking-works__title{font-size:35px}
    .bw-booking-works__eyebrow-row{gap:10px}
    .bw-booking-works__eyebrow-row > span{width:28px}
    .bw-booking-works__steps{padding-inline:12px}
    .bw-booking-works__step,
    .bw-booking-works__step:last-child{
        grid-template-columns:38px 46px minmax(0,1fr);
        gap:8px;
    }
    .bw-booking-works__step-number{width:36px;height:36px;font-size:17px}
    .bw-booking-works__step-icon{width:43px;height:43px}
    .bw-booking-works__step-title{font-size:18px}
    .bw-booking-works__step-description{font-size:14px}
}

@media (prefers-reduced-motion:reduce){
    .bw-booking-works__recurring,
    .bw-booking-works__cta,
    .bw-booking-works__arrow{transition:none!important}
    .bw-booking-works__recurring:hover,
    .bw-booking-works__cta:hover{transform:none}
}

/* --------------------------------------------------------------------------
   PASS-STRUCTURE REFINEMENT
   The booking pass remains real HTML/CSS. No raster pass image is required.
   -------------------------------------------------------------------------- */
@media (min-width:1024px){
    .bw-booking-works--ticket-side-desktop .bw-booking-works__ticket{
        grid-template-columns:clamp(188px,15.2vw,228px) minmax(0,1fr);
        min-height:390px;
        margin-top:34px;
        border-color:rgba(243,1,1,.24);
        border-radius:18px;
        background:#fff;
        box-shadow:0 16px 38px rgba(0,0,0,.075);
    }

    .bw-booking-works--ticket-side-desktop .bw-booking-works__ticket::before{
        left:auto;
        right:-1px;
        width:34px;
        height:68px;
        border:1px solid rgba(243,1,1,.25);
        border-right:0;
        border-radius:34px 0 0 34px;
        background:#fff;
    }

    .bw-booking-works--ticket-side-desktop .bw-booking-works__ticket::after{
        display:none;
    }

    .bw-booking-works--ticket-side-desktop .bw-booking-works__ticket-side{
        position:relative;
        z-index:5;
        min-height:426px;
        margin:-18px 0 -18px -2px;
        padding:38px 25px 32px;
        gap:15px;
        overflow:visible;
        border:0;
        border-radius:22px;
        background:
            linear-gradient(rgba(0,0,0,.10),rgba(0,0,0,.10)),
            #F30101;
        box-shadow:0 16px 28px rgba(0,0,0,.14);
        isolation:isolate;
    }

    .bw-booking-works--ticket-side-desktop .bw-booking-works__ticket-side::before{
        content:"";
        position:absolute;
        inset:10px;
        z-index:-1;
        border:1px solid rgba(255,255,255,.88);
        border-radius:15px;
        pointer-events:none;
    }

    .bw-booking-works--ticket-side-desktop .bw-booking-works__ticket-side::after{
        content:"";
        position:absolute;
        top:18px;
        right:-1px;
        bottom:18px;
        width:1px;
        border-right:1px dashed rgba(255,255,255,.72);
        pointer-events:none;
    }

    .bw-booking-works__ticket-side-frame{
        position:absolute;
        inset:16px;
        z-index:-1;
        border:1px solid rgba(255,255,255,.28);
        border-radius:11px;
        pointer-events:none;
    }

    .bw-booking-works__ticket-side-notch{
        position:absolute;
        z-index:8;
        display:block;
        border-radius:50%;
        background:#fff;
        pointer-events:none;
    }

    .bw-booking-works__ticket-side-notch--top,
    .bw-booking-works__ticket-side-notch--bottom{
        left:50%;
        width:48px;
        height:48px;
        transform:translateX(-50%);
    }

    .bw-booking-works__ticket-side-notch--top{top:-27px}
    .bw-booking-works__ticket-side-notch--bottom{bottom:-27px}

    .bw-booking-works__ticket-side-notch--left,
    .bw-booking-works__ticket-side-notch--right{
        top:50%;
        width:30px;
        height:30px;
        transform:translateY(-50%);
    }

    .bw-booking-works__ticket-side-notch--left{left:-17px}
    .bw-booking-works__ticket-side-notch--right{right:-17px}

    .bw-booking-works__ticket-icon{
        width:100px;
        height:70px;
        margin-top:3px;
        color:#fff;
    }

    .bw-booking-works__ticket-icon svg,
    .bw-booking-works__ticket-icon img{
        stroke-width:1.45;
    }

    .bw-booking-works__ticket-rule{
        position:relative;
        width:142px;
        height:1px;
        background:rgba(255,255,255,.86);
    }

    .bw-booking-works__ticket-rule i{
        position:absolute;
        left:50%;
        top:50%;
        width:8px;
        height:8px;
        border:1px solid #fff;
        background:#F30101;
        transform:translate(-50%,-50%) rotate(45deg);
    }

    .bw-booking-works__ticket-rule--short{width:116px}

    .bw-booking-works__ticket-label{
        gap:2px;
        margin:2px 0;
        font-size:clamp(30px,2.15vw,38px);
        line-height:1;
        letter-spacing:.055em;
        text-shadow:0 1px 0 rgba(0,0,0,.12);
    }

    .bw-booking-works__ticket-cityline{
        width:164px;
        margin-top:0;
        color:#fff;
        opacity:.9;
    }

    .bw-booking-works__ticket-cityline svg{
        stroke-width:1.05;
    }

    .bw-booking-works__ticket-perforation{
        position:absolute;
        left:20px;
        right:20px;
        bottom:22px;
        height:1px;
        background:repeating-linear-gradient(90deg,rgba(255,255,255,.85) 0 7px,transparent 7px 13px);
        opacity:.75;
    }

    .bw-booking-works--ticket-side-desktop .bw-booking-works__steps{
        min-height:390px;
        padding:31px 27px 25px;
        border-radius:0 18px 18px 0;
        background:
            linear-gradient(90deg,rgba(243,1,1,.018),transparent 20%),
            #fff;
    }

    .bw-booking-works--ticket-side-desktop .bw-booking-works__steps::before{
        top:162px;
        left:6.5%;
        right:6.5%;
        opacity:.58;
    }

    .bw-booking-works--ticket-side-desktop .bw-booking-works__steps::after{
        top:159px;
        left:calc(6.5% - 4px);
        right:calc(6.5% - 4px);
    }

    .bw-booking-works--ticket-side-desktop .bw-booking-works__step{
        grid-template-rows:112px 48px auto;
        padding-inline:clamp(10px,1.15vw,18px);
    }

    .bw-booking-works--ticket-side-desktop .bw-booking-works__step-icon{
        width:76px;
        height:76px;
    }

    .bw-booking-works--ticket-side-desktop .bw-booking-works__step-title{
        font-size:clamp(18px,1.18vw,22px);
    }

    .bw-booking-works--ticket-side-desktop .bw-booking-works__step-description{
        margin-top:10px;
        font-size:clamp(13px,.83vw,15px);
        line-height:1.48;
    }

    .bw-booking-works__actions{
        align-items:stretch;
        margin-top:27px;
    }
}

@media (min-width:1024px) and (max-width:1199px){
    .bw-booking-works--ticket-side-desktop .bw-booking-works__ticket{
        grid-template-columns:164px minmax(0,1fr);
    }

    .bw-booking-works--ticket-side-desktop .bw-booking-works__ticket-side{
        min-height:398px;
        padding-inline:17px;
    }

    .bw-booking-works__ticket-icon{width:76px;height:56px}
    .bw-booking-works__ticket-rule{width:112px}
    .bw-booking-works__ticket-rule--short{width:86px}
    .bw-booking-works__ticket-label{font-size:27px}
    .bw-booking-works__ticket-cityline{width:126px}

    .bw-booking-works--ticket-side-desktop .bw-booking-works__steps{
        min-height:366px;
        padding-inline:14px;
    }

    .bw-booking-works--ticket-side-desktop .bw-booking-works__step-icon{
        width:60px;
        height:60px;
    }

    .bw-booking-works--ticket-side-desktop .bw-booking-works__steps::before{top:149px}
    .bw-booking-works--ticket-side-desktop .bw-booking-works__steps::after{top:146px}
}

@media (max-width:1023px){
    .bw-booking-works__ticket-side-frame,
    .bw-booking-works__ticket-side-notch,
    .bw-booking-works__ticket-perforation{display:none}
}
