/* Product category archives (/categories/...) inside the redesign chrome, styled to match the hub pages
   (hub-v3.css). Loaded only on taxonomy-product-cat.php via mu-plugins/ab-hub-v3-router.php
   (switch: option ab_cat_v3_live; preview any category with ?ab_v3=1). Product cards = homepage cards via mu-plugins/ab-cat-v3-cards.php. */

/* Astra's container came from header.php, which the chrome replaces: give the archive its own width. */
body.ab-redesign-cat .ab-v3-main #primary,
body.ab-redesign-cat .ab-v3-main .site-main { width: 100%; max-width: none; margin: 0; padding: 0; float: none; }
body.ab-redesign-cat .ab-v3-main .ast-woocommerce-container {
  max-width: 1256px; margin: 0 auto; padding: 40px 32px 64px; box-sizing: content-box;
}

/* Breadcrumb + heading, left aligned like the hubs */
body.ab-redesign-cat .ab-v3-main .woocommerce-breadcrumb {
  font-family: var(--ab-font-body); font-size: 12px; letter-spacing: .03em; color: rgba(46, 51, 29, .6); margin: 0 0 14px;
}
body.ab-redesign-cat .ab-v3-main .woocommerce-breadcrumb a { color: rgba(46, 51, 29, .6); text-decoration: none; }
body.ab-redesign-cat .ab-v3-main .woocommerce-products-header { text-align: left; margin: 0 0 8px; padding: 0; }
body.ab-redesign-cat .ab-v3-main .woocommerce-products-header__title {
  font-family: var(--ab-font-display); font-weight: 400; text-transform: lowercase; letter-spacing: 0;
  font-size: clamp(40px, 5vw, 68px); line-height: 1; color: var(--ab-color-forest); margin: 0 0 16px; text-align: left;
}
/* the template prints the WC title AND an ACF page_heading; when the heading exists, show only that */
body.ab-redesign-cat .ab-v3-main .woocommerce-products-header__title:not(.ct-product-cat-heading):has(~ .ct-product-cat-heading) { display: none; }
body.ab-redesign-cat .ab-v3-main .term-description,
body.ab-redesign-cat .ab-v3-main .term-description p {
  font-family: var(--ab-font-body); font-weight: 300; font-size: 16px; line-height: 1.7; color: rgba(46, 51, 29, .85);
  max-width: 760px; text-align: left !important; margin: 0;
}

