html,
body {
    overflow-x: hidden !important;
}

body.fy9-page {
    background:
        radial-gradient(
            circle at 87% 7%,
            rgba(54, 199, 255, .10),
            rgba(54, 199, 255, 0) 30%
        ),
        #f4f8fd !important;
}

body.fy9-page > #header,
body.fy9-page > section#header,
body.fy9-page > header#header,
body.fy9-page > #nav,
body.fy9-page > nav#nav,
body.fy9-page > .top-toolbar,
body.fy9-page > .navbar-main,
body.fy9-page > nav.navbar-main,
body.fy9-page .navbar.navbar-default.navbar-main,
body.fy9-page .top-toolbar,
body.fy9-page #nav {
    display: none !important;
}

body.fy9-page #main-body {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.fy9-page #main-body > .container,
body.fy9-page #main-body .container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fy9-header,
.fy9-header *,
.fy9-scope,
.fy9-scope *,
.fy9-header *:before,
.fy9-header *:after,
.fy9-scope *:before,
.fy9-scope *:after {
    box-sizing: border-box;
}

.fy9-header {
    width: 100vw !important;
    max-width: none !important;
    min-width: 100vw !important;
    position: relative;
    left: 50%;
    margin: 0 0 0 -50vw !important;
    padding: 0 !important;
    color: #fff;
    background:
        radial-gradient(
            circle at 89% 8%,
            rgba(66, 208, 255, .78),
            rgba(66, 208, 255, 0) 31%
        ),
        linear-gradient(112deg, #083774 0%, #0865b9 54%, #19a9ed 100%);
}

.fy9-header-inner {
    width: min(1480px, calc(100% - 48px));
    min-height: 104px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 36px;
}

.fy9-brand {
    display: flex;
    align-items: center;
    gap: 16px;
    color: #fff !important;
    text-decoration: none !important;
}

.fy9-logo {
    width: 68px;
    height: 68px;
    flex: 0 0 68px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    background: rgba(255, 255, 255, .11);
    border: 1px solid rgba(255, 255, 255, .28);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .11),
        0 14px 35px rgba(0, 38, 104, .16);
}

.fy9-fish {
    width: 37px;
    height: 31px;
    display: block;
    background: #fff;
    clip-path: polygon(
        0 48%,
        23% 28%,
        68% 13%,
        57% 36%,
        100% 45%,
        61% 56%,
        76% 87%,
        27% 69%
    );
}

.fy9-brand-copy strong {
    display: block;
    color: #fff;
    font-size: 30px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 2px;
}

.fy9-brand-copy small {
    display: block;
    margin-top: 8px;
    color: rgba(255, 255, 255, .9);
    font-size: 13px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 4px;
}

.fy9-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(20px, 2.8vw, 46px);
}

.fy9-menu a {
    color: #fff !important;
    font-size: 17px;
    line-height: 1;
    font-weight: 800;
    text-decoration: none !important;
    white-space: nowrap;
}

.fy9-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.fy9-contact,
.fy9-login,
.fy9-register {
    min-height: 54px;
    padding: 0 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    font-size: 17px;
    line-height: 1;
    font-weight: 900;
    text-decoration: none !important;
    white-space: nowrap;
}

.fy9-contact {
    color: #fff !important;
    background: #64df00;
    border: 1px solid #64df00;
    box-shadow: 0 14px 28px rgba(74, 217, 0, .24);
}

.fy9-login {
    color: #fff !important;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .44);
}

.fy9-register {
    color: #0870c8 !important;
    background: #fff;
    border: 1px solid #fff;
}

body.fy9-page .fy9-scope,
body.fy9-page .fy9-scope > * {
    transform: none !important;
    zoom: 1 !important;
}

body.fy9-page .fy9-scope {
    width: min(1320px, calc(100vw - 40px)) !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 28px 0 68px !important;
    color: #24476d;
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        "PingFang SC",
        "Microsoft YaHei",
        Arial,
        sans-serif;
}

body.fy9-page .fy9-scope .header-lined,
body.fy9-page .fy9-scope .breadcrumb {
    display: none !important;
}

body.fy9-page .fy9-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 370px !important;
    gap: 28px !important;
    align-items: start !important;
}

