#cart-summary {
    width: 640px;
}

#cart-summary h1 {
    font-size: 36px;
    margin-bottom: 10px;
}

#checkout-form {
    width: calc(100% - 600px - 82px);
}

.cart-count {
    font-size: 18px;
}

.topbanner {
	background-image: url(../../images/2025/cart/cart-bg.jpg);
	background-image: -webkit-image-set(url("../../images/2025/cart/cart-bg.jpg") 1x, url("../../images/2025/cart/cart-bg@2x.jpg") 2x);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin-top: 22px;
    padding: 48px 15px 35px;
}

.topbanner .title {
    font-size: 39px;
    line-height: 1.1025641;
}

.cart-products {
    margin-top: 32px;
}
.cart-products .item {
    border-top: 1px solid #D5D5D5;
    padding: 32px 0;
}

.cart-products .item:nth-last-child(2) {
    border-bottom: 1px solid #D5D5D5;
}

.cart-products h4 {
    font-size: 16px;
    line-height: 17px;
}
.cart-products .qty {
    font-size: 12px;
    line-height: 17px;
}

.cart-products .col-left {
    width: 460px;
}

.cart-products .text-right strong {
    font-size: 19px
}

.cart-products .text-right .product-price {
    font-size: 38px;
    margin: 0 0 30px 0;
}

.cart-products .text-right .removeitem {
    right: 0px;
}

.cart-products .text-right .removeitem span {
    font-size: 14px;
    text-decoration: underline;
}

.cart-products .removeitem img {
    vertical-align: -2px;
    margin-right: 5px;
}

.cart-products tr td {
    padding-top: 22px !important;
    padding-bottom: 17px !important;
}

.pd-price {
    font-size: 26px;
    margin-top: 4px;
    line-height: 1em;
}

.pd-price sup {
    top: -10px;
    font-size: 60%;
}

.pd-price .flex-column sup {
    top: 1px;
}

.pd-price .period {
    font-size: 6px;
    margin: 0;
}

.price-wrap .or {
    font-size: 25px;
    line-height: 1em;
    margin: 10px 18px 0 16px;
}
.cart-products .price-wrap .or {
    font-size: 17px;
    margin: 11px 14px 0 16px;
}

.item-thumb {
    width: 48px;
    margin-right: 4px !important;
}

.item-details {
    padding-left: 9px !important;
}

.item-details h4 {
    margin-bottom: 6px;
}

.item-details .details {
    font-size: 12px;
    line-height: 17px;
    padding-top: 5px;
}

.deliverybanner {
    background-color: #f4f4f4;
    padding: 9px;
}

.deliverybanner img {
    margin-right: 14px;
}

.deliverybanner span {
    font-size: 16px;
}

.cartbottom .text-right strong {
    font-size: 16px;
    margin-bottom: 4px;
}

.cartbottom .text-right span {
    font-size: 12px;
}

.priceblock .pd-price {
    font-size: 39px;
}

.priceblock .pd-price sup {
    top: -15px;
}

.priceblock .pd-price .flex-column sup {
    top: 1px;
}

.priceblock .price-wrap .or {
    font-size: 25px;
    margin: 10px 26px 0 23px;
}

.priceblock .price-wrap .or::before {
    width: 37px;
    height: 22px;
}

.priceblock .pd-price .period {
    font-size: 9px;
}

.cart-sidebar {
    padding: 32px 15px 45px;
}

.cart-sidebar .title {
    font-size: 26px;
    line-height: 1;
    margin-bottom: 4px;
}

.cart-sidebar button[type="submit"]:not(.dontwant),
.js-checkout-mobile {
}

.cart-sidebar small {
    font-size: 13px;
}

.cart-sidebar h2 {
    font-size: 28px;
    line-height: 37px;
    color: #ec182a
}

.cart-sidebar label {
    font-weight: 400;
    font-size: 15px;
    color: #000
}

.cart-sidebar .tamount .price {
    font-size: 41px;
    color: #ec182a
}

.cart-sidebar .tamount .label {
    color: #333;
    font-size: 16px
}

.cart-sidebar .text-muted {
    margin-bottom: 17px;
}

.cart-sidebar .text-muted small {
    font-size: 16px;
}

.cart-sidebar .btm strong {
    color: #000;
    font-size: 17px
}

.cart-sidebar .btm a {
    color: #000;
    text-decoration: underline;
    font-size: 15px;
    line-height: 22px;
    display: block;
}

.cart-sidebar .btm p {
    margin: 0;
    padding: 0
}

.cart-sidebar .form-group {
    margin-bottom: 0;
}

