.cart-overlay{position:fixed;inset:0;z-index:80;background:rgba(33,27,22,.34);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.cart-overlay.open{opacity:1;visibility:visible}.cart-drawer{position:fixed;top:0;right:0;z-index:90;width:min(470px,100%);height:100vh;display:flex;flex-direction:column;background:var(--color-ivory);box-shadow:var(--shadow);transform:translateX(100%);transition:transform .38s ease}
.cart-drawer.open{transform:translateX(0)}.cart-drawer-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:34px 30px 26px;border-bottom:1px solid var(--line)}
.cart-drawer-header h2{margin-top:7px;font-size:43px}.cart-close{border:0;background:none;color:var(--color-stone);font-family:var(--font-display);font-size:38px}
.cart-drawer-content{flex:1;overflow-y:auto;padding:24px 30px}.cart-empty{padding:50px 0;text-align:center;font-size:12px;color:var(--muted)}
.cart-item{display:grid;grid-template-columns:115px 1fr;gap:20px;padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.cart-item img{width:115px;height:150px;object-fit:cover}.cart-item-info h3{margin:7px 0 10px;font-size:31px}
.cart-item-info>strong{font-family:var(--font-display);font-size:24px;font-weight:400;color:var(--color-champagne)}
.cart-item-actions{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.quantity-control{display:grid;grid-template-columns:34px 34px 34px;min-height:34px;border:1px solid var(--line)}
.quantity-control button{border:0;background:#fff;color:var(--color-stone)}.quantity-control span{display:grid;place-items:center;background:#fff;font-size:11px}
.remove-item{border:0;border-bottom:1px solid currentColor;background:none;color:rgba(95,91,85,.65);font-size:8px;letter-spacing:1.5px;text-transform:uppercase}
.cart-drawer-footer{padding:24px 30px 30px;border-top:1px solid var(--line);background:#fff}
.cart-subtotal{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}
.cart-subtotal span{font-size:9px;letter-spacing:2px;text-transform:uppercase}.cart-subtotal strong{font-family:var(--font-display);font-size:31px;font-weight:400;color:var(--color-champagne)}
.cart-checkout-button{display:block;width:100%;text-align:center}.cart-continue{display:block;width:100%;margin-top:16px;border:0;background:none;color:var(--color-stone);font-size:8px;letter-spacing:1.8px;text-transform:uppercase}
.cart-toast{position:fixed;left:50%;bottom:28px;z-index:110;transform:translate(-50%,20px);padding:13px 18px;background:var(--color-stone);color:#fff;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;font-size:10px}
.cart-toast.show{opacity:1;transform:translate(-50%,0)}
.cart-page{background:var(--color-ivory)}.cart-header{border-bottom:1px solid var(--line);background:var(--color-ivory)}
.cart-nav{min-height:112px;display:flex;justify-content:space-between;align-items:center;gap:30px}.cart-brand-logo{display:flex}.cart-logo{width:140px;max-width:140px;height:auto}
.back-link{font-size:9px;letter-spacing:2px;text-transform:uppercase}.cart-main{padding:90px 0 140px}
.cart-heading{max-width:760px;margin-bottom:65px}.cart-heading h1,.order-success h1{margin:14px 0 16px;font-size:clamp(58px,7vw,92px);line-height:.95}
.cart-heading p,.order-success p{font-size:13px;line-height:1.9;color:var(--muted)}
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:70px;align-items:start}
.cart-summary{background:#fff}.checkout-panel{padding:45px;background:var(--color-travertine)}
.checkout-title{margin-bottom:34px}.checkout-panel h2{margin:10px 0 15px;font-size:48px;line-height:1}.checkout-form{display:grid;gap:34px}
.checkout-step{padding-top:30px;border-top:1px solid var(--line)}.step-heading{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.step-heading>span{color:var(--color-champagne);font-size:9px;letter-spacing:2px}.step-heading h3{font-size:28px}
.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.checkout-grid .full{grid-column:1/-1}
.checkout-form label{display:grid;gap:8px}.checkout-form label>span{font-size:8px;letter-spacing:1.8px;text-transform:uppercase}
.checkout-form input,.checkout-form select,.checkout-form textarea{width:100%;padding:14px;border:1px solid var(--line);background:#fff;color:var(--color-stone);outline:none}
.checkout-form input:focus,.checkout-form textarea:focus{border-color:var(--color-champagne)}.checkout-form textarea{min-height:110px;resize:vertical}
.delivery-options,.account-options{display:grid;gap:14px}.account-options{grid-template-columns:1fr 1fr}
.delivery-card,.account-card{position:relative;display:grid!important;gap:15px;align-items:start;padding:20px;border:1px solid var(--line);background:#fff;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}
.delivery-card{grid-template-columns:22px 1fr auto}.account-card{grid-template-columns:22px 1fr;min-height:145px}
.delivery-card:hover,.delivery-card.selected,.account-card:hover,.account-card.selected{border-color:var(--color-champagne);box-shadow:0 8px 28px rgba(95,91,85,.08)}
.delivery-card input,.account-card input{position:absolute;opacity:0;pointer-events:none}
.delivery-radio,.account-radio{width:18px;height:18px;border:1px solid rgba(95,91,85,.38);border-radius:50%;display:grid;place-items:center}
.delivery-card.selected .delivery-radio::after,.account-card.selected .account-radio::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--color-champagne)}
.delivery-content strong,.account-content strong{display:block;margin-bottom:8px;font-family:var(--font-display);font-size:24px;font-weight:400}
.delivery-content small,.delivery-content em,.account-content small{display:block;font-size:10px;line-height:1.7;color:var(--muted)}
.delivery-content em{margin-top:8px;color:var(--color-champagne);font-style:normal}.delivery-price{font-family:var(--font-display);font-size:20px;color:var(--color-champagne);white-space:nowrap}
.shipping-address,.account-fields{margin-top:20px;padding:20px;background:rgba(255,255,255,.48)}
.order-recap{display:grid;gap:15px}.order-recap>div{display:flex;justify-content:space-between;gap:20px;align-items:center}
.order-recap span{font-size:10px;letter-spacing:1px;text-transform:uppercase}.order-recap strong{font-family:var(--font-display);font-size:23px;font-weight:400}
.order-total{margin-top:8px;padding-top:18px;border-top:1px solid var(--line)}.order-total strong{font-size:34px;color:var(--color-champagne)}
.free-shipping-note{padding:11px 13px;background:rgba(199,164,106,.11);font-size:10px;line-height:1.6;color:#8d7045}
.checkout-note{margin-top:-16px;font-size:10px;line-height:1.8;color:var(--muted)}
.checkout-cart-items{display:grid}.checkout-cart-item{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;padding:24px;border-bottom:1px solid var(--line)}
.checkout-cart-item img{width:180px;height:230px;object-fit:cover}.checkout-cart-item-info h2{margin:8px 0 10px;font-size:38px}
.checkout-cart-item-info>strong{font-family:var(--font-display);font-size:25px;color:var(--color-champagne)}
.checkout-cart-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:24px}.checkout-line-total{margin-top:20px;font-size:10px;color:var(--muted)}
.cart-summary-total{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:25px 24px;border-top:1px solid var(--line)}
.cart-summary-total span{font-size:9px;letter-spacing:2px;text-transform:uppercase}.cart-summary-total strong{font-family:var(--font-display);font-size:34px;color:var(--color-champagne)}
.checkout-login-box{margin-top:20px;padding:18px 20px;border:1px solid var(--line);background:rgba(255,255,255,.58)}
.checkout-login-box span{display:block;margin-bottom:7px;font-size:7px;letter-spacing:1.7px;text-transform:uppercase;color:var(--color-champagne)}
.checkout-login-box strong{display:block;font-family:var(--font-display);font-size:20px;font-weight:400}.checkout-login-box a{display:inline-block;margin-top:12px;font-size:8px;letter-spacing:1.5px;text-transform:uppercase}
.order-success,.cart-empty-page{max-width:760px;margin:70px auto;padding:70px;background:#fff;text-align:center}
