/* ==========================================================================
   BLKLUX Food Truck — WooCommerce classic cart / checkout / account restyle.
   Scoped under .blklux-theme so nothing leaks into wp-admin.
   ========================================================================== */

.blklux-theme .woocommerce,
.blklux-theme .woocommerce-page {
  color: var(--blklux-ivory);
  font-family: var(--blklux-font-body);
}

.blklux-theme .woocommerce h1,
.blklux-theme .woocommerce h2,
.blklux-theme .woocommerce h3,
.blklux-theme .woocommerce-page h1,
.blklux-theme .woocommerce-page h2,
.blklux-theme .woocommerce-page h3 {
  font-family: var(--blklux-font-display);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--blklux-ivory);
}

.blklux-theme .woocommerce a:not(.blklux-btn):not(.button) { color: var(--blklux-gold); }

/* --- Notices -------------------------------------------------------------- */

.blklux-theme .woocommerce-message,
.blklux-theme .woocommerce-info,
.blklux-theme .woocommerce-error,
.blklux-theme .woocommerce-notice {
  background: var(--blklux-charcoal);
  border: 1px solid var(--blklux-line);
  border-top-width: 1px;
  border-radius: var(--blklux-r-md);
  color: var(--blklux-ivory);
  padding: 14px 16px 14px 48px;
  margin-bottom: var(--blklux-s-5);
}
.blklux-theme .woocommerce-message::before,
.blklux-theme .woocommerce-info::before { color: var(--blklux-gold); }
.blklux-theme .woocommerce-error { border-color: rgba(217, 101, 79, 0.55); }
.blklux-theme .woocommerce-error::before { color: var(--blklux-ember); }
.blklux-theme .woocommerce-error li { margin: 4px 0; }

/* --- Forms --------------------------------------------------------------- */

.blklux-theme .woocommerce form .form-row label { color: var(--blklux-ivory); font-weight: 600; font-size: var(--blklux-fs-sm); }
.blklux-theme .woocommerce form .form-row .required { color: var(--blklux-gold); text-decoration: none; }
.blklux-theme .woocommerce form .form-row .input-text,
.blklux-theme .woocommerce form .form-row textarea,
.blklux-theme .woocommerce form .form-row select,
.blklux-theme .woocommerce .select2-container .select2-selection--single {
  appearance: none;
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border-radius: var(--blklux-r-md);
  border: 1px solid var(--blklux-line);
  background: var(--blklux-raised);
  color: var(--blklux-ivory);
  font-family: var(--blklux-font-body);
  font-size: 16px;
  line-height: 1.4;
  box-shadow: none;
  transition: border-color var(--blklux-dur), box-shadow var(--blklux-dur);
}
.blklux-theme .woocommerce form .form-row .input-text:focus,
.blklux-theme .woocommerce form .form-row textarea:focus,
.blklux-theme .woocommerce form .form-row select:focus { outline: none; border-color: var(--blklux-gold); box-shadow: 0 0 0 3px rgba(212, 165, 72, 0.18); }
.blklux-theme .woocommerce form .form-row.woocommerce-invalid .input-text { border-color: var(--blklux-ember); }
.blklux-theme .woocommerce form .form-row.woocommerce-validated .input-text { border-color: var(--blklux-line-strong); }
.blklux-theme .woocommerce .select2-container .select2-selection--single .select2-selection__rendered { color: var(--blklux-ivory); line-height: 24px; padding: 0; }
.blklux-theme .woocommerce .select2-container .select2-selection--single .select2-selection__arrow { top: 12px; right: 10px; }
.blklux-theme .woocommerce .select2-container .select2-selection--single .select2-selection__arrow b { border-color: var(--blklux-gold) transparent transparent; }
.select2-container .select2-dropdown { background: var(--blklux-raised); border: 1px solid var(--blklux-line); color: var(--blklux-ivory); }
.select2-container .select2-results__option--highlighted[aria-selected] { background: rgba(212, 165, 72, 0.2); color: var(--blklux-ivory); }
.select2-container .select2-search--dropdown .select2-search__field { background: var(--blklux-charcoal); border: 1px solid var(--blklux-line); color: var(--blklux-ivory); }
.blklux-theme .woocommerce form .form-row ::placeholder { color: var(--blklux-ash-soft); }
.blklux-theme .woocommerce form .woocommerce-input-wrapper { display: block; }

/* --- Buttons ------------------------------------------------------------- */

