/* ==========================================================================
   WooCommerce: корзина, оформление заказа, формы, уведомления.
   Стандартные стили WC отключены — всё оформление здесь. Mobile First.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Уведомления WooCommerce
   -------------------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  list-style: none;
  margin: 0 0 var(--px35);
  padding: 1em 1.3em;
  border-radius: var(--radius-sm);
  font-size: 0.92rem;
}

.woocommerce-message { background: oklch(0.94 0.05 150); color: oklch(0.35 0.12 150); }
.woocommerce-info { background: var(--surface); color: var(--text); }
.woocommerce-error { background: oklch(0.95 0.03 25); color: var(--danger-dark); }

.woocommerce-error li { margin-left: 1.2em; }

.woocommerce-message .button,
.woocommerce-info .button {
  float: right;
  margin-left: 1em;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* --------------------------------------------------------------------------
   Формы WooCommerce (поля чекаута)
   -------------------------------------------------------------------------- */
.form-row {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--px35);
}

.form-row label {
  margin-bottom: 0.4em;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--green-ink);
}

.form-row .required { color: var(--danger); text-decoration: none; }

.form-row .input-text,
.form-row select,
.form-row textarea {
  width: 100%;
  padding: 0.75em 1.1em;
  font: inherit;
  font-size: 0.95rem;
  color: var(--text);
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
  transition: border-color var(--transition), box-shadow var(--transition);
}

.form-row textarea { resize: vertical; }

.form-row .input-text:focus,
.form-row select:focus,
.form-row textarea:focus {
  outline: none;
  border-color: var(--green-accent);
  box-shadow: 0 0 0 3px oklch(0.74 0.19 140 / 0.18);
}

.form-row.woocommerce-invalid .input-text,
.form-row.woocommerce-invalid select,
.form-row.woocommerce-invalid textarea { border-color: var(--danger); }

.woocommerce-input-wrapper { display: block; }

.form-row .select2-container { width: 100% !important; }

/* --------------------------------------------------------------------------
   Корзина
   -------------------------------------------------------------------------- */
.cart__table-wrap { overflow-x: auto; }

.cart-table { width: 100%; border-collapse: collapse; min-width: 560px; }

.cart-table__head {
  padding: 0.7em 0.8em;
  border-bottom: 2px solid var(--green-ink);
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--green-ink);
  text-align: left;
  white-space: nowrap;
}

.cart-table__head--media, .cart-table__cell--media { width: 96px; }
.cart-table__head--qty, .cart-table__cell--qty { width: 120px; }
.cart-table__head--price, .cart-table__cell--price { width: 140px; }
.cart-table__head--remove, .cart-table__cell--remove { width: 60px; text-align: center; }

.cart-table__row { border-bottom: 1px solid var(--border); }

.cart-table__cell { padding: 1em 0.8em; vertical-align: middle; }

.cart-table__cell--media img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
}

.cart-table__cell--qty .quantity input.qty,
.cart-table__cell--qty input.qty {
  width: 84px;
  padding: 0.55em 0.7em;
  font: inherit;
  text-align: center;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
}

.cart-table__name-link { font-weight: 600; color: var(--green-ink); }
.cart-table__name-link:hover { color: var(--green-accent-dark); }

.cart-table__cell--price { font-weight: 700; color: var(--green-ink); white-space: nowrap; }

.cart-table__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: var(--radius-sm);
  font-size: 1.3rem;
  line-height: 1;
  color: var(--danger);
  background: oklch(0.96 0.02 25);
}

.cart-table__remove:hover { background: var(--danger); color: var(--white); }

.cart__footer {
  display: flex;
  flex-direction: column;
  gap: var(--px35);
  margin-top: var(--px35);
  padding: var(--px35);
  background: var(--surface);
  border-radius: var(--radius);
}

.cart__count { margin: 0 0 0.3em; font-size: 0.92rem; color: var(--text-muted); }

.cart__total { margin: 0; font-size: 1.05rem; }

.cart__total-value { font-size: 1.4rem; font-weight: 700; color: var(--green-ink); }

