/* Oscar retains its grid and basket behaviour; the storefront supplies the brand. */
.basket-page { font-family: 'Space Grotesk', sans-serif; color: #f4f4f5; }
.basket-page a { color: inherit; text-decoration: none; }
.basket-page a:hover { color: #fff; }
.basket-page .brand-mark { max-width: none; }
.basket-main { min-height: calc(100vh - 13rem); padding: 32px clamp(20px, 4vw, 48px) 56px; }
.basket-breadcrumb { display: flex; gap: 14px; font-size: 12px; color: #a1a1aa; }
.basket-heading { margin: 40px 0; }
.basket-heading h1 { margin: 12px 0; font-size: clamp(36px, 5vw, 60px); font-weight: 700; letter-spacing: -.055em; line-height: 1.1; }
.basket-heading h1 span { color: #71717a; }
.basket-heading > p:last-child { color: #a1a1aa; font-size: 14px; }
.basket-page .card, .basket-page .basket-items { background: #18181b; border: 1px solid #ffffff1a; border-radius: 18px; padding: 24px; margin-bottom: 20px; }
.basket-page .card h3 { font-size: 17px; margin-bottom: 10px; }
.basket-page .warning { color: #a1a1aa; font-size: 13px; line-height: 1.7; }
.basket-page .warning a, .basket-page .basket-line-actions a { text-decoration: underline; text-underline-offset: 3px; }
.basket-page .basket-title { color: #a1a1aa; padding: 0 24px 12px; }
.basket-page .basket-title h4 { font-size: 12px; font-weight: 500; }
.basket-page .basket-items h3 { font-size: 18px; font-weight: 600; line-height: 1.4; margin-bottom: 10px; }
.basket-page .basket-items .row { align-items: center; row-gap: 18px; }
.basket-page .img-thumbnail { border: 1px solid #ffffff1a; border-radius: 12px; background: #fafafa; padding: 6px; }
.basket-page .availability, .basket-page .price_color { color: #e4e4e7; font-size: 14px; }
.basket-page .price_color { font-weight: 600; white-space: nowrap; }
.basket-page .basket-line-actions { font-size: 11px; color: #a1a1aa; margin-top: 12px; line-height: 1.8; }
.basket-page .form-control { background: #09090b; border: 1px solid #ffffff30; color: #fafafa; border-radius: 8px; min-height: 42px; padding: 8px 10px; }
.basket-page .checkout-quantity .input-group { flex-wrap: nowrap; }
.basket-page .checkout-quantity input { min-width: 48px; }
.basket-page .btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 18px; border: 1px solid #ffffff30; border-radius: 999px; background: transparent; color: #f4f4f5; font-size: 12px; font-weight: 600; line-height: 1.4; white-space: normal; }
.basket-page .input-group .btn { border-radius: 0 8px 8px 0; padding: 10px; }
.basket-page .btn:hover { background: #27272a; border-color: #71717a; }
.basket-page .btn-primary, .basket-page .btn-info { background: #fafafa; color: #09090b; border-color: #fafafa; }
.basket-page .btn-primary:hover, .basket-page .btn-info:hover { background: #d4d4d8; color: #09090b; }
.basket-page .btn-lg { min-height: 56px; width: 100%; margin-top: 24px; text-transform: uppercase; letter-spacing: .06em; }
.basket-page .sub-header { border-color: #ffffff1a; margin: 24px 0 16px; padding-bottom: 16px; }
.basket-page .sub-header h2 { color: #fafafa; font-size: 22px; font-weight: 600; }
.basket-page .table { color: #d4d4d8; font-size: 13px; width: 100%; margin-bottom: 20px; }
.basket-page .table th, .basket-page .table td { border-color: #ffffff1a; padding: 12px 8px; background: transparent; }
.basket-page .table .bg-light, .basket-page .table .bg-warning { background: #ffffff08 !important; }
.basket-page .table h3 { font-size: 17px; margin: 12px 0 0; }
.basket-page .table small { line-height: 1.6; }
/* Oscar marks its pale total background !important; override it explicitly. */
.basket-page .table .total { background-color: #18181b !important; color: #fafafa; }
.basket-page .alert { background: #27272a; color: #fafafa; border: 1px solid #ffffff30; border-radius: 12px; padding: 16px; }
.basket-page .alert .close { color: #fafafa; opacity: 1; }
.basket-page .error-block, .basket-page .invalid-feedback { color: #fca5a5; }
.basket-page :is(a, button, input):focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.basket-page #content_inner > p { border: 1px solid #ffffff1a; border-radius: 18px; padding: 40px 24px; color: #a1a1aa; }
.basket-page #content_inner > p a { display: inline-block; margin: 12px; color: #fafafa; text-decoration: underline; }
@media (max-width: 767px) {
  .basket-page .basket-items { padding: 20px; }
  .basket-page .basket-items .text-right { text-align: left !important; }
  .basket-page .basket-items .price-title { color: #a1a1aa; margin-right: 8px; }
  .basket-page .checkout-quantity { max-width: 240px; }
  .basket-heading { margin: 28px 0; }
}