.cart-sidebar .form-control {
    height: 48px;
    line-height: 48px;
    margin-bottom: 14px;
    padding: 0 15px;
    font-family: 'SofiaPro' !important;
    font-weight: 500;
}

/* cart/payment */
.ccform label {
    padding-bottom: 4px;
    display: block;
}

.ccform .price-main {
    font-size: 40px;
}

.form-action {
    padding-top: 26px;
}

.form-action>.flex {
    max-width: 520px;
    gap: 32px;
}

.form-action>.flex>* {
    width: 50%;
    text-align: center;
}

.button-round-invert {
    line-height: 38px;
}

/* Safari Only */
@supports (background: -webkit-named-image(i)) {
    .ccform .price-main {
        transform: translateY(5px);
    }
}


.dontwant p:nth-child(1) {
    font-size: 18px;
}

.dontwant p:nth-child(2) {
    font-size: 14px;
}

#cart-main form{
    width: 100%;
    --gray: #D8D8D8;
}

#cart-main form > div {
    width: 488px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}
#cart-main form > div.form-action {
    width: 100%;
}
#cart-main .form-field {
    padding: 9px;
    flex-basis: 50%;
    flex-grow: 1;
}
#cart-main .form-field label {
    left: 16px;
    font-size: 1.125em;
    margin-bottom: 0;
    line-height: 1;
    margin-top: 0.3em;
    transition: all 0.3s;
}
#cart-main .form-field .textarea_box label {
    margin-top: 16px;
}
#cart-main .form-field input,
#cart-main .form-field textarea,
#cart-main .form-field select{
    font-size: 1.125em;
    height: 58px;
    background-color: #fff;
    width: 100%;
    text-indent: 16px;
    padding-top: 18px;
    border-radius: 12px;
}
#cart-main .form-field select{
    background-image: none;
}
#cart-main .form-field textarea {
    height: 126px;
    padding-top: 16px;
    resize: none;
}
#cart-main .form-field .select_box:after{
    content: '';
    display: block;
    width: 17px;
    height: 10px;
    position: absolute;
    right: 15px;
    background-repeat: no-repeat;
    background-position: center;
	background-image: url(../../../images/2025/contact/down-arrow.png);
	background-image: -webkit-image-set(url("../../../images/2025/contact/down-arrow.png") 1x, url("../../../images/2025/contact/down-arrow@2x.png") 2x);
    background-size: cover;
    pointer-events: none;
}
@-moz-document url-prefix() {
    #cart-main .form-field select {
       text-indent: 8px;
    }
}
#cart-main .form-field select.selected,
#cart-main .form-field input{
    color: var(--black);
}
#cart-main .form-field select,
#cart-main .form-field ::placeholder{
    opacity: 1;
    color: #262626;
}
#cart-main .form-field input:-internal-autofill-selected,
#cart-main .form-field input:-webkit-autofill,
#cart-main .form-field input:-webkit-autofill:focus {
    background-color: #fff !important;
    transition: background-color 0s 600000s, color 0s 600000s !important;
}
#cart-main [type="submit"] {
	width: 297px;
	height: 39px;
	line-height: 37px;
	border-radius: 20px;
	margin-top: 6px;
	font-size: 1.25em;
}
#cart-main [type="submit"].button[disabled]{
    opacity: 0.8;
    cursor: not-allowed;
}

#cart-main .form-field .select_box.focused:after {
    transform: scaleY(-1);
}
#cart-main .form-field .focused label,
#cart-main .form-field .has-value label {
    font-size: 0.84375em;
    margin-top: calc(-2.9em + 24px);
    color: var(--focus-color);
}
#cart-main .form-field .textarea_box.focused label, 
#cart-main .form-field .textarea_box.has-value label {
    margin-top: 8px;
}
#cart-main .form-field .focused select,
#cart-main .form-field .focused textarea,
#cart-main .form-field .focused input{
    border-color: var(--focus-border);
    border-width: 2px;
}
#cart-main .form-field .validation-error:before,
#cart-main .form-field .incomplete-mask:before {
    content: '';
    display: block;
    width: 23px;
    height: 23px;
    position: absolute;
    z-index: 2;
    right: 16px;
    background-repeat: no-repeat;
    background-position: center;
	background-image: url(../../../../images/error.png);
	background-image: -webkit-image-set(url("../../../../images/error.png") 1x, url("../../../../images/error@2x.png") 2x);
    background-size: cover;
    pointer-events: none;
}

