
/* =========================================================================
   THE HOST SCRIPT â Editorial Product Page CSS
   Paste into: WP Admin â Appearance â Customize â Additional CSS
   ========================================================================= */

/* --- 1. Product image: defensive opacity fix (in case WC gallery JS fails) -- */
.woocommerce div.product div.images .woocommerce-product-gallery,
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.woocommerce div.product div.images .flex-viewport,
.woocommerce div.product div.images .woocommerce-product-gallery__image,
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
  opacity: 1 !important;
  visibility: visible !important;
}

.woocommerce div.product div.images img {
  display: block;
  width: 100%;
  height: auto;
}

/* Image container: soft inner frame so cream-on-cream images still read */
.woocommerce div.product div.images .woocommerce-product-gallery__image {
  background: #FFFFFF;
  border-radius: 2px;
  overflow: hidden;
}

/* Zoom magnifier icon â restyle to be minimal */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
  top: 1rem !important;
  right: 1rem !important;
  background: rgba(255, 255, 255, 0.9) !important;
  border-radius: 50% !important;
  width: 2.25rem !important;
  height: 2.25rem !important;
  text-align: center !important;
  line-height: 2.25rem !important;
  font-size: 1rem !important;
  text-indent: 0 !important;
  text-decoration: none !important;
  color: var(--ast-global-color-2, #1A1A1A) !important;
  opacity: 0.85;
}

/* --- 2. "Sale!" badge: replace pill with editorial eyebrow ------------------ */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce div.product .onsale {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  top: 1rem !important;
  left: 1rem !important;
  right: auto !important;
  font-family: 'Work Sans', -apple-system, sans-serif !important;
  font-size: 0.6875rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--ast-global-color-1, #C75D3B) !important;
  line-height: 1 !important;
  font-style: normal !important;
  text-align: left !important;
}

.woocommerce span.onsale::before {
  content: "â ";
}

/* --- 3. Breadcrumb: refine typography ------------------------------------- */
.woocommerce-breadcrumb {
  font-family: 'Work Sans', sans-serif !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--ast-global-color-3, #7A6E5F) !important;
  margin-bottom: 2rem !important;
  opacity: 0.75;
}

