
/* ═══════════════════════════════════════════════════════════
   PAGE BACKGROUND & LAYOUT
═══════════════════════════════════════════════════════════ */

body.woocommerce,
body.woocommerce-page,
body.woocommerce-shop,
body.tax-product_cat {
  background: #0e0b06 !important;
}

body.woocommerce .site-content,
body.woocommerce-page .site-content,
body.woocommerce-shop .site-content,
body.tax-product_cat .site-content,
body.woocommerce .content-area,
body.woocommerce-page .content-area,
body.woocommerce-shop .content-area,
body.tax-product_cat .content-area,
body.woocommerce main,
body.woocommerce-page main,
body.woocommerce-shop main,
body.tax-product_cat main {
  background: #0e0b06 !important;
}

body.woocommerce .ast-container,
body.woocommerce-page .ast-container,
body.woocommerce-shop .ast-container,
body.tax-product_cat .ast-container,
body.woocommerce .entry-content,
body.woocommerce-page .entry-content,
body.woocommerce-shop .entry-content,
body.tax-product_cat .entry-content {
  background: #0e0b06 !important;
}

/* ═══════════════════════════════════════════════════════════
   CHROME LINE — fixed gold–crimson top bar
═══════════════════════════════════════════════════════════ */

body.woocommerce::before,
body.woocommerce-page::before,
body.woocommerce-shop::before,
body.tax-product_cat::before {
  content:          '' !important;
  position:         fixed !important;
  top:              0 !important;
  left:             0 !important;
  right:            0 !important;
  height:           2px !important;
  background:       linear-gradient(90deg,
    transparent 0%,
    #8b1a1a     20%,
    #c9913a     50%,
    #8b1a1a     80%,
    transparent 100%) !important;
  z-index:          9999 !important;
  pointer-events:   none !important;
}

/* ═══════════════════════════════════════════════════════════
   PAGE HEADING — "Shop" / category name
   Target every variant Astra/WooCommerce might render
═══════════════════════════════════════════════════════════ */

body.woocommerce h1,
body.woocommerce-page h1,
body.woocommerce-shop h1,
body.tax-product_cat h1,
body.woocommerce h1.entry-title,
body.woocommerce-page h1.entry-title,
body.woocommerce-shop h1.entry-title,
body.tax-product_cat h1.entry-title,
body.woocommerce .entry-title,
body.woocommerce-page .entry-title,
body.woocommerce-shop .entry-title,
body.tax-product_cat .entry-title,
body.woocommerce .woocommerce-products-header__title,
body.woocommerce-page .woocommerce-products-header__title,
body.woocommerce-shop .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title,
body.woocommerce .ast-page-title-wrap h1,
body.woocommerce-shop .ast-page-title-wrap h1,
body.tax-product_cat .ast-page-title-wrap h1 {
  font-family:    'Cinzel Decorative', serif !important;
  font-size:      clamp(1.6rem, 3vw, 2.6rem) !important;
  font-weight:    700 !important;
  color:          #f0e8d8 !important;
  letter-spacing: 0.1em !important;
  text-align:     center !important;
  text-shadow:    0 2px 40px rgba(0,0,0,.8),
                  0 0 60px rgba(201,145,58,.15) !important;
  margin-bottom:  0.6em !important;
}

/* ── Decorative rule under heading ─────────────────────── */
body.woocommerce h1.entry-title::after,
body.woocommerce-page h1.entry-title::after,
body.woocommerce-shop h1.entry-title::after,
body.tax-product_cat h1.entry-title::after,
body.woocommerce .entry-title::after,
body.woocommerce-page .entry-title::after,
body.woocommerce-shop .entry-title::after,
body.tax-product_cat .entry-title::after,
body.woocommerce .woocommerce-products-header__title::after,
body.woocommerce-page .woocommerce-products-header__title::after,
body.woocommerce-shop .woocommerce-products-header__title::after,
body.tax-product_cat .woocommerce-products-header__title::after {
  content:    '' !important;
  display:    block !important;
  width:      160px !important;
  height:     1px !important;
  margin:     0.5em auto 0 !important;
  background: linear-gradient(90deg,
    transparent, #c9913a, transparent) !important;
}

/* ── Category description (shown on /product-category/*/) ── */
body.tax-product_cat .term-description,
body.tax-product_cat .woocommerce-products-header__description {
  font-family: 'IM Fell English', Georgia, serif !important;
  font-size:   0.95rem !important;
  color:       #a89070 !important;
  text-align:  center !important;
  max-width:   600px !important;
  margin:      0 auto 2em !important;
  line-height: 1.7 !important;
}

