/* Cart Drawer Styles */ .cart-drawer { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 9999; pointer-events: none; opacity: 0; transition: opacity 0.3s ease; } .cart-drawer.is-open { pointer-events: auto; opacity: 1; } .cart-drawer__overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); cursor: pointer; } .cart-drawer__panel { position: absolute; top: 0; right: 0; bottom: 0; width: 100%; max-width: 420px; background-color: #ffffff; box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15); display: flex; flex-direction: column; transform: translateX(100%); transition: transform 0.3s ease; } .cart-drawer.is-open .cart-drawer__panel { transform: translateX(0); } .cart-drawer__header { display: flex; align-items: center; justify-content: space-between; padding: 1.5rem; border-bottom: 1px solid #e0e0e0; } .cart-drawer__header h3 { margin: 0; font-size: 1.5rem; font-weight: bold; } .cart-drawer__close { background: none; border: none; cursor: pointer; padding: 0.5rem; display: flex; align-items: center; justify-content: center; transition: opacity 0.2s; } .cart-drawer__close:hover { opacity: 0.7; } .cart-drawer__content { flex: 1; overflow-y: auto; padding: 1.5rem; } .cart-drawer__empty { text-align: center; padding: 3rem 1rem; color: #666; } .cart-drawer__empty.hidden { display: none; } .cart-drawer__items { display: flex; flex-direction: column; gap: 1rem; } .cart-drawer__items.hidden { display: none; } .cart-item { display: flex; gap: 1rem; padding: 1rem; border: 1px solid #e0e0e0; border-radius: 8px; } .cart-item__image { width: 80px; height: 80px; object-fit: cover; border-radius: 4px; flex-shrink: 0; } .cart-item__details { flex: 1; display: flex; flex-direction: column; gap: 0.5rem; } .cart-item__title { font-weight: 600; margin: 0; font-size: 1rem; } .cart-item__variant { font-size: 0.875rem; color: #666; margin: 0; } .cart-item__price { font-weight: bold; color: #000; } .cart-item__quantity { display: flex; align-items: center; gap: 0.5rem; margin-top: auto; } .cart-item__qty-btn { width: 28px; height: 28px; border: 1px solid #ddd; background: #fff; border-radius: 4px; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 1rem; transition: background-color 0.2s; } .cart-item__qty-btn:hover:not(:disabled) { background-color: #f5f5f5; } .cart-item__qty-btn:disabled { opacity: 0.4; cursor: not-allowed; } .cart-item__qty-value { min-width: 30px; text-align: center; font-weight: 600; } .cart-item__remove { background: none; border: none; color: #ff3333; cursor: pointer; padding: 0.25rem 0.5rem; font-size: 0.875rem; text-decoration: underline; align-self: flex-start; } .cart-item__remove:hover { color: #cc0000; } .cart-drawer__footer { border-top: 1px solid #e0e0e0; padding: 1.5rem; } .cart-drawer__checkout-btn { width: 100%; font-family: "Open Sans", sans-serif; font-weight: bold; font-size: 1rem; color: #000000; background-color: #00ff00; border: none; border-radius: 40px; padding: 14px 34px; cursor: pointer; transition: background-color 0.3s ease; } .cart-drawer__checkout-btn:hover:not(:disabled) { background-color: #00e600; } .cart-drawer__checkout-btn:disabled { opacity: 0.6; cursor: not-allowed; } /* Mobile responsiveness */ @media (max-width: 768px) { .cart-drawer__panel { max-width: 100%; } } /* Loading state */ .cart-drawer__content.is-loading { opacity: 0.5; pointer-events: none; }