/* Cart Drawer + In-Drawer Checkout – Leather 1X styling */

:root {
  --drawer-bg: #000000;
  --drawer-surface: rgba(240,240,240,0.04);
  --drawer-surface-2: rgba(240,240,240,0.07);
  --drawer-text: rgba(240,240,240,0.94);
  --drawer-muted: rgba(240,240,240,0.60);
  --drawer-line: rgba(201,169,106,0.18);
  --drawer-gold: #c9a96a;
  --drawer-gold-dark: #a88034;
  --drawer-leather: #8a3f18;
  --drawer-leather-2: #5a260c;
  --drawer-danger: #b23a3a;
  --drawer-radius: 18px;
  --drawer-ease: 0.28s ease;
  --drawer-w: 440px;
  --drawer-font: "Inter","Segoe UI",sans-serif;
  --drawer-btn-bg-start: rgba(138,63,24,0.96);
  --drawer-btn-bg-end: rgba(90,38,12,0.96);
  --drawer-btn-border: rgba(201,169,106,0.30);
  --drawer-btn-border-hover: rgba(201,169,106,0.50);
  --drawer-dot-glow: 0 0 0 3px rgba(201,169,106,0.25);
}

/* ── Overlay + Panel ── */
.l1xCartDrawer {
  position: fixed;
  inset: 0;
  z-index: 99999;
  pointer-events: none;
  font-family: var(--drawer-font);
  color: var(--drawer-text);
  font-size: 14px;
  line-height: 1.5;
}
.l1xCartDrawer[data-open="true"] {
  pointer-events: auto;
}
.l1xCartDrawerBackdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.65);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity var(--drawer-ease);
}
.l1xCartDrawer[data-open="true"] .l1xCartDrawerBackdrop {
  opacity: 1;
}
.l1xCartDrawerPanel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(var(--drawer-w), 92vw);
  background: var(--drawer-bg);
  border-left: 1px solid var(--drawer-line);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.32s cubic-bezier(0.4,0,0.2,1);
  overflow: hidden;
}
.l1xCartDrawer[data-open="true"] .l1xCartDrawerPanel {
  transform: translateX(0);
}

/* ── Header ── */
.l1xCartDrawerHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  border-bottom: 1px solid var(--drawer-line);
  flex-shrink: 0;
}
.l1xCartDrawerTitle {
  font-family: Georgia,"Times New Roman",serif;
  font-size: 1.2rem;
  color: var(--drawer-text);
  letter-spacing: 0.02em;
}
.l1xCartDrawerClose {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid var(--drawer-line);
  background: var(--drawer-surface);
  color: var(--drawer-text);
  cursor: pointer;
  transition: border-color var(--drawer-ease), background var(--drawer-ease);
}
.l1xCartDrawerClose:hover {
  border-color: var(--drawer-gold);
  background: var(--drawer-surface-2);
}

