/* =========================================================================
   MANGAL MUKHE - WORDPRESS / WOOCOMMERCE BRIDGE

   tokens/base/components.css ship unchanged from the reviewed static build.
   This file is the only place that knows about WordPress: it maps WooCommerce,
   Elementor and Hello Elementor markup onto the same design language, so
   nothing above it needs editing to run here.
   ========================================================================= */

/* ---------------------------------------------------------- Page shell -- */

.site-main, .page-content, .entry-content { max-width: none; margin: 0; padding: 0; }
.elementor-section.elementor-section-boxed > .elementor-container { max-width: none; }

.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

/* ------------------------------------------------------ Woo buttons ----- */
/* Replace Woo's button language entirely so the shop never shows two. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  min-height: 48px;
  padding: 0.85rem 1.75rem;
  background: var(--c-maroon);
  color: var(--c-on-dark);
  border: 1px solid var(--c-maroon);
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: var(--fs-micro);
  font-weight: 500;
  letter-spacing: var(--track-wide);
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
  transition: background var(--dur) var(--ease), transform var(--dur) var(--ease),
              box-shadow var(--dur) var(--ease);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background: var(--c-maroon-deep);
  border-color: var(--c-maroon-deep);
  color: var(--c-on-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(124, 20, 32, 0.22);
}

/* ------------------------------------------------------- Woo notices ---- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: var(--c-ivory-warm);
  border: 0;
  border-left: 3px solid var(--c-gold);
  border-radius: var(--radius-sm);
  color: var(--c-ink);
  font-size: var(--fs-small);
  line-height: 1.65;
  padding: 0.9rem 1.1rem;
  margin-bottom: var(--sp-5);
  list-style: none;
}
.woocommerce-error { border-left-color: var(--c-maroon); }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }

/* --------------------------------------------------------- Woo forms --- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
  width: 100%;
  min-height: 50px;
  padding: 0.8rem 1rem;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  color: var(--c-ink);
  background: var(--c-ivory);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-sm);
  box-shadow: none;
}
.woocommerce form .form-row label,
.woocommerce-billing-fields label {
  display: block;
  font-size: var(--fs-micro);
  font-weight: 500;
  letter-spacing: var(--track-wide);
  text-transform: uppercase;
  color: var(--c-ink-soft);
  margin-bottom: 0.45rem;
}
.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(--c-gold);
  box-shadow: 0 0 0 3px rgba(185, 143, 62, 0.16);
}

/* --------------------------------------------------------- Woo tables -- */
.woocommerce table.shop_table {
  border: 0;
  border-radius: 0;
  border-collapse: collapse;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border: 0;
  border-bottom: 1px solid var(--c-line-soft);
  padding: var(--sp-4) 0;
}
.woocommerce table.shop_table thead th {
  font-family: var(--font-body);
  font-size: var(--fs-micro);
  letter-spacing: var(--track-wide);
  text-transform: uppercase;
  color: var(--c-ink-mute);
  font-weight: 500;
}
.woocommerce-cart table.cart img { width: 96px; border-radius: var(--radius-sm); }

/* Cart totals / order review panel takes the summary card treatment. */
.woocommerce .cart_totals,
.woocommerce-checkout #order_review {
  background: var(--c-ivory-warm);
  border: 1px solid var(--c-line-soft);
  border-radius: var(--radius-sm);
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
}
.woocommerce .cart_totals h2,
.woocommerce-checkout h3 {
  font-family: var(--font-display);
  font-size: 1.15rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: var(--sp-4);
}
.woocommerce .cart_totals .order-total .amount,
.woocommerce-checkout .order-total .amount {
  font-family: var(--font-display);
  font-size: 1.5rem;
  color: var(--c-maroon);
}

/* Payment box */
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
  background: transparent;
  border-radius: 0;
}
.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 0;
  padding: 0;
}
.woocommerce-checkout #payment ul.payment_methods li {
  padding: var(--sp-4);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-sm);
  margin-bottom: 0.6rem;
  list-style: none;
}
.woocommerce-checkout #payment div.payment_box {
  background: transparent;
  color: var(--c-ink-mute);
  font-size: var(--fs-small);
  padding: 0.5rem 0 0;
}
.woocommerce-checkout #payment div.payment_box::before { display: none; }

/* Quantity input inside Woo's own cart table. */
.woocommerce .quantity .qty {
  width: 72px;
  min-height: 42px;
  text-align: center;
  border: 1px solid var(--c-line);
  border-radius: var(--radius-sm);
  background: var(--c-ivory);
  font-family: var(--font-body);
}

/* Breadcrumb + result count we replace with the design's own. */
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { display: none; }

/* Order received / thank-you page */
.woocommerce ul.order_details {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-5);
  padding: var(--sp-5);
  margin: 0 0 var(--sp-6);
  background: var(--c-ivory-warm);
  border: 1px dashed var(--c-line-gold);
  border-radius: var(--radius-sm);
  list-style: none;
}
.woocommerce ul.order_details li {
  border: 0;
  margin: 0;
  padding: 0;
  font-size: var(--fs-micro);
  letter-spacing: var(--track-wide);
  text-transform: uppercase;
  color: var(--c-ink-mute);
}
.woocommerce ul.order_details li strong {
  display: block;
  margin-top: 0.35rem;
  font-family: var(--font-display);
  font-size: 1.05rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--c-ink);
}

/* ------------------------------------------------------ Elementor ------- */
/* Elementor form fields inherit the design's input treatment. */
.elementor-field-group .elementor-field-textual {
  min-height: 50px;
  padding: 0.8rem 1rem;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  color: var(--c-ink);
  background: var(--c-ivory);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-sm);
}
.elementor-field-group .elementor-field-textual:focus {
  outline: none;
  border-color: var(--c-gold);
  box-shadow: 0 0 0 3px rgba(185, 143, 62, 0.16);
}
.elementor-field-group > label.elementor-field-label {
  font-size: var(--fs-micro);
  font-weight: 500;
  letter-spacing: var(--track-wide);
  text-transform: uppercase;
  color: var(--c-ink-soft);
  margin-bottom: 0.45rem;
}
.elementor-button.elementor-size-sm,
.elementor-field-type-submit button {
  min-height: 48px;
  padding: 0.85rem 1.75rem;
  background: var(--c-maroon);
  color: var(--c-on-dark);
  border-radius: var(--radius-sm);
  font-family: var(--font-body);
  font-size: var(--fs-micro);
  font-weight: 500;
  letter-spacing: var(--track-wide);
  text-transform: uppercase;
}
.elementor-message.elementor-message-success {
  border-left: 3px solid var(--c-green);
  background: rgba(76, 107, 60, 0.08);
  padding: 0.9rem 1.1rem;
  color: var(--c-ink);
  font-size: var(--fs-small);
}