body.fy9-page .fy9-main,
body.fy9-page .fy9-side {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.fy9-page .fy9-side {
    position: sticky !important;
    top: 20px !important;
}

body.fy9-page .fy9-scope .panel,
body.fy9-page .fy9-scope .card,
body.fy9-page .fy9-scope fieldset,
body.fy9-page .fy9-scope .order-summary,
body.fy9-page .fy9-scope .summary-container {
    margin-bottom: 20px !important;
    overflow: hidden;
    background: #fff !important;
    border: 1px solid #e1eaf4 !important;
    border-radius: 20px !important;
    box-shadow: 0 13px 34px rgba(28, 61, 118, .07) !important;
}

body.fy9-page .fy9-scope .panel-heading,
body.fy9-page .fy9-scope .card-header,
body.fy9-page .fy9-scope legend {
    margin: 0 !important;
    padding: 18px 22px !important;
    color: #173f6c !important;
    background: linear-gradient(135deg, #f1f8ff, #eaf5ff) !important;
    border: 0 !important;
    border-bottom: 1px solid #e3edf7 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

body.fy9-page .fy9-scope .panel-body,
body.fy9-page .fy9-scope .card-body,
body.fy9-page .fy9-scope fieldset {
    padding: 22px !important;
}

body.fy9-page .fy9-scope input[type="text"],
body.fy9-page .fy9-scope input[type="email"],
body.fy9-page .fy9-scope input[type="password"],
body.fy9-page .fy9-scope input[type="tel"],
body.fy9-page .fy9-scope input[type="number"],
body.fy9-page .fy9-scope select,
body.fy9-page .fy9-scope textarea,
body.fy9-page .fy9-scope .form-control {
    width: 100% !important;
    min-height: 48px !important;
    padding: 10px 14px !important;
    color: #24476d !important;
    background: #f9fbfe !important;
    border: 1px solid #d7e4f1 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    font-size: 15px !important;
}

body.fy9-page .fy9-scope textarea {
    min-height: 96px !important;
}

body.fy9-page .fy9-scope .row {
    margin-left: -8px !important;
    margin-right: -8px !important;
}

body.fy9-page .fy9-scope [class*="col-"] {
    padding-left: 8px !important;
    padding-right: 8px !important;
}

body.fy9-page .fy9-scope .payment-methods,
body.fy9-page .fy9-scope #paymentGatewaysContainer {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

body.fy9-page .fy9-scope #btnCompleteOrder,
body.fy9-page .fy9-scope .btn-primary,
body.fy9-page .fy9-scope button[type="submit"] {
    min-height: 54px !important;
    border: 0 !important;
    border-radius: 14px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #075fc8, #159be8) !important;
    box-shadow: 0 13px 28px rgba(7, 95, 200, .22) !important;
    font-size: 17px !important;
    font-weight: 900 !important;
}

body.fy9-page .fy9-steps {
    width: 100% !important;
    margin: 0 0 26px !important;
    overflow: hidden;
    background: #fff !important;
    border: 1px solid #dce8f4 !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 30px rgba(28, 61, 118, .06) !important;
}

@media (max-width: 1120px) {
    .fy9-header-inner {
        grid-template-columns: auto 1fr;
        gap: 22px;
        padding: 18px 0;
    }

    .fy9-menu {
        order: 3;
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .fy9-actions {
        justify-self: end;
    }

    body.fy9-page .fy9-grid {
        grid-template-columns: minmax(0, 1fr) 320px !important;
        gap: 20px !important;
    }
}

@media (max-width: 820px) {
    .fy9-header-inner {
        width: calc(100% - 24px);
        grid-template-columns: 1fr;
        gap: 17px;
        padding: 18px 0;
    }

    .fy9-brand {
        justify-content: center;
    }

    .fy9-menu {
        grid-column: auto;
        justify-content: flex-start;
        flex-wrap: nowrap;
        gap: 12px 20px;
        overflow-x: auto;
        padding: 4px 0 8px;
    }

    .fy9-menu a {
        flex: 0 0 auto;
        font-size: 14px;
    }

    .fy9-actions {
        width: 100%;
        justify-self: stretch;
        justify-content: center;
        gap: 9px;
    }

    .fy9-contact,
    .fy9-login,
    .fy9-register {
        min-height: 46px;
        padding: 0 17px;
        font-size: 14px;
        border-radius: 13px;
    }

    body.fy9-page .fy9-scope {
        width: calc(100vw - 18px) !important;
        padding: 20px 0 44px !important;
    }

    body.fy9-page .fy9-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 18px !important;
    }

    body.fy9-page .fy9-main,
    body.fy9-page .fy9-side {
        width: 100% !important;
    }

    body.fy9-page .fy9-side {
        position: static !important;
    }

    body.fy9-page .fy9-scope .payment-methods,
    body.fy9-page .fy9-scope #paymentGatewaysContainer {
        grid-template-columns: 1fr !important;
    }

    body.fy9-page .fy9-scope [class*="col-"] {
        width: 100% !important;
        float: none !important;
    }
}