/* ── Messages ── */
.l1xCartDrawerMessages {
  padding: 0 22px;
}
.l1xCartDrawerMessages .l1xMsg {
  margin-top: 12px;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid var(--drawer-line);
  background: var(--drawer-surface);
  font-size: 0.85rem;
  color: var(--drawer-text);
  animation: l1xMsgIn 0.3s ease;
}
@keyframes l1xMsgIn {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Body (scrollable) ── */
.l1xCartDrawerBody {
  flex: 1;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  padding: 18px 22px;
}

/* ── Cart item cards ── */
.l1xCartDrawerItems {
  display: grid;
  gap: 16px;
}
.l1xCartDrawerCard {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 14px;
  padding: 14px;
  border-radius: var(--drawer-radius);
  border: 1px solid var(--drawer-line);
  background: var(--drawer-surface);
  transition: border-color var(--drawer-ease), opacity var(--drawer-ease);
}
.l1xCartDrawerCard.is-loading {
  opacity: 0.5;
  pointer-events: none;
}
.l1xCartDrawerCardThumbLink {
  display: block;
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 1;
  background: var(--drawer-surface-2);
}
.l1xCartDrawerCardThumbLink img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.l1xCartDrawerCardBody {
  display: grid;
  gap: 6px;
  align-content: start;
  min-width: 0;
}
.l1xCartDrawerCardName {
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--drawer-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.l1xCartDrawerCardPrice {
  font-size: 0.85rem;
  color: var(--drawer-muted);
}

/* Qty controls */
.l1xCartDrawerQty {
  display: inline-flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--drawer-line);
  border-radius: 999px;
  overflow: hidden;
  width: fit-content;
}
.l1xCartDrawerQty button {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--drawer-text);
  font-size: 1rem;
  cursor: pointer;
  background: transparent;
  border: none;
  transition: background var(--drawer-ease);
}
.l1xCartDrawerQty button:hover {
  background: var(--drawer-surface-2);
}
.l1xCartDrawerQty [data-qty] {
  min-width: 28px;
  text-align: center;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--drawer-text);
}
.l1xCartDrawerCardSubtotal {
  font-weight: 700;
  font-size: 0.92rem;
  color: var(--drawer-text);
}
.l1xCartDrawerCardActions {
  display: flex;
  gap: 12px;
  margin-top: 2px;
}
.l1xCartDrawerCardActions button {
  font-size: 0.78rem;
  color: var(--drawer-muted);
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  transition: color var(--drawer-ease);
}
.l1xCartDrawerCardActions button:hover {
  color: var(--drawer-gold);
}
.l1xCartDrawerRemove:hover {
  color: var(--drawer-danger) !important;
}

/* ── Coupon ── */
.l1xCartDrawerCoupon {
  margin-top: 18px;
}
.l1xCartDrawerCoupon form {
  display: flex;
  gap: 8px;
}
.l1xCartDrawerCoupon input {
  flex: 1;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--drawer-line);
  background: var(--drawer-surface);
  color: var(--drawer-text);
  font-family: var(--drawer-font);
  font-size: 0.88rem;
  outline: none;
  transition: border-color var(--drawer-ease);
}
.l1xCartDrawerCoupon input:focus {
  border-color: var(--drawer-gold);
}
.l1xCartDrawerCoupon input::placeholder {
  color: var(--drawer-muted);
}

/* ── Totals ── */
.l1xCartDrawerTotals {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--drawer-line);
}
.l1xCartDrawerSubtotal {
  display: flex;
  justify-content: space-between;
  font-weight: 700;
  font-size: 1rem;
}
.l1xCartDrawerNote {
  margin-top: 6px;
  font-size: 0.8rem;
  color: var(--drawer-muted);
}

/* ── Action buttons ── */
.l1xCartDrawerActions {
  margin-top: 18px;
  display: grid;
  gap: 10px;
}
.l1xBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 20px;
  border-radius: 999px;
  font-family: var(--drawer-font);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform var(--drawer-ease), background var(--drawer-ease), border-color var(--drawer-ease);
  text-align: center;
  text-decoration: none;
  color: var(--drawer-text);
}
.l1xBtn:hover {
  transform: translateY(-1px);
}
.l1xBtn--primary {
  background: linear-gradient(180deg, var(--drawer-btn-bg-start), var(--drawer-btn-bg-end));
  border-color: var(--drawer-btn-border);
  color: rgba(255,255,255,0.96);
}
.l1xBtn--primary:hover {
  border-color: var(--drawer-btn-border-hover);
}
.l1xBtn--outline {
  background: var(--drawer-surface);
  border-color: var(--drawer-line);
  color: var(--drawer-text);
}
.l1xBtn--outline:hover {
  border-color: var(--drawer-gold);
}
.l1xBtn--ghost {
  background: transparent;
  border-color: var(--drawer-line);
  color: var(--drawer-muted);
}
.l1xBtn--ghost:hover {
  border-color: var(--drawer-gold);
  color: var(--drawer-text);
}

