/* OrderBox Cart Page Styles */

:root { --ai-blue: #2563EB; --ai-blue-dark: #1E3A6E; --ai-blue-deeper: #0F1E3D; }

.cart-item-card { border: 1px solid var(--bs-gray-200, #e9ecef); border-radius: 12px; padding: 20px; margin-bottom: 16px; transition: box-shadow 0.2s ease; background: #fff; }
.cart-item-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.06); }
.cart-item-img { width: 80px; height: 80px; border-radius: 14px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; background: var(--bs-gray-100, #f8f9fa) !important; }
.cart-item-img i { font-size: 2rem; color: var(--bs-gray-400, #ced4da) !important; }

.badge-subscription { background-color: rgba(23,198,83,0.1); color: #17C653; font-weight: 600; }
.badge-onetime { background-color: rgba(37,99,235,0.1); color: var(--ai-blue); font-weight: 600; }

.qty-control { display: inline-flex; align-items: center; border: 1px solid var(--bs-gray-300, #dee2e6); border-radius: 8px; overflow: hidden; }
.qty-control button { width: 36px; height: 36px; border: none; background: var(--bs-gray-100, #f8f9fa); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 1rem; font-weight: 600; color: var(--bs-gray-700, #495057); transition: background 0.15s; }
.qty-control button:hover { background: var(--bs-gray-200, #e9ecef); }
.qty-control input { width: 44px; height: 36px; text-align: center; border: none; border-left: 1px solid var(--bs-gray-300, #dee2e6); border-right: 1px solid var(--bs-gray-300, #dee2e6); font-weight: 600; font-size: 0.95rem; background: #fff; -moz-appearance: textfield; }
.qty-control input::-webkit-inner-spin-button, .qty-control input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

.btn-remove-cart { color: var(--bs-gray-500, #adb5bd); background: transparent; border: none; padding: 6px 12px; border-radius: 6px; font-size: 0.85rem; font-weight: 500; cursor: pointer; transition: all 0.15s; display: inline-flex; align-items: center; gap: 4px; }
.btn-remove-cart:hover { color: #F1416C; background: rgba(241,65,108,0.08); }

.billing-select { border: 1px solid var(--bs-gray-300, #dee2e6); border-radius: 8px; padding: 8px 32px 8px 12px; font-size: 0.875rem; font-weight: 500; background-color: #fff; cursor: pointer; }
.billing-select:focus { border-color: var(--ai-blue); outline: none; box-shadow: 0 0 0 3px rgba(37,99,235,0.1); }

.price-strikethrough { text-decoration: line-through; color: var(--bs-gray-500, #adb5bd); font-size: 0.85rem; }
.discount-badge-inline { background: rgba(241,65,108,0.1); color: #F1416C; font-size: 0.75rem; font-weight: 700; padding: 2px 7px; border-radius: 4px; }

.order-summary { position: sticky; top: 120px; }
.order-summary .card { border-radius: 12px; border: 1px solid var(--bs-gray-200, #e9ecef); box-shadow: 0 4px 20px rgba(0,0,0,0.06); }

.savings-badge { background: linear-gradient(135deg, rgba(23,198,83,0.08) 0%, rgba(23,198,83,0.15) 100%); border: 1px solid rgba(23,198,83,0.2); color: #0d8a3a; border-radius: 8px; padding: 10px 14px; font-weight: 600; font-size: 0.875rem; text-align: center; }

.trust-badge { display: flex; align-items: center; gap: 8px; font-size: 0.8rem; color: var(--bs-gray-600, #6c757d); font-weight: 500; }
.trust-badge i { font-size: 1.1rem; color: var(--bs-gray-500, #adb5bd); }

.coupon-input-group { display: flex; gap: 8px; }
.coupon-input-group input { flex: 1; border: 1px solid var(--bs-gray-300, #dee2e6); border-radius: 8px; padding: 8px 14px; font-size: 0.875rem; }
.coupon-input-group input:focus { border-color: var(--ai-blue); outline: none; }

.bundled-freebies { border-left: 3px solid var(--ai-blue); background: var(--bs-gray-100, #f8f9fa); border-radius: 8px; padding: 16px; margin-top: 16px; }

.empty-cart { text-align: center; padding: 80px 20px; }
.empty-cart-icon { width: 120px; height: 120px; border-radius: 50%; background: var(--bs-gray-100, #f8f9fa); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 24px; }
.empty-cart-icon i { font-size: 3.5rem; color: var(--bs-gray-400, #ced4da); }

/* Order Info */
.ob-order-info-toggle:hover { opacity: 0.8; }
.ob-order-info-input { border: 1px solid var(--bs-gray-300, #dee2e6) !important; border-radius: 8px !important; font-size: 0.875rem; }
.ob-order-info-input:focus { border-color: var(--ai-blue) !important; box-shadow: 0 0 0 3px rgba(37,99,235,0.1) !important; }

@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.marquee-container { overflow: hidden; }
.marquee-content { display: inline-flex; white-space: nowrap; animation: marquee 20s linear infinite; }
.marquee-content:hover { animation-play-state: paused; }

.mobile-checkout-bar { display: none; }
@media (max-width: 991px) {
    .order-summary { position: static; }
    .cart-item-img { width: 60px; height: 60px; }
    .mobile-checkout-bar { display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 99; background: #fff; padding: 12px 20px; box-shadow: 0 -4px 20px rgba(0,0,0,0.1); align-items: center; gap: 12px; }
    body { padding-bottom: 80px; }
}
