            :root{
                --red:#D80F26;
                --red-d:#B00C1F;
                --ink:#1c1c1e;
                --mut:#66666e;
                --soft:#fdf2f3;
                --line:#e8e8ec;
                --ok:#1d8a3e
            }
            *{
                box-sizing:border-box;
                margin:0;
                padding:0
            }
            body{
                font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
                color:var(--ink);
                background:#fff
            }
            img{
                max-width:100%;
                height:auto;
                display:block
            }
            a{
                color:#dd3cb2 !important;
                text-decoration:none
            }
            header{
                border-bottom:1px solid var(--line);
                padding:12px 0;
                text-align:center
            }
            .logo{
                display:inline-flex;
                align-items:center;
                gap:8px
            }
            .logo .gf{
                background:#dd3cb2 !important;
                color:#fff;
                font-weight:900;
                font-style:italic;
                font-size:19px;
                padding:3px 10px;
                border-radius:9px
            }
            .logo .lq{
                font-weight:900;
                font-size:12.5px;
                letter-spacing:2px
            }
            .count{
                background:#eef3fd;
                color:#23459e;
                text-align:center;
                font-size:13px;
                font-weight:700;
                padding:9px 12px
            }
            .page{
                display:flex;
                max-width:1060px;
                margin:0 auto;
                min-height:70vh
            }
            .main{
                flex:1 1 55%;
                padding:26px 26px 40px;
                order:1;
                min-width:0
            }
            .aside{
                flex:1 1 45%;
                background:#fafafb;
                border-left:1px solid var(--line);
                padding:26px;
                order:2;
                min-width:0
            }
            h2{
                font-size:18px;
                font-weight:800;
                margin:22px 0 4px
            }
            h2:first-of-type{
                margin-top:0
            }
            .subnote{
                font-size:12.5px;
                color:var(--mut);
                margin-bottom:12px
            }
            .row{
                display:flex;
                gap:10px
            }
            .row>*{
                flex:1
            }
            .field{
                position:relative;
                margin-bottom:10px
            }
            .field label{
                display:block;
                font-size:12.5px;
                font-weight:700;
                margin-bottom:5px
            }
            .field input,.field select{
                width:100%;
                height:46px;
                padding:0 12px;
                border:1px solid #d6d6dc;
                border-radius:8px;
                font-size:14px;
                background:#fff;
                color:var(--ink);
                outline:none
            }
            .field input:focus,.field select:focus{
                border-color:#dd3cb2 !important;
                box-shadow:0 0 0 1px #dd3cb2 !important
            }
            .field .err{
                display:none;
                font-size:12px;
                color:#dd3cb2 !important;
                margin-top:4px
            }
            .field.invalid input,.field.invalid select{
                border-color:#dd3cb2 !important;
                box-shadow:0 0 0 1px #dd3cb2 !important
            }
            .field.invalid .err{
                display:block
            }
            .offers{
                display:none
            }
            .nd-result{
                display:none
            }
            .nd-result.show{
                display:block;
                border:1px solid #cfe6d4;
                border-radius:8px;
                padding:10px 12px;
                background:#eef7ef;
                margin:2px 0 10px;
                font-size:13px;
                line-height:1.55
            }
            .shipmeth{
                border:2px solid #dd3cb2 !important;
                border-radius:10px;
                background:#fff
            }
            .sm-row{
                display:flex;
                justify-content:space-between;
                align-items:center;
                gap:10px;
                padding:13px 13px;
                cursor:default
            }
            .sm-l{
                display:flex;
                align-items:flex-start;
                gap:10px;
                font-size:13.5px;
                min-width:0
            }
            .sm-l b{
                font-size:14px
            }
            .sm-l small{
                display:block;
                color:var(--mut);
                font-size:12px;
                margin-top:2px
            }
            .sm-tag{
                background:#ececf0;
                color:#555;
                font-size:10.5px;
                font-weight:700;
                border-radius:4px;
                padding:2px 6px;
                vertical-align:middle
            }
            .sm-p{
                font-weight:800;
                color:var(--ok);
                white-space:nowrap
            }
            .sm-p s{
                color:#a9a9b0;
                font-weight:500;
                font-size:12px;
                margin-left:4px
            }
            .paywrap{
                border:1px solid #d6d6dc;
                border-radius:10px;
                overflow:hidden;
                background:#fff
            }
            .payhead{
                display:flex;
                justify-content:space-between;
                align-items:center;
                padding:12px 13px;
                background:var(--soft);
                border-bottom:1px solid var(--line);
                flex-wrap:wrap;
                gap:8px
            }
            .payhead .l{
                display:flex;
                align-items:center;
                gap:8px;
                font-weight:700
            }
            .radio{
                width:17px;
                height:17px;
                border:5px solid #dd3cb2 !important;
                border-radius:50%;
                background:#fff;
                flex:none
            }
            .cards{
                display:flex;
                gap:5px
            }
            .cc{
                display:inline-flex;
                align-items:center;
                justify-content:center;
                min-width:34px;
                height:23px;
                border:1px solid #ddd;
                border-radius:3px;
                background:#fff;
                font-size:8.5px;
                font-weight:800;
                padding:0 4px
            }
            .cc.visa{
                color:#1a1f71
            }
            .cc.amex{
                background:#1778c0;
                color:#fff;
                border-color:#1778c0
            }
            .cc.cb{
                background:#0a4a8a;
                color:#fff;
                border-color:#0a4a8a
            }
            .cc.mc i{
                width:10px;
                height:10px;
                border-radius:50%;
                display:inline-block
            }
            .cc.mc i:first-child{
                background:#eb001b
            }
            .cc.mc i:last-child{
                background:#f79e1b;
                margin-left:-4px;
                opacity:.9
            }
            .paybody{
                padding:14px 13px;
                background:#fdfdfe
            }
            #card-container{
                min-height:150px;
                overflow:visible
            }
            #card-container iframe{
                width:100% !important;
                display:block;
                border:0;
                min-height:150px !important;
                max-height:none !important
            }
            .card-hint{
                font-size:13px;
                color:var(--mut);
                padding:14px 0;
                line-height:1.5;
                text-align:center
            }
            .card-iframe-shell{
                position:relative;
                min-height:120px
            }
            .card-iframe-shell.is-loading{
                min-height:200px
            }
            .card-iframe-loader{
                display:flex;
                flex-direction:column;
                align-items:center;
                justify-content:center;
                gap:12px;
                padding:28px 16px;
                min-height:200px;
                pointer-events:none;
                user-select:none
            }
            .card-iframe-loader-spinner{
                width:36px;
                height:36px;
                border:3px solid #e8e8ec;
                border-top-color:#dd3cb2;
                border-radius:50%;
                animation:cardIframeSpin .85s linear infinite
            }
            @keyframes cardIframeSpin{
                to{
                    transform:rotate(360deg)
                }
            }
            .card-iframe-loader-text{
                margin:0;
                font-size:13px;
                color:var(--mut);
                text-align:center;
                line-height:1.45
            }
            .card-iframe-error{
                margin:0 0 12px;
                padding:12px 14px;
                border-radius:8px;
                font-size:13px;
                line-height:1.45;
                background:#fdecea;
                border:1px solid #f5c6c0;
                color:#a33a2c
            }
            .checkout-trust-badges{
                display:flex;
                flex-wrap:wrap;
                justify-content:center;
                align-items:center;
                gap:8px;
                margin:12px 0 0;
                padding:0
            }
            .checkout-trust-badge{
                display:inline-flex;
                align-items:center;
                gap:6px;
                border-radius:999px;
                padding:6px 12px;
                font-size:11.5px;
                font-weight:600;
                line-height:1.3;
                border:1px solid transparent
            }
            .checkout-trust-badge__icon{
                display:block;
                flex:none;
                width:16px;
                height:16px
            }
            .checkout-trust-badge__label{
                white-space:nowrap
            }
            .checkout-trust-badge--guarantee{
                background:#eef7ef;
                border-color:#cfe6d4;
                color:#1d6a35
            }
            .checkout-trust-badge--returns{
                background:#e8f5ec;
                border-color:#b8e0c4;
                color:#166534
            }
            .checkout-trust-badge--secure{
                background:#ecfdf3;
                border-color:#a7e3bc;
                color:#15803d
            }
            @media(max-width:900px){
                .card-iframe-shell.is-loading,
                .card-iframe-loader{
                    min-height:150px
                }
                #card-container{
                    min-height:150px
                }
                #card-container iframe{
                    min-height:150px !important
                }
                .checkout-trust-badge{
                    padding:5px 10px;
                    font-size:11px
                }
                .checkout-trust-badge__label{
                    white-space:normal;
                    text-align:left
                }
            }
            .paybtn{
                display:block;
                width:100%;
                margin-top:14px;
                padding:16px;
                background:#dd3cb2 !important;
                color:#fff;
                font-size:16px;
                font-weight:800;
                border:none;
                border-radius:10px;
                cursor:pointer
            }
            .paybtn:hover{
                background:var(--red-d)
            }
            .pay-nocharge{
                font-size:12px;
                color:var(--mut);
                margin-top:9px;
                text-align:center
            }
            .pay-status{
                display:none;
                margin-top:11px;
                padding:10px 12px;
                border-radius:8px;
                font-size:13px
            }
            .pay-status.show{
                display:block
            }
            .pay-status.info{
                background:#eef3fd;
                border:1px solid #c9d8f4;
                color:#23459e
            }
            .pay-status.ok{
                background:#eef7ef;
                border:1px solid #cfe6d4;
                color:#1d6a35
            }
            .pay-status.err{
                background:#fdecea;
                border:1px solid #f5c6c0;
                color:#a33a2c
            }
            .legal{
                font-size:11.5px;
                color:var(--mut);
                margin-top:14px;
                line-height:1.6
            }
            /* summary */
            .sum-toggle{
                display:none
            }
            .item{
                display:flex;
                align-items:flex-start;
                gap:12px;
                margin-bottom:14px
            }
            .thumb{
                position:relative;
                width:62px;
                height:62px;
                border:1px solid var(--line);
                border-radius:9px;
                background:#fff;
                flex:none
            }
            .thumb img{
                width:100%;
                height:100%;
                object-fit:cover;
                border-radius:9px
            }
            .qty{
                position:absolute;
                top:-7px;
                right:-7px;
                background:#dd3cb2 !important;
                color:#fff;
                border-radius:50%;
                min-width:20px;
                height:20px;
                font-size:11.5px;
                display:flex;
                align-items:center;
                justify-content:center;
                padding:0 4px
            }
            .item .nm{
                font-size:13.5px;
                font-weight:700
            }
            .item .var{
                font-size:11.5px;
                color:var(--mut);
                margin-top:2px
            }
            .item .pr{
                margin-left:auto;
                font-weight:800;
                text-align:right;
                white-space:nowrap
            }
            .item .old{
                display:block;
                font-size:11.5px;
                color:#a9a9b0;
                text-decoration:line-through;
                font-weight:400
            }
            .discount{
                display:flex;
                gap:8px;
                margin:12px 0
            }
            .discount input{
                flex:1;
                height:42px;
                border:1px solid #d6d6dc;
                border-radius:8px;
                padding:0 11px;
                font-size:13.5px;
                background:#fff;
                min-width:0
            }
            .discount button{
                padding:0 16px;
                background:#ececf0;
                color:#555;
                border:none;
                border-radius:8px;
                font-weight:700;
                cursor:pointer
            }
            .totline{
                display:flex;
                justify-content:space-between;
                font-size:13.5px;
                margin:8px 0
            }
            .totline .mut{
                color:var(--mut)
            }
            .save{
                color:var(--ok);
                font-weight:600
            }
            .grand{
                display:flex;
                justify-content:space-between;
                align-items:baseline;
                border-top:1px solid var(--line);
                margin-top:12px;
                padding-top:13px
            }
            .grand .lbl{
                font-size:15px;
                font-weight:700
            }
            .grand .amt{
                font-size:22px;
                font-weight:900;
                color:#dd3cb2 !important
            }
            .blurbs{
                margin-top:20px;
                display:grid;
                gap:13px
            }
            .blurbs b{
                display:block;
                font-size:13px
            }
            .blurbs p{
                font-size:12px;
                color:var(--mut)
            }
            @media(max-width:900px){
                .page{
                    flex-direction:column
                }
                .aside{
                    order:0;
                    border-left:none;
                    border-bottom:1px solid var(--line);
                    padding:14px 18px
                }
                .main{
                    padding:20px 18px 40px
                }
                .sum-toggle{
                    display:flex;
                    justify-content:space-between;
                    align-items:center;
                    color:#dd3cb2 !important;
                    font-size:13.5px;
                    font-weight:700;
                    cursor:pointer
                }
                .sum-body{
                    display:none;
                    padding-top:12px
                }
                #coSum.open .sum-body{
                    display:block
                }
                .st-t{
                    color:var(--ink);
                    font-weight:900;
                    font-size:16px
                }
            }
            @media(min-width:901px){
                .sum-body{
                    display:block!important
                }
            }
            .cocolor{
                margin:2px 0 20px
            }
            .cc-lab{
                font-size:14px;
                font-weight:700;
                margin-bottom:8px
            }
            .cc-lab b{
                color:#dd3cb2 !important
            }
            .cc-sw{
                display:flex;
                gap:11px
            }
            .ccs{
                width:42px;
                height:42px;
                border-radius:10px;
                border:2px solid var(--line);
                background:var(--c);
                cursor:pointer;
                padding:0
            }
            .ccs.on{
                border-color:#dd3cb2 !important;
                box-shadow:0 0 0 2px #dd3cb2 !important
            }
            #shipEst {
                display: none;
            }
            .count {
                background: #eef3fd;
                color: #23459e;
                text-align: center;
                font-size: 13px;
                font-weight: 700;
                padding: 9px 12px;
                display: none;
            }
            .footer-block--menu .footer-block__details-content {
                display: flex !important;
                align-items: center;
                gap: 18px;
                flex-wrap: nowrap;
                white-space: nowrap;
                margin: 0;
                padding: 0;
            }
            .footer-block--menu .footer-block__details-content li {
                display: inline-flex;
                margin: 0;
                padding: 0;
                width: auto !important;
                float: none !important;
            }
            .footer-block--menu .footer-block__details-content a {
                display: inline-block;
                padding: 0;
            }
            /* Allow horizontal scrolling on smaller screens */
            @media screen and (max-width: 1100px) {
                .footer-block--menu .footer-block__details-content {
                    overflow-x: auto;
                    width: 100%;
                    padding-bottom: 8px;
                }
            }
            .footer-block--menu {
                width: fit-content !important;
                max-width: 100%;
                justify-self: start !important;
                flex: 0 0 auto !important;
                margin-top: 20px;
            }
            .footer-block--menu .footer-block__details-content {
                display: flex !important;
                align-items: center;
                justify-content: flex-start;
                flex-wrap: wrap;
                gap: 8px 22px;
                width: fit-content !important;
                max-width: 100%;
                margin: 0;
                padding: 0;
            }
            .footer-block--menu .footer-block__details-content li {
                display: inline-flex !important;
                width: auto !important;
                margin: 0 !important;
                padding: 0 !important;
                float: none !important;
            }
            .footer-block--menu .footer-block__details-content a {
                display: inline-block;
                padding: 0 !important;
                white-space: nowrap;
            }
            /* Google Address Autocomplete */
            .pac-container {
                z-index: 999999 !important;
                border-radius: 10px;
                border: 1px solid #e1e1e6;
                margin-top: 5px;
                box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
                font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
            }
            .pac-item {
                padding: 9px 12px;
                cursor: pointer;
                font-size: 13px;
                line-height: 22px;
                border-top: 1px solid #f0f0f2;
            }
            .pac-item:first-child {
                border-top: none;
            }
            .pac-item:hover,
            .pac-item-selected {
                background: #fdf2f8;
            }
            .pac-item-query {
                font-size: 14px;
                color: #1c1c1e;
            }
            .pac-icon {
                margin-top: 3px;
            }
            .address-autofill-note {
                display: block;
                margin-top: 5px;
                font-size: 11.5px;
                color: #777780;
            }
                /* Dynamic Shopify cart summary */
                #shopifyCartItems {
                    display: grid;
                    gap: 14px;
                }
                #shopifyCartItems .item {
                    display: flex;
                    align-items: flex-start;
                    gap: 12px;
                    margin-bottom: 0;
                }
                #shopifyCartItems .item + .item {
                    border-top: 1px solid var(--line);
                    padding-top: 14px;
                }
                .shopify-item-info {
                    flex: 1;
                    min-width: 0;
                }
                .shopify-item-info .nm {
                    word-break: break-word;
                }
                .shopify-item-properties {
                    margin-top: 4px;
                    font-size: 11.5px;
                    color: var(--mut);
                    line-height: 1.45;
                }
                .cart-loading,
                .cart-empty {
                    padding: 18px;
                    border: 1px solid var(--line);
                    border-radius: 10px;
                    background: #fff;
                    text-align: center;
                    color: var(--mut);
                    font-size: 13px;
                }
                .cart-empty strong {
                    display: block;
                    margin-bottom: 5px;
                    color: var(--ink);
                    font-size: 14px;
                }
                .cart-empty p {
                    margin: 0;
                }
                .cart-error {
                    padding: 12px;
                    border: 1px solid #f5c6c0;
                    border-radius: 8px;
                    background: #fdecea;
                    color: #a33a2c;
                    font-size: 13px;
                }
                .item .pr .current-price {
                    display: block;
                }
                .item .pr .old {
                    display: block;
                }
                @media (max-width: 480px) {
                    #shopifyCartItems .item {
                        gap: 9px;
                    }
                    #shopifyCartItems .thumb {
                        width: 54px;
                        height: 54px;
                    }
                    #shopifyCartItems .item .pr {
                        font-size: 12.5px;
                    }
                }
            .checkout-steps-indicator{
                display:flex;
                gap:10px;
                margin:0 0 18px;
                flex-wrap:wrap
            }
            .checkout-step-pill{
                font-size:12.5px;
                font-weight:700;
                color:var(--mut);
                padding:6px 12px;
                border-radius:20px;
                border:1px solid var(--bdr);
                background:#fafafa
            }
            .checkout-step-pill.is-active{
                color:#fff;
                background:#dd3cb2;
                border-color:#dd3cb2
            }
            .checkout-step-pill.is-done{
                color:#1d6a35;
                background:#eef7ef;
                border-color:#cfe6d4
            }
            .checkout-step--hidden{
                display:none!important
            }
            .checkout-step-summary{
                margin:0 0 16px;
                padding:12px 14px;
                border:1px solid var(--bdr);
                border-radius:10px;
                background:#fafafa;
                font-size:13px;
                line-height:1.45
            }
            .checkout-step-summary strong{
                display:block;
                margin-bottom:4px;
                font-size:14px
            }
            .continue-btn{
                margin-top:18px
            }
            .continue-btn:disabled{
                opacity:.65;
                cursor:not-allowed
            }
            .checkout-back-btn{
                display:inline-flex;
                align-items:center;
                margin:0 0 14px;
                padding:0;
                border:0;
                background:none;
                color:#dd3cb2;
                font-family:inherit;
                font-size:14px;
                font-weight:700;
                cursor:pointer;
                text-decoration:underline;
                text-underline-offset:3px
            }
            .checkout-back-btn:hover{
                color:#c82ba0
            }
            .checkout-retry-btn{
                display:block;
                width:100%;
                margin-top:12px;
                padding:12px 16px;
                border:1px solid var(--bdr);
                border-radius:10px;
                background:#fff;
                color:var(--ink);
                font-family:inherit;
                font-size:14px;
                font-weight:700;
                cursor:pointer
            }
            .checkout-retry-btn:hover{
                border-color:#dd3cb2;
                color:#dd3cb2
            }
            .checkout-pay-submit:disabled{
                opacity:.65;
                cursor:not-allowed
            }