/* ==========================================================================
   MotoTransfer – WooCommerce (koszyk, płatność, moje konto)
   ========================================================================== */

/* ================================================================
   SHARED – WooCommerce page wrapper
   ================================================================ */
.woocommerce-page .woocommerce,
.woocommerce {
  width: var(--container);
  margin-inline: auto;
  padding-block: var(--space-16);
}

/* Page title */
.woocommerce-page h1.page-title,
.woocommerce h1.page-title {
  font-size: var(--fs-3xl);
  font-weight: var(--fw-bold);
  color: var(--color-text);
  letter-spacing: var(--ls-tight);
  margin-bottom: var(--space-8);
  padding-top: 5rem;
}

/* Notices */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  border-radius: var(--radius-md);
  padding: var(--space-4) var(--space-5);
  margin-bottom: var(--space-6);
  font-size: var(--fs-sm);
  display: flex; align-items: center; gap: var(--space-3);
  border: none; list-style: none;
}
.woocommerce-message { background: #ecfdf5; color: #065f46; border-left: 3px solid #059669; }
.woocommerce-error   { background: #fef2f2; color: #991b1b; border-left: 3px solid #dc2626; }
.woocommerce-info    { background: var(--color-amber-pale); color: var(--color-amber-dark); border-left: 3px solid var(--color-amber); }
.woocommerce-message a.button,
.woocommerce-error a.button,
.woocommerce-info a.button {
  margin-left: auto;
}

/* Breadcrumb */
.woocommerce-breadcrumb {
  font-size: var(--fs-xs); color: var(--color-text-faint);
  margin-bottom: var(--space-8);
}
.woocommerce-breadcrumb a { color: var(--color-text-muted); text-decoration: none; }
.woocommerce-breadcrumb a:hover { color: var(--color-amber); }

/* ================================================================
   BUTTONS – override WC defaults
   ================================================================ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex; align-items: center; gap: var(--space-2);
  padding: var(--space-3) var(--space-6);
  background: var(--color-amber);
  color: var(--color-white) !important;
  border: none; border-radius: var(--radius-pill);
  font-family: var(--font-body); font-size: var(--fs-sm); font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-wide); text-transform: uppercase;
  cursor: pointer; text-decoration: none;
  transition: background var(--transition-fast), transform var(--transition-spring), box-shadow var(--transition-fast);
  box-shadow: 0 4px 16px rgba(168,93,26,0.25);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--color-amber-light) !important;
  color: var(--color-white) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(168,93,26,0.35);
}
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: var(--color-text);
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--color-brown) !important;
}

/* ================================================================
   FORM FIELDS (global WC forms)
   ================================================================ */
.woocommerce form .form-row label {
  font-size: var(--fs-xs); font-weight: var(--fw-semibold);
  color: var(--color-text-muted);
  text-transform: uppercase; letter-spacing: var(--ls-wide);
  display: block; margin-bottom: var(--space-2);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  font-family: var(--font-body); font-size: var(--fs-sm);
  color: var(--color-text); background: var(--color-bg-card);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
  appearance: none;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  outline: none;
  border-color: var(--color-amber);
  box-shadow: 0 0 0 3px rgba(168,93,26,0.10);
}

/* ================================================================
   CART – koszyk
   ================================================================ */
.woocommerce-cart .woocommerce {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
}
@media (min-width: 1024px) {
  .woocommerce-cart .woocommerce {
    grid-template-columns: 1fr 320px;
    align-items: start;
  }
}

/* Cart table */
.woocommerce table.shop_table {
  width: 100%; border-collapse: collapse;
  background: var(--color-bg-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  font-size: var(--fs-sm);
}
.woocommerce table.shop_table thead th {
  background: var(--color-bg-alt);
  padding: var(--space-4) var(--space-5);
  font-size: var(--fs-xs); font-weight: var(--fw-semibold);
  text-transform: uppercase; letter-spacing: var(--ls-wider);
  color: var(--color-text-faint);
  border-bottom: 1px solid var(--color-border-subtle);
  text-align: left;
}
.woocommerce table.shop_table td {
  padding: var(--space-5);
  border-bottom: 1px solid var(--color-border-light);
  vertical-align: middle; color: var(--color-text-muted);
}
.woocommerce table.shop_table tr:last-child td { border-bottom: none; }

/* Cart product image */
.woocommerce table.shop_table td.product-thumbnail img {
  width: 72px; height: 72px; object-fit: cover;
  border-radius: var(--radius-md);
}
/* Cart product name */
.woocommerce table.shop_table td.product-name a {
  font-size: var(--fs-md); font-weight: var(--fw-semibold);
  color: var(--color-text); text-decoration: none;
}
.woocommerce table.shop_table td.product-name a:hover { color: var(--color-amber); }
/* Cart qty */
.woocommerce table.shop_table td.product-quantity input {
  width: 4rem; text-align: center;
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  padding: var(--space-2) var(--space-3);
  font-size: var(--fs-sm);
}
/* Remove btn */
.woocommerce table.shop_table td.product-remove a {
  color: var(--color-text-light) !important;
  font-size: 1.25rem; text-decoration: none;
  transition: color var(--transition-fast);
}
.woocommerce table.shop_table td.product-remove a:hover { color: #dc2626 !important; }
/* Price */
.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-subtotal {
  font-weight: var(--fw-semibold); color: var(--color-text);
}

/* Cart actions */
.woocommerce table.shop_table td.actions {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3);
  background: var(--color-bg-warm);
}
.woocommerce table.shop_table td.actions .coupon {
  display: flex; gap: var(--space-2); flex: 1;
}
.woocommerce table.shop_table td.actions .coupon input {
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  font-size: var(--fs-sm);
  color: var(--color-text); background: var(--color-bg-card);
  flex: 1;
}

/* Cart totals */
.woocommerce .cart_totals {
  background: var(--color-bg-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: var(--space-6);
  position: sticky; top: calc(var(--space-20) + var(--space-4));
}
.woocommerce .cart_totals h2 {
  font-size: var(--fs-md); font-weight: var(--fw-bold); color: var(--color-text);
  margin-bottom: var(--space-5);
  padding-bottom: var(--space-4); border-bottom: 1px solid var(--color-border-subtle);
}
.woocommerce .cart_totals table {
  width: 100%; border-collapse: collapse; margin-bottom: var(--space-5);
}
.woocommerce .cart_totals table th {
  font-size: var(--fs-xs); color: var(--color-text-faint);
  text-align: left; padding: var(--space-3) 0;
  border-bottom: 1px solid var(--color-border-light);
  font-weight: var(--fw-medium);
}
.woocommerce .cart_totals table td {
  font-size: var(--fs-sm); color: var(--color-text-muted);
  text-align: right; padding: var(--space-3) 0;
  border-bottom: 1px solid var(--color-border-light);
}
.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td {
  font-size: var(--fs-lg); font-weight: var(--fw-bold);
  color: var(--color-text); border-bottom: none; padding-top: var(--space-4);
}
.woocommerce .cart_totals .order-total td .woocommerce-Price-amount { color: var(--color-amber); }
.woocommerce .cart_totals .wc-proceed-to-checkout { margin-top: var(--space-5); }
.woocommerce .cart_totals .wc-proceed-to-checkout a.button {
  width: 100%; justify-content: center; font-size: var(--fs-sm);
}

/* Cross-sells */
.cross-sells h2 { font-size: var(--fs-xl); font-weight: var(--fw-bold); color: var(--color-text); margin-bottom: var(--space-6); }

/* ================================================================
   CHECKOUT – strona płatności
   ================================================================ */
.woocommerce-checkout .woocommerce {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  align-items: start;
}
@media (min-width: 1024px) {
  .woocommerce-checkout .woocommerce {
    grid-template-columns: 1fr 380px;
  }
}

/* Form billing/shipping */
#customer_details,
.woocommerce-billing-fields,
.woocommerce-shipping-fields {
  background: var(--color-bg-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: var(--space-8);
}
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
  font-size: var(--fs-lg); font-weight: var(--fw-bold); color: var(--color-text);
  margin-bottom: var(--space-6);
  padding-bottom: var(--space-4); border-bottom: 1px solid var(--color-border-subtle);
}
.woocommerce form .form-row-first,
.woocommerce form .form-row-last { width: calc(50% - var(--space-3)); display: inline-block; }

/* Order review */
#order_review_heading {
  font-size: var(--fs-lg); font-weight: var(--fw-bold); color: var(--color-text);
  margin-bottom: var(--space-5);
}
#order_review {
  background: var(--color-bg-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: var(--space-6);
  position: sticky; top: calc(var(--space-20) + var(--space-4));
}
#order_review table {
  width: 100%; border-collapse: collapse; margin-bottom: var(--space-5);
}
#order_review table th {
  font-size: var(--fs-xs); color: var(--color-text-faint);
  font-weight: var(--fw-semibold); text-transform: uppercase; letter-spacing: var(--ls-wider);
  padding: var(--space-3) 0; border-bottom: 1px solid var(--color-border-subtle);
}
#order_review table td {
  font-size: var(--fs-sm); color: var(--color-text-muted);
  padding: var(--space-3) 0; border-bottom: 1px solid var(--color-border-light);
}
#order_review table .order-total td,
#order_review table .order-total th {
  font-size: var(--fs-md); font-weight: var(--fw-bold); color: var(--color-text);
  border-bottom: none; padding-top: var(--space-4);
}
#order_review table .order-total td .woocommerce-Price-amount { color: var(--color-amber); }