#cart-main .form-field .validation-error select,
#cart-main .form-field .validation-error textarea,
#cart-main .form-field .validation-error input,
#cart-main .form-field .incomplete-mask input{
    border-color: var(--error-border);
    border-width: 2px;
}
#cart-main .form-field .validation-error label,
#cart-main .form-field .incomplete-mask label{
    color: var(--error-color);
}
#cart-main .form-field .form-field-error {
    bottom: -1.5em;
    left: 2em;
    font-size: 0.5em;
}


#cart-main .ccform .img {
    margin-bottom: 9px;
    margin-top: 16px;
}

#cart-main .ccform .today {
    font-size: 32px;
    line-height: 1;
    margin-top: 24px;
}

#cart-main .ccform .form-field {
    padding: 10px 6px;
}
#cart-main .ccform .form-field.cvv,
#cart-main .ccform .form-field.exp {
    flex-basis: 100px;
    flex-grow: 0;
}

#cart-main .ccform .button-round-invert {
    line-height: 37px;
    width: 243px;
    height: 39px;
    border-radius: 20px;
    margin-top: 23px;
    font-size: 1.25em;
}
#cart-main .ccform .form-action {
    padding: 0;
}
#cart-main .ccform .form-action p {
    font-size: 24px;
    padding-top: 45px;
    border-top: 1px solid var(--gray);
    width: calc(100% + 30px);
    margin: 40px -15px 0;
}
@media only screen and (max-width:1100px) {
    #cart-summary {
        width: 60%;
    }

    #checkout-form {
        width: calc(40% - 30px);
    }

    .cart-products .col-left {
        width: auto;
    }

    .cart-products .col-right {
        width: 300px;
    }
}

@media only screen and (max-width:991px) {
    .item-thumb {
        margin-left: 0 !important;
    }
    #cart-main .ccform .form-row {
        flex-wrap: wrap;
    }
    #cart-main .ccform .form-field.c-number {
        flex-basis: 100%;
    }
    #cart-main .ccform .form-field.cvv, 
    #cart-main .ccform .form-field.exp {
        flex-basis: 50%;
    }
}
@media only screen and (max-width:767px) {
    .help-bar {
        text-align: center;
        flex-direction: column
    }

    .needhelp .help-bar>div {
        padding-bottom: 30px
    }

    .needhelp .help-bar ul {
        width: 100%;
        padding: 0
    }

    .needhelp .help-bar ul li {
        padding: 0 10px;
        width: 30%
    }

    #cart-summary,
    #checkout-form {
        width: 100%;
    }

    .cartbottom {
        order: 4;
        align-items: flex-start;
        margin-left: 0;
    }

    .deliverybanner {
        order: 5;
    }

    .cart-products {
        order: 6;
        margin-top: 10px;
    }

    #cart-main {
        padding: 20px 0 3px;
    }

    .cartbottom .text-right {
        max-width: 160px;
        text-align: left;
    }

    .cartbottom .priceblock {
        margin-left: 10px;
    }

    .cartbottom .product-price {
        font-size: 41px;
    }

    .cartbottom .price-main sup.decimal {
        font-size: 50%;
    }

    .cartbottom .img-or {
        width: 13px;
        margin: 0 4px;
    }

    .js-checkout-mobile {
        width: 201px;
        height: 32px;
        line-height: 32px;
        font-size: 16px;
        margin-top: 33px;
        border-radius: 16px;
    }

    #cart-main form {
        margin-top: 4px;
    }
    #cart-main .ccform .form-field {
        padding: 6px 10px;
    }

    #cart-main .ccform .today {
        font-size: 20px;
        margin-top: 19px;
    }

    #cart-main .ccform .img {
        padding-bottom: 14px;
    }

    #cart-main .ccform .img img {
        max-width: 197px;
    }
}