.blklux-theme .woocommerce .button,
.blklux-theme .woocommerce button.button,
.blklux-theme .woocommerce a.button,
.blklux-theme .woocommerce input.button,
.blklux-theme .woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--blklux-touch);
  padding: 0 var(--blklux-s-5);
  border-radius: var(--blklux-r-md);
  border: 1px solid var(--blklux-line-strong);
  background: transparent;
  color: var(--blklux-gold);
  font-family: var(--blklux-font-body);
  font-weight: 700;
  font-size: var(--blklux-fs-sm);
  letter-spacing: var(--blklux-track-button);
  text-transform: uppercase;
  line-height: 1;
  cursor: pointer;
  transition: transform var(--blklux-dur-fast), filter var(--blklux-dur), background-color var(--blklux-dur);
}
.blklux-theme .woocommerce .button:hover { background: rgba(212, 165, 72, 0.08); color: var(--blklux-gold); }
.blklux-theme .woocommerce .button.alt,
.blklux-theme .woocommerce button.button.alt,
.blklux-theme .woocommerce #place_order,
.blklux-theme .woocommerce .checkout-button,
.blklux-theme .woocommerce button[name="update_cart"]:not(:disabled) {
  background: var(--blklux-gold-gradient);
  color: var(--blklux-gold-ink);
  border-color: transparent;
  box-shadow: 0 12px 24px -14px rgba(212, 165, 72, 0.6);
}
.blklux-theme .woocommerce .button.alt:hover,
.blklux-theme .woocommerce #place_order:hover { filter: brightness(1.06); background: var(--blklux-gold-gradient); color: var(--blklux-gold-ink); }
.blklux-theme .woocommerce #place_order { width: 100%; min-height: 56px; font-size: var(--blklux-fs-md); border-radius: var(--blklux-r-lg); margin-top: var(--blklux-s-4); }
.blklux-theme .woocommerce .button:disabled,
.blklux-theme .woocommerce .button[disabled] { opacity: 0.4; cursor: not-allowed; background: transparent; color: var(--blklux-ash); }
.blklux-theme .woocommerce .button:focus-visible { outline: 2px solid var(--blklux-gold-light); outline-offset: 3px; }

/* --- Tables (cart, review, orders) --------------------------------------- */

.blklux-theme .woocommerce table.shop_table {
  border: 1px solid var(--blklux-line);
  border-radius: var(--blklux-r-lg);
  border-collapse: separate;
  background: var(--blklux-charcoal);
  overflow: hidden;
  color: var(--blklux-ivory);
}
.blklux-theme .woocommerce table.shop_table th,
.blklux-theme .woocommerce table.shop_table td { border-color: var(--blklux-line-soft); color: var(--blklux-ivory); padding: 14px 16px; }
.blklux-theme .woocommerce table.shop_table th { font-size: var(--blklux-fs-xs); letter-spacing: 0.1em; text-transform: uppercase; color: var(--blklux-ash); font-weight: 700; }
.blklux-theme .woocommerce table.shop_table tfoot th { color: var(--blklux-ivory); text-transform: none; letter-spacing: 0; font-size: var(--blklux-fs-sm); }
.blklux-theme .woocommerce table.shop_table tfoot .order-total th,
.blklux-theme .woocommerce table.shop_table tfoot .order-total td { font-size: var(--blklux-fs-lg); border-top: 1px solid var(--blklux-line); }
.blklux-theme .woocommerce .amount,
.blklux-theme .woocommerce .woocommerce-Price-amount { color: var(--blklux-gold); font-weight: 700; font-variant-numeric: var(--blklux-nums); }
.blklux-theme .woocommerce table.shop_table .product-name { font-weight: 600; }
.blklux-theme .woocommerce table.shop_table .product-name .product-quantity { color: var(--blklux-gold); font-weight: 700; }
.blklux-theme .woocommerce table.shop_table dl.variation { margin: 6px 0 0; font-size: var(--blklux-fs-xs); color: var(--blklux-ash); }
.blklux-theme .woocommerce table.shop_table dl.variation dt { font-weight: 600; color: var(--blklux-ash); }
.blklux-theme .woocommerce table.shop_table dl.variation dd { margin: 0 0 2px 0; }
.blklux-theme .woocommerce table.shop_table dl.variation dd p { margin: 0; }
.blklux-theme .woocommerce a.remove { color: var(--blklux-ash) !important; }
.blklux-theme .woocommerce a.remove:hover { color: var(--blklux-ember) !important; background: transparent; }
.blklux-theme .woocommerce-cart table.cart img { border-radius: var(--blklux-r-sm); }
.blklux-theme .woocommerce .quantity .qty { min-height: 44px; width: 72px; border-radius: var(--blklux-r-md); border: 1px solid var(--blklux-line); background: var(--blklux-raised); color: var(--blklux-ivory); text-align: center; }
.blklux-theme .woocommerce .coupon .input-text { min-height: 44px; border-radius: var(--blklux-r-md); border: 1px solid var(--blklux-line); background: var(--blklux-raised); color: var(--blklux-ivory); padding: 0 12px; }
.blklux-theme .woocommerce .cart_totals { background: var(--blklux-charcoal); border-radius: var(--blklux-r-lg); box-shadow: var(--blklux-rim); padding: var(--blklux-s-4); }
.blklux-theme .woocommerce .cart_totals table.shop_table { border: 0; background: transparent; }
.blklux-theme .woocommerce .cart_totals h2 { font-size: var(--blklux-fs-xl); margin: 0 0 var(--blklux-s-3); }