.cart__actions { display: flex; flex-wrap: wrap; gap: 0.7em; }

.cart__checkout { flex: 1 1 200px; }

.cart__empty { margin-top: var(--px35); }

.cart__empty-text { font-size: 1.05rem; }

/* --------------------------------------------------------------------------
   Оформление заказа
   -------------------------------------------------------------------------- */
.checkout__layout { display: grid; gap: var(--px70); }

.checkout__fields {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 var(--px35);
}

.checkout__fields-title { font-size: 1.2rem; margin-bottom: 0.9em; }

.checkout__order-title { font-size: 1.2rem; margin-bottom: 0.9em; }

.checkout__table { width: 100%; border-collapse: collapse; }

.checkout__th {
  padding: 0.6em 0;
  border-bottom: 2px solid var(--green-ink);
  font-family: var(--font-display);
  text-align: left;
  font-size: 0.95rem;
  color: var(--green-ink);
}

.checkout__th--total { text-align: right; }

.checkout__row { border-bottom: 1px solid var(--border); }

.checkout__cell { padding: 0.7em 0; font-size: 0.92rem; vertical-align: top; }

.checkout__cell--total, .checkout__cell--value { text-align: right; white-space: nowrap; }

.checkout__product-qty { color: var(--text-muted); margin-left: 0.35em; }

.checkout__row--subtotal .checkout__cell { padding-top: 0.9em; }

.checkout__row--total .checkout__cell {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--green-ink);
  border-bottom: 0;
}

.checkout__row--total .checkout__cell--value { font-size: 1.35rem; }

#payment { margin-top: var(--px35); border-radius: var(--radius); }

#payment .wc_payment_methods { list-style: none; margin: 0 0 1em; padding: 0; }

#payment .wc_payment_method {
  padding: 0.9em 1.1em;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  margin-bottom: 0.6em;
}

#payment .wc_payment_method label { font-weight: 600; cursor: pointer; display: inline; }

#payment .payment_box {
  margin-top: 0.6em;
  font-size: 0.85rem;
  color: var(--text-muted);
}

#payment .form-row { margin-bottom: 0; }

#place_order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.95em 1.6em;
  border: 2px solid transparent;
  border-radius: var(--radius-full);
  background: var(--green-accent);
  color: var(--green-ink);
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  transition: background var(--transition), box-shadow var(--transition), transform var(--transition);
}

#place_order:hover {
  background: var(--green-accent-dark);
  box-shadow: var(--shadow-soft);
  transform: translateY(-1px);
}

/* --------------------------------------------------------------------------
   Страница «Спасибо» / детали заказа
   -------------------------------------------------------------------------- */
.woocommerce-order-overview {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
  margin: 0 0 var(--px35);
  padding: 0;
}

.woocommerce-order-overview li {
  padding: var(--px35);
  background: var(--surface);
  border-radius: var(--radius);
  font-size: 0.9rem;
  color: var(--text-muted);
}

.woocommerce-order-overview li strong { display: block; font-size: 1.05rem; color: var(--green-ink); }

.woocommerce-table--order-details {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--px35);
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
  padding: 0.7em 0.9em;
  border: 1px solid var(--border);
  font-size: 0.92rem;
  text-align: left;
}

.woocommerce-table--order-details thead th { background: var(--surface-deep); color: var(--green-ink); }

.woocommerce-table--order-details tfoot th { text-align: right; }

/* --------------------------------------------------------------------------
   Кол-во товара (общий виджет WC)
   -------------------------------------------------------------------------- */
.quantity input.qty {
  width: 84px;
  padding: 0.55em 0.7em;
  font: inherit;
  text-align: center;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
}

.quantity { display: inline-flex; }

/* --------------------------------------------------------------------------
   Двухколоночный чекаут на широких экранах
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {
  .checkout__fields { grid-template-columns: repeat(2, 1fr); }
  .checkout__fields .form-row--wide,
  .checkout__fields .form-row.address-field { grid-column: 1 / -1; }
}

@media (min-width: 992px) {
  .checkout__layout { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: start; }
  .checkout__order { position: sticky; top: 120px; }
}
