/* The shared inline <style> block in single-product.php never sets a base
   .nav-link color on its own — every React entry supplies it from its own
   page-specific stylesheet. This is that stylesheet for the single product
   template, plus the footer copyright link color it also depends on. */
.nav-link { color: #4a3f34; }
.footer-copyright-link { color: inherit; text-decoration: none; transition: color 0.3s ease; }
.footer-copyright-link:hover { color: #c9a96e; }

/* header.php's shared .nav-wrap is transparent until a `.scrolled` class is
   added — that only happens on the homepage's React bundle. This template
   has no scroll listener, so without this override the nav stays
   permanently transparent and page content scrolls up underneath it.
   Matches product-category.css's existing opaque treatment exactly. */
.nav-wrap {
  background: rgba(240,230,204,0.97);
  backdrop-filter: blur(16px);
  box-shadow: 0 1px 0 rgba(28,25,23,0.07);
}

/* ─── WooCommerce notices (add-to-cart confirmation / errors) ───
   Same visual language as the Cart page's own notice treatment
   (css/cart.css) for consistency, adapted into a fixed toast: WC prints
   notices before the header in this template's markup, so left as plain
   inline flow it would render above the fixed nav, disconnected from the
   page. Floating it below the header keeps it restrained and readable
   without permanently pushing product content down. wc_print_notices()
   still renders WooCommerce's own dynamic notice text/links unchanged —
   this only restyles and repositions it. */
.woocommerce-notices-wrapper {
  position: fixed;
  top: 106px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 150;
  width: calc(100% - 48px);
  max-width: 560px;
}
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  display: block;
  list-style: none;
  font-family: 'Inter', sans-serif;
  font-size: 0.84rem;
  line-height: 1.6;
  color: #4a3f34;
  background: #F0E6CC;
  border-left: 3px solid #c9a96e;
  box-shadow: 0 14px 36px rgba(28,25,23,0.16);
  padding: 16px 20px;
  margin: 0;
}
.woocommerce-message:focus,
.woocommerce-error:focus,
.woocommerce-info:focus {
  outline: 2px solid #c9a96e;
  outline-offset: 2px;
}
.woocommerce-error { border-left-color: #a65b4f; background: #f2e6d9; }
.woocommerce-message a.button,
.woocommerce-error a.button {
  margin-left: 14px;
  font-family: 'Inter', sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #c9a96e;
  text-decoration: underline;
  white-space: nowrap;
}
@media (max-width: 560px) {
  .woocommerce-notices-wrapper { top: 88px; width: calc(100% - 32px); }
  .woocommerce-message,
  .woocommerce-error,
  .woocommerce-info { font-size: 0.78rem; padding: 14px 16px; }
}

/* ─── Umeni Single Product — layout ─── */
.umeni-product-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.umeni-product-breadcrumb a,
.umeni-product-breadcrumb span {
  font-family: 'Inter', sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 500;
}
.umeni-product-breadcrumb a {
  color: #9c8e7e;
  text-decoration: none;
  transition: color 0.3s ease;
}
.umeni-product-breadcrumb a:hover { color: #c9a96e; }
.umeni-product-breadcrumb .sep { color: rgba(28,25,23,0.25); font-size: 0.6rem; }
.umeni-product-breadcrumb .current { color: #c9a96e; }

.umeni-product-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 72px;
  align-items: start;
}

/* ─── Gallery (left) ─── */
.umeni-product-gallery {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: sticky;
  top: 120px;
}
.umeni-product-gallery img {
  width: 100%;
  height: auto;
  display: block;
  background: linear-gradient(148deg, #e4d8bc 0%, #d8c9a3 100%);
}

/* ─── Summary (right) ─── */
.umeni-product-summary { padding-top: 4px; }

.umeni-product-taxo {
  font-family: 'Inter', sans-serif;
  font-size: 0.66rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #c9a96e;
  font-weight: 500;
  margin-bottom: 18px;
}
.umeni-product-taxo a { color: inherit; text-decoration: none; }
.umeni-product-taxo a:hover { text-decoration: underline; }
.umeni-product-taxo .divider { color: rgba(201,169,110,0.4); margin: 0 6px; }

.umeni-product-summary h1 {
  font-family: 'Playfair Display', serif;
  font-weight: 500;
  font-size: clamp(2.2rem, 3.4vw, 3.2rem);
  color: #1c1917;
  line-height: 1.08;
  letter-spacing: -0.015em;
  margin-bottom: 24px;
}

/* WooCommerce's own .price / .woocommerce-Price-amount, restyled */
.umeni-product-summary .price {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: #1c1917;
  letter-spacing: 0.02em;
  display: block;
  margin-bottom: 28px;
}
.umeni-product-summary .price ins {
  text-decoration: none;
  color: #c9a96e;
}
.umeni-product-summary .price del {
  color: #a89e91;
  opacity: 0.7;
  margin-right: 10px;
}
.umeni-tax-note {
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  color: #8a7d6e;
  letter-spacing: 0.02em;
  margin-top: -20px;
  margin-bottom: 22px;
}
.umeni-product-summary .woocommerce-variation-price {
  margin-top: -14px;
  margin-bottom: 22px;
}
.umeni-product-summary .woocommerce-variation-price .price {
  margin-bottom: 0;
  color: #c9a96e;
}
/* Inside the JS-swapped variation price block .price carries no bottom
   margin (unlike the static price paragraph the -20px rule above is
   tuned for), so the tax note needs its own small positive gap here
   instead of overlapping the price text. */
.umeni-product-summary .woocommerce-variation-price .umeni-tax-note {
  margin-top: 4px;
  margin-bottom: 0;
}
/* Zare Vanity Desk's optional Pouffe add-on checkbox (STEP 19B) — only
   renders when a product carries _umeni_addon_pouffe_price, so this rule
   is dormant on every other product page. */
.umeni-addon-row {
  font-family: 'Inter', sans-serif;
  font-size: 0.86rem;
  color: #4a3f34;
  margin-bottom: 18px;
}
.umeni-addon-row label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.umeni-addon-row input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #c9a96e;
}

.umeni-product-short-desc {
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  line-height: 1.85;
  color: #6b5e52;
  font-weight: 300;
  max-width: 460px;
  margin-bottom: 36px;
}
.umeni-product-short-desc p:last-child { margin-bottom: 0; }

/* Restrained, category-level intro line — deliberately smaller/quieter
   than the product's own short description above so it reads as
   ambient context, not a marketing claim about this specific piece. */
.umeni-category-intro {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 0.86rem;
  line-height: 1.6;
  color: #9c8e7e;
  max-width: 440px;
  margin-bottom: 20px;
}

/* ─── WooCommerce add-to-cart / variations form, restyled ─── */
.umeni-product-summary form.cart,
.umeni-product-summary form.variations_form {
  margin-bottom: 32px;
}

.umeni-product-summary table.variations {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 4px;
}
.umeni-product-summary table.variations tbody { display: block; }
.umeni-product-summary table.variations tr {
  display: block;
  margin-bottom: 22px;
}
.umeni-product-summary table.variations th.label {
  display: block;
  text-align: left;
  font-family: 'Inter', sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #9c8e7e;
  font-weight: 500;
  padding-bottom: 8px;
}
.umeni-product-summary table.variations td.value { display: block; }

.umeni-product-summary select {
  width: 100%;
  max-width: 320px;
  background: transparent;
  border: none;
  border-bottom: 1px solid #d6cfc4;
  padding: 12px 0;
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  color: #1c1917;
  outline: none;
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23c9a96e' stroke-width='1.4' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 4px center;
  transition: border-color 0.3s ease;
}
.umeni-product-summary select:focus { border-bottom-color: #c9a96e; outline: 2px solid #c9a96e; outline-offset: 2px; }

.umeni-product-summary a.reset_variations {
  display: inline-block;
  margin-top: 10px;
  font-family: 'Inter', sans-serif;
  font-size: 0.66rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #9c8e7e;
  text-decoration: underline;
}

.umeni-product-summary .quantity {
  display: inline-block;
  margin-right: 18px;
  margin-bottom: 0;
  vertical-align: middle;
}
.umeni-product-summary .quantity .qty {
  width: 72px;
  background: transparent;
  border: 1px solid #d6cfc4;
  padding: 13px 14px;
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  color: #1c1917;
  text-align: center;
  border-radius: 0;
}

.umeni-product-summary .single_add_to_cart_button,
.umeni-product-summary button[type="submit"] {
  background: #c9a96e;
  color: #1c1917;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.72rem;
  padding: 15px 40px;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-block;
  vertical-align: middle;
  text-decoration: none;
  border-radius: 0;
}
.umeni-product-summary .single_add_to_cart_button:hover {
  background: #b8924f;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(201,169,110,0.35);
}
.umeni-product-summary .single_add_to_cart_button.disabled {
  background: #e4dcc9;
  color: #a89e91;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.umeni-product-summary .single_add_to_cart_button:focus-visible,
.umeni-product-summary select:focus-visible,
.umeni-product-summary .qty:focus-visible {
  outline: 2px solid #c9a96e;
  outline-offset: 2px;
}

.umeni-product-summary .woocommerce-variation-availability { margin-bottom: 18px; }
.umeni-product-summary .stock {
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  font-weight: 500;
}
.umeni-product-summary .stock.in-stock { color: #6f8f6a; }
.umeni-product-summary .stock.out-of-stock { color: #a65b4f; }

.umeni-product-meta-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 24px;
  border-top: 1px solid rgba(28,25,23,0.08);
  margin-top: 8px;
}
.umeni-product-meta-row .meta-line {
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  color: #6b5e52;
}
.umeni-product-meta-row .meta-line strong {
  color: #9c8e7e;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.62rem;
  margin-right: 8px;
}
.umeni-product-meta-row a { color: #6b5e52; text-decoration: none; }
.umeni-product-meta-row a:hover { color: #c9a96e; }

/* ─── Price-on-Request enquiry form ───
   Only ever rendered in place of Add to Cart on a genuinely
   non-purchasable product (see single-product.php) — reuses the same
   .form-field input language as the Contact page (src/contact/contact.css)
   for visual consistency across the site, since product-single.css is a
   separate stylesheet with no styling of its own for plain text inputs
   yet. The submit button intentionally has no class of its own — it's a
   bare <button type="submit"> inside .umeni-product-summary, which
   already carries the same gold button treatment as the real Add to Cart
   button above (see .umeni-product-summary button[type="submit"]). */
.umeni-inquiry-form-wrap { margin-top: 8px; }
.umeni-inquiry-form { display: flex; flex-direction: column; gap: 22px; }
.umeni-inquiry-form label {
  font-family: 'Inter', sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #9c8e7e;
  display: block;
  margin-bottom: 8px;
}
.umeni-inquiry-form .form-field {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid #c8b890;
  padding: 12px 0;
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  color: #1c1917;
  outline: none;
  transition: border-color 0.3s ease;
}
.umeni-inquiry-form .form-field:focus { border-bottom-color: #c9a96e; outline: 2px solid #c9a96e; outline-offset: 2px; }
.umeni-inquiry-form .form-field::placeholder { color: #a89e91; font-weight: 300; }
.umeni-inquiry-form textarea.form-field { resize: none; }
.umeni-inquiry-form .hp-wrap,
.umeni-inquiry-form .umeni-hp-wrap {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.umeni-inquiry-error {
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  color: #a65b4f;
  margin: 0;
}
.umeni-inquiry-privacy-note {
  font-family: 'Inter', sans-serif;
  font-size: 0.78rem;
  line-height: 1.6;
  color: #9c8e7e;
  margin: 0;
}
.umeni-inquiry-privacy-note a { color: #c9a96e; text-decoration: underline; }
.umeni-inquiry-form button[disabled] { opacity: 0.6; cursor: not-allowed; }
.umeni-inquiry-success-title {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem;
  font-weight: 500;
  color: #c9a96e;
  margin-bottom: 10px;
}
.umeni-inquiry-success p {
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  line-height: 1.8;
  color: #78695c;
  max-width: 420px;
}

/* ─── Below: description / specifications ─── */
.umeni-product-details {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 72px;
  margin-top: 100px;
  padding-top: 72px;
  border-top: 1px solid rgba(28,25,23,0.08);
}
.umeni-product-details h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 500;
  font-size: 1.4rem;
  color: #1c1917;
  margin-bottom: 22px;
}
.umeni-product-description {
  font-family: 'Inter', sans-serif;
  font-size: 0.92rem;
  line-height: 1.95;
  color: #6b5e52;
  font-weight: 300;
}
.umeni-product-description p { margin-bottom: 1.2em; }
.umeni-product-description p:last-child { margin-bottom: 0; }

.umeni-product-specs {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.umeni-product-specs .spec-row {
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(28,25,23,0.06);
}
.umeni-product-specs .spec-row:last-child { border-bottom: none; padding-bottom: 0; }
.umeni-product-specs .spec-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #c9a96e;
  font-weight: 500;
  margin-bottom: 6px;
}
.umeni-product-specs .spec-value {
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  color: #1c1917;
}
.umeni-product-specs .spec-value a { color: inherit; text-decoration: none; }
.umeni-product-specs .spec-value a:hover { color: #c9a96e; }

/* ─── Responsive ─── */
@media (max-width: 900px) {
  .product-main { padding: 128px 28px 80px !important; }
  .umeni-product-grid { grid-template-columns: 1fr; gap: 40px; }
  .umeni-product-gallery { position: static; }
  .umeni-product-details { grid-template-columns: 1fr; gap: 48px; margin-top: 64px; padding-top: 48px; }
}
@media (max-width: 560px) {
  .product-main { padding: 120px 20px 64px !important; }
}
