/* Cart is a full-height modal above navigation, with the shared brand palette. */
body .ml-cart-drawer {
    position: fixed;
    inset: 0 !important;
    z-index: 10040 !important;
    overflow: hidden;
}
body .ml-cart-drawer-backdrop {
    background: rgba(0,0,0,.64) !important;
    backdrop-filter: none !important;
}
body .ml-cart-drawer .ml-cart-drawer-panel {
    --ml-cart-ink: #171512;
    --ml-cart-muted: #68645d;
    --ml-cart-line: #e4e1db;
    box-sizing: border-box;
    position: absolute !important;
    inset: var(--ml-header-offset,0px) 0 0 auto !important;
    display: flex;
    flex-direction: column;
    width: min(460px,100%) !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: hidden;
    background: #fff !important;
    color: var(--ml-cart-ink);
    border: 0;
    border-radius: 0;
    box-shadow: none !important;
}
body .ml-cart-drawer .ml-cart-drawer-head {
    position: relative;
    isolation: isolate;
    flex: 0 0 auto;
    align-items: center;
    gap: 12px;
    min-height: 112px !important;
    padding: 24px !important;
    background: #000 !important;
    color: #f5eee2;
    border: 0 !important;
}
body .ml-cart-drawer .ml-cart-drawer-head::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--ml-wood-image) no-repeat right -34px center / var(--ml-wood-width) auto;
    opacity: .1;
    pointer-events: none;
}
body .ml-cart-drawer .ml-cart-drawer-head p {
    margin: 0 0 8px !important;
    color: #c3a15c !important;
    font: 500 10px/1.4 'Instrument Sans',Arial,sans-serif !important;
    letter-spacing: .16em;
}
body .ml-cart-drawer .ml-cart-drawer-head h2 {
    margin: 0 !important;
    color: #f5eee2 !important;
    font: 400 32px/1.1 Georgia,'Times New Roman',serif !important;
    letter-spacing: -.025em;
}
body .ml-cart-drawer .ml-cart-drawer-close {
    position: static !important;
    flex: 0 0 44px;
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #f5eee2 !important;
    font: 300 30px/1 Arial,sans-serif;
}
body .ml-cart-drawer .ml-cart-drawer-close:hover { color: #d4b778 !important; }
body .ml-cart-drawer .ml-cart-drawer-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden;
    background: #fff !important;
}
body .ml-cart-drawer .ml-mini-cart-list {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding: 0 !important;
    margin: 0;
    gap: 0;
}
body .ml-cart-drawer .ml-mini-cart-item {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: 76px minmax(0,1fr) 44px !important;
    align-items: start;
    gap: 16px !important;
    padding: 24px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ml-cart-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
body .ml-cart-drawer .ml-mini-cart-thumb {
    width: 76px !important;
    height: 100px !important;
    padding: 0 !important;
    background: #f2efe9 !important;
    border: 0 !important;
    border-radius: 0 !important;
}
body .ml-cart-drawer .ml-mini-cart-thumb img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: contain;
    transform: none !important;
    filter: none !important;
}
body .ml-cart-drawer .ml-mini-cart-name {
    display: block;
    margin: 3px 0 8px !important;
    color: var(--ml-cart-ink) !important;
    font: 400 21px/1.2 Georgia,'Times New Roman',serif !important;
    letter-spacing: -.015em;
}
body .ml-cart-drawer .ml-mini-cart-package {
    display: block;
    color: var(--ml-cart-muted) !important;
    font: 400 12px/1.5 'Instrument Sans',Arial,sans-serif !important;
}
body .ml-cart-drawer .ml-mini-cart-line {
    display: flex !important;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px 16px !important;
    margin-top: 12px;
    color: var(--ml-cart-muted);
    font: 400 13px/1.5 'Instrument Sans',Arial,sans-serif;
}
body .ml-cart-drawer .ml-mini-cart-line strong {
    color: var(--ml-cart-ink) !important;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}
