.fh-cart-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: 420px; max-width: 100vw; background: var(--fh-color-bg); z-index: 300; transform: translateX(100%); transition: transform var(--fh-transition-slow); display: flex; flex-direction: column; }
.fh-cart-drawer.is-open { transform: translateX(0); }
.fh-cart-drawer__header { padding: 24px; border-bottom: 1px solid var(--fh-color-border); display: flex; align-items: center; justify-content: space-between; }
.fh-cart-drawer__title { font-family: var(--fh-font-heading); font-size: 14px; letter-spacing: var(--fh-letter-spacing-heading); text-transform: uppercase; }
.fh-cart-drawer__close { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; }
.fh-cart-drawer__body { flex: 1; overflow-y: auto; padding: 24px; }
.fh-cart-drawer__empty { text-align: center; padding: 48px 24px; color: var(--fh-color-text-muted); font-size: 14px; }
.fh-cart-item { display: grid; grid-template-columns: 80px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--fh-color-border); }
.fh-cart-item__image { width: 80px; height: 80px; object-fit: cover; }
.fh-cart-item__name { font-size: 13px; margin-bottom: 4px; }
.fh-cart-item__meta { font-size: 12px; color: var(--fh-color-text-muted); }
.fh-cart-item__price { font-size: 13px; margin-top: 8px; }
.fh-cart-item__qty { display: flex; align-items: center; gap: 12px; margin-top: 8px; }
.fh-cart-item__qty-btn { width: 24px; height: 24px; border: 1px solid var(--fh-color-border); border-radius: 50%; font-size: 16px; display: flex; align-items: center; justify-content: center; }
.fh-cart-drawer__footer { padding: 24px; border-top: 1px solid var(--fh-color-border); }
.fh-cart-drawer__subtotal { display: flex; justify-content: space-between; font-size: 14px; margin-bottom: 16px; }