/* Payment */
#payment {
  background: var(--color-bg-warm);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  margin-top: var(--space-5);
}
#payment ul.payment_methods { list-style: none; padding: 0; margin-bottom: var(--space-5); }
#payment ul.payment_methods li {
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--color-border-light);
  font-size: var(--fs-sm); color: var(--color-text-muted);
}
#payment ul.payment_methods li:last-child { border-bottom: none; }
#payment ul.payment_methods li label {
  font-weight: var(--fw-medium); color: var(--color-text); cursor: pointer;
}
#payment .payment_box {
  background: var(--color-bg-card);
  border-radius: var(--radius-md);
  padding: var(--space-4); margin-top: var(--space-3);
  font-size: var(--fs-sm); color: var(--color-text-muted);
}
#payment .place-order { margin-top: var(--space-4); }
#payment .place-order #place_order {
  width: 100%; justify-content: center; font-size: var(--fs-md);
  padding: var(--space-4) var(--space-8);
}

/* ================================================================
   MY ACCOUNT – moje konto
   ================================================================ */
.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  align-items: start;
}
@media (min-width: 900px) {
  .woocommerce-account .woocommerce {
    grid-template-columns: 220px 1fr;
  }
}

/* Account nav */
.woocommerce-MyAccount-navigation {
  background: var(--color-bg-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: var(--space-4);
  position: sticky; top: calc(var(--space-20) + var(--space-4));
}
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; }
.woocommerce-MyAccount-navigation ul li { border-bottom: 1px solid var(--color-border-light); }
.woocommerce-MyAccount-navigation ul li:last-child { border-bottom: none; }
.woocommerce-MyAccount-navigation ul li a {
  display: flex; align-items: center; gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-md);
  font-size: var(--fs-sm); font-weight: var(--fw-medium);
  color: var(--color-text-muted); text-decoration: none;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--color-bg-warm); color: var(--color-amber);
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--active a {
  background: var(--color-amber-pale);
  color: var(--color-amber-dark); font-weight: var(--fw-semibold);
}