/* --- Checkout layout ----------------------------------------------------- */

.blklux-theme .woocommerce-checkout .col2-set { display: grid; gap: var(--blklux-s-5); }
.blklux-theme .woocommerce-checkout .col2-set .col-1,
.blklux-theme .woocommerce-checkout .col2-set .col-2 { width: 100%; float: none; }
.blklux-theme .woocommerce-checkout #customer_details, .blklux-theme .woocommerce-checkout #order_review { width: 100%; float: none; }
.blklux-theme .woocommerce-checkout .woocommerce-billing-fields,
.blklux-theme .woocommerce-checkout .woocommerce-additional-fields { background: var(--blklux-charcoal); border-radius: var(--blklux-r-lg); box-shadow: var(--blklux-rim); padding: var(--blklux-s-5); }
.blklux-theme .woocommerce-checkout .woocommerce-billing-fields h3,
.blklux-theme .woocommerce-checkout .woocommerce-additional-fields h3,
.blklux-theme .woocommerce-checkout #order_review_heading { font-size: var(--blklux-fs-xl); margin: 0 0 var(--blklux-s-4); }
.blklux-theme .woocommerce-checkout #order_review { background: var(--blklux-charcoal); border-radius: var(--blklux-r-lg); box-shadow: var(--blklux-rim); padding: var(--blklux-s-5); }
.blklux-theme .woocommerce-checkout #order_review table.shop_table { border: 0; background: transparent; border-radius: 0; }
.blklux-theme .woocommerce-checkout #order_review table.shop_table th,
.blklux-theme .woocommerce-checkout #order_review table.shop_table td { padding: 10px 0; }
.blklux-theme .woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.blklux-theme .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: var(--blklux-s-3); }
.blklux-theme .woocommerce-checkout .woocommerce-form-login,
.blklux-theme .woocommerce-checkout .checkout_coupon { background: var(--blklux-charcoal); border: 1px solid var(--blklux-line); border-radius: var(--blklux-r-lg); padding: var(--blklux-s-4); margin-bottom: var(--blklux-s-5); }
.blklux-theme .woocommerce-checkout .woocommerce-privacy-policy-text,
.blklux-theme .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { color: var(--blklux-ash); font-size: var(--blklux-fs-xs); }

@media (min-width: 1025px) {
  .blklux-theme form.woocommerce-checkout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr); gap: var(--blklux-s-6); align-items: start; }
  .blklux-theme form.woocommerce-checkout #order_review_heading { grid-column: 2; margin: 0; }
  .blklux-theme form.woocommerce-checkout #order_review { grid-column: 2; position: sticky; top: 96px; }
  .blklux-theme form.woocommerce-checkout .col2-set { grid-column: 1; grid-row: 1 / span 3; }
  .blklux-theme form.woocommerce-checkout #customer_details, .blklux-theme form.woocommerce-checkout .col2-set, .blklux-theme form.woocommerce-checkout #order_review, .blklux-theme form.woocommerce-checkout #order_review_heading { width: 100%; float: none; }
  .blklux-theme .blklux-checkout-summary { grid-column: 1 / -1; }
}

/* Summary card above the form */
.blklux-checkout-summary { margin: 0 0 var(--blklux-s-5); }
.blklux-checkout-summary__row { display: flex; align-items: center; gap: var(--blklux-s-4); padding: var(--blklux-s-4) var(--blklux-s-5); }
.blklux-checkout-summary__img { width: 72px; height: 72px; border-radius: var(--blklux-r-md); object-fit: cover; flex: none; }
.blklux-checkout-summary__body { flex: 1; min-width: 0; }
@media (max-width: 600px) { .blklux-checkout-summary__img { display: none; } }

/* Pickup time + tip blocks inside the review column */
.blklux-checkout-extras { display: grid; gap: var(--blklux-s-4); margin: var(--blklux-s-3) 0 var(--blklux-s-5); }
.blklux-checkout-block { border: 0; padding: 0; margin: 0; min-width: 0; }
.blklux-checkout-block__title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; width: 100%; padding: 0; margin: 0 0 12px; font-family: var(--blklux-font-display); font-size: var(--blklux-fs-lg); font-weight: 600; color: var(--blklux-ivory); }
.blklux-checkout-block__amount { font-family: var(--blklux-font-body); font-size: var(--blklux-fs-sm); }
.blklux-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 8px; margin-top: 12px; }
.blklux-slots .blklux-chip { width: 100%; padding: 0 6px; }
.blklux-chip[aria-disabled="true"] { opacity: 0.35; cursor: not-allowed; text-decoration: line-through; }
.blklux-chip:has(input:checked), .blklux-chip.is-selected { background: var(--blklux-gold-gradient); border-color: transparent; color: var(--blklux-gold-ink); }
.blklux-chip:has(input:focus-visible) { outline: 2px solid var(--blklux-gold-light); outline-offset: 2px; }