/* Sub-category pills (ab-botanicals-nav.php) styled like the hub filter pills */
body.ab-redesign-cat .ab-v3-main .ab-botnav__pill {
  font-family: var(--ab-font-body); font-size: 13px; font-weight: 400; background: #fff; color: var(--ab-color-forest);
  border: 1.5px solid rgba(46, 51, 29, .2); border-radius: 999px; padding: 8px 18px; line-height: 1.3; text-decoration: none;
  transition: border-color .16s ease, background .16s ease, color .16s ease;
}
body.ab-redesign-cat .ab-v3-main .ab-botnav__pill:hover { border-color: var(--ab-color-marigold); }
body.ab-redesign-cat .ab-v3-main .ab-botnav__pill.is-active { background: var(--ab-color-forest); border-color: var(--ab-color-forest); color: #fff; }
body.ab-redesign-cat .ab-v3-main .ab-botnav__pill.is-active * { color: #fff; }

/* Count + sort row */
body.ab-redesign-cat .ab-v3-main .woocommerce-result-count {
  font-family: var(--ab-font-body); font-size: 13px; color: rgba(46, 51, 29, .65); margin: 22px 0 18px; white-space: nowrap;
}
body.ab-redesign-cat .ab-v3-main .woocommerce-ordering { margin: 14px 0 18px; }
body.ab-redesign-cat .ab-v3-main .woocommerce-ordering select {
  font-family: var(--ab-font-body); font-size: 13px; color: var(--ab-color-forest); background-color: #fff;
  border: 1.5px solid rgba(46, 51, 29, .2); border-radius: 999px; padding: 8px 32px 8px 16px; height: auto;
}

/* Product grid: the HOMEPAGE product card (.product-card, styled by redesign.css + home-v2-pass2.css under
   .section-amazing-products), rendered by mu-plugins/ab-cat-v3-cards.php. Only the grid + sizing live here. */
body.ab-redesign-cat .ab-v3-main .ab-cat-cards { background: none; padding: 0; margin: 8px 0 24px; }
body.ab-redesign-cat .ab-v3-main .ab-cat-cards::before,
body.ab-redesign-cat .ab-v3-main .ab-cat-cards::after { display: none; }   /* carousel edge fades */
body.ab-redesign-cat .ab-v3-main .ab-cat-grid {
  list-style: none; margin: 0; padding: 24px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 44px 22px; align-items: stretch;
}
body.ab-redesign-cat .ab-v3-main .ab-cat-grid__item { display: flex; margin: 0; padding: 0; min-width: 0; }
body.ab-redesign-cat .ab-v3-main .ab-cat-grid .product-card { flex: 1 1 auto; width: auto; min-height: 500px; box-sizing: border-box; }
body.ab-redesign-cat .ab-v3-main .ab-cat-grid .product-name { font-size: 27px; margin: 6px 0 10px; }
/* WC photos still carry a white backdrop: blend it into the cream card instead of a white box + square shadow */
body.ab-redesign-cat .ab-v3-main .ab-cat-grid .product-card.is-photo .product-img { mix-blend-mode: multiply; }   /* on the anchor: it is the stacking context */
body.ab-redesign-cat .ab-v3-main .ab-cat-grid .product-card.is-photo .product-img img { filter: none; }
/* archive link colours were beating the homepage pill text colour */
body.ab-redesign-cat .ab-v3-main .ab-cat-grid .btn-cart { color: #fff; text-decoration: none; }
body.ab-redesign-cat .ab-v3-main .ab-cat-grid .btn-cart:hover { color: var(--ab-color-forest); }

/* Pagination */
body.ab-redesign-cat .ab-v3-main .woocommerce-pagination { text-align: center; margin: 32px 0 0; }
body.ab-redesign-cat .ab-v3-main .woocommerce-pagination ul { border: 0 !important; display: inline-flex; gap: 8px; }
body.ab-redesign-cat .ab-v3-main .woocommerce-pagination ul li { border: 0 !important; }
body.ab-redesign-cat .ab-v3-main .woocommerce-pagination .page-numbers {
  font-family: var(--ab-font-body); font-size: 14px; min-width: 40px; height: 40px; line-height: 38px; padding: 0 12px;
  border: 1.5px solid rgba(46, 51, 29, .2) !important; border-radius: 999px; color: var(--ab-color-forest); background: #fff;
}
body.ab-redesign-cat .ab-v3-main .woocommerce-pagination .page-numbers.current { background: var(--ab-color-forest); color: #fff; border-color: var(--ab-color-forest) !important; }

/* Category copy below the grid (ACF opening / FAQ / closing) in a hub-style content card */
body.ab-redesign-cat .ab-v3-main .ct-product-cat-opening,
body.ab-redesign-cat .ab-v3-main .ct-product-cat-faq,
body.ab-redesign-cat .ab-v3-main .ct-product-cat-closing,
body.ab-redesign-cat .ab-v3-main .ct-product-cat-h3 {
  max-width: 820px; margin-left: auto; margin-right: auto; font-family: var(--ab-font-body); color: var(--ab-color-forest);
}
body.ab-redesign-cat .ab-v3-main .ct-product-cat-h3 { font-family: var(--ab-font-display); font-weight: 400; font-size: 28px; margin-top: 40px; }

@media (max-width: 1100px) {
  body.ab-redesign-cat .ab-v3-main .ab-cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.ab-redesign-cat .ab-v3-main .ab-cat-grid .product-name { font-size: 24px; }
}
@media (max-width: 860px) {
  body.ab-redesign-cat .ab-v3-main .ab-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* phones: same treatment as the homepage 2-up grid (plain rounded card, no filigree, no hover bounce) */
@media (max-width: 640px) {
  body.ab-redesign-cat .ab-v3-main .ab-cat-grid { gap: 12px; padding-top: 8px; }
  body.ab-redesign-cat .ab-v3-main .ab-cat-grid .product-card { min-height: 0; padding: 14px 8px 18px; }
  body.ab-redesign-cat .ab-v3-main .ab-cat-grid .product-card::before { background: #F6FAF2; border-radius: 18px; }
  body.ab-redesign-cat .ab-v3-main .ab-cat-grid .product-card::after { display: none; }
  body.ab-redesign-cat .ab-v3-main .ab-cat-grid .product-name { font-size: 18px; margin: 8px 0 4px; }
}
@media (max-width: 760px) {
  body.ab-redesign-cat .ab-v3-main .ast-woocommerce-container { padding: 28px 16px 48px; }
  body.ab-redesign-cat .ab-v3-main .woocommerce-ordering { float: none; margin: 0 0 14px; }
  body.ab-redesign-cat .ab-v3-main .woocommerce-result-count { float: none !important; display: block; width: 100%; margin: 16px 0 10px; white-space: normal; }
  body.ab-redesign-cat .ab-v3-main .ast-shop-toolbar-aside-wrap { flex-wrap: wrap; }
  body.ab-redesign-cat .ab-v3-main .ab-botnav { float: none; display: block; width: 100%; flex: 0 0 100%; margin-top: 10px; }
  body.ab-redesign-cat .ab-v3-main .woocommerce-result-count { flex: 0 0 100%; }
}

/* Category copy (ACF opening / FAQ / closing) typeset like the hub content */
body.ab-redesign-cat .ab-v3-main .ct-content { font-size: 16px; line-height: 1.75; }
body.ab-redesign-cat .ab-v3-main .ct-content p { font-family: var(--ab-font-body); font-weight: 300; color: rgba(46, 51, 29, .9); margin: 0 0 18px; }
body.ab-redesign-cat .ab-v3-main .ct-content h2,
body.ab-redesign-cat .ab-v3-main .ct-content h3 {
  font-family: var(--ab-font-display); font-weight: 400; text-transform: lowercase; letter-spacing: 0;
  color: var(--ab-color-forest); line-height: 1.1; margin: 40px 0 14px;
}
body.ab-redesign-cat .ab-v3-main .ct-content h2 { font-size: 30px; }
body.ab-redesign-cat .ab-v3-main .ct-content h3 { font-size: 24px; }
body.ab-redesign-cat .ab-v3-main .ct-content h4 { font-family: var(--ab-font-body); font-weight: 700; font-size: 17px; color: var(--ab-color-forest); margin: 24px 0 8px; }
body.ab-redesign-cat .ab-v3-main .ct-content a { color: var(--ab-color-forest); text-decoration: underline; text-decoration-color: rgba(46, 51, 29, .35); text-underline-offset: 3px; }
body.ab-redesign-cat .ab-v3-main .ct-content a:hover { text-decoration-color: var(--ab-color-marigold); }
body.ab-redesign-cat .ab-v3-main .ct-product-cat-h3 { text-transform: lowercase; color: var(--ab-color-forest); }
/* FAQ accordion rows */
body.ab-redesign-cat .ab-v3-main .faq-accordion {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; text-align: left;
  background: var(--ab-color-card-bg) !important; color: var(--ab-color-forest) !important; border: 0 !important;
  border-radius: 16px; padding: 16px 22px !important; margin: 0 0 10px; box-shadow: none; cursor: pointer;
}
body.ab-redesign-cat .ab-v3-main .faq-accordion h4 {
  font-family: var(--ab-font-body); font-weight: 700; font-size: 15px; line-height: 1.4; color: var(--ab-color-forest); margin: 0;
}
body.ab-redesign-cat .ab-v3-main .faq-accordion:hover { box-shadow: inset 0 0 0 1.5px var(--ab-color-marigold); }
body.ab-redesign-cat .ab-v3-main .faq-panel { padding: 0 22px; }