/* ── Empty state ── */
.l1xCartDrawerEmpty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 40px 0 20px;
  gap: 16px;
}
.l1xCartDrawerEmpty svg {
  color: var(--drawer-muted);
  opacity: 0.5;
}
.l1xCartDrawerEmptyText {
  font-family: Georgia,"Times New Roman",serif;
  font-size: 1.15rem;
  color: var(--drawer-muted);
}

/* ── Related products ── */
.l1xCartDrawerRelated {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--drawer-line);
}
.l1xCartDrawerRelatedTitle {
  font-size: 0.82rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--drawer-muted);
  margin-bottom: 14px;
}
.l1xCartDrawerRelatedGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.l1xCartDrawerRelatedCard {
  display: grid;
  gap: 8px;
  text-decoration: none;
  color: var(--drawer-text);
  transition: transform var(--drawer-ease);
}
.l1xCartDrawerRelatedCard:hover {
  transform: translateY(-2px);
}
.l1xCartDrawerRelatedCard img {
  border-radius: 14px;
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
}
.l1xRelatedName {
  font-size: 0.78rem;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.l1xRelatedPrice {
  font-size: 0.75rem;
  color: var(--drawer-muted);
}

/* ── Skeleton loading ── */
.l1xCartDrawerCardSkeleton {
  opacity: 1 !important;
  pointer-events: none;
}
.skel-thumb {
  width: 80px;
  height: 80px;
  border-radius: 14px;
  background: linear-gradient(90deg, var(--drawer-surface) 25%, var(--drawer-surface-2) 50%, var(--drawer-surface) 75%);
  background-size: 200% 100%;
  animation: l1xShimmer 1.5s infinite;
}
.skel-body {
  display: grid;
  gap: 8px;
  padding: 4px 0;
}
.skel-line {
  height: 12px;
  border-radius: 6px;
  background: linear-gradient(90deg, var(--drawer-surface) 25%, var(--drawer-surface-2) 50%, var(--drawer-surface) 75%);
  background-size: 200% 100%;
  animation: l1xShimmer 1.5s infinite;
}
.skel-line.w60 { width: 60%; }
.skel-line.w40 { width: 40%; }
.skel-line.w30 { width: 30%; }
@keyframes l1xShimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ═══ CHECKOUT ═══ */
.l1xCheckout {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  padding: 18px 22px;
}

/* Progress dots */
.l1xCheckoutProgress {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--drawer-line);
  margin-bottom: 18px;
}
.l1xCheckoutDot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--drawer-surface-2);
  border: 1px solid var(--drawer-line);
  transition: background var(--drawer-ease), border-color var(--drawer-ease), box-shadow var(--drawer-ease);
}
.l1xCheckoutDot.active {
  background: var(--drawer-gold);
  border-color: var(--drawer-gold);
}
.l1xCheckoutDot.current {
  box-shadow: var(--drawer-dot-glow);
}

/* Steps */
.l1xCheckoutSteps {
  flex: 1;
}

/* ── Forms ── */
.l1xField {
  display: grid;
  gap: 6px;
  margin-bottom: 14px;
}
.l1xFieldLabel {
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--drawer-muted);
}
.l1xFieldInput {
  min-height: 44px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid var(--drawer-line);
  background: var(--drawer-surface);
  color: var(--drawer-text);
  font-family: var(--drawer-font);
  font-size: 0.9rem;
  outline: none;
  transition: border-color var(--drawer-ease);
}
.l1xFieldInput:focus {
  border-color: var(--drawer-gold);
}
.l1xFieldInput::placeholder {
  color: rgba(255,255,255,0.35);
}
.l1xFieldInput.is-error {
  border-color: var(--drawer-danger);
}
.l1xFieldError {
  font-size: 0.75rem;
  color: var(--drawer-danger);
}
.l1xFieldRow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

