.cart .cart-page {padding:4px 0 0;}
.cart .cart-page__header {display:block; margin-bottom:10px;}
.cart .cart-page__header h1 {margin-bottom:0;}
.cart .cart-page__layout {display:flex; align-items:flex-start; gap:24px;}
.cart .cart-page__main {flex:1 1 auto; min-width:0;}
.cart .cart-page__summary {width:300px; flex:0 0 300px; position:sticky; top:20px;}
.cart.cart--single-item .cart-page__layout {display:block;}
.cart.cart--single-item .cart-page__summary {display:flex; align-items:flex-start; justify-content:center; gap:14px; width:auto; margin-top:20px; position:static;}
.cart.cart--single-item .cart-summary__shipping,
.cart.cart--single-item .totals {flex:0 1 340px; width:100%; max-width:340px; margin:0;}
.cart.cart--single-item .cart-summary__shipping {padding:14px;}
.cart.cart--single-item .totals {padding:12px 0 8px;}
.cart.cart--single-item .cart-summary__shipping .cart-shipping__method {padding:8px 10px;}
.cart.cart--single-item .totals th,
.cart.cart--single-item .totals td {padding-left:12px; padding-right:12px;}
.cart.cart--single-item .totals .checkout-types {padding-left:12px; padding-right:12px;}
.cart .cart-section {background:#fff; border:1px solid #e3e7ec; border-radius:8px; box-shadow:0 2px 10px rgba(15,23,42,0.04);}
.cart .cart-section--items {padding:0 16px 4px;}
.cart .cart-section--tools {margin-top:14px; padding:16px;}
.cart .cart-summary__shipping {margin-bottom:14px; padding:16px;}
.cart .cart-section__head {padding:16px 0 12px; border-bottom:1px solid #edf1f5; margin-bottom:4px;}
.cart .cart-section__head h2 {margin:0; font-size:18px; color:#1f2a37;}
.cart .data-table#shopping-cart-table {border:0;}
.cart .data-table#shopping-cart-table col.cart-col-image {width:112px;}
.cart .data-table#shopping-cart-table col.cart-col-product {width:auto;}
.cart .data-table#shopping-cart-table col.cart-col-price {width:122px;}
.cart .data-table#shopping-cart-table col.cart-col-qty {width:140px;}
.cart .data-table#shopping-cart-table th {background:none; border:0; border-bottom:1px solid #edf1f5; font-size:11px; text-transform:uppercase; letter-spacing:0.04em; color:#6b7280; padding:12px 8px;}
.cart .data-table#shopping-cart-table td {border:0 !important;}
.cart .data-table#shopping-cart-table tbody tr {border-bottom:1px solid #e6edf5;}
.cart .data-table#shopping-cart-table tbody td.cart-item__price,
.cart .data-table#shopping-cart-table tbody td.cart-item__qty {border-left:1px solid #eef3f8 !important;}
.cart .data-table#shopping-cart-table tbody td {padding:18px 12px; vertical-align:top; background:none;}
.cart .data-table#shopping-cart-table tbody td {border-bottom:1px solid #e6edf5 !important;}
.cart .data-table#shopping-cart-table tbody td:first-child,
.cart .cart-item__product {vertical-align:middle !important;}
.cart .data-table#shopping-cart-table tbody tr:last-child,
.cart .data-table#shopping-cart-table tbody tr:last-child td {border-bottom:0 !important;}
.cart .data-table#shopping-cart-table .product-image {display:flex; position:relative; align-items:center; justify-content:center; width:75px; height:75px; overflow:hidden; background:none; line-height:0;}
.cart .data-table#shopping-cart-table .product-image img {display:block; max-width:75px; max-height:75px; width:auto; height:auto; border:1px solid #e5e7eb; border-radius:6px;}
.cart .data-table#shopping-cart-table .product-image--real img {width:75px; height:auto;}
.cart .data-table#shopping-cart-table .product-image--placeholder {width:75px; height:75px;}
.cart .data-table#shopping-cart-table .product-image--placeholder img {width:75px; height:75px;}
.cart .data-table#shopping-cart-table .product-image .product-media__badge {position:absolute; left:50%; bottom:1px; transform:translateX(-50%); z-index:2; display:-webkit-box; width:calc(100% - 4px); min-height:10px; max-height:15px; padding:1px 2px; background:rgba(255,255,255,0.9); color:#374151; font-size:clamp(5px,0.45vw,6px); line-height:0.95; letter-spacing:0; text-align:center; text-transform:uppercase; white-space:normal; word-break:break-word; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; box-sizing:border-box; pointer-events:none;}
.cart .cart-item--inactive {opacity:0.55;}
.cart .cart-item__product {padding-top:0; text-align:left;}
.cart .cart-item__product-head {display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:0;}
.cart .cart-item__product .product-name {flex:1 1 auto; max-width:none; margin:0; line-height:1.4; text-align:left;}
.cart .cart-item__product .product-name a {display:block; overflow:visible; font-size:13px; font-weight:600; color:#1f2a37; text-decoration:none; white-space:normal; word-break:break-word;}
.cart .cart-item__product .product-name a:hover {color:#114EA6; text-decoration:none;}
.cart .cart-item__label {display:block; margin-bottom:8px; font-size:11px; line-height:1.3; text-transform:uppercase; letter-spacing:0.04em; color:#9ca3af;}
.cart .item-options dt,
.cart .item-options dd {font-size:12px; line-height:1.6; color:#4b5563;}
.cart .item-options dt {font-style:normal; font-weight:600;}
.cart .item-options {margin-bottom:6px;}
.cart .cart-item__messages {margin-top:10px;}
.cart .cart-item__messages .item-msg {font-size:12px; line-height:1.5; margin:4px 0 0; color:#b91c1c;}
.cart .cart-item__actions {flex:0 0 auto; margin:0; padding-top:1px;}
.cart #shopping-cart-table .price,
.cart #shopping-cart-table .cart-price {font-size:15px; font-weight:600; color:#e56a17;}
.cart .cart-item__qty,
.cart .cart-item__price {text-align:center;}
.cart .cart-item__qty,
.cart .cart-item__price {vertical-align:middle !important;}
.cart .cart-item__price .cart-price {font-size:13px; font-weight:600;}
.cart .cart-item__price .cart-price {display:inline-block; line-height:1;}
.cart .cart-qty-control {display:inline-flex; align-items:center; vertical-align:middle; border:1px solid #d8dee6; border-radius:8px; overflow:hidden; background:#f9fafb;}
.cart a.qty_modify {position:relative; display:flex; align-items:center; justify-content:center; width:34px; height:34px; margin:0; background:none; color:#1f2a37; font-size:18px; line-height:1; text-decoration:none;}
.cart a.qty_modify:before,
.cart a.qty_modify:after {content:""; position:absolute; background:#334155; border-radius:1px;}
.cart a.qty_modify:before {width:10px; height:2px;}
.cart a.qty_modify.add:after {width:2px; height:10px;}
.cart a.qty_modify:hover {background:#edf2f7;}
.cart a.qty_modify.is-disabled {pointer-events:none; cursor:default;}
.cart a.add {background:none;}
.cart .cart-qty-control .qty {width:46px; height:34px; margin:0; padding:0; border:0; background:#fff; text-align:center; font-size:14px; line-height:34px; color:#111827;}
.cart .cart-qty-control .qty[readonly] {background:#fff; color:#111827; cursor:default;}
.cart .cart-qty-control.is-interaction-locked {pointer-events:none;}
.cart .cart-item__spinner {margin-top:6px;}
.cart .cart-item__remove-link {display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; gap:0; color:#8a94a6; text-decoration:none; font-size:11px; font-weight:600;}
.cart .cart-item__remove-link:hover {color:#b91c1c;}
.cart .cart-item__remove-icon {position:relative; display:inline-block; width:18px; height:18px; border:1px solid currentColor; border-radius:50%;}
.cart .cart-item__remove-icon:before,
.cart .cart-item__remove-icon:after {content:""; position:absolute; top:50%; left:50%; width:8px; height:1.5px; margin-left:-4px; margin-top:-0.75px; background:currentColor; border-radius:1px;}
.cart .cart-item__remove-icon:before {transform:rotate(45deg);}
.cart .cart-item__remove-icon:after {transform:rotate(-45deg);}

html[lang="ja"] .cart .cart-qty-control .qty,
html[lang="ja-JP"] .cart .cart-qty-control .qty {
	line-height:32px;
	padding-top:2px;
}
.cart .cart-collaterals {padding:0; float:none;}
.cart .cart-collaterals__block + .cart-collaterals__block {margin-top:14px;}
.cart .cart-collaterals .col2-set {width:auto; float:none;}
.cart .shipping,
.cart .discount {border:0; border-radius:0; padding:8px 8px 0; overflow:visible; background:transparent;}
.cart .cart-collaterals .col-2 h2,
.cart .shipping h2 {margin:0 0 8px; font-size:18px; text-transform:none; color:#1f2a37;}
.cart .cart-summary__shipping .shipping,
.cart .cart-summary__shipping .discount {padding:0; background:transparent;}
.cart .cart-summary__shipping .shipping-form {margin:0;}
.cart .cart-summary__shipping .form-list {margin:0;}
.cart .cart-summary__shipping .form-list li {margin:0 0 12px;}
.cart .cart-summary__shipping .input-box {margin-top:6px;}
.cart .cart-summary__shipping #country {width:100%;}
.cart .cart-summary__shipping #country.is-interaction-locked {pointer-events:none;}
.cart .cart-summary__shipping .cart-shipping__methods {margin-top:12px;}
.cart .cart-summary__shipping .cart-shipping__method {padding:10px 12px;}
.cart .cart-summary__shipping {position:relative;}
.cart .cart-summary__shipping.is-loading .cart-shipping__methods.is-interaction-locked {pointer-events:none;}
.cart .cart-shipping__methods {margin:10px 0 0;}
.cart .cart-shipping__group {margin:0; padding:0;}
.cart .cart-shipping__method {position:relative; display:flex; align-items:flex-start; gap:6px; margin:0 0 8px; padding:9px 14px; border:1px solid #e5e7eb; border-radius:8px; background:#f9fafb; list-style:none;}
.cart .cart-shipping__method:last-child {margin-bottom:0;}
.cart .cart_shipping_method_radio {position:relative; top:3px; margin-top:0; margin-right:2px;}
.cart .cart_shipping_method_label {display:flex; justify-content:space-between; align-items:flex-start; width:100%; margin-left:0; gap:12px; cursor:pointer; font-size:13px; line-height:1.5; color:#1f2937;}
html[dir="rtl"] .cart .cart_shipping_method_label,
.rtl .cart .cart_shipping_method_label {margin-right:0;}
.cart .cart-shipping__method-title {font-weight:600;}
.cart .cart-shipping__method-price {font-weight:600; color:#475569; white-space:nowrap;}
.cart .cart-shipping__method input:checked + .cart_shipping_method_label .cart-shipping__method-price,
.cart .cart-shipping__method:hover .cart-shipping__method-price {color:#114ea6;}
.cart .cart-shipping__loading {position:absolute; right:12px; top:12px;}
.cart .totals {float:none; width:auto; background:#fff; border:1px solid #dce3eb; padding:14px 0 10px; border-radius:8px; box-shadow:0 10px 24px rgba(15,23,42,0.06);}
.cart .totals {position:relative; overflow:hidden;}
.cart .cart-summary__head {padding:0 18px 2px;}
.cart .cart-summary__head h2 {margin:0 0 6px; font-size:20px; color:#111827;}
.cart .cart-summary__loading-indicator {position:absolute; top:10px; left:18px; right:18px; height:4px; border-radius:999px; background:rgba(255,158,92,0.16); overflow:hidden; opacity:0; visibility:hidden; transition:opacity .18s ease, visibility .18s ease; z-index:5; pointer-events:none;}
.cart .cart-summary__loading-indicator span {display:block; width:118px; height:100%; border-radius:999px; background:linear-gradient(90deg, rgba(255,206,170,0.55) 0%, rgba(255,158,92,0.98) 48%, rgba(255,206,170,0.55) 100%); transform:translateX(-130px);}
.cart .totals.is-loading .cart-summary__loading-indicator {opacity:1; visibility:visible;}
.cart .totals.is-loading .cart-summary__loading-indicator span {animation:cartSummarySlider 1.65s ease-in-out infinite;}
.cart .totals:before {content:""; position:absolute; inset:0; border-radius:8px; box-shadow:0 0 0 1px rgba(255,158,92,0.68) inset; opacity:0; visibility:hidden; transition:opacity .18s ease, visibility .18s ease; z-index:4; pointer-events:none;}
.cart .totals:after {content:""; position:absolute; inset:-1px; border-radius:9px; box-shadow:0 0 0 3px rgba(255,158,92,0.06); opacity:0; visibility:hidden; transition:opacity .18s ease, visibility .18s ease; z-index:3; pointer-events:none;}
.cart .totals.is-loading:before,
.cart .totals.is-loading:after {opacity:1; visibility:visible;}
.cart .totals.is-loading #shopping-cart-totals-table {opacity:.84;}
.cart .totals.is-loading .checkout-types,
.cart .totals.is-loading .cart-summary__extra-fee {opacity:.72;}
.cart .totals.is-loading #shopping-cart-totals-table tbody tr,
.cart .totals.is-loading #shopping-cart-totals-table tfoot tr {position:relative;}
.cart .totals.is-loading #shopping-cart-totals-table tbody tr:after,
.cart .totals.is-loading #shopping-cart-totals-table tfoot tr:after {content:""; position:absolute; left:34%; width:34%; top:4px; bottom:4px; border-radius:999px; background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.55), rgba(255,255,255,0)); background-size:200% 100%; animation:cartSummaryShimmer 1.3s linear infinite; pointer-events:none;}
.cart .totals.is-loading #shopping-cart-totals-table tfoot tr:last-child {color:#4b5563;}
.cart .totals.is-loading #shopping-cart-totals-table tfoot tr:last-child:after {display:none;}
.cart .totals table {margin:10px 0;}
.cart .totals th,
.cart .totals td {padding:6px 14px; font-size:13px; color:#374151; vertical-align:top;}
.cart .totals #shopping-cart-totals-table th,
.cart .totals #shopping-cart-totals-table td.a-right[colspan] {width:62%; line-height:1.4; font-weight:400; font-size:12px; text-align:left !important; word-break:normal; white-space:normal;}
.cart .totals #shopping-cart-totals-table th .cart-total-label,
.cart .totals #shopping-cart-totals-table td.a-right[colspan] .cart-total-label {display:block; line-height:1.35; font-size:12px; font-weight:500; color:#25324a;}
.cart .totals #shopping-cart-totals-table th .cart-total-shipping-method,
.cart .totals #shopping-cart-totals-table td.a-right[colspan] .cart-total-shipping-method {display:block; margin-top:4px; white-space:normal; line-height:1.35; font-size:11px; font-weight:400; color:#7b8798;}
.cart .totals #shopping-cart-totals-table td {width:38%; text-align:right; font-size:13px; font-weight:400; color:#475569; white-space:nowrap;}
.cart .totals #shopping-cart-totals-table tfoot th,
.cart .totals #shopping-cart-totals-table tfoot td {vertical-align:baseline;}
.cart .totals #shopping-cart-totals-table tfoot th {width:62%;}
.cart .totals #shopping-cart-totals-table tfoot td {width:38%;}
.cart .totals #shopping-cart-totals-table tfoot th strong,
.cart .totals #shopping-cart-totals-table tfoot td strong {display:block; white-space:nowrap;}
.cart .totals #shopping-cart-totals-table tfoot th strong {white-space:nowrap; font-size:15px; font-weight:500;}
.cart .totals tfoot th,
.cart .totals tfoot td {padding:10px 14px 5px;}
.cart .totals tfoot th strong,
.cart .totals tfoot td strong {font-size:16px; font-weight:600; color:#1f2937;}
.cart .totals .checkout-types {padding:8px 14px 0; text-align:left; float:none;}
.cart .totals .checkout-types li {height:auto; margin:0 0 8px; clear:none;}
.cart .totals .checkout-types .button,
.cart .totals .checkout-types button {width:100%;}
.cart .totals .checkout-types button.check-out {display:block; min-height:40px; width:auto; margin:0 0 0 auto; padding:0 22px !important; border-radius:8px;}
.cart .totals .checkout-types button.check-out .span_checkout {display:block; padding-left:0 !important; margin-left:0 !important; margin-right:0 !important; text-align:center; font-size:14px; font-weight:700;}
.cart .totals .checkout-types .paypal-or {padding:6px 0 0; text-align:center;}
.cart .cart-summary__extra-fee {margin:0; padding:0 16px; list-style:none;}
.cart .cart-summary__trust {display:flex; flex-direction:column; gap:5px; padding:10px 16px 0; border-top:1px solid #f2f5f8; margin-top:2px; font-size:11px; color:#6b7280;}
.cart .totals #shopping-cart-totals-table,
.cart .totals .checkout-types,
.cart .totals .cart-summary__extra-fee {transition:opacity .18s ease;}
.cart .totals.is-loading .checkout-types .button,
.cart .totals.is-loading .checkout-types button {opacity:.93; filter:saturate(.98) brightness(.99); box-shadow:none;}
.cart-empty-state .page-title {margin-bottom:18px;}
.cart-empty-state .cart-empty {border:0; padding:0;}
.cart-empty-state .cart-empty__panel {max-width:720px; padding:40px 48px; border:1px solid #e3e7ec; border-radius:10px; background:#fff; box-shadow:0 8px 24px rgba(15,23,42,0.05);}
.cart-empty-state .cart-empty__lead {margin:0 0 10px; font-size:20px; font-weight:600; color:#111827;}
.cart-empty-state .cart-empty__desc {margin:0; font-size:14px; line-height:1.7; color:#6b7280;}
.cart-empty-state .cart-empty__actions {margin:24px 0 0;}
.cart-empty-state .cart-empty__continue {display:inline-flex; align-items:center; justify-content:center; min-width:180px; height:42px; padding:0 20px 1px; line-height:1; border:1px solid #c9d8ee; border-radius:8px; background:#f5f9ff; color:#1b61af; text-decoration:none; font-size:14px; font-weight:600;}
.cart-empty-state .cart-empty__continue:hover {border-color:#a9c4e6; background:#ebf3ff; color:#114ea6;}

@keyframes cartSummarySlider {
    0% {transform:translateX(-130px);}
    50% {transform:translateX(calc(100% + 12px));}
    100% {transform:translateX(-130px);}
}

@keyframes cartSummaryShimmer {
    0% {background-position:200% 0;}
    100% {background-position:-20% 0;}
}

@media (max-width: 1024px) {
    .cart .cart-page__layout {display:block;}
    .cart .cart-page__summary {width:auto; margin-top:20px; position:static;}
    .cart.cart--single-item .cart-page__summary {display:block;}
    .cart.cart--single-item .cart-summary__shipping,
    .cart.cart--single-item .totals {max-width:none;}
}
