/* Luxace product page + order form — same components as salooni.store, Luxace colours
   (espresso from the logo, amber call-to-action like the video ads). */
:root {
  --lx-primary: #2B1D17;
  --lx-cta: #F0B044;
  --lx-cta-pressed: #DE9B2C;
  --lx-cta-text: #2B1D17;
  --lx-sand: #EFE6D8;
  --lx-headline: #2B1D17;
  --lx-body: #5A5048;
  --lx-light: #FAF6F1;
  --lx-border: #DDD5CC;
  --lx-strike: #9A9089;
  --lx-success: #2F7A5A;
  --lx-shadow: 0 2px 8px rgba(43, 29, 23, .08);
}

/* Inline images inside the description tab */
.luxace-desc-image {
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: var(--lx-shadow);
  margin: 16px 0;
}
.luxace-specs { width: 100%; border-collapse: collapse; margin: 8px 0 16px; }
.luxace-specs th, .luxace-specs td { padding: 10px 12px; border-bottom: 1px solid var(--lx-border); text-align: start; vertical-align: top; }
.luxace-specs th { width: 38%; color: var(--lx-headline); font-weight: 700; background: var(--lx-light); }

/* Price — the sale price is the loudest number, the old one fades back */
.summary p.price ins,
.summary p.price bdi { text-decoration: none; }
.summary p.price ins { color: var(--lx-primary); font-size: 28px; font-weight: 700; }
.summary p.price del { color: var(--lx-strike); font-size: 16px; opacity: 1; }
.summary p.price del bdi { text-decoration: line-through; }
.onsale { background: var(--lx-cta) !important; color: var(--lx-cta-text) !important; }

/* Short description */
.summary .woocommerce-product-details__short-description { color: var(--lx-body); line-height: 1.8; margin: 4px 0 8px; }

/* Trust pills */
.luxace-trust-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.luxace-trust-pill {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--lx-sand); color: var(--lx-headline);
  font-size: 13px; font-weight: 600; padding: 8px 14px; border-radius: 999px; line-height: 1.3;
}
.luxace-trust-pill svg { color: var(--lx-success); flex: none; }