/* ── Breadcrumb ─────────────────────────────────────────── */
body.woocommerce .woocommerce-breadcrumb,
body.woocommerce-page .woocommerce-breadcrumb,
body.woocommerce-shop .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb {
  font-family: 'Cinzel', serif !important;
  font-size:   0.75rem !important;
  color:       #a89070 !important;
  text-align:  center !important;
}

body.woocommerce .woocommerce-breadcrumb a,
body.woocommerce-page .woocommerce-breadcrumb a,
body.tax-product_cat .woocommerce-breadcrumb a {
  color: #c9913a !important;
}

body.woocommerce .woocommerce-breadcrumb a:hover,
body.woocommerce-page .woocommerce-breadcrumb a:hover,
body.tax-product_cat .woocommerce-breadcrumb a:hover {
  color: #e8b96a !important;
}

/* ═══════════════════════════════════════════════════════════
   TOOLBAR — result count + sort dropdown
═══════════════════════════════════════════════════════════ */

body.woocommerce .woocommerce-result-count,
body.woocommerce-page .woocommerce-result-count,
body.woocommerce-shop .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count {
  font-family:    'Cinzel', serif !important;
  font-size:      0.78rem !important;
  color:          #a89070 !important;
  letter-spacing: 0.06em !important;
}

body.woocommerce .woocommerce-ordering select,
body.woocommerce-page .woocommerce-ordering select,
body.woocommerce-shop .woocommerce-ordering select,
body.tax-product_cat .woocommerce-ordering select {
  font-family:       'Cinzel', serif !important;
  font-size:         0.78rem !important;
  color:             #f0e8d8 !important;
  background:        #1f1609 !important;
  border:            1px solid rgba(201,145,58,.3) !important;
  border-radius:     4px !important;
  padding:           6px 32px 6px 12px !important;
  cursor:            pointer !important;
  appearance:        none !important;
  background-image:  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23c9913a'/%3E%3C/svg%3E") !important;
  background-repeat:   no-repeat !important;
  background-position: right 10px center !important;
}

body.woocommerce .woocommerce-ordering select:focus,
body.woocommerce-page .woocommerce-ordering select:focus,
body.tax-product_cat .woocommerce-ordering select:focus {
  outline:    none !important;
  border-color: #c9913a !important;
  box-shadow: 0 0 0 2px rgba(201,145,58,.15) !important;
}

/* ═══════════════════════════════════════════════════════════
   PRODUCT GRID
   WooCommerce/Astra may set flex + % widths on ul.products.
   Override by switching to grid and resetting % width on children.
═══════════════════════════════════════════════════════════ */

body.woocommerce ul.products,
body.woocommerce-page ul.products,
body.woocommerce-shop ul.products,
body.tax-product_cat ul.products,
body.woocommerce ul.products.columns-1,
body.woocommerce ul.products.columns-2,
body.woocommerce ul.products.columns-3,
body.woocommerce ul.products.columns-4,
body.woocommerce-shop ul.products.columns-1,
body.woocommerce-shop ul.products.columns-2,
body.woocommerce-shop ul.products.columns-3,
body.woocommerce-shop ul.products.columns-4,
body.tax-product_cat ul.products.columns-1,
body.tax-product_cat ul.products.columns-2,
body.tax-product_cat ul.products.columns-3,
body.tax-product_cat ul.products.columns-4 {
  display:               grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap:                   28px !important;
  list-style:            none !important;
  padding:               0 !important;
  margin:                0 !important;
  flex-wrap:             unset !important;
}