.woocommerce-breadcrumb a {
  color: var(--ast-global-color-3, #7A6E5F) !important;
  text-decoration: none !important;
}

.woocommerce-breadcrumb a:hover {
  color: var(--ast-global-color-1, #C75D3B) !important;
}

/* --- 4. Category eyebrow above title (the "Templates" link) -------------- */
.woocommerce div.product .posted_in,
.woocommerce div.product .product_meta .posted_in {
  font-family: 'Work Sans', sans-serif !important;
  font-size: 0.6875rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}

/* --- 5. Product title: hero-scale Cormorant ------------------------------ */
.woocommerce div.product .product_title,
.woocommerce-page div.product .product_title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(2.25rem, 4vw, 3.25rem) !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.015em !important;
  margin: 0.75rem 0 1.5rem !important;
  color: var(--ast-global-color-2, #1A1A1A) !important;
}

/* --- 6. Price: editorial hierarchy --------------------------------------- */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce-page div.product p.price,
.woocommerce-page div.product span.price {
  font-family: 'Work Sans', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  margin: 0 0 1.75rem !important;
  color: var(--ast-global-color-2, #1A1A1A) !important;
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.woocommerce div.product .price del,
.woocommerce div.product .price del bdi {
  color: var(--ast-global-color-3, #7A6E5F) !important;
  opacity: 0.55 !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  text-decoration-thickness: 1px !important;
}

.woocommerce div.product .price ins {
  background: transparent !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  color: var(--ast-global-color-2, #1A1A1A) !important;
}

/* Hide screen-reader sale price descriptions visually (still accessible) */
.woocommerce div.product .price .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* --- 7. Short description: editorial italic pull-quote -------------------- */
.woocommerce div.product .woocommerce-product-details__short-description {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.375rem !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: var(--ast-global-color-3, #7A6E5F) !important;
  margin: 0 0 2.5rem !important;
  padding: 0 0 2rem !important;
  max-width: 32rem !important;
  border-bottom: 1px solid rgba(122, 110, 95, 0.15);
}

.woocommerce div.product .woocommerce-product-details__short-description p {
  margin: 0 !important;
}

/* --- 8. Quantity selector: hide for digital singles ----------------------- */
.woocommerce div.product form.cart .quantity {
  display: none !important;
}

/* --- 9. Add to cart button: bigger, more presence ------------------------- */
.woocommerce div.product form.cart {
  margin-bottom: 2.5rem !important;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.woocommerce div.product .single_add_to_cart_button,
.woocommerce-page div.product .single_add_to_cart_button {
  padding: 1.15rem 2.75rem !important;
  font-family: 'Work Sans', sans-serif !important;
  font-size: 0.8125rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  min-width: 18rem !important;
  border-radius: 2px !important;
  line-height: 1 !important;
  transition: all 0.25s ease !important;
}

/* --- 10. Hide redundant category meta line ------------------------------- */
.woocommerce div.product .product_meta {
  font-family: 'Work Sans', sans-serif !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.05em !important;
  color: var(--ast-global-color-3, #7A6E5F) !important;
  border-top: 1px solid rgba(122, 110, 95, 0.15);
  padding-top: 1.5rem !important;
  margin-top: 0 !important;
}

.woocommerce div.product .product_meta > span {
  display: block;
  margin-bottom: 0.35rem;
}

/* If you want to hide the category meta entirely (breadcrumb shows it) â uncomment */
/* .woocommerce div.product .product_meta { display: none !important; } */

/* --- 11. Tabs: editorial minimal --------------------------------------- */
.woocommerce div.product .woocommerce-tabs {
  margin-top: 5rem !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs {
  border-bottom: 1px solid rgba(122, 110, 95, 0.2) !important;
  padding: 0 !important;
  margin: 0 0 2.5rem !important;
  display: flex;
  gap: 2.5rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs::before {
  display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
  border: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: 'Work Sans', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--ast-global-color-3, #7A6E5F) !important;
  padding: 1rem 0 !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -1px !important;
  text-decoration: none !important;
  display: inline-block;
  transition: all 0.2s ease;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--ast-global-color-2, #1A1A1A) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--ast-global-color-2, #1A1A1A) !important;
  border-bottom-color: var(--ast-global-color-1, #C75D3B) !important;
}

/* --- 12. Tab content: editorial typography ------------------------------- */
.woocommerce div.product .woocommerce-Tabs-panel {
  max-width: 42rem;
  margin: 0 auto !important;
}

.woocommerce div.product .woocommerce-Tabs-panel > h2 {
  display: none !important;
}

.woocommerce div.product .woocommerce-Tabs-panel p {
  font-family: 'Work Sans', sans-serif !important;
  font-size: 1.0625rem !important;
  line-height: 1.75 !important;
  color: var(--ast-global-color-2, #1A1A1A) !important;
  margin: 0 0 1.5rem !important;
}

.woocommerce div.product .woocommerce-Tabs-panel h4 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 500 !important;
  font-size: 1.5rem !important;
  font-style: italic !important;
  letter-spacing: -0.01em !important;
  margin: 2.5rem 0 1rem !important;
  border: none !important;
  text-decoration: none !important;
  color: var(--ast-global-color-2, #1A1A1A) !important;
}

.woocommerce div.product .woocommerce-Tabs-panel ul {
  font-family: 'Work Sans', sans-serif !important;
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 0 1.5rem !important;
}

.woocommerce div.product .woocommerce-Tabs-panel ul li {
  position: relative !important;
  padding-left: 1.5rem !important;
  margin-bottom: 0.6rem !important;
  line-height: 1.65 !important;
  font-size: 1rem !important;
  color: var(--ast-global-color-2, #1A1A1A) !important;
}

.woocommerce div.product .woocommerce-Tabs-panel ul li::before {
  content: "â" !important;
  position: absolute !important;
  left: 0 !important;
  color: var(--ast-global-color-1, #C75D3B) !important;
  font-weight: 400 !important;
}

/* --- 13. Related products heading: editorial --------------------------- */
.related.products,
.upsells.products {
  margin-top: 5rem !important;
  padding-top: 4rem !important;
  border-top: 1px solid rgba(122, 110, 95, 0.15);
}

.related.products > h2,
.upsells.products > h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 500 !important;
  font-size: 2rem !important;
  font-style: italic !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 2.5rem !important;
  text-align: center !important;
  color: var(--ast-global-color-2, #1A1A1A) !important;
}

/* --- 14. Related product cards: cleaner ---------------------------------- */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.25rem !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.005em !important;
  padding: 0.75rem 0 0.4rem !important;
  color: var(--ast-global-color-2, #1A1A1A) !important;
}

.woocommerce ul.products li.product .price {
  font-family: 'Work Sans', sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  margin: 0 0 0.75rem !important;
  color: var(--ast-global-color-2, #1A1A1A) !important;
}

.woocommerce ul.products li.product .price del {
  color: var(--ast-global-color-3, #7A6E5F) !important;
  opacity: 0.55 !important;
  font-size: 0.85rem !important;
}

.woocommerce ul.products li.product .price ins {
  background: transparent !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}

.woocommerce ul.products li.product .button {
  font-family: 'Work Sans', sans-serif !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  padding: 0.85rem 1.5rem !important;
  border-radius: 2px !important;
}

/* Hide duplicate "Sale!" badges on related-product cards (two showing) */
.woocommerce ul.products li.product .onsale + .onsale {
  display: none !important;
}

/* Hide category eyebrow on related cards if it adds clutter */
.woocommerce ul.products li.product .ast-woo-product-category {
  font-family: 'Work Sans', sans-serif !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--ast-global-color-3, #7A6E5F) !important;
  margin-bottom: 0.25rem !important;
  font-weight: 500 !important;
}

/* --- 15. Container padding: more editorial breathing room ---------------- */
.single-product .site-content > .ast-container,
.single-product .ast-container {
  padding-top: 3rem !important;
}

@media (min-width: 992px) {
  .single-product .site-content > .ast-container,
  .single-product .ast-container {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }

  .woocommerce div.product .summary {
    padding-left: 2rem;
  }
}

/* --- 16. Mobile refinements --------------------------------------------- */
@media (max-width: 768px) {
  .woocommerce div.product .product_title {
    font-size: 2rem !important;
    margin-top: 1rem !important;
  }

  .woocommerce div.product .single_add_to_cart_button {
    width: 100% !important;
    min-width: 0 !important;
  }

  .woocommerce div.product form.cart {
    flex-direction: column;
    align-items: stretch;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs {
    gap: 1.5rem;
  }
}


/* === PATCH: em-dash bullets (Unicode escape to avoid mojibake) === */
.woocommerce div.product .woocommerce-Tabs-panel ul li::before {
  content: "\2014" !important;
}

/* === PATCH: Sale badge — high-specificity override === */
body .woocommerce span.onsale,
body .woocommerce ul.products li.product .onsale,
body .woocommerce div.product span.onsale,
body .woocommerce div.product .onsale,
body .single-product .onsale,
body .product .onsale {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  top: 1.25rem !important;
  left: 1.25rem !important;
  right: auto !important;
  position: absolute !important;
  font-size: 0 !important;
  z-index: 9 !important;
}

body .woocommerce .onsale::before,
body .product .onsale::before {
  content: "\2014 ON SALE" !important;
  font-family: "Work Sans", sans-serif !important;
  font-size: 0.6875rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--ast-global-color-1, #C75D3B) !important;
  line-height: 1 !important;
  font-style: normal !important;
  display: inline-block !important;
}


/* === PATCH 2: Fix image rendering (remove overflow:hidden + bg) === */
.woocommerce div.product div.images .woocommerce-product-gallery__image {
  background: transparent !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
.woocommerce div.product div.images img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

/* === PATCH 2: Astra custom Sale badge editorial restyle === */
.ast-on-card-button.ast-onsale-card,
span.ast-on-card-button.ast-onsale-card,
.woocommerce ul.products li.product .ast-on-card-button.ast-onsale-card {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  color: transparent !important;
  letter-spacing: normal !important;
  position: absolute !important;
  top: 1.25rem !important;
  left: 1.25rem !important;
  right: auto !important;
  z-index: 9 !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
}
.ast-on-card-button.ast-onsale-card::before {
  content: "\2014 ON SALE";
  font-family: "Work Sans", sans-serif;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ast-global-color-1, #C75D3B);
  display: inline-block;
  white-space: nowrap;
}


/* === PATCH 3: Hide sale badge on product cards (loop/shop/related). Keep on single product hero. === */
.woocommerce ul.products li.product .ast-on-card-button.ast-onsale-card,
ul.products li.product .ast-on-card-button.ast-onsale-card,
.related.products li.product .ast-on-card-button.ast-onsale-card,
.upsells.products li.product .ast-on-card-button.ast-onsale-card,
.woocommerce ul.products li.product span.onsale,
ul.products li.product span.onsale {
  display: none !important;
  visibility: hidden !important;
}


/* Brand-match the checkout payment + coupon areas (added via Claude) */
.woocommerce-checkout #payment { background: transparent; }

.woocommerce-checkout #payment div.payment_box {
  background-color: #FAF6EC;
  border: 1px solid #E8E1D2;
  border-radius: 2px;
}
.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: #FAF6EC !important;
}

.wc-stripe-upe-element,
.wc-stripe-elements-field {
  background-color: #ffffff;
  border: 1px solid #E8E1D2;
  border-radius: 2px;
  padding: 12px;
}

.woocommerce .woocommerce-info {
  background-color: #FAF6EC;
  border-top-color: #C75D3B;
}

/* ===== WPForms — The Host Script brand styling ===== */
.wpforms-container,
.wpforms-container.wpforms-render-modern {
  --wpforms-button-background-color: #C75D3B;
  --wpforms-button-background-color-alt: #B04F30;
  --wpforms-button-border-color: #C75D3B;
  --wpforms-button-text-color: #F2EDE3;
  --wpforms-button-border-radius: 2px;
  --wpforms-field-border-color: #E8E1D2;
  --wpforms-field-background-color: #FFFFFF;
  --wpforms-field-text-color: #1A1A1A;
  --wpforms-field-border-radius: 2px;
  --wpforms-label-color: #1A1A1A;
  --wpforms-label-sublabel-color: #7A6E5F;
  --wpforms-label-error-color: #B04F30;
}
.wpforms-container .wpforms-submit,
.wpforms-container .wpforms-form button[type=submit] {
  background-color: #C75D3B !important;
  border-color: #C75D3B !important;
  color: #F2EDE3 !important;
  border-radius: 2px !important;
  padding: 14px 32px;
  font-weight: 600;
  letter-spacing: .02em;
  transition: background-color .15s ease;
}
.wpforms-container .wpforms-submit:hover,
.wpforms-container .wpforms-form button[type=submit]:hover {
  background-color: #B04F30 !important;
  border-color: #B04F30 !important;
}
.wpforms-container .wpforms-field input:focus,
.wpforms-container .wpforms-field textarea:focus,
.wpforms-container .wpforms-field select:focus {
  border-color: #C75D3B !important;
  box-shadow: 0 0 0 2px rgba(199,93,59,.15) !important;
  outline: none;
}
.wpforms-container .wpforms-required-label { color: #C75D3B !important; }
.wpforms-confirmation-container-full {
  background-color: #FAF6EC;
  border: 1px solid #E8E1D2;
  border-left: 3px solid #C75D3B;
  color: #1A1A1A;
  border-radius: 2px;
}

/* ===== Shop page polish — spacing + 3-col grid + Best Value badge + cart icon ===== */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product { margin-bottom: 1.5em; }
.woocommerce ul.products { row-gap: 1.5em; }

@media (min-width: 921px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

.woocommerce ul.products li.product.post-42 { position: relative; }
.woocommerce ul.products li.product.post-42::before {
  content: "BEST VALUE";
  position: absolute;
  top: 12px;
  right: 12px;
  background-color: #C75D3B;
  color: #F2EDE3;
  padding: 6px 14px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  border-radius: 2px;
  z-index: 5;
  font-family: inherit;
  line-height: 1.2;
  box-shadow: 0 1px 4px rgba(26,26,26,0.12);
}

/* On-card cart icon — brand color instead of default black */
.ast-on-card-button .icon-bag svg,
.ast-on-card-button .icon-bag svg path {
  fill: #C75D3B !important;
}

/* ===== Product page polish — upsell card + spacing + tighter title + full-width CTA ===== */
.bundle-upsell-card {
  background-color: #FAF6EC;
  border: 1px solid #E8E1D2;
  border-left: 3px solid #C75D3B;
  padding: 14px 16px;
  margin: 16px 0 18px;
  border-radius: 2px;
  font-size: 0.95rem;
  line-height: 1.55;
  color: #1A1A1A;
}
.bundle-upsell-card strong { color: #1A1A1A; display: block; margin-bottom: 2px; font-weight: 600; }
.bundle-upsell-card a { color: #C75D3B; font-weight: 600; text-decoration: none; }
.bundle-upsell-card a:hover { color: #B04F30; text-decoration: underline; }

.single-product div.product .woocommerce-tabs { margin-bottom: 2em !important; }
.single-product div.product .related.products,
.single-product div.product .upsells.products {
  margin-top: 0 !important;
  padding-top: 2em;
  border-top: 1px solid #E8E1D2;
}

/* Tighter title, full-width Add to Cart — with !important to beat Astra specificity */
body.single-product .product_title.entry-title,
body.single-product h1.product_title {
  font-size: 2.25rem !important;
  line-height: 1.18 !important;
  margin-bottom: 0.55em !important;
}
body.single-product form.cart {
  display: block !important;
}
body.single-product form.cart .single_add_to_cart_button,
body.single-product .single_add_to_cart_button.button.alt {
  width: 100% !important;
  display: block !important;
  padding: 16px 24px !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.06em !important;
  font-weight: 600 !important;
  margin-top: 0.5em !important;
}

/* ===== Single product header height fix — kill transparent header padding ===== */
body.single-product .site-primary-header-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ===== Cart page modernization — soften table, lock quantity look, add trust line ===== */

/* Hide the column header row */
body.woocommerce-cart .woocommerce-cart-form table.shop_table thead {
  display: none;
}

/* Remove all table borders */
body.woocommerce-cart .woocommerce-cart-form table.shop_table,
body.woocommerce-cart .woocommerce-cart-form table.shop_table th,
body.woocommerce-cart .woocommerce-cart-form table.shop_table td,
body.woocommerce-cart .woocommerce-cart-form table.shop_table tr {
  border: none !important;
  box-shadow: none !important;
}

/* Subtle row dividers and breathing room */
body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item {
  border-bottom: 1px solid #E8E1D2 !important;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item td {
  padding: 22px 14px !important;
  background: transparent !important;
  vertical-align: middle;
}

/* Quantity input — looks like static text */
body.woocommerce-cart .product-quantity .quantity input.qty {
  border: none !important;
  background: transparent !important;
  text-align: left !important;
  width: 40px !important;
  padding: 0 !important;
  font-size: 1rem !important;
  color: #1A1A1A !important;
  font-family: inherit !important;
  -moz-appearance: textfield;
  appearance: textfield;
  box-shadow: none !important;
}
body.woocommerce-cart .product-quantity .quantity input.qty::-webkit-inner-spin-button,
body.woocommerce-cart .product-quantity .quantity input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Coupon row — outline the apply coupon button */
body.woocommerce-cart .woocommerce-cart-form .coupon button.button[name="apply_coupon"] {
  background-color: transparent !important;
  color: #C75D3B !important;
  border: 1px solid #C75D3B !important;
}
body.woocommerce-cart .woocommerce-cart-form .coupon button.button[name="apply_coupon"]:hover {
  background-color: #C75D3B !important;
  color: #F2EDE3 !important;
}

/* Trust signals row below cart totals */
body.woocommerce-cart .cart_totals::after {
  content: "\2713 Instant download after payment   \2022   \2713 Secure checkout via Stripe & PayPal";
  display: block;
  text-align: center;
  margin-top: 18px;
  padding: 14px 16px;
  background-color: #FAF6EC;
  border: 1px solid #E8E1D2;
  border-radius: 2px;
  font-size: 0.85rem;
  color: #7A6E5F;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

/* ===== WooCommerce notifications — brand-styled (added to cart, errors, info) ===== */

/* Base style for all WC notices */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
body .woocommerce-message,
body .woocommerce-error,
body .woocommerce-info {
  background-color: #FAF6EC !important;
  color: #1A1A1A !important;
  border-top: 1px solid #E8E1D2 !important;
  border-bottom: 1px solid #E8E1D2 !important;
  border-right: none !important;
  font-family: inherit !important;
  font-size: 0.95rem !important;
  padding: 16px 22px !important;
  border-radius: 0 !important;
  box-shadow: 0 1px 4px rgba(26, 26, 26, 0.04) !important;
  margin: 0 0 1.5em !important;
  list-style: none !important;
}

/* Success (added to cart) — terracotta left accent */
body .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce .woocommerce-message {
  border-left: 3px solid #C75D3B !important;
}

/* The :before icon (checkmark) WC adds — hide or recolor */
body .woocommerce-message::before,
.woocommerce .woocommerce-message::before {
  color: #C75D3B !important;
  display: none !important;
}
body .woocommerce-error::before,
.woocommerce .woocommerce-error::before {
  color: #B04F30 !important;
  display: none !important;
}
body .woocommerce-info::before,
.woocommerce .woocommerce-info::before {
  color: #7A6E5F !important;
  display: none !important;
}

/* Error — darker terracotta accent on slightly warmer bg */
body .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce .woocommerce-error {
  border-left: 3px solid #B04F30 !important;
  background-color: #F2EDE3 !important;
}

/* Info — taupe accent */
body .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce .woocommerce-info {
  border-left: 3px solid #7A6E5F !important;
}

/* "View cart" / button inside the notice — brand terracotta */
body .woocommerce-message a.button,
body .woocommerce-error a.button,
body .woocommerce-info a.button,
body .woocommerce-message .button.wc-forward,
body .woocommerce-error .button.wc-forward,
body .woocommerce-info .button.wc-forward,
.woocommerce .woocommerce-message a.button,
.woocommerce .woocommerce-message .button.wc-forward {
  background-color: #C75D3B !important;
  color: #F2EDE3 !important;
  border: none !important;
  padding: 8px 16px !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  border-radius: 2px !important;
  text-decoration: none !important;
  margin-right: 12px !important;
  float: right !important;
}
body .woocommerce-message a.button:hover,
body .woocommerce-error a.button:hover,
body .woocommerce-info a.button:hover,
body .woocommerce-message .button.wc-forward:hover,
.woocommerce .woocommerce-message a.button:hover {
  background-color: #B04F30 !important;
  color: #F2EDE3 !important;
}

/* Links inside notices (e.g., product name link) — brand */
body .woocommerce-message a:not(.button),
body .woocommerce-error a:not(.button),
body .woocommerce-info a:not(.button),
.woocommerce .woocommerce-message a:not(.button) {
  color: #C75D3B !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
body .woocommerce-message a:not(.button):hover,
.woocommerce .woocommerce-message a:not(.button):hover {
  color: #B04F30 !important;
  text-decoration: underline !important;
}
/* Shop page — align price + Add to Cart buttons across product cards */
.woocommerce ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap .price {
  margin-top: auto !important;
}