/* Custom select (country dropdown) */
.l1xSelect {
  position: relative;
}
.l1xSelectTrigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid var(--drawer-line);
  background: var(--drawer-surface);
  color: var(--drawer-text);
  font-family: var(--drawer-font);
  font-size: 0.9rem;
  cursor: pointer;
  text-align: left;
  outline: none;
  transition: border-color var(--drawer-ease);
}
.l1xSelectTrigger:focus,
.l1xSelect.open .l1xSelectTrigger {
  border-color: var(--drawer-gold);
}
.l1xSelectTrigger.is-error {
  border-color: var(--drawer-danger);
}
.l1xSelectTriggerText {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.l1xSelectTriggerText.placeholder {
  color: var(--drawer-muted);
}
.l1xSelectChevron {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  color: var(--drawer-muted);
  transition: transform var(--drawer-ease);
}
.l1xSelect.open .l1xSelectChevron {
  transform: rotate(180deg);
}
.l1xSelectDropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 20;
  background: var(--drawer-bg);
  border: 1px solid var(--drawer-line);
  border-radius: var(--drawer-radius);
  display: none;
  flex-direction: column;
  max-height: 240px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,0.45);
}
.l1xSelect.open .l1xSelectDropdown {
  display: flex;
}
.l1xSelectSearch {
  margin: 8px;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid var(--drawer-line);
  background: var(--drawer-surface);
  color: var(--drawer-text);
  font-family: var(--drawer-font);
  font-size: 0.85rem;
  outline: none;
  flex-shrink: 0;
}
.l1xSelectSearch:focus {
  border-color: var(--drawer-gold);
}
.l1xSelectSearch::placeholder {
  color: var(--drawer-muted);
}
.l1xSelectOptions {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  flex: 1;
  padding: 0 4px 6px;
}
.l1xSelectOption {
  display: block;
  width: 100%;
  padding: 9px 12px;
  border: none;
  border-radius: 10px;
  background: transparent;
  color: var(--drawer-text);
  font-family: var(--drawer-font);
  font-size: 0.88rem;
  text-align: left;
  cursor: pointer;
  transition: background var(--drawer-ease), color var(--drawer-ease);
}
.l1xSelectOption:hover {
  background: var(--drawer-surface-2);
}
.l1xSelectOption.active {
  color: var(--drawer-gold);
  background: var(--drawer-surface-2);
}

/* Auth tabs */
.l1xAuthTabs {
  display: flex;
  gap: 0;
  border: 1px solid var(--drawer-line);
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 18px;
}
.l1xAuthTab {
  flex: 1;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--drawer-muted);
  cursor: pointer;
  background: transparent;
  border: none;
  transition: background var(--drawer-ease), color var(--drawer-ease);
}
.l1xAuthTab.active {
  background: var(--drawer-surface-2);
  color: var(--drawer-text);
}
.l1xAuthTab:hover {
  color: var(--drawer-text);
}

/* Checkbox styling */
.l1xCheckbox {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  cursor: pointer;
  font-size: 0.88rem;
  color: var(--drawer-text);
}
.l1xCheckbox input {
  width: 18px;
  height: 18px;
  accent-color: var(--drawer-gold);
}

/* Shipping method cards */
.l1xShippingMethod {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border-radius: var(--drawer-radius);
  border: 1px solid var(--drawer-line);
  background: var(--drawer-surface);
  margin-bottom: 10px;
  cursor: pointer;
  transition: border-color var(--drawer-ease), background var(--drawer-ease);
}
.l1xShippingMethod:hover,
.l1xShippingMethod.selected {
  border-color: var(--drawer-gold);
  background: var(--drawer-surface-2);
}
.l1xShippingMethod input[type="radio"] {
  accent-color: var(--drawer-gold);
  width: 16px;
  height: 16px;
}
.l1xShippingMethodLabel {
  flex: 1;
  font-weight: 600;
  font-size: 0.9rem;
}
.l1xShippingMethodCost {
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--drawer-gold);
}