@media screen and (max-width: 567px) {

    .topbanner .title {
        font-size: 31px;
        line-height: 37px;
    }

    #cart-summary h1 {
        font-size: 32px;
        margin-bottom: 3px;
    }

    .cart-count {
        font-size: 16px;
    }

    .topbanner {
        margin: 21px 0 23px 0;
        padding: 31px 15px 30px;
    }

    .cartbottom .text-right strong {
        margin-bottom: 5px;
    }

    .cartbottom .text-right span {
        line-height: 17px;
    }

    .priceblock .pd-price {
        font-size: 27px;
        margin-top: 5px;
    }

    .priceblock .pd-price .period {
        font-size: 6px;
        margin-top: 0;
    }

    .priceblock .price-wrap .or {
        font-size: 12px;
        margin: 10px 9px 0 12px;
    }

    .priceblock .pd-price sup {
        top: -9px;
    }

    .priceblock .pd-price .flex-column sup {
        top: 1px;
        left: 0px;
    }

    .deliverybanner {
        margin-top: 20px;
        padding: 11px;
    }

    .deliverybanner img {
        height: auto;
    }

    .cart-sidebar {
        background: transparent;
    }

    .cart-sidebar .title {
        font-size: 18px;
        margin-bottom: 3px;
    }

    .payment .cart-sidebar .title {
        margin-bottom: 1px;
        margin-top: 4px;
    }

    .cart-sidebar .text-muted {
        font-size: 13px;
    }

    .cart-sidebar .text-muted {
        margin-bottom: 20px;
    }

    .cart-sidebar img {
        max-width: 185px;
    }

    .payment .cart-sidebar form {
        padding-top: 14px;
    }

    .payment .form-row {
        flex-wrap: wrap;
    }

    .cart-sidebar .form-row .form-field:nth-child(1) {
        width: 100%;
    }

    .payment .cart-sidebar .text-muted {
        margin-bottom: 16px;
    }

    .ccform .price-main {
        font-size: 27px;
    }

    .form-action {
        padding-top: 12px;
    }

    .form-action>.flex {
        flex-wrap: wrap;
        gap: 26px;
    }

    .form-action>.flex>* {
        width: 100%;
        max-width: 264px !important;
        margin: 0 auto;
    }

    .ccform .form-action p {
        padding-bottom: 0;
    }

    .cart-sidebar {
        box-shadow: none;
        border: 0;
        padding: 27px 0 27px 0;
    }

    .ccform .cart-sidebar {
        padding-top: 0;
    }

    .cart-sidebar .form-control {
        height: 44px;
        line-height: 44px;
    }

    .cart-sidebar button[type="submit"]:not(.dontwant) {
        margin-top: 18px;
        height: 50px;
        padding: 0;
        width: 100%;
    }

    .cartbottom {
        margin: 0;
    }

    .cart-products h4 {
        font-size: 15px;
    }

    .item-details {
        padding-left: 28px !important;
    }

    .item-details .details {
        padding-top: 0;
        line-height: 21px;
    }

    .item-details .pd-price {
        font-size: 27px;
        margin-top: 17px;
    }

    .item-details .pd-price .flex-column sup {
        top: 1px;
        left: 0px;
    }

    .item-details .pd-price .period {
        margin: 0px 0 0 3px;
    }

    .cart-products .price-wrap .or {
        font-size: 12px;
        margin: 19px 9px 0 12px;
    }

    .cart-products .col-left {
        width: 100%;
    }

    .cart-products .col-right {
        width: 22px;
    }

    .cart-products .col-right div {
        display: none;
    }

    .cart-products .text-right .removeitem {
        top: -2px;
        right: 0;
        bottom: auto;
        font-size: 16px;
        text-decoration: none;
    }

    .cart-products .text-right .removeitem span {
        color: #000;
        text-decoration: none;
    }

    .item-thumb {
        width: 84px;
        margin-right: 0px !important;
    }

    .cart-products .item {
        padding: 23px 0 17px 0;
    }

    .cart-products .removeitem img {
        margin-right: 0;
        width: 12px;
    }

    .cart-sidebar .form-field {
        padding: 6px 0;
    }
    #cart-main .form-field {
        padding: 6px 9px;
    }
    #cart-main .ccform .form-action p {
        padding-top: 45px;
        border-top: 1px solid var(--gray);
        width: calc(100% + 30px);
        margin: 51px -15px 0;
        font-size: 16px;
    }
    #cart-main .ccform.button-round-invert {
        margin-top: 15px;
    }
}
@media only screen and (max-width:480px) {
    .bluebanner br {
        display: none
    }

    .needhelp .help-bar ul li span {
        display: block
    }

    .needhelp .help-bar ul li span.mh {
        display: none
    }

    .needhelp .help-bar>div {
        padding-bottom: 15px
    }

    .needhelp {
        padding: 25px 0
    }

    .cart-sidebar .btn-block-blue {
        font-size: 15px
    }

    .cart-sidebar .btm br {
        display: none
    }

    .cart-page footer {
        background-color: #313131;
    }

    .cartbottom .product-price {
        font-size: 36px;
    }

    .cartbottom .text-right {
        max-width: 138px;
    }
}

@media only screen and (max-width:370px) {
    .cartbottom {
        flex-direction: column;
    }

    .cartbottom .text-right {
        max-width: 100%;
    }

    .cartbottom .priceblock {
        margin-top: 15px;
        margin-left: 0;
    }

    .cartbottom .product-price {
        font-size: 41px;
    }
}