
/*--- SHOPPING CART PAGE ---------------------------------------*/
.shopping-cart-page {padding:clamp(1.5rem, 3vw, 4rem) clamp(1rem, calc(1rem + ((1vw - 0.85rem) * 29.5455)), 7.5rem);background-color:#fff}


    /*--- top note -----------*/
    .shoppingcartNote {padding:0;background-color:transparent;border-radius:0;color:#000 !important;margin:0 0 2rem}
        .shoppingcartNote a {}
        .shoppingcartNote:has( + div.orderLimitNotice) {margin-bottom:1rem}


    /*--- top notice -----------*/
    div.orderLimitNotice {width:fit-content;padding:.5rem;border:1px solid #ccc;background-color:#f3f3f3;border-radius:.15rem;font-weight:bold;color:#ce202e;text-align:left;line-height:1.2;margin:0 0 2rem}
        div.orderLimitNotice br {display:none}


    /*--- free holster -----------*/
    a[href*="holster-promotion"] {display:block;width:fit-content;margin:0 auto 1rem}
        a[href*="holster-promotion"] img {}


    /*--- 2-column group -----------*/
    .shopping-cart-page > div:not([class], [id]) {display:flex;flex-direction:column;gap:1rem;/*margin:0 0 2rem*/}

        /*--- sidebar ---*/
        .shopping-cart-page #ctl00_PageContent_DivCartSummary {display:flex;flex-wrap:wrap;align-items:start;gap:0 2rem}

        @media (min-width:700px) {
            .shopping-cart-page > div:not([class], [id]) {display:grid;grid-template-columns:1fr 19rem;grid-auto-rows:auto auto 1fr auto;align-items:start;gap:0 2rem}

            /*--- sidebar ---*/
            .shopping-cart-page #ctl00_PageContent_DivCartSummary {grid-column:2;grid-row:1/4;margin-top:clamp(1rem, 2vw, 2rem)}
        }

        @media (min-width:700px) and (max-height:999px) and (min-height:700px) {
            /*--- sidebar ---
            .shopping-cart-page #ctl00_PageContent_DivCartSummary {position:sticky;top:5rem}*/
        }

        @media (min-width:1000px) and (min-height:750px) {
            /*--- sidebar ---
            .shopping-cart-page #ctl00_PageContent_DivCartSummary {top:7rem}*/
        }


    /*--- headings ---*/
    .shopping-cart-page h1, .shopping-cart-page h2 {padding:0;font-family:'Open Sans', sans-serif;font-weight:bold;text-transform:none;letter-spacing:-.04em;color:#666}
        .shopping-cart-page h1 {font-size:clamp(1.5rem, 4vw, 2.5rem);margin:0 0 clamp(1rem, 3vw, 2.5rem)}


    /*--- common pricing list --------------*/
    .shopping-cart-metadata {display:flex;flex-direction:column;gap:.1em;font-size:1.07142857rem;font-weight:600;color:#666}
        .shopping-cart-metadata > div {display:flex;justify-content:space-between;gap:1rem}
            .shopping-cart-metadata dt {}
            .shopping-cart-metadata dd {/*align-self:end*/}
                .shopping-cart-metadata b {font-weight:600;color:#ce202e}
                .shopping-cart-metadata strong {font-weight:bold}
                .shopping-cart-metadata small {display:block;font-size:.857142857rem;font-weight:normal;margin:.25em 0 0}


    /*--- cart listing ------------------------*/
    #ctl00_PageContent_ctrlShoppingCartNewDesign {/*grid-column:1*/}
    .shopping-cart-listing {display:flex;flex-direction:column;gap:1rem;color:#666;font-weight:600;margin:0 0 clamp(2rem, 2vw, 3rem)}
        .shopping-cart-listing > li {display:grid;align-items:start;grid-template-columns:6rem 1fr;gap:1rem clamp(1rem, 2vw, 2rem);padding:clamp(1rem, 2.5vw, 2rem) clamp(1rem, 2.5vw, 2rem) 1rem;box-shadow:0 0 .5rem rgba(0,0,0,.5), 0 0 0 clamp(.5rem, .75vw, .75rem) #eee}

            /*--- sale flag -------------*/
            .shopping-cart-listing > li > div:first-child {grid-column:1/-1;grid-row:1;width:fit-content;padding:.1em 1.2em .1em .3em;background-color:#ce202e;font-size:.8571425857rem;color:#fff;text-transform:uppercase;font-weight:bold;position:relative;clip-path:polygon(0% 0%, 100% 0%, calc(100% - .9em) 100%, 0% 100%)}

            /*--- image ---*/
            .shopping-cart-listing > li > img {grid-column:1;grid-row:1;align-self:center;display:block}

            /*--- title/link ---*/
            .shopping-cart-listing > li > a {grid-column:1/-1;display:block;font-size:1.1rem;font-weight:bold}
                .shopping-cart-listing > li > a:not(:hover):not(:focus) {color:#666}


            /*--- metadata/general content group ----------*/
            .shopping-cart-listing > li > div:nth-last-of-type(2) {grid-column:2;grid-row:1;align-self:center;display:flex;flex-direction:column;gap:.25rem;font-size:.8571425857rem}

                /*--- metadata ---*/
                .shopping-cart-listing > li > div:nth-last-of-type(2) .shopping-cart-metadata {font-size:.8571425857rem}
                    .shopping-cart-listing > li > div:nth-last-of-type(2) .shopping-cart-metadata > div {flex:100%;justify-content:start;gap:1ch}

            /*--- hidden <dt>s ---*/
            .shopping-cart-listing > li > div:nth-last-of-type(2) .shopping-cart-metadata > div:nth-child(n+2):nth-child(-n+4) dt {position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%)}

            /*--- stock ---*/
            .shopping-cart-listing > li > div:nth-last-of-type(2) .shopping-cart-metadata > div:nth-child(2) dd {display:flex;align-items:center;gap:.5em}
                .shopping-cart-listing > li > div:nth-last-of-type(2) .shopping-cart-metadata > div:nth-child(2) dd::before {display:block;width:1.5em;height:.75em;background-color:#11872f;border-radius:.25em;content:""}

            /*--- pricing ---*/
            .shopping-cart-listing > li > div:nth-last-of-type(2) .shopping-cart-metadata > div:nth-child(n+3):nth-child(-n+4) {flex:0}
                .shopping-cart-listing > li > div:nth-last-of-type(2) .shopping-cart-metadata > div:nth-child(3)::after {content:"/"}

            /*--- special text ---*/
            .shopping-cart-listing .cart-shipping {color:#378433;font-weight:bold}


            /*--- quantity/savings group --------------*/
            .shopping-cart-listing > li > div:last-of-type {grid-column:1/-1;display:grid;grid-template-columns:max-content max-content 1fr;gap:0 1rem}

                /*--- quantity ---*/
                .shopping-cart-listing > li > div:last-of-type label {grid-row:1/10;align-self:center;display:block;padding:0;font-size:1rem}
                .shopping-cart-listing > li > div:last-of-type input {grid-row:1/10;display:block;width:4em;height:4em;padding:.5em .25em .5em .25em;background-color:#e6e6e6;border:0;border-radius:0;font-size:1rem;text-align:center;color:#000;margin:0;appearance: textfield}

                /*--- pricing ---*/
                .shopping-cart-listing > li > div:last-of-type .shopping-cart-metadata > div:first-of-type {margin:0 0 .5em}


            /*--- action group --------------*/
            .shopping-cart-listing > li > ul {grid-column:1/-1;display:flex;flex-wrap:wrap;margin:0 -.5rem}
                .shopping-cart-listing > li > ul :is(button, a) {padding:.5rem;background-color:transparent;font-size:.8571425857rem;color:#ce202e;text-transform:none;font-weight:600;text-decoration:underline;margin:0}
                    .shopping-cart-listing > li > ul :is(button, a):hover, .shopping-cart-listing > li > ul :is(button, a):focus {color:#bb1725}


            @media (max-width:400px) {
                /*--- pricing ---*/
                .shopping-cart-listing > li > div:last-of-type .shopping-cart-metadata {grid-column:1/-1;margin-top:1rem}
            }

            @media (min-width:600px) and (max-width:699px), (min-width:900px) {
                .shopping-cart-listing > li {grid-template-columns:6rem 1fr auto}

                    /*--- title ---*/
                    .shopping-cart-listing > li > a {grid-column:2/4;grid-row:1;align-self:center}

                    /*--- metadata/general content group ----------*/
                    .shopping-cart-listing > li > div:nth-last-of-type(2) {grid-column:1/3;grid-row:auto;align-self:start}

                    /*--- quantity/savings group ----------------------*/
                    .shopping-cart-listing > li > div:last-of-type {grid-column:auto;justify-self:end;grid-template-columns:max-content max-content minmax(17rem, 1fr)}

                    /*--- action group ---*/
                    .shopping-cart-listing > li > ul {justify-self:end}
            }

            @media (min-width:700px) {
                #ctl00_PageContent_ctrlShoppingCartNewDesign {margin-bottom:0}
                /*.shopping-cart-listing {margin-bottom:0}*/
            }

            @media (min-width:1000px) {
                .shopping-cart-listing > li {grid-template-columns:clamp(8rem, calc(8rem + ((1vw - 0.71rem) * 50)), 10rem) 1fr auto}

                        /*--- image ---*/
                        .shopping-cart-listing > li > img {grid-row:1/4;align-self:start}

                        /*--- title ---*/
                        .shopping-cart-listing > li > a {align-self:start}

                    /*--- metadata/general content group ---*/
                    .shopping-cart-listing > li > div:nth-last-of-type(2) {grid-column:2}

                    /*--- action group ---*/
                    .shopping-cart-listing > li > ul {grid-column:2/4}
            }


    /*--- FFL dealer --------------*/
    #ctl00_PageContent_DivCartSummary > div:not([class]):first-of-type {flex:100%}
        #ctl00_PageContent_DivCartSummary > div:not([class]) > div:not([class]) {margin:0 0 .5rem}
            #ctl00_PageContent_DivCartSummary > div:not([class]) > div:not([class]) > div:not([class]) {line-height:1.2;font-weight:600;margin:clamp(0rem, 2vw, 2rem) 0 .5rem !important}
            #ctl00_PageContent_DivCartSummary > div:not([class]) > div:not([class]) input {border-radius:.15rem;margin:0}


    /*--- cart summary --------------*/
    .shopping-cart-summary {flex:1 0 19rem;color:#666}

        /*--- count ---*/
        .shopping-cart-summary > div:first-child {padding:0 0 1.5rem;border-bottom:2px solid #999;font-size:1.0714285714em;font-weight:bold;text-align:right;margin:0 0 1.5rem}

        /*--- heading ---*/
        .shopping-cart-summary h2 {font-size:1.2857142857em;margin:0 0 1rem}

        /*--- pricing list ---*/
        .shopping-cart-summary > .shopping-cart-metadata {margin:0 0 2rem}
            .shopping-cart-summary > .shopping-cart-metadata:only-of-type > div:first-child {padding-bottom:1em;border-bottom:1.5px solid #999;margin-bottom:1em}

        /*--- checkout button ---*/
        .shopping-cart-summary > :is(button, input[type="submit"]) {width:100%;font-size:1.2857142857em;border-radius:.15rem;margin:0 0 1.5rem}
            /*.shopping-cart-summary > input[type="submit"] {padding-top:.35em;padding-bottom:.35em}*/

        /*--- shipping estimate --------------*/
        .shopping-cart-summary > div:not(:first-child):not([class]) {padding:.5em .5em;border:2px solid #999;margin:0 0 2rem}
            .shopping-cart-summary > div:not(:first-child):not([class]) h3 {font-size:.8571425857rem;text-transform:uppercase;font-weight:bold;color:#5a5a5a;margin:0 0 .5em}

            /*--- ZIP input ---*/
            .shopping-cart-summary fieldset {display:flex;flex-wrap:wrap;margin:0}
                .shopping-cart-summary label {flex:100%;font-size:.8571425857rem;text-transform:none;font-weight:600;margin:0}
                .shopping-cart-summary fieldset input {flex:1;padding:.5em;background-color:#e6e6e6;border:0;border-radius:0;font-weight:600;color:#000;margin:0}
                .shopping-cart-summary fieldset button {padding:0;width:2.5em;max-height:2.5em;background-color:#e6e6e6;border-radius:0;color:#000;position:relative;margin:0;overflow:hidden}
                    .shopping-cart-summary fieldset button::before {display:block;padding:100% 0 0;content:""}
                    .shopping-cart-summary fieldset button::after {display:block;width:1em;height:1em;font-family:'Fontawesome';font-weight:normal;font-size:1em;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;transition:color .2s;content:"\f002"}
                    .shopping-cart-summary fieldset button:hover::after, .shopping-cart-summary fieldset button:focus::after {color:#ce202e}

        /*--- pricing list ---*/
        .shopping-cart-summary > div:not(:first-child):not([class]) .shopping-cart-metadata {gap:.5em;font-size:.8571425857rem}
            .shopping-cart-summary > div:not(:first-child):not([class]) .shopping-cart-metadata dd {flex:0 0 8ch}

        /*--- link ---*/
        .shopping-cart-summary > div:not(:first-child):not([class]) > button {display:block;padding:.25em 0;background-color:transparent;font-size:.9rem;font-weight:bold;text-transform:none;text-align:center;text-decoration:underline;margin:1em 0 0}
            .shopping-cart-summary > div:not(:first-child):not([class]) > button:not(:hover):not(:focus) {color:#666}
            .shopping-cart-summary > div:not(:first-child):not([class]) > button b {color:#ce202e}
            .shopping-cart-summary > div:not(:first-child):not([class]) > button:hover, .shopping-cart-summary > div:not(:first-child):not([class]) > button:focus {color:#000}


    /*--- shipping estimator (cart version) --------------*/
    .row-request-estimate {margin:0 0 1.5rem}

        /*--- toggle ---*/
        .row-request-estimate .estimate-buttons .button {display:block;width:100%;border-radius:.15rem;margin:0}

        /*--- fields & results wrap ---*/
        #ctl00_PageContent_pnlShippingAndTaxEstimator {padding:.5em .5em;border:2px solid #999;margin:1.5rem 0 0}
            #ctl00_PageContent_pnlShippingAndTaxEstimator span {display:block}

        /*--- form fields (<table>) ---*/
        :is(.shipping-tax-estimator-address, .shipping-tax-estimator), :is(.shipping-tax-estimator-address, .shipping-tax-estimator) :is(tbody, tr, th, td) {display:block}
            .shipping-tax-estimator-address {border:0}
                .shipping-tax-estimator-address .header {display:none}
                .shipping-tax-estimator-address td {width:auto !important}
                .shipping-tax-estimator-address select, .shipping-tax-estimator-address input:not([type="submit"]) {width:100%;padding:.5em;background-color:#e6e6e6;border:0;border-radius:0;font-weight:600;color:#000}
                #ctl00_PageContent_ctrlEstimateAddress_GetEstimateButton {width:100%}

        /*--- estimate results ---*/
        .shipping-tax-estimator {border:0;font-weight:600 !important;margin:1.5rem 0 0}
            .shipping-tax-estimator .header {display:none}
                .shipping-tax-estimator tr {display:flex;justify-content:space-between;gap:.5rem 1rem;margin:0 0 .25em}
                    .shipping-tax-estimator td {width:auto !important}
                        .shipping-tax-estimator .caption {font-weight:600}


    /*--- gift card --------------*/
    #ctl00_PageContent_pnlGiftCard {padding:.5em .5em;border:2px solid #999;margin:0 0 1.5rem}

        /*--- expander toggle ---*/
        .shopping-cart-page #ctl00_PageContent_btnShowGiftCards {font-size:1rem;margin:0 0 1.5rem}

        /*--- input ---*/
        #ctl00_PageContent_pnlGiftCard .form-group input {width:100%;padding:.5em;background-color:#e6e6e6;border:0;border-radius:0;font-weight:600;color:#000}

        /*--- button ---*/
        #ctl00_PageContent_pnlGiftCard input[type="submit"] {width:100%}


    /*--- Ammo+ callout --------------*/
    .shopping-cart-ammo-plus-callout {flex:1 0 14rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem;padding:clamp(1rem, 3vw, 2rem);background-color:#1d2f47;border-radius:.75rem;color:#fff;text-align:center;margin:0 0 2rem}

        /*--- heading ---*/
        .shopping-cart-ammo-plus-callout h2 {align-self:stretch;display:flex;flex-direction:column;flex-wrap:wrap;justify-content:center;align-items:center;gap:.25em .5em;padding:.5rem;border:1px solid #fff;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:#fff}
            .shopping-cart-ammo-plus-callout h2 img {display:block;/*width:5rem*/;width:auto;height:.875rem}

        /*--- feature list ---*/
        .shopping-cart-ammo-plus-callout ul {display:flex;flex-direction:column;align-items:center;gap:1.25rem}
            .shopping-cart-ammo-plus-callout li {position:relative}
                .shopping-cart-ammo-plus-callout li:not(:last-of-type)::after {display:block;position:absolute;top:calc(100% + .2em);left:calc(50% - .5em);content:"+"}

        /*--- button ---*/
        .shopping-cart-ammo-plus-callout a, .shopping-cart-ammo-plus-callout button {width:100%;max-width:12em;margin:0}
        .shopping-cart-ammo-plus-callout small {font-style:italic;font-size:.85714em}
            .shopping-cart-ammo-plus-callout small span {display:inline-block}

        @media (max-width:599px) {
            .shopping-cart-ammo-plus-callout h2 {flex-direction:row}
        }


    /*--- Ammo+ popover --------------*/
    #shopping-cart-ammo-plus-popover {flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;width:calc(100% - 1rem);max-width:31rem;max-height:100vh;padding:2rem clamp(1rem, 3vw, 2rem);border:0;box-shadow:0 0 2rem rgba(0,0,0,.6);color:#333;text-align:center;z-index:1}

        /*--- open state ---*/
        #shopping-cart-ammo-plus-popover:open, #shopping-cart-ammo-plus-popover:popover-open {display:flex}

        /*--- heading ---*/
        #shopping-cart-ammo-plus-popover h2 {display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.25em;padding:.4em 1em;border:2px solid #757575;font-size:1.6rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#000;margin:0 0 .75rem}
            #shopping-cart-ammo-plus-popover h2 img {width:auto;height:1.214286rem}

        /*--- subheading ---*/
        #shopping-cart-ammo-plus-popover > div:first-of-type {font-size:1rem;letter-spacing:-.05em;text-transform:uppercase;font-weight:bold}
            #shopping-cart-ammo-plus-popover > div:first-of-type::after {display:block;width:90%;border-bottom:2px solid #ccc;margin:1rem auto .25rem;content:""}
            #shopping-cart-ammo-plus-popover > div:first-of-type b {color:#ce202e}
            #shopping-cart-ammo-plus-popover > div:first-of-type span {display:block;font-size:1.1rem;margin:0 0 .5em}
                #shopping-cart-ammo-plus-popover > div:first-of-type span b {display:block;font-size:3.8em;letter-spacing:normal;font-weight:800;margin:-.1em 0 0}

        /*--- text ---*/
        #shopping-cart-ammo-plus-popover > p {font-size:.857142857em;font-weight:600;margin:0}
        #shopping-cart-ammo-plus-popover > p span {display:inline-block}
        #shopping-cart-ammo-plus-popover > p b {font-weight:600;color:#ce202e}
        #shopping-cart-ammo-plus-popover > p strong {font-weight:bold}
            #shopping-cart-ammo-plus-popover > p:last-of-type {margin-bottom:1em}

        /*--- links ---*/
        #shopping-cart-ammo-plus-popover > a, #shopping-cart-ammo-plus-popover > button {flex:1 0 21ch;padding:.7em .5em;border-radius:0;font-size:1rem;margin:0}


    /*--- product listing --------------*/
    .shopping-cart-page > section {margin:0 0 clamp(2rem, 3vw, 3rem) !important}
        .shopping-cart-page > section h2, #ctl00_PageContent_pnlUpsellProducts section h2 {font-size:clamp(1.5rem, 3vw, 1.8rem);color:#ce202e;margin:0 0 clamp(1rem, 2vw, 1.5rem)}
        .shopping-cart-page .product-list {}


    /*--- saved for later --------------------------------*/
    #ctl00_PageContent_pnlSavedForLater {}
        #ctl00_PageContent_pnlSavedForLater h2 {font-size:1.4rem;margin-bottom:1rem}


    /*--- upsell --------------------------------*/
    #ctl00_PageContent_pnlUpsellProducts {margin:0 0 2rem}
        #ctl00_PageContent_pnlUpsellProducts .product-listing-price {}
            #ctl00_PageContent_pnlUpsellProducts .product-listing-price::before {display:none}




















/*--- CHECKOUT PAGES --------------*/
.checkout-page {display:grid;gap:clamp(1rem, 2vw, 2rem);align-items:start;grid-auto-rows:auto auto 1fr;max-width:75rem;margin:clamp(1rem, 5vw, 5rem) auto 0}

    /*--- logo ---*/
    .checkout-page > img:first-child {grid-column:1/-1;width:24rem}

    /*--- column structure -----------------*/
    .checkout-page > div {padding:clamp(1rem, 2vw, 2rem);background-color:#fff;box-shadow:0 0 .3rem rgba(0,0,0,.2)}

        /*--- checkout step content ---*/
        .checkout-page > div:first-of-type {grid-column:1/2;grid-row:2/4}

        /*--- next button ---*/
        .checkout-page > a {margin:0}

        /*--- order details ---*/
        .checkout-page > div:last-of-type {}

        @media (min-width:54rem) {
            .checkout-page {grid-template-columns:1fr 23rem}
        }


    /*--- checkout step content ----------------------*/
    .checkout-page > div:first-of-type {display:grid;grid-template-columns:min-content 1fr;align-items:start;gap:2rem 0;padding-top:0}

        /*--- step selector ---*/
        .checkout-page > div:first-of-type > label {position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%)}
        .checkout-page > div:first-of-type > select {align-self:stretch;min-width:fit-content;padding:.5rem .75rem .5rem 1rem;background-color:#404040;border-radius:0;border:0;border-right:1rem solid #404040;font-size:1.2rem;color:#fff;margin-left:clamp(-2rem, -2vw, -1rem)}
            .checkout-page > div:first-of-type > select option[disabled] {color:#d4d4d4}

        /*--- heading ---*/
        .checkout-page > div:first-of-type h1 {padding:.85em;background-color:#808080;font-size:1.45rem;font-weight:bold;color:#fff;margin-right:clamp(-2rem, -2vw, -1rem)}

        /*--- form group ---*/
        .checkout-page fieldset {grid-column:1/-1;display:grid;gap:2rem clamp(1rem, 2vw, 2rem)}
        .checkout-page fieldset, .checkout-page label, .checkout-page input, .checkout-page select {margin:0}
            .checkout-page legend {padding:0;font-size:1.3rem;text-transform:none;color:#595959;margin:0 0 2rem}
            .checkout-page fieldset > div {position:relative}
                .checkout-page fieldset label:has(+ :is(input, select)) {padding:0;font-size:.87514287rem;color:#595959;position:absolute;top:.5rem;left:.5rem;margin:0 0 .25rem;pointer-events:none;transition:top .2s, left.2s}

            @media (min-width:32rem) {
                .checkout-page fieldset {grid-template-columns:1fr 1fr;grid-template-rows:repeat(6, auto);grid-auto-flow:column}
            }

                    /*--- focus & filled state ---*/
                    .checkout-page fieldset > div:focus-within label, .checkout-page fieldset label:has(+ input:not(:placeholder-shown)), .checkout-page fieldset label:has(+ select option:checked:not([hidden])) {top:-1.2em;left:0}

                    /*--- non-checkbox or radio ---*/
                    .checkout-page fieldset input:not([type="checkbox"]):not([type="radio"]), .checkout-page fieldset select {width:100%;font-weight:600;padding:1em 1em;border-radius:.1rem;border-color:#757575}
                        .checkout-page fieldset select {-webkit-appearance:none;padding-top:.95em;padding-bottom:.95em}

                    /*--- checkbox ---*/
                    .checkout-page fieldset input[type="checkbox"] {scale:1.5;accent-color:#ce202e;margin:0 1rem 0 .25rem}
                        .checkout-page fieldset input[type="checkbox"] + label {padding:0;font-size:1.1rem;letter-spacing:-.025em;text-transform:none;font-weight:600;color:#666}

                    /*--- required ---*/
                    .checkout-page fieldset label:has(+ :is(input, select)[required])::after {content:" *"}

        /*--- last item ---*/
        .checkout-page fieldset > div:last-of-type {grid-column:1;grid-row:-1}


        /*--- next button ---*/
        .checkout-page > a {display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15em 1.5em;font-size:1.25rem;border-radius:.15rem;margin:0}
            .checkout-page > a img {width:2.5rem}


        /*--- order details ----------------------*/
        .checkout-page > div:last-of-type {display:grid;grid-template-columns:1fr auto;align-items:start}
            .checkout-page > div:last-of-type h2 {grid-column:1/-1;padding:0;font-family:'Open Sans', sans-serif;font-size:1.3rem;font-weight:bold;text-transform:none;letter-spacing:-.04em;color:#666;margin:0 0 1rem}

            /*--- subtotals ---*/
            .checkout-page > div:last-of-type .shopping-cart-metadata {grid-column:1/-1;gap:1rem;padding-bottom:1rem;border-bottom:1.5px solid #9a9a9a;margin-bottom:1rem}

            /*--- cart ---*/
            .checkout-page > div:last-of-type > h2:last-of-type {grid-column:1}
            .checkout-page > div:last-of-type > h2 + a {grid-column:2;font-size:1.05rem;text-decoration:underline;color:#3f6fde;font-weight:600;letter-spacing:-.04em}
                .checkout-page > div:last-of-type > h2 + a:is(:hover, :focus) {color:#3a66cc}

                /*--- listing ---*/
                .checkout-page > div:last-of-type > ul {grid-column:1/-1}
                    .checkout-page > div:last-of-type > ul li {display:grid;grid-template-columns:7rem auto 1fr;align-items:start;gap:.25rem .75rem;font-weight:600;color:#666}

                    /*--- content ---*/
                    .checkout-page > div:last-of-type > ul img {grid-row:1/3}
                    .checkout-page > div:last-of-type > ul a {align-self:end;grid-column:2/-1}
                        .checkout-page > div:last-of-type > ul a:not(:hover, :focus) {color:#666}
                    .checkout-page > div:last-of-type > ul div:first-of-type {grid-column:2;font-size:.9285714em}
                    .checkout-page > div:last-of-type > ul div:last-of-type {grid-column:3;color:#ce202e}



