/* Payment methods */
.l1xPaymentMethod {
  margin-bottom: 10px;
}
.l1xPaymentLabel {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border-radius: var(--drawer-radius);
  border: 1px solid var(--drawer-line);
  background: var(--drawer-surface);
  cursor: pointer;
  transition: border-color var(--drawer-ease);
}
.l1xPaymentLabel:hover {
  border-color: var(--drawer-gold);
}
.l1xPaymentLabel input[type="radio"] {
  accent-color: var(--drawer-gold);
  width: 16px;
  height: 16px;
}
.l1xPaymentLabelInner {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
}
.l1xPaymentIcon img {
  height: 24px;
  width: auto;
}
.l1xPaymentTitle {
  font-weight: 600;
  font-size: 0.9rem;
}
.l1xPaymentFields {
  padding: 14px;
  border: 1px solid var(--drawer-line);
  border-top: none;
  border-radius: 0 0 var(--drawer-radius) var(--drawer-radius);
  background: var(--drawer-surface);
  color-scheme: dark;
}

/* WooPayments / Stripe Elements — dark theme overrides */
.l1xPaymentFields label,
.l1xPaymentFields p {
  color: var(--drawer-muted);
  font-size: 0.85rem;
}
.l1xPaymentFields fieldset {
  border: none;
  padding: 0;
  margin: 0;
}
.l1xPaymentFields input[type="text"],
.l1xPaymentFields input[type="tel"],
.l1xPaymentFields input[type="number"],
.l1xPaymentFields select,
.l1xPaymentFields .wc-card-number-element,
.l1xPaymentFields .wc-card-expiry-element,
.l1xPaymentFields .wc-card-cvc-element {
  min-height: 44px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid var(--drawer-line);
  background: var(--drawer-bg);
  color: var(--drawer-text);
  font-family: var(--drawer-font);
  font-size: 0.9rem;
  outline: none;
  width: 100%;
  box-sizing: border-box;
  transition: border-color var(--drawer-ease);
}
.l1xPaymentFields input:focus,
.l1xPaymentFields select:focus {
  border-color: var(--drawer-gold);
}
#l1x-stripe-card,
.l1xPaymentFields .StripeElement,
.l1xPaymentFields [id*="card-element"],
.l1xPaymentFields [id*="payment-element"],
.l1xPaymentFields .wcpay-payment-element,
.l1xPaymentFields #wcpay-card-element,
.l1xPaymentFields #wc-woocommerce_payments-card-element {
  min-height: 44px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--drawer-line);
  background: var(--drawer-bg);
  transition: border-color var(--drawer-ease);
}
#l1x-stripe-card.StripeElement--focus,
.l1xPaymentFields .StripeElement--focus,
.l1xPaymentFields [id*="card-element"]:focus-within {
  border-color: var(--drawer-gold);
}
.l1xPaymentFields .StripeElement iframe {
  color-scheme: dark;
}
.l1xPaymentFields .wc-payment-form .form-row {
  margin-bottom: 12px;
}
.l1xPaymentFields .wc-payment-form .form-row label {
  display: block;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--drawer-muted);
  margin-bottom: 6px;
}
.l1xPaymentFields .wc-payment-form .form-row-wide {
  width: 100%;
}
.l1xPaymentFields .wc-payment-form .form-row-first,
.l1xPaymentFields .wc-payment-form .form-row-last {
  display: inline-block;
  width: calc(50% - 6px);
  vertical-align: top;
}
.l1xPaymentFields .wc-payment-form .form-row-first { margin-right: 12px; }
.l1xPaymentFields .woocommerce-SavedPaymentMethods {
  list-style: none;
  padding: 0;
  margin: 0 0 12px;
}
.l1xPaymentFields .woocommerce-SavedPaymentMethods li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--drawer-line);
  color: var(--drawer-text);
  font-size: 0.88rem;
}
.l1xPaymentFields .woocommerce-SavedPaymentMethods li input[type="radio"] {
  accent-color: var(--drawer-gold);
}

