html.ov-cart-open{overflow:hidden}
.ov-cart-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(520px,100%);height:100dvh;max-height:100dvh;max-width:100%;padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:-12px 0 50px #29241f20;overflow:hidden}
.ov-cart-drawer[open]{display:flex;flex-direction:column;animation:ov-cart-enter .22s ease-out}
.ov-cart-drawer::backdrop{background:#29241f70}
.ov-cart-header{display:flex;align-items:center;justify-content:space-between;padding:24px 26px 16px;border-bottom:1px solid var(--line);flex:none}
.ov-cart-header .eyebrow{margin:0 0 8px;font-size:9px;letter-spacing:.14em}
.ov-cart-header h2{font-size:34px;margin:0;line-height:1.1}
.ov-cart-header h2 span{font:14px Arial,sans-serif;letter-spacing:0;color:var(--muted)}
.ov-cart-header>button{width:44px;height:44px;border:0;background:transparent;color:var(--ink);font-size:30px}
.ov-cart-status{margin:0;padding:0 26px;font-size:12px;flex:none}.ov-cart-status:not(:empty){padding-block:10px}.ov-cart-status[data-error=true]{color:#8a2538}
#CartDrawerContent{display:flex;flex:1;min-height:0;flex-direction:column}
.ov-cart-scroll{overflow-y:auto;overscroll-behavior:contain;padding:20px 26px;min-height:0;flex:1}
.ov-cart-promo{display:flex;gap:12px;background:#542e3509;border:1px solid var(--line);padding:12px 14px;margin-bottom:22px}
.ov-cart-promo>span{color:var(--accent);font-size:20px}.ov-cart-promo strong{font-size:12px}.ov-cart-promo p{font-size:10px;line-height:1.7;margin:3px 0 0;color:var(--muted)}
.ov-cart-line{display:grid;grid-template-columns:94px minmax(0,1fr);gap:18px;padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.ov-cart-photo{display:flex;align-items:flex-start;justify-content:center}.ov-cart-photo img{width:94px;height:112px;object-fit:contain;background:transparent}
.ov-cart-product-title{font:21px/1.2 var(--serif);letter-spacing:-.02em}
.ov-cart-variant,.ov-cart-property{font-size:10px;color:var(--muted);line-height:1.7;margin:6px 0}
.ov-cart-line-price{font-size:12px;display:flex;gap:10px;flex-wrap:wrap;margin:9px 0 0}.ov-cart-line-price s{color:var(--muted);font-weight:400}
.ov-cart-sale{font-size:10px;color:var(--accent);margin:5px 0}
.ov-cart-line-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:13px}
.ov-cart-quantity{display:flex;border:1px solid var(--line);align-items:center;height:38px}.ov-cart-quantity button{width:36px;height:36px;background:none;border:0;color:var(--ink);font-size:17px}.ov-cart-quantity span{font-size:12px;min-width:26px;text-align:center}
.ov-cart-remove,.ov-cart-footer-links button{background:none;border:0;color:var(--muted);font-size:10px;padding:8px 0;text-decoration:underline;text-underline-offset:3px}
.ov-cart-recommendations .eyebrow{font-size:8px;letter-spacing:.16em;margin:0 0 8px}.ov-cart-recommendations>h3{font:28px/1.2 var(--serif);letter-spacing:-.025em;margin:0 0 7px}.ov-cart-pairing-copy{font-size:11px;color:var(--muted);margin:0 0 20px}
.ov-cart-recommendation{display:grid;grid-template-columns:74px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.ov-cart-upsell-photo img{width:74px;height:92px;object-fit:contain}.ov-cart-upsell-info>a{font:18px/1.25 var(--serif)}.ov-cart-upsell-info>p{font-size:11px;margin:6px 0 12px}.ov-cart-upsell-info form label{display:block;font-size:10px;color:var(--muted);margin:7px 0 3px}.ov-cart-upsell-info select{width:100%;min-width:0;background:transparent;border:1px solid var(--line);padding:8px;font-size:12px;color:var(--ink);min-height:38px;border-radius:0}.ov-cart-upsell-add{width:100%;background:transparent;border:1px solid var(--ink);color:var(--ink);font-size:11px;min-height:40px;margin-top:10px}.ov-cart-upsell-add:hover{background:var(--ink);color:var(--paper)}
.ov-cart-upsell-info [data-upsell-enhanced]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8px}.ov-cart-upsell-info [data-upsell-enhanced] label:nth-of-type(1){grid-column:1;grid-row:1}.ov-cart-upsell-info [data-upsell-enhanced] label:nth-of-type(2){grid-column:2;grid-row:1}.ov-cart-upsell-info [data-upsell-enhanced] select:nth-of-type(1){grid-column:1;grid-row:2}.ov-cart-upsell-info [data-upsell-enhanced] select:nth-of-type(2){grid-column:2;grid-row:2}
.ov-cart-footer{padding:18px 26px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper);flex:none;box-shadow:0 -6px 18px #29241f05}
.ov-cart-total-row,.ov-cart-savings{display:flex;justify-content:space-between;gap:18px;font-size:11px;margin:0 0 9px}.ov-cart-savings{color:var(--accent);padding:9px 12px;background:#542e3509}.ov-cart-subtotal{font-size:15px}.ov-cart-note{font-size:10px;line-height:1.7;color:var(--muted);margin:9px 0 14px}.ov-cart-checkout{width:100%;min-height:54px}.ov-cart-footer-links{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:10px}.ov-cart-footer-links>a{font-size:10px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.ov-cart-empty{padding:50px 30px;text-align:center;margin:auto}.ov-cart-empty>span{font-size:38px;color:var(--accent)}.ov-cart-empty h3{font:32px var(--serif);margin:20px 0 12px}.ov-cart-empty p{font-size:13px;color:var(--muted);margin-bottom:26px}
.ov-cart-drawer [hidden]{display:none!important}.ov-cart-drawer [aria-busy=true]{pointer-events:none;opacity:.65}.ov-cart-drawer button:disabled{opacity:.45;cursor:not-allowed}
.cart-page .ov-cart-checkout-note{background:#542e3509;border:1px solid var(--line);padding:16px;font-size:12px;margin-bottom:25px}
@keyframes ov-cart-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:700px){.ov-cart-header{padding:20px 20px 14px}.ov-cart-header h2{font-size:30px}.ov-cart-scroll{padding:16px 20px}.ov-cart-footer{padding:15px 20px max(14px,env(safe-area-inset-bottom))}.ov-cart-status{padding-inline:20px}.ov-cart-line{grid-template-columns:78px minmax(0,1fr);gap:14px}.ov-cart-photo img{width:78px;height:98px}.ov-cart-product-title{font-size:19px}.ov-cart-upsell-info select{font-size:16px}}
@media(prefers-reduced-motion:reduce){.ov-cart-drawer[open]{animation:none}}
