.ab-quantity{display:inline-grid;grid-template-columns:38px 44px 38px;align-items:center;width:122px;min-width:122px;height:48px;border:1px solid var(--line);border-radius:4px;background:#fff;overflow:hidden}
.ab-quantity button{height:46px;border:0;background:transparent;font-size:20px;line-height:1;color:var(--ink);cursor:pointer;padding:0}
.ab-quantity button:hover{background:var(--cream)}
.ab-quantity button:disabled{opacity:.3;cursor:default}
.ab-quantity input{width:100%;min-width:0;height:46px;padding:0;border:0;background:transparent;text-align:center;color:var(--ink);font:inherit;font-size:14px;appearance:textfield;-moz-appearance:textfield;border-radius:0}
.ab-quantity input::-webkit-inner-spin-button,.ab-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.product-buy .buy-row{grid-template-columns:122px minmax(0,1fr);gap:14px}
.ab-cart-drawer{position:fixed;inset:0 0 0 auto;width:460px;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#fff;color:var(--ink);box-shadow:-12px 0 40px #0002;overflow:hidden}
.ab-cart-drawer::backdrop{background:rgba(21,27,24,.52)}
body.ab-cart-open{overflow:hidden}
.ab-drawer-content{display:flex;flex-direction:column;height:100%;min-height:0}
.ab-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:19px 24px;border-bottom:1px solid var(--line);flex-shrink:0}
.ab-drawer-header h2{font-family:var(--sans);font-size:17px;font-weight:600;margin:0}
.ab-drawer-header h2 span{font-weight:400;color:var(--muted);margin-left:5px}
.ab-cart-close{display:grid;place-items:center;border:0;background:none;width:40px;height:40px;font-size:28px;cursor:pointer;color:var(--ink)}
.ab-free-shipping{display:flex;gap:10px;align-items:center;background:var(--cream);padding:16px 24px;font-size:12px;line-height:1.5;flex-shrink:0}
.ab-free-shipping>span{display:grid;place-items:center;flex-shrink:0;border:1px solid var(--sage);border-radius:50%;width:20px;height:20px;color:var(--sage)}
.ab-drawer-form{display:flex;flex-direction:column;flex:1;min-height:0}
.ab-drawer-items{overflow-y:auto;overscroll-behavior:contain;flex:1;padding:4px 24px}
.ab-cart-line{display:grid;grid-template-columns:88px minmax(0,1fr) 24px;gap:14px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}
.ab-cart-image{display:block;width:88px;height:104px;background:#fff}
.ab-cart-image img{width:100%;height:100%;object-fit:contain}
.ab-cart-title{display:block;font-family:var(--serif);font-size:20px;line-height:1.2;overflow-wrap:anywhere;margin-bottom:8px}
.ab-cart-detail{min-width:0}
.ab-cart-detail p{font-size:11px;color:var(--muted);margin:6px 0;overflow-wrap:anywhere}
.ab-cart-unit{font-size:12px;margin:10px 0;color:var(--muted)}
.ab-cart-line-bottom{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:12px}
.ab-cart-line .ab-quantity{height:38px;width:110px;min-width:110px;grid-template-columns:32px 44px 32px}
.ab-cart-line .ab-quantity input,.ab-cart-line .ab-quantity button{height:36px}
.ab-cart-line-total{font-size:13px;white-space:nowrap}
.ab-cart-remove{display:grid;place-items:center;width:24px;height:32px;color:var(--muted);font-size:22px}
.ab-cart-remove svg{width:16px;height:16px}
.ab-drawer-footer{flex-shrink:0;border-top:1px solid var(--line);padding:20px 24px max(20px,env(safe-area-inset-bottom));background:#fff}
.ab-cart-subtotal{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:17px;font-weight:600;margin:0 0 12px}
.ab-cart-subtotal small{font-size:10px;font-weight:400;color:var(--muted)}
.ab-cart-tax-note{font-size:11px;line-height:1.5;color:var(--muted);margin:10px 0 18px}
.ab-drawer-footer .btn{margin-top:8px;border-radius:24px}
.ab-cart-outline{background:#fff}
.ab-drawer-empty{display:flex;flex:1;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:32px 24px;gap:16px}
.ab-drawer-empty h3{font-size:32px;margin:0}
.ab-drawer-empty p{margin:0;color:var(--muted)}
.ab-drawer-empty button{border:0;background:transparent;cursor:pointer}
.ab-cart-page-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:48px;align-items:start}
.ab-cart-page-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line)}
.ab-cart-page-heading h2,.ab-cart-page-summary h2{font-size:27px;margin:0}
.ab-cart-page-heading span{font-size:13px;color:var(--muted)}
.ab-cart-page-items .ab-cart-line{grid-template-columns:120px minmax(0,1fr) 28px;padding:26px 0;gap:22px}
.ab-cart-page-items .ab-cart-image{width:120px;height:130px}
.ab-cart-page-items .ab-cart-title{font-size:24px}
.ab-cart-page-summary{background:#fff;padding:28px;border:1px solid var(--line)}
.ab-cart-page-summary .ab-free-shipping{margin:22px -28px;padding:16px 28px}
.ab-cart-page-summary .btn{border-radius:24px;margin-top:8px}
.ab-cart-help{text-align:center;font-size:12px;margin:20px 0 0;text-decoration:underline}
.ab-cart-error:not([hidden]){display:block;padding:14px 20px;background:#fff0ea;color:#7b2920;font-size:13px;line-height:1.5}
.ab-cart-drawer>.ab-cart-error:not([hidden]){position:absolute;z-index:2;top:79px;left:0;right:0}
.ab-cart-enhanced [data-cart-update]{display:none}
[aria-busy=true] [data-cart-checkout]{opacity:.55;pointer-events:none}
[data-cart-form] button:disabled{cursor:wait;opacity:.5}
@media(max-width:820px){.ab-cart-page-grid{grid-template-columns:1fr;gap:28px}.ab-cart-page-items .ab-cart-title{font-size:22px}}
@media(max-width:560px){.ab-cart-drawer{width:100vw}.ab-drawer-header{padding:14px 18px}.ab-drawer-items{padding:0 18px}.ab-drawer-footer{padding:16px 18px max(16px,env(safe-area-inset-bottom))}.ab-free-shipping{padding:14px 18px}.ab-cart-line{grid-template-columns:72px minmax(0,1fr) 20px;gap:10px}.ab-cart-image{width:72px;height:92px}.ab-cart-title{font-size:18px}.ab-cart-page-items .ab-cart-line{grid-template-columns:82px minmax(0,1fr) 22px;gap:12px}.ab-cart-page-items .ab-cart-image{width:82px;height:100px}.ab-cart-page-items .ab-cart-title{font-size:20px}.ab-cart-page-summary{padding:22px}.product-buy .buy-row{gap:10px}.ab-cart-line-total{font-size:12px}}
@media(prefers-reduced-motion:no-preference){.ab-cart-drawer[open]{animation:ab-cart-enter .22s ease-out}@keyframes ab-cart-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}}