body .ml-cart-drawer .ml-mini-cart-remove {
    position: static !important;
    width: 44px !important;
    height: 44px !important;
    min-height: 44px;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--ml-cart-muted) !important;
    background: transparent !important;
    font: 400 24px/1 Arial,sans-serif;
}
body .ml-cart-drawer .ml-mini-cart-remove:hover { color: #171512 !important; background: #f2efe9 !important; }
body .ml-cart-drawer .ml-mini-cart-summary {
    flex: 0 0 auto;
    padding: 24px !important;
    padding-bottom: max(24px,env(safe-area-inset-bottom)) !important;
    background: #fff !important;
    border-top: 1px solid var(--ml-cart-line) !important;
    box-shadow: none !important;
}
body .ml-cart-drawer .ml-mini-cart-subtotal {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin: 0 0 20px !important;
    color: var(--ml-cart-muted);
}
body .ml-cart-drawer .ml-mini-cart-subtotal > span { font: 400 14px/1.5 'Instrument Sans',Arial,sans-serif !important; }
body .ml-cart-drawer .ml-mini-cart-delivery-note { margin: -8px 0 20px; color: var(--ml-cart-muted); font: 400 13px/1.6 'Instrument Sans',Arial,sans-serif; }
body .ml-cart-drawer .ml-cart-delivery { margin: -6px 0 22px; }
body .ml-cart-drawer .ml-cart-delivery-message { margin: 0 0 11px; color: var(--ml-cart-muted); font: 400 14px/1.5 'Instrument Sans',Arial,sans-serif; }
body .ml-cart-drawer .ml-cart-delivery-message strong,
body .ml-cart-drawer .ml-cart-delivery-message strong * { color: var(--ml-cart-ink); font: 600 14px/1.5 'Instrument Sans',Arial,sans-serif; }
body .ml-cart-drawer .ml-cart-delivery.is-unlocked .ml-cart-delivery-message { display: flex; align-items: center; gap: 9px; }
body .ml-cart-drawer .ml-cart-delivery-message svg { flex: 0 0 20px; color: #92702e; }
body .ml-cart-drawer .ml-cart-delivery-track { height: 3px; overflow: hidden; background: #ece8df; }
body .ml-cart-drawer .ml-cart-delivery-track span { display: block; height: 100%; background: #c3a35f; }
body .ml-cart-drawer .ml-mini-cart-subtotal strong,
body .ml-cart-drawer .ml-mini-cart-subtotal strong * {
    color: var(--ml-cart-ink) !important;
    font: 400 25px/1.2 Georgia,'Times New Roman',serif !important;
}
body .ml-cart-drawer .ml-mini-cart-actions { display: grid; grid-template-columns: 1fr !important; gap: 8px !important; }
body .ml-cart-drawer .ml-button {
    min-height: 48px !important;
    padding: 14px 20px !important;
    border: 1px solid #c3a35f !important;
    border-radius: 0 !important;
    background: #c3a35f !important;
    color: #171512 !important;
    box-shadow: none !important;
    font: 500 14px/1.4 'Instrument Sans',Arial,sans-serif !important;
    letter-spacing: .015em !important;
    text-transform: none !important;
}
body .ml-cart-drawer .ml-button:hover { background: #d1b375 !important; }
body .ml-cart-drawer .ml-button.is-secondary {
    min-height: 44px !important;
    padding: 10px 16px !important;
    border-color: transparent !important;
    background: transparent !important;
    color: var(--ml-cart-ink) !important;
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-color: #b5a585;
}
body .ml-cart-drawer .ml-button.is-secondary:hover { color: #71531e !important; }
body .ml-cart-drawer .ml-mini-cart-empty { overflow-y: auto; padding: 32px 24px; }
body .ml-cart-drawer .ml-mini-cart-empty p { color: var(--ml-cart-muted); }
body .ml-cart-drawer a:focus-visible,
body .ml-cart-drawer button:focus-visible { outline: 2px solid #a68543 !important; outline-offset: 3px; }

@media (max-width: 480px) {
    body .ml-cart-drawer .ml-cart-drawer-panel { width: 100% !important; }
    body .ml-cart-drawer .ml-cart-drawer-head { min-height: 100px !important; padding: 20px !important; }
    body .ml-cart-drawer .ml-cart-drawer-head h2 { font-size: 29px !important; }
    body .ml-cart-drawer .ml-mini-cart-item { grid-template-columns: 68px minmax(0,1fr) 44px !important; padding: 20px 16px !important; gap: 12px !important; }
    body .ml-cart-drawer .ml-mini-cart-thumb { width: 68px !important; height: 90px !important; }
    body .ml-cart-drawer .ml-mini-cart-name { font-size: 20px !important; }
    body .ml-cart-drawer .ml-mini-cart-summary { padding: 20px !important; padding-bottom: max(20px,env(safe-area-inset-bottom)) !important; }
}
@media (prefers-reduced-motion: reduce) {
    body .ml-cart-drawer .ml-cart-drawer-panel,
    body .ml-cart-drawer .ml-cart-drawer-backdrop { transition: none !important; }
}
/* Lock the viewport without making body a new scroll container for the sticky header. */
@supports (overflow: clip) {
    html.ml-cart-drawer-open body { overflow: clip visible !important; }
}
