/* Theme-proof full width layout above Add to Cart */

/* ============================
   X3 Flower Product Options
   Frontend styles (theme-proof)
   ============================ */

/* Many themes set these to flex without wrapping */
.single-product form.cart,
.single-product .woocommerce-variation-add-to-cart {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start;
}

/* Our block always takes full row */
.single-product form.cart .x3-fpo-block,
.single-product .woocommerce-variation-add-to-cart .x3-fpo-block {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
  order: 0 !important;
}

/* Push quantity and button below options */
.single-product form.cart .quantity,
.single-product form.cart .single_add_to_cart_button,
.single-product .woocommerce-variation-add-to-cart .quantity,
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  order: 10 !important;
}

/* Field styling */
.x3-product-options { width: 100%; margin: 12px 0; }
.x3-opt-field { width: 100%; margin: 10px 0; }
.x3-opt-label { display:block; font-weight:600; margin-bottom:6px; }
.x3-opt-required { color:#b00; margin-left:4px; }
.x3-opt-choice { display:block; margin:4px 0; }

.x3-fpo-inline-total { margin-top: 8px; font-weight: 600; }

/* ============================
   Pricing table styling
   ============================ */

/* Table layout */
.x3-fpo-price-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  margin-bottom: 16px; /* spacing before Add to Cart button */
}

/* Borders + padding */
.x3-fpo-price-table th,
.x3-fpo-price-table td {
  padding: 12px 12px;
  border: 1px solid rgba(0, 0, 0, 0.22);
}

/* ---- HARD RESET of theme zebra striping in our table ----
   Some themes apply striping to tr, others to td/th.
   We force a neutral background on ALL tbody cells. */
.x3-fpo-price-table tbody tr,
.x3-fpo-price-table tbody th,
.x3-fpo-price-table tbody td,
.x3-fpo-price-table tbody tr:nth-child(odd),
.x3-fpo-price-table tbody tr:nth-child(even),
.x3-fpo-price-table tbody tr:nth-child(odd) th,
.x3-fpo-price-table tbody tr:nth-child(odd) td,
.x3-fpo-price-table tbody tr:nth-child(even) th,
.x3-fpo-price-table tbody tr:nth-child(even) td {
  background: transparent !important;
}

/* Header row (currency heading) */
.x3-fpo-price-table thead th {
  color: #ffffff;
  background: #ED2B55 !important;
  font-weight: 800;
}

.x3-fpo-currency-head {
  text-align: center;
  width: 140px;
}

/* Cell alignment */
.x3-fpo-price-table tbody th {
  text-align: left;
  font-weight: 600;
}

.x3-fpo-price-table tbody td {
  text-align: right;
  font-weight: 600;
}

/* ✅ One consistent color for normal rows (base + add-ons rows) */
.x3-fpo-price-table tbody tr.x3-fpo-base-row th,
.x3-fpo-price-table tbody tr.x3-fpo-base-row td,
.x3-fpo-price-table tbody tr.x3-fpo-addon-row th,
.x3-fpo-price-table tbody tr.x3-fpo-addon-row td {
  background: #ffffff !important; /* change this color */
}

/* Hover highlight for pricing rows */
.x3-fpo-price-table tbody tr.x3-fpo-base-row:hover th,
.x3-fpo-price-table tbody tr.x3-fpo-base-row:hover td,
.x3-fpo-price-table tbody tr.x3-fpo-addon-row:hover th,
.x3-fpo-price-table tbody tr.x3-fpo-addon-row:hover td {
  background: #f6f6f6 !important;
}

/* Add-ons section header row (keep grey) */
.x3-fpo-price-table tbody tr.x3-fpo-section-row th,
.x3-fpo-price-table tbody tr.x3-fpo-section-row td {
  background: #FAF1EC !important;
  font-weight: 800;
}

/* Total row (keep grey) */
.x3-fpo-price-table tbody tr.x3-fpo-total-row th,
.x3-fpo-price-table tbody tr.x3-fpo-total-row td {
  color: #ffffff;
  background: #ED2B55 !important;
  font-weight: 900;
}

/* Indent addon labels */
.x3-fpo-addon-label {
  padding-left: 28px !important;
  font-weight: 500;
}