/* Payment methods */
.blklux-theme .woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.blklux-theme .woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--blklux-line-soft); padding: 0 0 var(--blklux-s-3); }
.blklux-theme .woocommerce-checkout #payment ul.payment_methods li { padding: 10px 0; }
.blklux-theme .woocommerce-checkout #payment ul.payment_methods li label { color: var(--blklux-ivory); font-weight: 600; }
.blklux-theme .woocommerce-checkout #payment div.payment_box { background: var(--blklux-raised); color: var(--blklux-ash); border-radius: var(--blklux-r-md); font-size: var(--blklux-fs-sm); }
.blklux-theme .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--blklux-raised); }
.blklux-theme .woocommerce-checkout #payment input[type="radio"] { accent-color: var(--blklux-gold); width: 18px; height: 18px; }

/* --- Thank-you / confirmation ------------------------------------------- */

.blklux-confirmation { text-align: center; margin: 0 auto var(--blklux-s-7); max-width: 640px; display: grid; gap: var(--blklux-s-4); justify-items: center; }
.blklux-confirmation__title { font-size: var(--blklux-fs-3xl); margin-top: var(--blklux-s-3); }
.blklux-confirmation__lead { text-align: center; }
.blklux-confirmation__card { width: 100%; text-align: left; }
.blklux-confirmation__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--blklux-s-4); margin-bottom: var(--blklux-s-5); }
.blklux-confirmation__grid > div { display: grid; gap: 2px; }
.blklux-confirmation__grid strong { font-size: var(--blklux-fs-lg); }
.blklux-confirmation__timeline { margin: 0 0 8px; }
.blklux-confirmation__actions { display: grid; gap: 10px; width: 100%; }
@media (min-width: 600px) { .blklux-confirmation__actions { grid-auto-flow: column; grid-auto-columns: 1fr; } }
.blklux-theme .woocommerce-order .woocommerce-thankyou-order-received { font-family: var(--blklux-font-display); font-size: var(--blklux-fs-xl); text-align: center; color: var(--blklux-ash); }
.blklux-theme .woocommerce-order ul.woocommerce-thankyou-order-details { display: none; }
.blklux-theme .woocommerce-order .woocommerce-order-details,
.blklux-theme .woocommerce-order .woocommerce-customer-details { max-width: 640px; margin-inline: auto; }
.blklux-theme .woocommerce-order .woocommerce-customer-details address { border: 1px solid var(--blklux-line); border-radius: var(--blklux-r-md); background: var(--blklux-charcoal); color: var(--blklux-ivory); }

/* --- My Account ----------------------------------------------------------- */

.blklux-theme .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.blklux-theme .woocommerce-MyAccount-navigation li a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: var(--blklux-r-pill); border: 1px solid var(--blklux-line); color: var(--blklux-ivory); text-decoration: none; font-weight: 600; font-size: var(--blklux-fs-sm); }
.blklux-theme .woocommerce-MyAccount-navigation li.is-active a { background: var(--blklux-gold-gradient); color: var(--blklux-gold-ink); border-color: transparent; }
.blklux-theme .woocommerce-MyAccount-content { margin-top: var(--blklux-s-5); }
@media (min-width: 1025px) {
  .blklux-theme .woocommerce-account .woocommerce-MyAccount-navigation { width: 240px; float: none; }
  .blklux-theme .woocommerce-account .woocommerce-MyAccount-content { width: auto; float: none; }
  .blklux-theme .woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px 1fr; gap: var(--blklux-s-6); align-items: start; }
  .blklux-theme .woocommerce-MyAccount-navigation ul { flex-direction: column; }
  .blklux-theme .woocommerce-MyAccount-navigation li a { border-radius: var(--blklux-r-md); }
  .blklux-theme .woocommerce-MyAccount-content { margin-top: 0; }
}
.blklux-theme .woocommerce-account .woocommerce-form-login,
.blklux-theme .woocommerce-account .woocommerce-form-register { background: var(--blklux-charcoal); border: 1px solid var(--blklux-line); border-radius: var(--blklux-r-lg); padding: var(--blklux-s-5); max-width: 480px; }
.blklux-theme .woocommerce-account .woocommerce-orders-table__cell-order-status { font-weight: 700; color: var(--blklux-gold); }