/* Account content */
.woocommerce-MyAccount-content {
  background: var(--color-bg-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: var(--space-8);
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-size: var(--fs-xl); font-weight: var(--fw-bold); color: var(--color-text);
  margin-bottom: var(--space-5);
}
.woocommerce-MyAccount-content p { font-size: var(--fs-sm); color: var(--color-text-muted); line-height: var(--lh-loose); margin-bottom: var(--space-4); }
.woocommerce-MyAccount-content a { color: var(--color-amber); text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-MyAccount-content a:hover { color: var(--color-amber-dark); }

/* Orders table */
.woocommerce-orders-table {
  width: 100%; border-collapse: collapse; font-size: var(--fs-sm);
}
.woocommerce-orders-table th {
  font-size: var(--fs-xs); font-weight: var(--fw-semibold);
  text-transform: uppercase; letter-spacing: var(--ls-wider);
  color: var(--color-text-faint);
  padding: var(--space-3) var(--space-4); text-align: left;
  border-bottom: 2px solid var(--color-border-subtle);
}
.woocommerce-orders-table td {
  padding: var(--space-4); color: var(--color-text-muted);
  border-bottom: 1px solid var(--color-border-light);
}
.woocommerce-orders-table tr:last-child td { border-bottom: none; }
.woocommerce-orders-table .woocommerce-orders-table__cell-order-status mark {
  display: inline-flex; align-items: center;
  padding: 2px var(--space-3); border-radius: var(--radius-pill);
  font-size: var(--fs-xs); font-weight: var(--fw-semibold);
  background: transparent;
}
.woocommerce-orders-table mark.processing { color: #1d4ed8; background: #dbeafe; }
.woocommerce-orders-table mark.completed  { color: #065f46; background: #d1fae5; }
.woocommerce-orders-table mark.on-hold    { color: #92400e; background: var(--color-amber-pale); }
.woocommerce-orders-table mark.cancelled  { color: #991b1b; background: #fee2e2; }

/* Account forms */
.woocommerce-EditAccountForm fieldset {
  border: 1px solid var(--color-border-subtle);
  border-radius: var(--radius-md);
  padding: var(--space-5);
  margin-bottom: var(--space-6);
}
.woocommerce-EditAccountForm fieldset legend {
  font-size: var(--fs-sm); font-weight: var(--fw-semibold);
  color: var(--color-text-muted); padding: 0 var(--space-2);
}

/* Login/Register forms */
.woocommerce-account:not(.logged-in) .woocommerce {
  display: flex; flex-direction: column; max-width: 520px;
}
@media (min-width: 768px) {
  .woocommerce-account:not(.logged-in) .woocommerce {
    display: grid; grid-template-columns: 1fr 1fr; max-width: none;
  }
}
.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
  background: var(--color-bg-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: var(--space-8);
}

/* ================================================================
   ORDER RECEIVED / THANK YOU page
   ================================================================ */
.woocommerce-order {
  background: var(--color-bg-card);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: var(--space-10);
  text-align: center;
}
.woocommerce-order p.woocommerce-thankyou-order-received {
  font-size: var(--fs-xl); font-weight: var(--fw-bold);
  color: var(--color-text); margin-bottom: var(--space-6);
}
.woocommerce-order ul.woocommerce-thankyou-order-details,
.woocommerce-order ul.order_details {
  list-style: none; padding: 0;
  display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-8);
  justify-content: center; margin-bottom: var(--space-8);
}
.woocommerce-order ul.woocommerce-thankyou-order-details li,
.woocommerce-order ul.order_details li {
  font-size: var(--fs-sm); color: var(--color-text-muted);
  text-align: center;
}
.woocommerce-order ul.woocommerce-thankyou-order-details strong,
.woocommerce-order ul.order_details strong {
  display: block; font-size: var(--fs-lg); color: var(--color-text);
}

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 767px) {
  .woocommerce .woocommerce-billing-fields,
  .woocommerce-shipping-fields,
  .woocommerce-MyAccount-content { padding: var(--space-5); }
  .woocommerce table.shop_table thead { display: none; }
  .woocommerce table.shop_table td {
    display: flex; flex-direction: column; align-items: flex-start;
    gap: var(--space-1); padding: var(--space-4) var(--space-3);
  }
  .woocommerce table.shop_table td::before {
    content: attr(data-title);
    font-size: var(--fs-xs); text-transform: uppercase;
    letter-spacing: var(--ls-wider); color: var(--color-text-faint);
    font-weight: var(--fw-semibold);
  }
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last { width: 100%; display: block; }
}