/* Order form */
.custom-order-form {
  background: var(--lx-light); padding: 20px; border: 1px solid var(--lx-border); border-radius: 10px;
  margin-top: 20px; max-width: 500px; width: 100%; box-shadow: var(--lx-shadow); box-sizing: border-box;
}
.custom-order-form label { font-weight: 600; color: var(--lx-headline); margin-bottom: 6px; display: block; }
.custom-order-form input[type="text"],
.custom-order-form input[type="tel"],
.custom-order-form input[type="number"] {
  width: 100%; min-height: 52px; padding: 10px 14px; margin-bottom: 16px;
  border: 1px solid var(--lx-border); border-radius: 10px; font-size: 16px; box-sizing: border-box; background: #fff; color: var(--lx-headline);
}
.custom-order-form input[type="tel"] { text-align: right; }
.custom-order-form input:focus { outline: none; border-color: var(--lx-primary); box-shadow: 0 0 0 2px var(--lx-primary); }
.luxace-field-hint { display: block; margin: -10px 0 14px; font-size: 13px; color: #8A8078; }
.luxace-hp-field { position: absolute !important; left: -9999px !important; top: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Colour swatches with their names */
.luxace-color-name { font-weight: 700; color: var(--lx-body); }
.color-options { display: flex; flex-wrap: wrap; gap: 14px; margin: 10px 0 20px; }
.custom-order-form .color-option { display: flex; flex-direction: column; align-items: center; gap: 4px; margin: 0; cursor: pointer; font-weight: 600; }
.color-circle { display: block; width: 36px; height: 36px; border-radius: 50%; cursor: pointer; border: 2px solid transparent; box-shadow: 0 0 0 3px var(--lx-light); box-sizing: border-box; }
.color-label { font-size: 12px; color: var(--lx-body); }
.color-circle.color-white { background-color: #fff; box-shadow: 0 0 0 1px var(--lx-border) inset, 0 0 4px rgba(0,0,0,.1); }
.color-circle.color-beige { background-color: #C9A36F; }
.color-circle.color-brown { background-color: #5C4033; }
.color-circle.color-grey  { background-color: #4B4E54; }
.color-circle.color-mixed { background: linear-gradient(135deg, #fff 50%, #5C4033 50%); box-shadow: 0 0 0 1px var(--lx-border) inset; }
.color-circle.selected { border-color: var(--lx-cta) !important; box-shadow: 0 0 0 3px var(--lx-cta); }

/* Quantity + submit */
.submit-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.submit-row input[type="number"] { flex: 1 1 90px; min-height: 52px; margin-bottom: 0; text-align: center; }
.custom-order-form button {
  background-color: var(--lx-cta); color: var(--lx-cta-text); font-weight: 800; min-height: 52px; padding: 12px 24px;
  font-size: 18px; border: none; border-radius: 12px; cursor: pointer; transition: background-color .2s ease; flex: 2 1 200px;
}
.custom-order-form button:hover,
.custom-order-form button:active { background-color: var(--lx-cta-pressed); }
.custom-order-form button:disabled { opacity: .7; cursor: not-allowed; }
.luxace-form-reassure { margin: 12px 0 0; font-size: 13px; color: var(--lx-body); text-align: center; }

/* Errors from a rejected submission */
.luxace-form-errors { background: #FCEDE9; border: 1px solid #E7BFB2; border-inline-start: 4px solid #B0502F; border-radius: 10px; padding: 14px 16px; margin-bottom: 18px; color: #7A2E16; }
.luxace-form-errors__title { margin: 0 0 6px; font-weight: 700; font-size: 15px; }
.luxace-form-errors ul { margin: 0; padding-inline-start: 18px; }
.luxace-form-errors li { font-size: 14.5px; line-height: 1.7; }

/* Sticky bottom bar — appears once the price has scrolled away */
.luxace-sticky-bar {
  position: fixed; inset-inline: 0; bottom: 0; z-index: 999; display: none; align-items: center; justify-content: space-between;
  gap: 12px; min-height: 64px; padding: 8px 16px; padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
  background: #fff; border-top: 1px solid var(--lx-border); box-shadow: 0 -2px 8px rgba(43, 29, 23, .08); box-sizing: border-box;
}
.luxace-sticky-bar.is-visible { display: flex; }
.luxace-sticky-bar .luxace-sticky-price { font-size: 18px; font-weight: 700; color: var(--lx-primary); white-space: nowrap; }
.luxace-sticky-bar .luxace-sticky-price del { color: var(--lx-strike); font-size: 13px; font-weight: 400; }
.luxace-sticky-bar .luxace-sticky-price ins { text-decoration: none; }
.luxace-sticky-bar .luxace-sticky-cta {
  flex: 1; max-width: 260px; min-height: 48px; background: var(--lx-cta); color: var(--lx-cta-text);
  font-weight: 800; font-size: 16px; border: none; border-radius: 12px; cursor: pointer;
}
.luxace-sticky-bar .luxace-sticky-cta:active { background: var(--lx-cta-pressed); }
body.single-product { padding-bottom: 0; }
@media (max-width: 767px) { body.single-product.luxace-bar-on { padding-bottom: 72px; } }

/* The theme's Elementor kit styles every button white; the order button keeps its amber. */
#luxace-order-form button[type="submit"] { background-color: var(--lx-cta) !important; color: var(--lx-cta-text) !important; border: none !important; }
#luxace-order-form button[type="submit"]:hover,
#luxace-order-form button[type="submit"]:active { background-color: var(--lx-cta-pressed) !important; }

/* Sideways scroll on phones: WooCommerce hides the gallery zoom label with a negative
   text-indent, which in RTL pushes it ~10 000 px to the right. */
.woocommerce-product-gallery__trigger { overflow: hidden; }
.woocommerce-product-gallery__trigger span { text-indent: 0 !important; font-size: 0; }
body.single-product { overflow-x: clip; }
