 .sc-rail-booking,
        .sc-rail-booking * {
            box-sizing: border-box;
        }

        .sc-rail-booking {
            --rail-navy: #0c2231;
            --rail-navy-soft: #15394c;
            --rail-teal: #4da0b0;
            --rail-teal-dark: #287487;
            --rail-gold: #d9ac64;
            --rail-coral: #e75d57;
            --rail-text: #162a38;
            --rail-muted: #788791;
            --rail-border: #dde5e9;

            position: relative;
            min-height: 690px;
            padding: 62px 22px 96px;
            overflow: hidden;
            isolation: isolate;
            font-family: inherit;

        }

        .sc-rail-booking::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -3;
            opacity: .18;
            pointer-events: none;
            background-image:
                linear-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
            background-size: 52px 52px;
            mask-image: linear-gradient(to right, #000, transparent 85%);
        }

        .sc-rail-booking::after {
            content: "";
            position: absolute;
            z-index: -2;
            width: 520px;
            height: 520px;
            top: -330px;
            left: -160px;
            border: 1px solid rgba(255, 255, 255, .08);
            border-radius: 50%;
            box-shadow:
                0 0 0 65px rgba(255, 255, 255, .018),
                0 0 0 130px rgba(255, 255, 255, .012);
        }

        .sc-rail-container {
            position: relative;
            z-index: 5;
            width: min(1210px, 100%);
            margin: 0 auto;
        }

        .sc-rail-orb {
            position: absolute;
            z-index: -1;
            border-radius: 50%;
            pointer-events: none;
            filter: blur(1px);
        }

        .sc-rail-orb-one {
            width: 190px;
            height: 190px;
            top: 75px;
            left: 48%;
            border: 1px solid rgba(255, 255, 255, .06);
        }

        .sc-rail-orb-two {
            width: 11px;
            height: 11px;
            top: 100px;
            left: 8%;
            background: var(--rail-coral);
            box-shadow:
                45px 56px 0 rgba(255, 255, 255, .16),
                118px -22px 0 rgba(217, 172, 100, .55);
        }

        .sc-rail-banner-art {
            position: absolute;
            z-index: 0;
            width: min(650px, 49vw);
            height: 370px;
            top: 2px;
            right: 1.5%;
            opacity: .72;
            pointer-events: none;
            animation: scRailArtFloat 7s ease-in-out infinite;
        }

        .sc-rail-banner-art svg {
            width: 100%;
            height: 100%;
        }

        .sc-rail-hero-copy {
            position: relative;
            z-index: 3;
            width: 100%;
            /* min-height: 265px; */
            padding-top: 12px;
            animation: scRailFadeUp .65s ease both;
        }

        .sc-rail-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 17px;
            color: rgba(255, 255, 255, .72);
            font-size: 11px;
            font-weight: 600;
            letter-spacing: .18em;
            text-transform: uppercase;
        }

        .sc-rail-eyebrow span {
            position: relative;
            width: 29px;
            height: 1px;
            background: rgba(255, 255, 255, .55);
        }

        .sc-rail-eyebrow span::after {
            content: "";
            position: absolute;
            width: 5px;
            height: 5px;
            right: 0;
            top: 50%;
            background: var(--rail-coral);
            border-radius: 50%;
            transform: translate(50%, -50%);
        }

        .sc-rail-hero-copy h1 {
            max-width: 100%;
            margin: 0;
            color: #000000;
            font-size: clamp(38px, 4.4vw, 40px);
            font-weight: 500;
            line-height: 1.03;
                position: relative;
                    max-width: fit-content;
            letter-spacing: -.05em;
        }

        .sc-rail-hero-copy h1 em {
            display: inline-block;
            margin-top: 5px;
            color: #007285;
            font-style: normal;
            font-weight: 530;
            /* position: relative; */
        }
         .sc-rail-hero-copy h1 em::before{
             content: "";
    position: absolute;
    background-color: #fff;
    left: -10px;
    right: 0;
    top: 3px;
    width: 105%;
    height: 100%;
    z-index: -1;
    border-radius: 9px;
         }

        .sc-rail-hero-copy>p {
            max-width: 490px;
            margin: 18px 0 0;
            color: #000;
            font-size: 14px;
            line-height: 1.7;
        }

        .sc-rail-hero-points {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 22px;
            margin-top: 22px;
        }

        .sc-rail-hero-points span {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            color: #000;
            font-size: 11px;
            font-weight: 600;
        }

        .sc-rail-hero-points svg {
            width: 17px;
            height: 17px;
            color: var(--rail-gold);
        }

        .sc-rail-search-panel {
              position: relative;
    z-index: 20;
    margin-top: 10px;
    padding: 21px 23px 20px;
    overflow: visible;
    background: #fff;
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 22px;
    box-shadow: none;
    animation: scRailFadeUp .7s .1s ease both;
        }

        .sc-rail-panel-heading {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
            margin-bottom: 16px;
        }

        .sc-rail-panel-heading>div {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .sc-rail-panel-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 37px;
            height: 37px;
            flex: 0 0 37px;
            color: #fff;
            background: var(--rail-navy-soft);
            border-radius: 11px;
            box-shadow: 0 8px 18px rgba(21, 57, 76, .17);
        }

        .sc-rail-panel-icon svg {
            width: 20px;
            height: 20px;
        }

        .sc-rail-panel-heading strong,
        .sc-rail-panel-heading small {
            display: block;
        }

        .sc-rail-panel-heading strong {
            color: var(--rail-text);
            font-size: 18px;
            font-weight: 600;
        }

        .sc-rail-panel-heading small {
            margin-top: 2px;
            color: #89959d;
            font-size: 10px;
        }

        .sc-rail-trip-type {
            padding: 7px 11px;
            color: #44606e;
            background: #eef4f6;
            border: 1px solid #e0e9ec;
            border-radius: 999px;
            font-size: 10px;
            font-weight: 700;
        }

        .sc-rail-primary-grid {
            display: grid;
            grid-template-columns:
                minmax(220px, 1fr) 46px minmax(220px, 1fr) minmax(190px, .72fr) minmax(190px, .68fr);
            grid-template-areas: "from swap to date search";
            gap: 10px;
            align-items: end;
        }

        .sc-rail-from {
            grid-area: from;
        }

        .sc-rail-to {
            grid-area: to;
        }

        .sc-rail-date {
            grid-area: date;
        }

        .sc-rail-swap {
            grid-area: swap;
        }

        .sc-rail-search-button {
            grid-area: search;
        }

        .sc-rail-field,
        .sc-rail-mini-select {
            position: relative;
            min-width: 0;
        }

        .sc-rail-field>label,
        .sc-rail-mini-select>label {
            display: block;
            margin: 0 0 7px 3px;
            color: #5d6f79;
            font-size: 10px;
            font-weight: 600;
            letter-spacing: .035em;
            text-transform: uppercase;
        }

        .sc-rail-control {
            display: flex;
            align-items: center;
            width: 100%;
            min-height: 45px;
            padding: 10px 12px;
            background: #fff;
            border: 1px solid var(--rail-border);
            border-radius: 13px;
            transition:
                border-color .2s ease,
                box-shadow .2s ease,
                transform .2s ease;
        }

        .sc-rail-control:hover {
               border-color: rgba(224, 12, 58, 0.13);
        }

        .sc-rail-control:focus-within,
        .sc-rail-field.is-open .sc-rail-control {
               box-shadow: 0 0 0 0px #e00c3a17;
    border-color:rgba(224, 12, 58, 0.13);
        }

        .sc-rail-control-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: auto;
            height: auto;
            flex: 0 0 38px;
            margin-right: 0px;
            color: var(--rail-teal-dark);
            background: transparent;
            border-radius: 10px;
        }

        .sc-rail-control-icon svg {
            width: 20px;
            height: 20px;
        }

        .sc-rail-control-copy {
            display: block;
            min-width: 0;
            flex: 1;
        }

        .sc-rail-control-copy input {
            display: block;
            width: 100%;
            min-width: 0;
            padding: 0;
            color: var(--rail-text);
            background: transparent;
            border: 0;
            outline: 0;
            font: inherit;
            font-size: 13px;
            font-weight: 600;
        }

        .sc-rail-control-copy input::placeholder {
            color: #9ba6ac;
            font-weight: 500;
        }

        .sc-rail-control-copy small {
            display: none;
            margin-top: 4px;
            overflow: hidden;
            color: #8a969d;
            font-size: 9px;
            font-weight: 500;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .sc-rail-control-copy input[type="date"] {
            min-height: 23px;
            cursor: pointer;
            color-scheme: light;
        }

        .sc-rail-control-copy input[type="date"]::-webkit-calendar-picker-indicator {
            width: 18px;
            height: 18px;
            cursor: pointer;
            opacity: .6;
        }

        .sc-rail-code {
               flex: 0 0 auto;
    margin-left: 7px;
    padding: 5px 7px;
    color: #e00c3a;
    background: #e00c3a0d;
    border-radius: 6px;
    font-size: 9px;
    font-weight: 500;
    letter-spacing: .07em;
        }

        .sc-rail-swap {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 40px;
            height: 40px;
            align-self: center;
            margin-top: 18px;
            color: var(--rail-teal-dark);
            background: #fff;
            border: 1px solid #dbe5e8;
            border-radius: 50%;
            box-shadow: 0 7px 18px rgba(12, 34, 49, .08);
            cursor: pointer;
            transition:
                color .22s ease,
                background .22s ease,
                transform .3s ease;
        }

        .sc-rail-swap:hover {
            color: #fff;
            background: var(--rail-teal-dark);
            border-color: var(--rail-teal-dark);
            transform: rotate(180deg);
        }

        .sc-rail-swap svg {
            width: 19px;
            height: 19px;
        }

        .sc-rail-search-button {
            display: flex;
            align-items: center;
            justify-content: space-between;
            width: 100%;
            height: 46px;
            padding: 0px 15px;
            color: #fff;
            background: #d90c38 !important;
            border: 0;
            border-radius: 13px;
            box-shadow: none !important;
            font-family: inherit;
            text-align: left;
            cursor: pointer;
            transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
        }

        .sc-rail-search-button:hover {
            background:
                linear-gradient(135deg, #1c5167 0%, #0e2e41 100%);
            box-shadow: 0 16px 30px rgba(8, 31, 45, .28);
            transform: translateY(-2px);
        }

        .sc-rail-button-copy {
            min-width: 0;
        }

        .sc-rail-button-copy small,
        .sc-rail-button-copy strong {
            display: block;
        }

        .sc-rail-button-copy small {
            margin-bottom: 4px;
            color: rgba(255, 255, 255, .58);
            font-size: 9px;
            font-weight: 500;
        }

        .sc-rail-button-copy strong {
            color: #fff;
            font-size: 12px;
            font-weight: 600;
            white-space: nowrap;
        }

        .sc-rail-search-arrow {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 34px;
            height: 34px;
            flex: 0 0 34px;
            color: #17384a;
            background: #fff;
            border-radius: 10px;
        }

        .sc-rail-search-arrow svg {
            width: 18px;
            height: 18px;
        }

        .sc-rail-loader {
            display: none;
            width: 21px;
            height: 21px;
            margin-right: 7px;
            border: 2px solid rgba(255, 255, 255, .25);
            border-top-color: #fff;
            border-radius: 50%;
            animation: scRailSpin .65s linear infinite;
        }

        .sc-rail-search-button.is-loading {
            pointer-events: none;
        }

        .sc-rail-search-button.is-loading .sc-rail-search-arrow {
            display: none;
        }

        .sc-rail-search-button.is-loading .sc-rail-loader {
            display: inline-block;
        }

        .sc-rail-secondary-row {
            display: flex;
            align-items: flex-end;
            gap: 13px;
            margin-top: 17px;
            padding-top: 17px;
            border-top: 1px solid #e9eef0;
        }

        .sc-rail-mini-select {
            width: 255px;
        }

        .sc-rail-mini-trigger {
          display: flex;
    align-items: center;
    width: 100%;
    min-height: 54px;
    padding: 8px 10px;
    color: var(--rail-text);
    text-align: left;
    background: #e00c3a0d;
    border: 1px solid #e00c3a21;
    border-radius: 11px;
    font-family: inherit;
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
        }

        .sc-rail-mini-trigger:hover,
        .sc-rail-mini-select.is-open .sc-rail-mini-trigger {
               background: #fff;
    border-color: #e00c3a;
    box-shadow: 0 0 0 3px #e00c3a17;

        }

        .sc-rail-mini-icon {
           display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    margin-right: 9px;
    color: #000;
    background: #e00c3a0a;
    border-radius: 9px;
        }

        .sc-rail-mini-icon svg {
            width: 18px;
            height: 18px;
        }

        .sc-rail-mini-copy {
            min-width: 0;
            flex: 1;
        }

        .sc-rail-mini-copy strong,
        .sc-rail-mini-copy small {
            display: block;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .sc-rail-mini-copy strong {
            color: #263b47;
            font-size: 11px;
            font-weight: 600;
        }

        .sc-rail-mini-copy small {
            margin-top: 3px;
            color: #8a979e;
            font-size: 9px;
        }

        .sc-rail-chevron {
            width: 17px;
            height: 17px;
            margin-left: 5px;
            color: #687b84;
            transition: transform .2s ease;
        }

        .sc-rail-mini-select.is-open .sc-rail-chevron {
            transform: rotate(180deg);
        }

        .sc-rail-flexible-date {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            min-height: 54px;
            margin-left: auto;
            padding: 6px 8px;
            cursor: pointer;
            user-select: none;
        }

        .sc-rail-flexible-date input {
            position: absolute;
            width: 1px;
            height: 1px;
            opacity: 0;
            pointer-events: none;
        }

        .sc-rail-checkbox {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 21px;
            height: 21px;
            flex: 0 0 21px;
            color: transparent;
            background: #fff;
            border: 1.5px solid #bbc9cf;
            border-radius: 6px;
            transition: all .18s ease;
        }

        .sc-rail-checkbox svg {
            width: 14px;
            height: 14px;
        }

        .sc-rail-flexible-date input:checked+.sc-rail-checkbox {
            color: #fff;
            background: var(--rail-teal-dark);
            border-color: var(--rail-teal-dark);
            box-shadow: 0 5px 12px rgba(40, 116, 135, .2);
        }

        .sc-rail-flexible-date strong,
        .sc-rail-flexible-date small {
            display: block;
        }

        .sc-rail-flexible-date strong {
            color: #344b58;
            font-size: 11px;
            font-weight: 600;
        }

        .sc-rail-flexible-date small {
            margin-top: 3px;
            color: #8b979e;
            font-size: 9px;
        }

        .sc-rail-station-menu,
        .sc-rail-select-menu {
             position: absolute;
    left: 0;
    right: 0;
    z-index: 100;
    padding: 7px;
    visibility: hidden;
    opacity: 0;
    background: #ffffff;
    border: 1px solid #d90c382e;
    border-radius: 13px;
    box-shadow: 0 22px 50px rgba(7, 28, 40, .18);
    transform: translateY(-5px);
    transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
        }

        .sc-rail-station-menu {
            top: calc(100% + 7px);
            max-height: 278px;
            overflow-y: auto;
        }

        /*
                                                                         * Class aur quota menu upar khulenge,
                                                                         * footer ke upar overlap nahi karenge.
                                                                         */
        .sc-rail-select-menu {
            top: auto;
            bottom: calc(100% + 8px);
            max-height: 275px;
            overflow-y: auto;
            transform: translateY(5px);
        }

        .sc-rail-field.is-open .sc-rail-station-menu,
        .sc-rail-mini-select.is-open .sc-rail-select-menu {
            visibility: visible;
            opacity: 1;
            transform: translateY(0);
        }

        .sc-rail-station-option,
        .sc-rail-select-menu button {
            display: flex;
            align-items: center;
            width: 100%;
            padding: 10px;
            color: var(--rail-text);
            text-align: left;
            background: transparent;
            border: 0;
            border-radius: 9px;
            font-family: inherit;
            cursor: pointer;
            transition: background .15s ease;
        }

        .sc-rail-station-option:hover,
        .sc-rail-station-option:focus,
        .sc-rail-select-menu button:hover,
        .sc-rail-select-menu button:focus,
        .sc-rail-select-menu button.is-selected {
            outline: none;
            background: #e00c3a0a;
        }

        .sc-rail-station-option-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 33px;
            height: 33px;
            flex: 0 0 33px;
            margin-right: 9px;
            color: #317c8c;
            background: #e9f3f5;
            border-radius: 9px;
        }

        .sc-rail-station-option-icon svg {
            width: 17px;
            height: 17px;
        }

        .sc-rail-station-option-copy,
        .sc-rail-select-menu button>span {
            min-width: 0;
            flex: 1;
        }

        .sc-rail-station-option strong,
        .sc-rail-select-menu strong {
            display: block;
            overflow: hidden;
            color: #243945;
            font-size: 11px;
            font-weight: 600;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .sc-rail-station-option small,
        .sc-rail-select-menu small {
            display: block;
            margin-top: 3px;
            overflow: hidden;
            color: #849198;
            font-size: 9px;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .sc-rail-station-option-code,
        .sc-rail-select-menu em {
            flex: 0 0 auto;
            margin-left: 8px;
            color: #68808a;
            font-size: 9px;
            font-style: normal;
            font-weight: 800;
            letter-spacing: .06em;
        }

        .sc-rail-no-station {
            padding: 18px 10px;
            color: #849198;
            text-align: center;
            font-size: 10px;
        }

        .sc-rail-error {
            display: none;
            min-height: 13px;
            margin: 4px 0 0 3px;
            color: #d94c4c;
            font-size: 9px;
            font-weight: 650;
        }

        .sc-rail-field.has-error .sc-rail-error {
            display: block;
        }

        .sc-rail-field.has-error .sc-rail-control {
            border-color: rgba(217, 76, 76, .7);
            box-shadow: 0 0 0 3px rgba(217, 76, 76, .07);
        }

        .sc-rail-toast {
            position: fixed;
            z-index: 9999;
            right: 22px;
            bottom: 22px;
            display: flex;
            align-items: center;
            gap: 10px;
            max-width: calc(100% - 44px);
            padding: 13px 16px;
            visibility: hidden;
            opacity: 0;
            color: #fff;
            background: #102b3b;
            border: 1px solid rgba(255, 255, 255, .09);
            border-radius: 12px;
            box-shadow: 0 20px 45px rgba(4, 20, 31, .3);
            font-size: 11px;
            font-weight: 600;
            transform: translateY(14px);
            transition: all .24s ease;
        }

        .sc-rail-toast.is-visible {
            visibility: visible;
            opacity: 1;
            transform: translateY(0);
        }

        .sc-rail-toast>span {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 24px;
            height: 24px;
            color: #fff;
            background: #32936f;
            border-radius: 50%;
        }

        .sc-rail-toast svg {
            width: 15px;
            height: 15px;
        }

        @keyframes scRailFadeUp {
            from {
                opacity: 0;
                transform: translateY(18px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes scRailArtFloat {

            0%,
            100% {
                transform: translateY(0);
            }

            50% {
                transform: translateY(-8px);
            }
        }

        @keyframes scRailSpin {
            to {
                transform: rotate(360deg);
            }
        }

        @media (max-width: 1100px) {
            .sc-rail-booking {
                padding-bottom: 80px;
            }

            .sc-rail-primary-grid {
                grid-template-columns:
                    minmax(190px, 1fr) 44px minmax(190px, 1fr) minmax(170px, .75fr);
                grid-template-areas:
                    "from swap to date"
                    "search search search search";
            }

            .sc-rail-search-button {
                min-height: 45px;
                margin-top: 4px;
            }

            .sc-rail-secondary-row {
                flex-wrap: wrap;
            }

            .sc-rail-flexible-date {
                margin-left: 0;
            }
        }

        @media (max-width: 800px) {
            .sc-rail-booking {
                min-height: auto;
                padding: 46px 16px 68px;
            }

            .sc-rail-banner-art {
                width: 540px;
                max-width: 75vw;
                top: 12px;
                right: -160px;
                opacity: .34;
            }

            .sc-rail-hero-copy {
                width: min(600px, 82%);
            }

            .sc-rail-search-panel {
                margin-top: 20px;
            }

            .sc-rail-primary-grid {
                grid-template-columns: 1fr 45px 1fr;
                grid-template-areas:
                    "from swap to"
                    "date date date"
                    "search search search";
            }

            .sc-rail-date {
                margin-top: 4px;
            }

            .sc-rail-mini-select {
                width: calc(50% - 7px);
            }

            .sc-rail-flexible-date {
                width: 100%;
            }
        }

        @media (max-width: 620px) {
            .sc-rail-booking {
                padding: 39px 11px 54px;
            }

            .sc-rail-banner-art {
                width: 430px;
                max-width: none;
                top: 6px;
                right: -210px;
                opacity: .2;
            }

            .sc-rail-hero-copy {
                width: 100%;
                min-height: auto;
                padding: 0 5px;
            }

            .sc-rail-hero-copy h1 {
                max-width: 390px;
                font-size: 39px;
            }

            .sc-rail-hero-copy>p {
                max-width: 370px;
                font-size: 12px;
            }

            .sc-rail-hero-points {
                gap: 13px;
            }

            .sc-rail-search-panel {
                padding: 17px 14px;
                border-radius: 18px;
            }

            .sc-rail-trip-type {
                display: none;
            }

            .sc-rail-primary-grid {
                position: relative;
                grid-template-columns: 1fr;
                grid-template-areas:
                    "from"
                    "swap"
                    "to"
                    "date"
                    "search";
                gap: 3px;
            }

            .sc-rail-swap {
                        z-index: 4;
        justify-self: end;
        margin: auto;
        transform: rotate(90deg);
                margin-top: 10px;
            }

            .sc-rail-swap:hover {
                transform: rotate(270deg);
            }

            .sc-rail-mini-select {
                width: 100%;
            }

            .sc-rail-select-menu {
                top: calc(100% + 7px);
                bottom: auto;
                transform: translateY(-5px);
            }

            .sc-rail-flexible-date {
                padding-left: 3px;
            }
        }

        @media (max-width: 390px) {
            .sc-rail-hero-copy h1 {
                font-size: 35px;
            }

            .sc-rail-hero-points {
                align-items: flex-start;
                flex-direction: column;
            }

            .sc-rail-panel-heading {
                margin-bottom: 13px;
            }

            .sc-rail-control {
                min-height: 40px;
            }
        }

        @media (prefers-reduced-motion: reduce) {

            .sc-rail-banner-art,
            .sc-rail-hero-copy,
            .sc-rail-search-panel,
            .sc-rail-loader {
                animation: none;
            }

            .sc-rail-booking *,
            .sc-rail-booking *::before,
            .sc-rail-booking *::after {
                transition-duration: .01ms !important;
            }
        }
