body.cart-drawer-open { overflow: hidden; }
.cart-content-refreshing { pointer-events: none; opacity: .65; }
#headerCartPanel { height: 100dvh; box-shadow: -8px 0 32px rgba(24, 39, 65, .09); }
#headerCartPanel .header-cart-panel-header { padding: 22px 24px 18px; gap: 12px; border-bottom: 1px solid #edf0f4; }
#headerCartPanel .header-cart-panel-title { font-size: 17px; font-weight: 600; line-height: 1.4; color: #303743; }
#headerCartPanel .header-cart-panel-close { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 34px; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 8px; color: #647080; background: transparent; }
#headerCartPanel .header-cart-panel-close:hover { background: #f3f5f8; color: #303743; }
#headerCartPanel .header-cart-panel-body { padding: 0 24px 22px; }
#headerCartPanel .header-cart-panel-items { scrollbar-width: thin; scrollbar-color: #d9dfe8 transparent; }
#headerCartPanel .dropdown-cart-itembox { display: grid; grid-template-columns: minmax(0, 1fr) 28px; gap: 8px; align-items: start; padding: 20px 0; border-bottom: 1px solid #edf0f4; }
#headerCartPanel .dropdown-cart-itembox-content { display: flex; gap: 14px; align-items: flex-start; min-width: 0; }
#headerCartPanel .dropdown-cart-itembox-content-img { flex: 0 0 68px; width: 68px; height: 68px; margin: 0; overflow: hidden; border-radius: 8px; background: #fafbfc; }
#headerCartPanel .dropdown-cart-itembox-content-img img { display: block; width: 100%; height: 100%; object-fit: contain; }
#headerCartPanel .dropdown-cart-itembox-content-t { min-width: 0; margin: 0; flex: 1; }
#headerCartPanel .dropdown-cart-itembox-content-t-1 { overflow-wrap: anywhere; margin: 0 0 7px; font-size: 14px; line-height: 1.45; font-weight: 600; }
#headerCartPanel .dropdown-cart-itembox-content-t-1 a { text-decoration: none; }
#headerCartPanel .dropdown-cart-itembox-content-t-3 { margin: 0 0 4px; font-size: 12px; line-height: 1.5; color: #6a7380; }
#headerCartPanel .cart-drawer-quantity-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 10px 0 0; }
#headerCartPanel .cart-drawer-quantity-label { font-size: 12px; color: #7a8390; }
#headerCartPanel .cart-drawer-quantity { display: inline-flex; align-items: center; border: 1px solid #e2e7ee; border-radius: 8px; overflow: hidden; background: #fff; }
#headerCartPanel .cart-drawer-quantity button { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 0; background: #f7f9fc; color: #617087; font-size: 18px; font-weight: 400; line-height: 1; cursor: pointer; }
#headerCartPanel .cart-drawer-quantity button:hover:enabled { background: #edf3ff; color: #3977db; }
#headerCartPanel .cart-drawer-quantity input { width: 46px; height: 32px; padding: 3px; border: 0; border-left: 1px solid #edf0f4; border-right: 1px solid #edf0f4; border-radius: 0; text-align: center; font-size: 13px; font-weight: 500; color: #354154; background: #fff; appearance: textfield; -moz-appearance: textfield; }
#headerCartPanel .cart-drawer-quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#headerCartPanel button:disabled { opacity: .35; cursor: default; }
#headerCartPanel .dropdown-cart-itembox-trash { width: 28px; margin: 0; }
#headerCartPanel .cart-drawer-delete { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 32px; border-radius: 6px; color: #d97c7c; text-decoration: none; }
#headerCartPanel .cart-drawer-delete i { font-size: 18px; }
#headerCartPanel .cart-drawer-delete:hover { background: #fff1f1; color: #c84c4c; }
#headerCartPanel .header-cart-panel-subtotal { flex-shrink: 0; padding: 16px 0; border-top: 1px solid #e8edf3; }
#headerCartPanel .dropdown-cart-priceTotal-l { width: auto; font-size: 13px; color: #687383; }
#headerCartPanel .dropdown-cart-priceTotal-r { width: auto; margin-left: auto; font-size: 18px; font-weight: 600; color: #273343; }
#headerCartPanel .header-cart-panel-actions { display: flex; flex-direction: column; flex-shrink: 0; gap: 9px; margin-top: 0; }
#headerCartPanel .cart-drawer-primary, #headerCartPanel .cart-drawer-offer { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 42px; box-sizing: border-box; padding: 11px 12px; border-radius: 8px; text-align: center; font-size: 13px; line-height: 1.4; font-weight: 500; text-decoration: none; }
#headerCartPanel .cart-drawer-primary { color: #fff; }
#headerCartPanel .cart-drawer-offer { border: 1px solid #dbe4f2; background: #f6f8fc; color: #405e8b; }
#headerCartPanel .cart-drawer-offer:hover { border-color: #bdd0eb; background: #edf3fb; color: #305386; }
#headerCartPanel button:focus:not(:focus-visible), #headerCartPanel a:focus:not(:focus-visible) { outline: none; }
#headerCartPanel button:focus-visible, #headerCartPanel a:focus-visible { outline: 2px solid #9dbef4; outline-offset: 2px; }
#headerCartPanel .cart-drawer-quantity input:focus-visible { outline: 2px solid #9dbef4; outline-offset: -2px; }
.cart-drawer-message { margin: 12px 24px 0; padding: 10px 12px; border-radius: 6px; font-size: 13px; }
.cart-drawer-message.is-error { background: #fff0ef; color: #a32e28; }
.cart-drawer-message[hidden] { display: none; }
.cart-form-message { color: #a32e28; background: #fff0ef; padding: 8px 10px; font-size: 13px; margin-top: 6px; }
.cart-button-feedback { position: relative; }
.cart-button-feedback .cart-button-indicator { display: inline-block; width: 14px; height: 14px; margin-right: 7px; vertical-align: middle; }
.cart-button-loading { cursor: wait; }
.cart-button-loading:disabled { opacity: .85; }
.cart-button-feedback[data-tooltip]::before, .cart-button-feedback[data-tooltip]::after { display: none; }
.cart-button-loading .cart-button-indicator { border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: cart-button-spin .7s linear infinite; }
.cart-button-success .cart-button-indicator { font-size: 16px; line-height: 14px; }
.cart-button-compact .cart-button-indicator { margin-right: 0; }
.cart-button-compact .cart-button-status { position: absolute; z-index: 5; top: calc(100% + 5px); left: 50%; transform: translateX(-50%); padding: 5px 8px; border-radius: 5px; background: #273343; color: #fff; font-size: 11px; font-weight: 500; line-height: 1.4; white-space: nowrap; pointer-events: none; }
@keyframes cart-button-spin { to { transform: rotate(360deg); } }
.cart-drawer-busy .cart-drawer-quantity, .cart-drawer-busy .cart-drawer-delete { pointer-events: none; opacity: .55; }
@media (max-width: 480px) {
    #headerCartPanel { width: 100%; max-width: 100%; }
    #headerCartPanel .header-cart-panel-header { padding: 18px 16px 14px; }
    #headerCartPanel .header-cart-panel-body { padding: 0 16px 16px; }
    #headerCartPanel .dropdown-cart-itembox { padding: 16px 0; }
    #headerCartPanel .dropdown-cart-itembox-content { gap: 10px; }
    #headerCartPanel .dropdown-cart-itembox-content-img { flex-basis: 60px; width: 60px; height: 60px; }
    #headerCartPanel .header-cart-panel-title { font-size: 16px; }
    #headerCartPanel .cart-drawer-message { margin-left: 16px; margin-right: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    #headerCartPanel, #headerCartOverlay { transition: none; }
    .cart-button-loading .cart-button-indicator { animation: none; }
}