/* Order summary (shipping + payment steps) */
.l1xOrderSummary {
  margin-top: 18px;
  padding: 16px;
  border-radius: var(--drawer-radius);
  border: 1px solid var(--drawer-line);
  background: var(--drawer-surface);
  display: grid;
  gap: 10px;
  font-size: 0.88rem;
}
.l1xOrderSummaryRow {
  display: flex;
  justify-content: space-between;
}
.l1xOrderSummaryRow.total {
  font-weight: 700;
  font-size: 1rem;
  padding-top: 10px;
  border-top: 1px solid var(--drawer-line);
}

/* Checkout nav */
.l1xCheckoutNav {
  display: flex;
  gap: 10px;
  margin-top: 18px;
  flex-shrink: 0;
}
.l1xCheckoutNav .l1xBtn {
  flex: 1;
}

/* Confirmation */
.l1xConfirmation {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 40px 0;
  gap: 14px;
}
.l1xConfirmation svg {
  color: var(--drawer-gold);
}
.l1xConfirmationTitle {
  font-family: Georgia,"Times New Roman",serif;
  font-size: 1.3rem;
  color: var(--drawer-text);
}
.l1xConfirmationOrder {
  font-size: 0.9rem;
  color: var(--drawer-muted);
}
.l1xConfirmationRedirect {
  font-size: 0.82rem;
  color: var(--drawer-muted);
}

/* Or separator */
.l1xOrSep {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 14px 0;
  color: var(--drawer-muted);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.l1xOrSep::before,
.l1xOrSep::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--drawer-line);
}

/* Lost password link */
.l1xLostPassword {
  font-size: 0.8rem;
  color: var(--drawer-gold);
  margin-top: -6px;
  margin-bottom: 12px;
}

/* Processing overlay */
.l1xProcessing {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(10,10,10,0.85);
  z-index: 10;
  border-radius: 0;
}
.l1xProcessingSpinner {
  width: 36px;
  height: 36px;
  border: 3px solid var(--drawer-line);
  border-top-color: var(--drawer-gold);
  border-radius: 50%;
  animation: l1xSpin 0.8s linear infinite;
}
@keyframes l1xSpin {
  to { transform: rotate(360deg); }
}

/* Google Places autocomplete dropdown — must sit above the drawer */
.pac-container {
  z-index: 999999 !important;
  background: var(--drawer-bg, #000) !important;
  border: 1px solid rgba(201,169,106,0.18) !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.45) !important;
  font-family: var(--drawer-font, "Inter","Segoe UI",sans-serif) !important;
  margin-top: 4px !important;
  padding: 4px 0 !important;
}
.pac-container .pac-item {
  padding: 10px 14px !important;
  border: none !important;
  color: rgba(240,240,240,0.94) !important;
  font-size: 0.88rem !important;
  cursor: pointer;
  line-height: 1.4 !important;
}
.pac-container .pac-item:hover,
.pac-container .pac-item-selected {
  background: rgba(240,240,240,0.07) !important;
}
.pac-container .pac-item .pac-icon {
  display: none !important;
}
.pac-container .pac-item .pac-item-query {
  color: rgba(240,240,240,0.94) !important;
  font-size: 0.88rem !important;
}
.pac-container .pac-item .pac-matched {
  color: var(--drawer-gold, #c9a96a) !important;
  font-weight: 600;
}
.pac-container::after {
  display: none !important;
}

/* ── Free Shipping Banner ── */
.l1xCartDrawerFreeShip {
  margin: 10px 0 4px;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(201,169,106,0.08);
  border: 1px solid rgba(201,169,106,0.15);
  color: var(--drawer-gold, #c9a96a);
  font-size: 0.8rem;
  text-align: center;
}

/* ── Shipping Speed Labels (checkout) ── */
.l1x-shipping-speed {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 99px;
  background: rgba(201,169,106,0.1);
  color: var(--drawer-gold, #c9a96a);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  vertical-align: middle;
}

/* ── Mobile ── */
@media (max-width: 480px) {
  .l1xCartDrawerPanel {
    width: 100vw;
  }
  .l1xCartDrawerRelatedGrid {
    grid-template-columns: repeat(2, 1fr);
  }
  .l1xFieldRow {
    grid-template-columns: 1fr;
  }
}
