.cart-page-wrapper { display: flex; gap: 40px; margin: 20px 0 40px 0; flex-wrap: wrap; }
.cart-items-wrapper,
.cart-summary-wrapper { padding: 20px; flex: 1; }
.cart-items-wrapper h2,
.cart-summary-wrapper h2 { margin: 0 0 20px 0; }
.cart-upsells-wrapper { width: 100%; }

.page-header,
.line-divider { display: none; }

.cart-items-wrapper,
.cart-summary-wrapper,
.cart-item,
.cart-item .cart-item-image img,
.empty-cart-wrapper,
.cart-discount-field input:focus,
.upsell-product-item-image,
.upsell-product-item-detail,
.upsell-product-nav button { border-radius: 10px; box-shadow: 0px 0px 9px #354F9C, 0px 0px 9px #354F9C, 0px 0px 9px #354F9C; }

.cart-item-name:hover,
.upsell-product-item-detail h3:hover { color: #fff; text-shadow: 0px 0px 9px #354F9C, 0px 0px 9px #354F9C, 0px 0px 9px #354F9C; }

.empty-cart-wrapper { padding: 20px 40px; max-width: 400px; margin: 0 auto; }
.empty-cart-wrapper p { text-align: center; margin: 1em 0; }
.empty-cart-wrapper p:last-child { margin-top: 40px; }

.btn-cart-checkout { margin: 0 0 30px 0; }

.cart-discount-field { display: flex; gap: 20px; margin: 12px 0; }
.cart-discount-field input { transition: .2s; border-radius: 10px; border: 2px solid #354F9C; background: transparent; padding: 0 20px; flex: 1; color: #ffffff; font-weight: 600; }
.cart-discount-field input::placeholder { color: rgba(255,255,255,.5); font-weight: 400; }
.cart-discount-field input:focus { border-color: #354F9C; outline: none; background: transparent; }
.discount-code-applied { display: flex; gap: 10px; align-items: center; }
.remove-discount { background: transparent; border: none; outline: none; cursor: pointer; }
.remove-discount svg { transform: scale(.8); }
.remove-discount svg path { fill: #fff; }
.discount-code-error { color: red; }

/* upsell products */
.topgift-upsell-products { margin-bottom: 40px; }
.topgift-upsell-products h2 { font-size: 1.65em; margin: 0 0 10px 0; }
.upsell-products-slider { opacity: 0; visibility: hidden; }
.upsell-products-slider.slick-initialized { visibility: visible; opacity: 1; margin-left: -15px; margin-right: -15px; }
.upsell-product-item { padding: 15px; }
.upsell-product-item-image { overflow: hidden; margin-bottom: 20px; max-height: 280px; }
.upsell-product-item-image img { object-fit: cover; width: 100%; height: 100%; }
.upsell-product-item-detail { border-radius: 0; text-align: center; padding: 15px; display: flex; flex-direction: column; justify-content: space-between; margin-bottom: 10px; }
.upsell-product-item-detail h3 { font-size: 1.1em; font-weight: 400; margin: 0 0 15px 0; }
.upsell-product-item-price { font-size: 1.1em; font-weight: 600; color: #ffffff; }
.upsell-product-nav { display: none; }

@media screen and (max-width: 1200px) {
    .upsell-products-slider .slick-list { overflow-x: auto; scroll-snap-type: x mandatory; }
    .upsell-products-slider .slick-list::-webkit-scrollbar { border-radius: 40px; background-color: #354F9C; scrollbar-width: thin; }
    .upsell-products-slider .slick-list::-webkit-scrollbar-thumb { background-color: #232F57; border-radius: 40px; }
    .upsell-products-slider .slick-list::-webkit-scrollbar-button { display: none!important; }

    .upsell-product-nav { display: flex; gap: 15px; justify-content: center; margin-top: 15px }
    .upsell-product-nav button { cursor: pointer; background: transparent; border: none; width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border-radius: 48px; }
    .upsell-product-nav button path { fill: #fff; }
    .upsell-product-nav button svg { width: 12px; }
}

@media screen and (max-width: 768px) {
    .cart-page-wrapper { margin-top: 0; }
}