@media (max-width: 900px) {
  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body.woocommerce-shop ul.products,
  body.tax-product_cat ul.products,
  body.woocommerce ul.products[class*="columns-"],
  body.woocommerce-shop ul.products[class*="columns-"],
  body.tax-product_cat ul.products[class*="columns-"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 560px) {
  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body.woocommerce-shop ul.products,
  body.tax-product_cat ul.products,
  body.woocommerce ul.products[class*="columns-"],
  body.woocommerce-shop ul.products[class*="columns-"],
  body.tax-product_cat ul.products[class*="columns-"] {
    grid-template-columns: 1fr !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   PRODUCT CARD
═══════════════════════════════════════════════════════════ */

body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product,
body.woocommerce-shop ul.products li.product,
body.tax-product_cat ul.products li.product {
  width:          auto !important;
  float:          none !important;
  margin:         0 !important;
  background:     #1f1609 !important;
  border:         1px solid rgba(201,145,58,.18) !important;
  border-radius:  8px !important;
  overflow:       hidden !important;
  display:        flex !important;
  flex-direction: column !important;
  position:       relative !important;
  transition:     border-color .3s, box-shadow .3s !important;
}

body.woocommerce ul.products li.product:hover,
body.woocommerce-page ul.products li.product:hover,
body.woocommerce-shop ul.products li.product:hover,
body.tax-product_cat ul.products li.product:hover {
  border-color: rgba(201,145,58,.5) !important;
  box-shadow:   0 8px 32px rgba(0,0,0,.6),
                0 0 20px rgba(201,145,58,.08) !important;
}

/* ── Product image ──────────────────────────────────────── */
body.woocommerce ul.products li.product a img,
body.woocommerce-page ul.products li.product a img,
body.tax-product_cat ul.products li.product a img {
  width:       100% !important;
  height:      220px !important;
  object-fit:  cover !important;
  display:     block !important;
  transition:  transform .4s !important;
}

body.woocommerce ul.products li.product:hover a img,
body.woocommerce-page ul.products li.product:hover a img,
body.tax-product_cat ul.products li.product:hover a img {
  transform: scale(1.04) !important;
}

/* Image wrapper clips the zoom */
body.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
body.woocommerce-page ul.products li.product .woocommerce-LoopProduct-link,
body.tax-product_cat ul.products li.product .woocommerce-LoopProduct-link {
  overflow: hidden !important;
  display:  block !important;
}

/* ── Product title ──────────────────────────────────────── */
body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title {
  font-family:    'Cinzel Decorative', serif !important;
  font-size:      0.88rem !important;
  font-weight:    700 !important;
  color:          #f0e8d8 !important;
  letter-spacing: 0.04em !important;
  line-height:    1.35 !important;
  padding:        14px 16px 4px !important;
  margin:         0 !important;
}

/* ── Price ──────────────────────────────────────────────── */
body.woocommerce ul.products li.product .price,
body.woocommerce-page ul.products li.product .price,
body.tax-product_cat ul.products li.product .price {
  font-family: 'Cinzel', serif !important;
  font-size:   0.88rem !important;
  color:       #c9913a !important;
  padding:     0 16px 10px !important;
  display:     block !important;
}

body.woocommerce ul.products li.product .price del,
body.woocommerce-page ul.products li.product .price del,
body.tax-product_cat ul.products li.product .price del {
  color:        #a89070 !important;
  opacity:      0.7 !important;
  margin-right: 6px !important;
}

body.woocommerce ul.products li.product .price ins,
body.woocommerce-page ul.products li.product .price ins,
body.tax-product_cat ul.products li.product .price ins {
  text-decoration: none !important;
  color:           #e8b96a !important;
  font-weight:     700 !important;
}

/* ── "On sale" badge ────────────────────────────────────── */
/* WooCommerce renders <span class="onsale">; Astra overrides with circular pill */
.woocommerce span.onsale,
.woocommerce-page span.onsale,
body.woocommerce-shop span.onsale,
body.tax-product_cat span.onsale,
body.woocommerce ul.products li.product span.onsale,
body.woocommerce-shop ul.products li.product span.onsale,
body.tax-product_cat ul.products li.product span.onsale {
  font-family:    'Cinzel', serif !important;
  font-size:      0.68rem !important;
  font-weight:    700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color:          #f0e8d8 !important;
  background:     #8b1a1a !important;
  border:         1px solid rgba(201,145,58,.35) !important;
  border-radius:  4px !important;
  padding:        4px 10px !important;
  min-height:     unset !important;
  min-width:      unset !important;
  line-height:    1.4 !important;
  position:       absolute !important;
  top:            12px !important;
  left:           12px !important;
  z-index:        2 !important;
  box-shadow:     0 2px 8px rgba(0,0,0,.4) !important;
}

/* ── Category label ─────────────────────────────────────── */
body.woocommerce ul.products li.product .ast-woo-product-category,
body.woocommerce-page ul.products li.product .ast-woo-product-category,
body.tax-product_cat ul.products li.product .ast-woo-product-category,
body.woocommerce ul.products li.product .product-category,
body.woocommerce-page ul.products li.product .product-category,
body.tax-product_cat ul.products li.product .product-category {
  font-family:    'Cinzel', serif !important;
  font-size:      0.68rem !important;
  color:          #a89070 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding:        0 16px 6px !important;
  display:        block !important;
}

/* ── Add-to-cart button ─────────────────────────────────── */
body.woocommerce ul.products li.product .button,
body.woocommerce-page ul.products li.product .button,
body.tax-product_cat ul.products li.product .button,
body.woocommerce ul.products li.product .add_to_cart_button,
body.woocommerce-page ul.products li.product .add_to_cart_button,
body.tax-product_cat ul.products li.product .add_to_cart_button {
  font-family:    'Cinzel', serif !important;
  font-size:      0.75rem !important;
  font-weight:    700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color:          #c9913a !important;
  background:     transparent !important;
  border:         1px solid rgba(201,145,58,.45) !important;
  border-radius:  4px !important;
  padding:        9px 18px !important;
  margin:         auto 16px 16px !important;
  display:        block !important;
  text-align:     center !important;
  cursor:         pointer !important;
  transition:     background .25s, border-color .25s, color .25s, box-shadow .25s !important;
}

body.woocommerce ul.products li.product .button:hover,
body.woocommerce-page ul.products li.product .button:hover,
body.tax-product_cat ul.products li.product .button:hover,
body.woocommerce ul.products li.product .add_to_cart_button:hover,
body.woocommerce-page ul.products li.product .add_to_cart_button:hover,
body.tax-product_cat ul.products li.product .add_to_cart_button:hover {
  background:   rgba(201,145,58,.12) !important;
  border-color: #c9913a !important;
  color:        #e8b96a !important;
  box-shadow:   0 0 14px rgba(201,145,58,.2) !important;
}

/* "Added to cart" view-cart link */
body.woocommerce ul.products li.product .added_to_cart,
body.woocommerce-page ul.products li.product .added_to_cart,
body.tax-product_cat ul.products li.product .added_to_cart {
  font-family:    'Cinzel', serif !important;
  font-size:      0.72rem !important;
  color:          #c9913a !important;
  display:        block !important;
  text-align:     center !important;
  padding:        4px 16px 12px !important;
  letter-spacing: 0.06em !important;
}

/* ═══════════════════════════════════════════════════════════
   PAGINATION
═══════════════════════════════════════════════════════════ */

body.woocommerce .woocommerce-pagination,
body.woocommerce-page .woocommerce-pagination,
body.tax-product_cat .woocommerce-pagination {
  text-align: center !important;
  margin-top: 48px !important;
}

body.woocommerce .woocommerce-pagination ul,
body.woocommerce-page .woocommerce-pagination ul,
body.tax-product_cat .woocommerce-pagination ul {
  display:     inline-flex !important;
  gap:         8px !important;
  list-style:  none !important;
  padding:     0 !important;
  margin:      0 !important;
  border:      none !important;
}

body.woocommerce .woocommerce-pagination ul li a,
body.woocommerce .woocommerce-pagination ul li span,
body.woocommerce-page .woocommerce-pagination ul li a,
body.woocommerce-page .woocommerce-pagination ul li span,
body.tax-product_cat .woocommerce-pagination ul li a,
body.tax-product_cat .woocommerce-pagination ul li span {
  font-family:     'Cinzel', serif !important;
  font-size:       0.8rem !important;
  color:           #a89070 !important;
  background:      #1f1609 !important;
  border:          1px solid rgba(201,145,58,.2) !important;
  border-radius:   4px !important;
  width:           36px !important;
  height:          36px !important;
  display:         flex !important;
  align-items:     center !important;
  justify-content: center !important;
  transition:      border-color .2s, color .2s !important;
}

body.woocommerce .woocommerce-pagination ul li a:hover,
body.woocommerce-page .woocommerce-pagination ul li a:hover,
body.tax-product_cat .woocommerce-pagination ul li a:hover {
  color:        #c9913a !important;
  border-color: rgba(201,145,58,.5) !important;
}

body.woocommerce .woocommerce-pagination ul li span.current,
body.woocommerce-page .woocommerce-pagination ul li span.current,
body.tax-product_cat .woocommerce-pagination ul li span.current {
  color:        #f0e8d8 !important;
  background:   rgba(201,145,58,.15) !important;
  border-color: #c9913a !important;
}

/* ═══════════════════════════════════════════════════════════
   WooCommerce NOTICES (added-to-cart flash messages)
═══════════════════════════════════════════════════════════ */

body.woocommerce .woocommerce-message,
body.woocommerce-page .woocommerce-message,
body.tax-product_cat .woocommerce-message {
  background:  #241a0e !important;
  border-top:  3px solid #c9913a !important;
  color:       #f0e8d8 !important;
  font-family: 'IM Fell English', Georgia, serif !important;
}

body.woocommerce .woocommerce-message a,
body.woocommerce-page .woocommerce-message a,
body.tax-product_cat .woocommerce-message a {
  color: #c9913a !important;
}

body.woocommerce .woocommerce-error,
body.woocommerce-page .woocommerce-error,
body.tax-product_cat .woocommerce-error {
  background:  #1f1609 !important;
  border-top:  3px solid #8b1a1a !important;
  color:       #f0e8d8 !important;
}
