.cart-overlay { background:rgba(25,29,25,.42); inset:0; opacity:0; pointer-events:none; position:fixed; transition:opacity .32s ease; z-index:60; }.cart-drawer { background:#fff; box-shadow:-12px 0 35px rgba(31,35,30,.18); display:flex; flex-direction:column; height:100dvh; max-width:470px; position:fixed; right:0; top:0; transform:translateX(105%); transition:transform .38s cubic-bezier(.2,.8,.2,1); width:100%; z-index:61; }.cart-is-open { overflow:hidden; }.cart-is-open .cart-overlay { opacity:1; pointer-events:auto; }.cart-is-open .cart-drawer { transform:translateX(0); }.cart-drawer-header { align-items:flex-start; border-bottom:1px solid #eceae5; display:flex; justify-content:space-between; padding:25px 26px 18px; }.cart-drawer-header .eyebrow { margin-bottom:3px; }.cart-drawer h2 { font-size:1.85rem; margin:0; }.cart-count-label { color:var(--gold-dark); font-family:var(--sans); font-size:.9rem; font-weight:700; vertical-align:middle; }.cart-close { background:#f3f2ef; border:0; border-radius:50%; color:var(--ink); font-size:1.75rem; height:38px; line-height:1; width:38px; }.free-shipping-card { background:#f5f2e9; margin:17px 23px 8px; padding:14px 15px; }.shipping-message { color:#5f543a; font-size:.77rem; font-weight:700; }.shipping-progress { background:#dfd9c8; border-radius:10px; height:7px; margin:10px 0 5px; overflow:hidden; }.shipping-progress span { background:var(--gold); border-radius:inherit; display:block; height:100%; transition:width .4s ease; width:0; }.free-shipping-card p,.cart-summary > p { color:#777972; font-size:.65rem; margin:0; }.cart-items { flex:1; overflow-y:auto; padding:8px 23px 16px; }.cart-item { border-bottom:1px solid #eceae5; display:flex; gap:14px; padding:14px 0; }.cart-item-image { align-items:center; background:linear-gradient(145deg,#e3e3dd,#c9d0c4); color:#777b75; display:flex; flex:0 0 78px; font-size:.58rem; height:90px; justify-content:center; letter-spacing:.05em; text-transform:uppercase; }.cart-item-info { flex:1; min-width:0; }.cart-item-info h3 { font-family:var(--serif); font-size:1.05rem; font-weight:400; line-height:1.15; margin:2px 0 6px; }.cart-item-category { color:var(--gold-dark); font-size:.6rem; font-weight:700; letter-spacing:.08em; margin:0; text-transform:uppercase; }.cart-item-price { font-size:.77rem; margin:0; }.cart-item-actions { align-items:center; display:flex; gap:9px; margin-top:9px; }.cart-item-actions > strong { font-size:.77rem; margin-left:auto; }.quantity-control { align-items:center; border:1px solid #dddcd7; display:flex; }.quantity-control button { background:transparent; border:0; color:var(--gold-dark); font-size:1.1rem; height:26px; width:26px; }.quantity-control span { font-size:.75rem; min-width:17px; text-align:center; }.remove-item { background:none; border:0; color:#9b9d97; font-size:1.2rem; }.cart-empty { margin:auto; padding:30px; text-align:center; }.cart-empty span { color:var(--gold); font-size:2.8rem; }.cart-empty h3 { font-family:var(--serif); font-size:1.5rem; font-weight:400; margin:10px 0 6px; }.cart-empty p { color:var(--muted); font-size:.85rem; margin-bottom:20px; }.cart-recommendation { border-top:1px solid #eceae5; padding:14px 23px; }.cart-recommendation .eyebrow { margin-bottom:7px; }.cart-recommendation > div { align-items:center; display:flex; font-family:var(--serif); font-size:.95rem; justify-content:space-between; }.cart-recommendation button { background:transparent; border:0; color:var(--gold-dark); font-size:.67rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }.cart-summary { background:#fff; border-top:1px solid #dfded9; box-shadow:0 -8px 22px rgba(35,38,34,.05); padding:15px 23px 20px; }.cart-summary > div { display:flex; font-size:.8rem; justify-content:space-between; margin:5px 0; }.cart-summary .cart-total { border-top:1px solid #e7e5e0; font-size:1.08rem; margin-top:11px; padding-top:11px; }.checkout-button { justify-content:space-between; margin:15px 0 8px; width:100%; }.cart-toast { align-items:center; background:#30332f; box-shadow:0 10px 24px rgba(30,33,30,.2); color:#fff; display:flex; gap:10px; opacity:0; padding:13px 17px; pointer-events:none; position:fixed; right:24px; top:24px; transform:translateY(-15px); transition:.3s ease; width:min(330px,calc(100% - 48px)); z-index:80; }.cart-toast.is-visible { opacity:1; transform:translateY(0); }.cart-toast > span { background:#b89a5b; border-radius:50%; display:grid; height:25px; place-items:center; width:25px; }.cart-toast strong { font-size:.76rem; }.cart-toast p { color:#dfe0dc; font-size:.7rem; margin:1px 0 0; }.cart-count { background:var(--gold); border-radius:50%; color:#fff; display:inline-grid; font-size:.58rem; height:16px; margin-left:3px; place-items:center; width:16px; }.cart-count.has-items { animation:cart-bounce .45s ease; } @keyframes cart-bounce { 50% { transform:scale(1.35); } } [hidden] { display:none!important; } @media(max-width:500px) { .cart-drawer { max-width:100%; }.cart-toast { right:16px; top:16px; width:calc(100% - 32px); } }
