/**
 * Aafaq Bookstore — WooCommerce CSS Overrides
 * Elegant overrides for all WC components
 */

/* ── General WC ─────────────────────────────────────────────── */
.woocommerce,
.woocommerce-page { font-family: var(--font-arabic); direction: rtl; }

.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message {
  border-right: 4px solid;
  border-top: 0; border-left: 0; border-bottom: 0;
  padding: 1rem 1.5rem;
  border-radius: var(--radius-md);
  font-family: var(--font-arabic);
}

.woocommerce .woocommerce-error   { border-color: var(--color-error);   background: rgba(192,57,43,.06); }
.woocommerce .woocommerce-info    { border-color: var(--color-navy);     background: rgba(26,39,68,.05); }
.woocommerce .woocommerce-message { border-color: var(--color-success);  background: rgba(46,125,94,.06); }

/* ── Buttons ────────────────────────────────────────────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #place_order {
  background-color: var(--color-navy);
  color: white;
  font-family: var(--font-arabic);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-sm);
  padding: .75rem 1.5rem;
  border-radius: var(--radius-md);
  border: 1.5px solid var(--color-navy);
  cursor: pointer;
  transition: all var(--duration-fast) var(--ease-out);
  letter-spacing: var(--ls-wide);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce #place_order:hover {
  background-color: var(--color-navy-mid);
  border-color: var(--color-navy-mid);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background-color: var(--color-gold);
  border-color: var(--color-gold);
}

.woocommerce a.button.alt:hover { background-color: var(--color-warm-beige); color: var(--color-navy); }

/* ── Forms ──────────────────────────────────────────────────── */
.woocommerce form .form-row {
  margin-bottom: 1rem;
}

.woocommerce form .form-row label {
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--color-text);
  margin-bottom: .375rem;
  display: block;
}

.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  width: 100%;
  padding: .75rem 1rem;
  border: 1.5px solid var(--color-border-mid);
  border-radius: var(--radius-md);
  font-family: var(--font-arabic);
  font-size: var(--fs-sm);
  color: var(--color-text);
  background: white;
  direction: rtl;
  transition: border-color var(--duration-fast);
  outline: none;
}

.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--color-navy);
  box-shadow: 0 0 0 3px rgba(26,39,68,.08);
}

/* ── Cart Table ─────────────────────────────────────────────── */
.woocommerce table.shop_table {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

.woocommerce table.shop_table th {
  background: var(--color-paper-dark);
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: var(--ls-wider);
  color: var(--color-text-mid);
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--color-border);
  text-align: right;
}

.woocommerce table.shop_table td {
  padding: 1.25rem;
  border-bottom: 1px solid var(--color-border);
  vertical-align: middle;
  font-size: var(--fs-sm);
}

.woocommerce table.shop_table tr:last-child td { border-bottom: 0; }

/* Product image in cart */
.woocommerce table.shop_table .product-thumbnail img {
  width: 72px;
  height: 96px;
  object-fit: cover;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}

/* ── Cart Totals ────────────────────────────────────────────── */
.woocommerce .cart_totals,
.woocommerce .order-total {
  background: var(--color-paper-dark);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: 1.5rem;
}

.woocommerce .cart_totals h2 {
  font-size: var(--fs-xl);
  font-weight: var(--fw-bold);
  color: var(--color-navy);
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color-border);
}

.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td {
  padding: .75rem 0;
  border-bottom: 1px solid var(--color-border);
  font-size: var(--fs-sm);
}

.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td {
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
  color: var(--color-navy);
  border-bottom: 0;
  padding-top: 1rem;
}

/* ── Checkout ───────────────────────────────────────────────── */
#order_review_heading,
.woocommerce-checkout h3 {
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
  color: var(--color-navy);
  margin-bottom: 1.25rem;
  padding-bottom: .75rem;
  border-bottom: 2px solid var(--color-border);
}

#payment .payment_methods {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

#payment .payment_methods li {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--color-border);
  list-style: none;
}

#payment .payment_methods li:last-child { border-bottom: 0; }

#payment .payment_methods li label {
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--color-navy);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: .75rem;
}

/* ── My Account ─────────────────────────────────────────────── */
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: white;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: .5rem;
  margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .75rem 1rem;
  border-radius: var(--radius-md);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--color-text);
  transition: all var(--duration-fast);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background: var(--color-navy);
  color: white;
}

/* ── Product Rating ─────────────────────────────────────────── */
.woocommerce .star-rating {
  color: var(--color-gold);
  font-size: var(--fs-sm);
}

.woocommerce .star-rating::before,
.woocommerce .star-rating span::before {
  color: var(--color-gold);
}

/* ── Reviews ────────────────────────────────────────────────── */
#reviews .comment_container {
  display: flex;
  gap: 1.25rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--color-border);
}

#reviews .comment_container .avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* ── Price Display ──────────────────────────────────────────── */
.woocommerce span.price,
.woocommerce .woocommerce-Price-amount {
  font-family: var(--font-latin-sans);
  font-weight: var(--fw-bold);
  color: var(--color-navy);
  direction: ltr;
  display: inline-block;
}

.woocommerce del .woocommerce-Price-amount {
  color: var(--color-text-muted);
  font-weight: var(--fw-regular);
}

.woocommerce ins .woocommerce-Price-amount {
  color: var(--color-navy);
  font-weight: var(--fw-bold);
}

/* ── Sale Badge ─────────────────────────────────────────────── */
.woocommerce span.onsale {
  background: var(--color-error);
  border-radius: var(--radius-sm);
  font-family: var(--font-arabic);
  font-size: var(--fs-xs);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-wide);
  min-width: 0;
  padding: .25rem .5rem;
  line-height: 1.2;
  min-height: 0;
  left: auto;
  right: .75rem;
  top: .75rem;
}

[dir="ltr"] .woocommerce span.onsale {
  right: auto;
  left: .75rem;
}

/* ── Pagination ─────────────────────────────────────────────── */
.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  list-style: none;
  padding: 0;
  margin: 3rem 0 0;
  border: none;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: none;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  width: 40px;
  height: 40px;
  border-radius: var(--radius-md);
  border: 1.5px solid var(--color-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--color-text);
  background: white;
  transition: all var(--duration-fast);
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
  border-color: var(--color-navy);
  color: var(--color-navy);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--color-navy);
  border-color: var(--color-navy);
  color: white;
}

/* ── Breadcrumb ─────────────────────────────────────────────── */
.woocommerce .woocommerce-breadcrumb {
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
  margin-bottom: 1.5rem;
}

.woocommerce .woocommerce-breadcrumb a {
  color: var(--color-text-muted);
  transition: color var(--duration-fast);
}

.woocommerce .woocommerce-breadcrumb a:hover { color: var(--color-navy); }

/* ── Notices ────────────────────────────────────────────────── */
.woocommerce-notices-wrapper {
  position: sticky;
  top: calc(var(--header-height) + .5rem);
  z-index: var(--z-raised);
  padding: 0 var(--gutter);
}

/* ── RTL Quantity Input ─────────────────────────────────────── */
.woocommerce .quantity .qty {
  width: 72px;
  text-align: center;
  font-family: var(--font-latin-sans);
  font-weight: var(--fw-bold);
  border: 1.5px solid var(--color-border-mid);
  border-radius: var(--radius-md);
  padding: .5rem;
}

/* ── Shipping Calc ──────────────────────────────────────────── */
.shipping-calculator-form .country_select { direction: rtl; }
