/* ==========================================================================
   WellspringCBD — WooCommerce Product Category Archive Stylesheet (v1.1.0)
   Scoped for Shop, Product Categories, Product Tags, and Taxonomies.
   ========================================================================== */

:root {
  --wsc-pine: #192c27;
  --wsc-pine-dark: #12201c;
  --wsc-sage: #5a7c33;
  --wsc-lemon: #62b414;
  --wsc-lemon-hover: #529810;
  --wsc-cream: #ffffff;
  --wsc-sand: #ffffff;
  --wsc-line: #e6ede8;
  --wsc-slate: #46534c;
  --wsc-text: #192c27;
  --wsc-gold: #f0bc00;
}

/* ----------------- ARCHIVE CONTAINER & HEADER ----------------- */
.wsc_arc_header_wrap {
  width: 100% !important;
  max-width: var(--theme-normal-container-max-width, 1200px) !important;
  margin: 0 auto !important;
  padding-top: 24px !important;
  padding-bottom: 0 !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* ----------------- ARCHIVE TOP BREADCRUMBS ----------------- */
.wsc_arc_crumbs {
  margin-bottom: 10px !important;
}
.wsc_arc_crumbs .ct-breadcrumbs,
.wsc_arc_crumbs .rank-math-breadcrumb,
.wsc_arc_crumbs .woocommerce-breadcrumb {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  color: #728279 !important;
  line-height: normal !important;
}
.wsc_arc_crumbs .rank-math-breadcrumb p,
.wsc_arc_crumbs .ct-breadcrumbs p {
  margin: 0 !important;
  font-size: 11.5px !important;
  color: #728279 !important;
}
.wsc_arc_crumbs a {
  color: #728279 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}
.wsc_arc_crumbs a:hover {
  color: var(--wsc-pine, #192c27) !important;
  text-decoration: underline !important;
}
.wsc_arc_crumbs .separator {
  color: #b0bcaf !important;
  margin: 0 5px !important;
}
.wsc_arc_crumbs .last,
.wsc_arc_crumbs span:last-child {
  color: var(--wsc-pine, #192c27) !important;
  font-weight: 600 !important;
}

/* ----------------- ARCHIVE TOP HEADER (TITLE & SORT) ----------------- */
.wsc_arc_head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  padding-bottom: 14px !important;
  border-bottom: 1.5px solid var(--wsc-line, #e3dcce) !important;
  margin-bottom: 14px !important;
}

.wsc_arc_title_group {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

h1.wsc_arc_title {
  margin: 0 !important;
  font-family: Georgia, serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--wsc-pine, #192c27) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}

.wsc_arc_count,
.wsc_arc_count p,
.wsc_arc_count .woocommerce-result-count {
  margin: 0 !important;
  font-size: 12.5px !important;
  color: #728279 !important;
  font-weight: 500 !important;
  line-height: normal !important;
}

.wsc_arc_desc {
  margin-top: 6px !important;
  font-size: 13.5px !important;
  color: #4a5c54 !important;
  line-height: 1.5 !important;
  max-width: 820px !important;
}

.wsc_arc_desc p {
  margin: 0 0 6px !important;
}

.wsc_arc_desc p:last-child {
  margin-bottom: 0 !important;
}

.wsc_arc_sort {
  margin-left: auto !important;
}
.wsc_arc_sort .woocommerce-ordering {
  margin: 0 !important;
}

.wsc_archive_wrap {
  width: 100%;
  max-width: var(--theme-normal-container-max-width, 1200px);
  margin: 0 auto;
  padding: 24px 20px 48px;
  box-sizing: border-box;
}

.wsc_arc_top_intro {
  display: none !important;
}

/* ----------------- WOOCOMMERCE CATALOG SORTING DROPDOWN ----------------- */
.woocommerce-ordering {
  margin: 0 !important;
  position: relative !important;
}

.woocommerce-ordering select,
select.orderby {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: #ffffff !important;
  border: 1.5px solid var(--wsc-line, #e3dcce) !important;
  border-radius: 9px !important;
  padding: 9px 36px 9px 14px !important;
  font-family: 'Segoe UI', Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: var(--wsc-pine, #192c27) !important;
  cursor: pointer !important;
  outline: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23192c27' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 12px !important;
  box-shadow: 0 2px 6px rgba(25, 44, 39, 0.04) !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
  line-height: normal !important;
  height: 40px !important;
}

.woocommerce-ordering select:hover,
select.orderby:hover {
  border-color: #cbd8cf !important;
  box-shadow: 0 3px 8px rgba(25, 44, 39, 0.08) !important;
}

.woocommerce-ordering select:focus,
select.orderby:focus {
  border-color: var(--wsc-lemon, #62b414) !important;
  box-shadow: 0 0 0 2px rgba(98, 180, 20, 0.2) !important;
}

.woocommerce-ordering > svg {
  display: none !important;
}

/* ----------------- QUICK FILTER CHIPS STRIP ACROSS TOP ----------------- */
.wsc_arc_chips_strip {
  width: 100% !important;
  margin: 0 0 16px 0 !important;
  clear: both !important;
}

.wsc_arc_chips {
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto !important;
  padding-bottom: 6px !important;
  scrollbar-width: none !important;
}
.wsc_arc_chips::-webkit-scrollbar { display: none !important; }

.wsc_arc_chip {
  flex-shrink: 0 !important;
  background: #ffffff !important;
  border: 1.5px solid #d8e2dc !important;
  border-radius: 999px !important;
  padding: 8px 16px !important;
  font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #192c27 !important;
  cursor: pointer !important;
  box-shadow: 0 2px 6px rgba(25, 44, 39, 0.05) !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  line-height: 1.35 !important;
}

.wsc_arc_chip:hover {
  background: #f4f8f5 !important;
  border-color: #62b414 !important;
  color: #62b414 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(25, 44, 39, 0.08) !important;
}

.wsc_arc_chip.active {
  background: #192c27 !important;
  border-color: #192c27 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(25, 44, 39, 0.2) !important;
}

/* ----------------- SIDEBAR FACET FILTERS ----------------- */
.wsc_sidebar_facets {
  background: var(--wsc-sand, #fbf9f4) !important;
  border: 1.5px solid var(--wsc-line, #e3dcce) !important;
  border-radius: 14px !important;
  padding: 20px 18px !important;
  margin-bottom: 24px !important;
  box-sizing: border-box !important;
}

/* Mobile Facets Toggle Button */
.wsc_facets_mobile_toggle {
  display: none !important;
}

.wsc_sidebar_facets_body {
  display: block;
}

.wsc_sidebar_facets .wsc_arc_fgrp {
  margin-bottom: 18px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--wsc-line, #e3dcce) !important;
}
.wsc_sidebar_facets .wsc_arc_fgrp:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

.wsc_sidebar_facets p.wsc_arc_fttl {
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: var(--wsc-pine, #192c27) !important;
  margin: 0 0 10px !important;
}

.wsc_sidebar_facets .wsc_arc_fopt {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 12.5px !important;
  color: var(--wsc-slate, #46534c) !important;
  margin-bottom: 8px !important;
  cursor: pointer !important;
  user-select: none !important;
}

.wsc_sidebar_facets .wsc_arc_fopt input {
  accent-color: var(--wsc-lemon, #62b414) !important;
  width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
  cursor: pointer !important;
}

/* Clear Filters Button */
.wsc_facets_clear_wrap {
  margin-top: 14px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--wsc-line, #e3dcce) !important;
}
.wsc_facets_clear_btn {
  background: #ffffff !important;
  border: 1px solid var(--wsc-line, #e3dcce) !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  font-family: inherit !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #728279 !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: all 0.15s ease !important;
}
.wsc_facets_clear_btn:hover {
  background: #f4f6f5 !important;
  color: var(--wsc-pine, #192c27) !important;
  border-color: #cbd8cf !important;
}

/* AJAX Loading State on Products Grid */
ul.products {
  transition: opacity 0.2s ease !important;
  position: relative !important;
}
ul.products.wsc-loading {
  opacity: 0.45 !important;
  pointer-events: none !important;
}

/* Empty State When No Products Match */
.wsc_no_products_found {
  grid-column: 1 / -1 !important;
  list-style: none !important;
  width: 100% !important;
  margin: 0 auto !important;
}
.wsc_empty_state {
  text-align: center !important;
  padding: 48px 24px !important;
  background: var(--wsc-sand, #fbf9f4) !important;
  border: 1.5px dashed var(--wsc-line, #e3dcce) !important;
  border-radius: 14px !important;
  max-width: 540px !important;
  margin: 20px auto !important;
}
.wsc_empty_icon {
  font-size: 36px !important;
  display: block !important;
  margin-bottom: 12px !important;
}
.wsc_empty_state h3 {
  margin: 0 0 8px !important;
  font-family: Georgia, serif !important;
  font-size: 20px !important;
  color: var(--wsc-pine, #192c27) !important;
}
.wsc_empty_state p {
  margin: 0 0 18px !important;
  font-size: 13.5px !important;
  color: var(--wsc-slate, #46534c) !important;
  line-height: 1.5 !important;
}
.wsc_reset_filters_btn {
  background: var(--wsc-pine, #192c27) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 8px !important;
  padding: 10px 22px !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background 0.15s ease !important;
}
.wsc_reset_filters_btn:hover {
  background: var(--wsc-lemon, #62b414) !important;
}

/* ----------------- PRODUCT GRID & EQUAL-HEIGHT CARDS ----------------- */
/* WooCommerce Loop Grid Layout */
ul.products[data-products],
ul.products,
.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr !important;
  align-items: stretch !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 40px !important;
}

ul.products > li.product,
li.product.wsc_product_cell {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Product Card (.wsc_card) */
.wsc_card {
  background: #ffffff !important;
  border: 1.5px solid var(--wsc-line) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  width: 100% !important;
  box-shadow: 0 2px 8px rgba(25, 44, 39, 0.04) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
  position: relative !important;
  box-sizing: border-box !important;
}
.wsc_card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(25, 44, 39, 0.1) !important;
  border-color: #cbd8cf !important;
}

.wsc_card_media {
  aspect-ratio: 1 / 1 !important;
  background: radial-gradient(circle at center, #ffffff 42%, #f7f5ed 88%) !important;
  border-radius: 12px 12px 0 0 !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  text-decoration: none !important;
  width: 100% !important;
  flex-shrink: 0 !important;
}

/* Inner Shadow Blend on Media Frame */
.wsc_card_media::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 12px 12px 0 0 !important;
  box-shadow: inset 0 0 24px 6px #f7f5ed !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.wsc_card_media img,
.wsc_card_img {
  max-width: 82% !important;
  max-height: 82% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 12px !important;
  transition: transform 0.3s ease !important;
}
.wsc_card:hover .wsc_card_media img {
  transform: scale(1.05) !important;
}

/* Top Banner Badge */
.wsc_card_badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  padding: 4px 11px !important;
  border-radius: 999px !important;
  z-index: 2 !important;
  line-height: 1.3 !important;
}

/* Secondary Info Pill */
.wsc_card_spct {
  position: absolute !important;
  bottom: 10px !important;
  left: 10px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  color: var(--wsc-pine) !important;
  border: 1px solid var(--wsc-line) !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  padding: 3px 9px !important;
  border-radius: 6px !important;
  z-index: 2 !important;
  line-height: 1.35 !important;
}

/* Card Body (Flex Column) */
.wsc_card_body {
  padding: 16px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  box-sizing: border-box !important;
}

.wsc_card_rating {
  color: var(--wsc-gold) !important;
  font-size: 12px !important;
  margin-bottom: 6px !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.wsc_card_rating_txt {
  color: #728279 !important;
  font-size: 11px !important;
}

.wsc_card_title {
  margin: 0 0 6px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--wsc-pine) !important;
  line-height: 1.35 !important;
  flex-grow: 0 !important;
}
.wsc_card_title a {
  color: inherit !important;
  text-decoration: none !important;
}
.wsc_card_title a:hover {
  color: var(--wsc-sage) !important;
}

/* Variation Swatch Pills */
.wsc_card_vars {
  display: flex !important;
  gap: 5px !important;
  flex-wrap: wrap !important;
  margin: 6px 0 8px !important;
}
.wsc_card_var {
  background: #ffffff !important;
  border: 1.5px solid var(--wsc-line) !important;
  border-radius: 6px !important;
  padding: 3px 8px !important;
  font-family: inherit !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--wsc-slate) !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  line-height: 1.2 !important;
}
.wsc_card_var.on, .wsc_card_var:hover {
  border-color: var(--wsc-pine) !important;
  color: var(--wsc-pine) !important;
  background: #f4f6f5 !important;
}
.wsc_card_var.on {
  border-color: var(--wsc-pine) !important;
  background: var(--wsc-pine) !important;
  color: #ffffff !important;
}

/* Primary & Secondary Attribute Groups (e.g. Strength & Flavor Pills) */
.wsc_card_pri_attr_group,
.wsc_card_sec_attr_group {
  margin: 6px 0 8px !important;
}
.wsc_card_attr_lbl {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #5a7064 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  margin-bottom: 4px !important;
}
.wsc_card_vars,
.wsc_card_sec_pills {
  display: flex !important;
  gap: 5px !important;
  flex-wrap: wrap !important;
  margin: 0 !important;
}
.wsc_card_var,
.wsc_card_sec_pill {
  background: #ffffff !important;
  border: 1.5px solid var(--wsc-line) !important;
  border-radius: 6px !important;
  padding: 3px 8px !important;
  font-family: inherit !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--wsc-slate) !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  line-height: 1.2 !important;
}
.wsc_card_var.on, .wsc_card_var:hover,
.wsc_card_sec_pill.on, .wsc_card_sec_pill:hover {
  border-color: var(--wsc-pine) !important;
  color: var(--wsc-pine) !important;
  background: #f4f6f5 !important;
}
.wsc_card_var.on,
.wsc_card_sec_pill.on {
  border-color: var(--wsc-pine) !important;
  background: var(--wsc-pine) !important;
  color: #ffffff !important;
}

/* Price Row */
.wsc_card_price_row {
  margin: 6px 0 4px !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
}
.wsc_card_price {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: var(--wsc-pine) !important;
}

/* Subscribe & Save Checkbox Pill */
.wsc_card_sub_wrap {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  border: 1.5px solid #dbe4d2 !important;
  border-radius: 7px !important;
  padding: 5px 9px !important;
  margin: 6px 0 12px !important;
  background: #ffffff !important;
  cursor: pointer !important;
  user-select: none !important;
  transition: all 0.15s ease !important;
}
.wsc_card_sub_wrap:hover {
  border-color: var(--wsc-sage) !important;
}
.wsc_card_sub_wrap.on {
  background: #eef5e8 !important;
  border-color: var(--wsc-sage) !important;
}
.wsc_card_sub_wrap input {
  accent-color: var(--wsc-lemon) !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
  cursor: pointer !important;
}
.wsc_card_sub_wrap span {
  font-size: 11px !important;
  color: var(--wsc-slate) !important;
  font-weight: 600 !important;
}
.wsc_card_sub_wrap b {
  color: var(--wsc-sage) !important;
  font-weight: 700 !important;
}

/* Card Add to Cart Button (Bottom-Aligned via margin-top: auto) */
.wsc_card_atc {
  margin-top: auto !important; /* PINS BUTTON TO BOTTOM OF CARD */
  width: 100% !important;
  min-height: 42px !important;
  background: var(--wsc-lemon, #62b414) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 9px !important;
  font-family: 'Segoe UI', Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  box-shadow: 0 3px 8px rgba(98, 180, 20, 0.25) !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}
.wsc_card_atc:hover {
  background: var(--wsc-lemon-hover, #529810) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(98, 180, 20, 0.4) !important;
}
.wsc_card_atc:active {
  transform: translateY(0) scale(0.98) !important;
}
.wsc_card_atc.is-added {
  background: #5a7c33 !important;
}

/* Suppress WooCommerce unstyled "View cart" button */
.wsc_card .added_to_cart,
.wsc_card_atc + .added_to_cart,
a.added_to_cart,
.added_to_cart {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* ----------------- TWO-TIER SEO FOOTNOTE ----------------- */
.wsc_arc_seo_block {
  margin-top: 40px !important;
  padding: 24px 26px !important;
  background: var(--wsc-sand) !important;
  border: 1.5px solid var(--wsc-line) !important;
  border-radius: 14px !important;
}
.wsc_arc_seo_block h2 {
  margin: 0 0 10px !important;
  font-family: Georgia, serif !important;
  font-size: 19px !important;
  color: var(--wsc-pine) !important;
}
.wsc_arc_seo_grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
  margin: 12px 0 20px !important;
}
.wsc_arc_qa_card {
  background: #ffffff !important;
  border: 1px solid var(--wsc-line) !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
}
.wsc_arc_qa_card b {
  display: block !important;
  margin-bottom: 4px !important;
  color: var(--wsc-pine) !important;
  font-size: 13px !important;
}
.wsc_arc_qa_card p {
  margin: 0 !important;
  font-size: 12px !important;
  color: var(--wsc-slate) !important;
  line-height: 1.5 !important;
}

/* Collapsible Full Description */
.wsc_arc_seo_expand {
  border-top: 1px solid var(--wsc-line) !important;
  padding-top: 16px !important;
}
.wsc_arc_seo_expand.collapsed .wsc_arc_seo_desc {
  max-height: 120px !important;
  overflow: hidden !important;
  position: relative !important;
}
.wsc_arc_seo_expand.collapsed .wsc_arc_seo_desc::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 60px !important;
  background: linear-gradient(180deg, rgba(251,249,244,0) 0%, rgba(251,249,244,1) 100%) !important;
  pointer-events: none !important;
}
.wsc_arc_seo_desc {
  font-size: 12.5px !important;
  color: var(--wsc-slate) !important;
  line-height: 1.6 !important;
}
.wsc_arc_seo_toggle_btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #ffffff !important;
  border: 1.5px solid var(--wsc-line) !important;
  border-radius: 8px !important;
  padding: 8px 16px !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--wsc-pine) !important;
  cursor: pointer !important;
  margin-top: 12px !important;
  transition: all 0.15s ease !important;
}
.wsc_arc_seo_toggle_btn:hover {
  background: var(--wsc-pine) !important;
  border-color: var(--wsc-pine) !important;
  color: #ffffff !important;
}

/* ----------------- CLEANUP / SUPPRESS THEME ARTIFACTS ON ARCHIVES ----------------- */
.site-main > .term-description,
.site-main > .ct-container > .term-description,
.entry-content > .term-description,
div.term-description:not(.wsc_arc_seo_desc) {
  display: none !important;
}

/* Suppress default hero-section banner on archives */
body.archive .hero-section,
body.woocommerce-shop .hero-section,
body.tax-product_cat .hero-section,
body.tax-product_tag .hero-section {
  display: none !important;
}

/* Suppress duplicate header / ordering inside the product loop section */
section > .woo-listing-top,
section > header.woocommerce-products-header {
  display: none !important;
}

/* Align spacing of catalog container with sidebar */
body.archive .ct-container[data-sidebar],
body.woocommerce-shop .ct-container[data-sidebar] {
  padding-top: 8px !important;
}

/* ----------------- RESPONSIVE BREAKPOINTS ----------------- */
@media (max-width: 1023px) {
  .wsc_arc_header_wrap {
    padding-top: 18px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  h1.wsc_arc_title { font-size: 24px !important; }
  ul.products[data-products], ul.products, .products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
  .wsc_archive_wrap { padding: 18px 16px 36px !important; }

  /* Reposition Sidebar Above Product Loop on Mobile/Tablet & Eliminate Row Gap */
  body.archive [data-sidebar],
  body.woocommerce-shop [data-sidebar],
  body.tax-product_cat [data-sidebar],
  body.tax-product_tag [data-sidebar],
  [data-sidebar] {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 100% !important;
    grid-row-gap: 0 !important;
    row-gap: 0 !important;
    gap: 0 !important;
  }
  body.archive [data-sidebar] > aside,
  body.woocommerce-shop [data-sidebar] > aside,
  body.tax-product_cat [data-sidebar] > aside,
  body.tax-product_tag [data-sidebar] > aside {
    order: -1 !important;
    width: 100% !important;
    margin-bottom: 6px !important;
  }
  body.archive #sidebar .widget_search,
  body.woocommerce-shop #sidebar .widget_search,
  body.tax-product_cat #sidebar .widget_search {
    display: none !important;
  }

  /* Mobile/Tablet Collapsible Facet Filters */
  .wsc_facets_mobile_toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    background: #ffffff !important;
    border: 1.5px solid var(--wsc-line, #e3dcce) !important;
    border-radius: 11px !important;
    padding: 12px 16px !important;
    font-family: inherit !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: var(--wsc-pine, #192c27) !important;
    cursor: pointer !important;
    box-shadow: 0 2px 6px rgba(25, 44, 39, 0.04) !important;
    transition: all 0.15s ease !important;
    box-sizing: border-box !important;
  }
  .wsc_facets_mobile_toggle:hover {
    border-color: #cbd8cf !important;
    box-shadow: 0 4px 10px rgba(25, 44, 39, 0.08) !important;
  }
  .wsc_fmt_title {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .wsc_fmt_icon {
    font-size: 14px !important;
  }
  .wsc_fmt_active_count {
    background: var(--wsc-lemon, #62b414) !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    padding: 2px 7px !important;
    border-radius: 999px !important;
    margin-left: 4px !important;
  }
  .wsc_fmt_chevron {
    font-size: 11px !important;
    color: var(--wsc-slate, #46534c) !important;
    transition: transform 0.2s ease !important;
  }

  /* Collapsed by default on mobile / tablet */
  .wsc_sidebar_facets_body {
    display: none;
    padding-top: 16px !important;
    margin-top: 14px !important;
    border-top: 1px solid var(--wsc-line, #e3dcce) !important;
  }
  .wsc_sidebar_facets {
    padding: 12px 14px !important;
    border-radius: 12px !important;
    margin-bottom: 6px !important;
  }
}

@media (max-width: 767px) {
  .wsc_arc_header_wrap {
    padding-top: 14px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .wsc_arc_head {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding-bottom: 12px !important;
    margin-bottom: 12px !important;
  }
  .wsc_arc_sort {
    margin-left: 0 !important;
    width: 100% !important;
  }
  .wsc_arc_sort .woocommerce-ordering,
  .wsc_arc_sort select.orderby {
    width: 100% !important;
  }
  h1.wsc_arc_title { font-size: 21px !important; }
  body.archive .ct-container[data-sidebar],
  body.woocommerce-shop .ct-container[data-sidebar] {
    padding-top: 6px !important;
  }
  ul.products[data-products], ul.products, .products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .wsc_card_badge { font-size: 10.5px !important; padding: 3px 8px !important; }
  .wsc_card_spct { font-size: 10.5px !important; padding: 2px 7px !important; }
  .wsc_card_body { padding: 10px 8px 12px !important; }
  .wsc_card_title { font-size: 12px !important; }
  .wsc_card_price { font-size: 15px !important; }
  .wsc_arc_seo_grid { grid-template-columns: 1fr !important; }
}

/* ----------------- ELIGIBLE PRODUCTS GRID (THANK YOU & PROMO PAGES) ----------------- */
.wsc_eligible_grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr !important;
  align-items: stretch !important;
  gap: 18px !important;
  margin: 20px 0 40px !important;
}
.wsc_eligible_grid > .wsc_card {
  height: 100% !important;
}

@media (max-width: 1023px) {
  .wsc_eligible_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}

@media (max-width: 767px) {
  .wsc_eligible_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}

/* ----------------- THANK YOU LANDING PAGE (PAGE 355993) ----------------- */
.wsc_ty_page {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 10px 0 60px !important;
  font-family: inherit !important;
  color: #192c27 !important;
}
/* Hero Banner */
.wsc_ty_hero {
  background: radial-gradient(130% 140% at 50% -20%, #25423a 0%, #192c27 60%, #101c19 100%) !important;
  border-radius: 20px !important;
  padding: 44px 36px 40px !important;
  color: #ffffff !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 16px 40px rgba(25, 44, 39, 0.2) !important;
  margin-bottom: 36px !important;
}
.wsc_ty_badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 999px !important;
  padding: 6px 16px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: #e2ede5 !important;
  margin-bottom: 16px !important;
  backdrop-filter: blur(8px) !important;
}
.wsc_ty_h1 {
  font-family: Georgia, serif !important;
  font-size: 38px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  margin: 0 auto 12px !important;
  max-width: 720px !important;
  color: #ffffff !important;
  letter-spacing: -.015em !important;
}
.wsc_ty_h1 span {
  color: #62b414 !important;
}
.wsc_ty_sub {
  font-size: 15px !important;
  color: #cfe0d8 !important;
  line-height: 1.6 !important;
  max-width: 620px !important;
  margin: 0 auto 28px !important;
}

/* Coupon Box Card */
.wsc_ty_coupon_card {
  background: #ffffff !important;
  border: 2px dashed #62b414 !important;
  border-radius: 16px !important;
  max-width: 640px !important;
  margin: 0 auto 20px !important;
  padding: 20px 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  color: #192c27 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.15) !important;
  text-align: left !important;
}
.wsc_ty_cleft {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}
.wsc_ty_clabel {
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  color: #5a7c33 !important;
}
.wsc_ty_ccode {
  font-family: 'Consolas', 'Monaco', monospace !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #192c27 !important;
  letter-spacing: .08em !important;
}
.wsc_ty_cright {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.wsc_ty_apply_btn {
  background: #62b414 !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 9px !important;
  padding: 12px 20px !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  box-shadow: 0 4px 12px rgba(98, 180, 20, 0.35) !important;
  transition: all 0.15s ease !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}
.wsc_ty_apply_btn:hover {
  background: #529810 !important;
  transform: translateY(-1px) !important;
}
.wsc_ty_apply_btn.applied {
  background: #5a7c33 !important;
}
.wsc_ty_copy_btn {
  background: #fbf9f4 !important;
  border: 1.5px solid #e3dcce !important;
  border-radius: 9px !important;
  padding: 11px 16px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #192c27 !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  white-space: nowrap !important;
}
.wsc_ty_copy_btn:hover {
  background: #eef3ef !important;
  border-color: #cbd8cf !important;
}

/* Trust indicators under coupon */
.wsc_ty_trustrow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  font-size: 11.5px !important;
  color: #b9cfc5 !important;
  flex-wrap: wrap !important;
}
.wsc_ty_trustrow span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}

/* Section Heading */
.wsc_ty_catalog_head {
  margin-bottom: 24px !important;
  text-align: center !important;
}
.wsc_ty_sec_tag {
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: #62b414 !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.wsc_ty_sec_title {
  font-family: Georgia, serif !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  color: #192c27 !important;
  margin: 0 0 8px !important;
}
.wsc_ty_sec_sub {
  font-size: 14px !important;
  color: #5f7067 !important;
  max-width: 580px !important;
  margin: 0 auto !important;
}

/* Support Card at bottom */
.wsc_ty_footer_card {
  margin-top: 50px !important;
  background: #fbf9f4 !important;
  border: 1.5px solid #e3dcce !important;
  border-radius: 16px !important;
  padding: 28px 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
  text-align: left !important;
}
.wsc_ty_fc_left {
  max-width: 600px !important;
}
.wsc_ty_fc_left b {
  display: block !important;
  font-size: 16px !important;
  color: #192c27 !important;
  margin-bottom: 4px !important;
}
.wsc_ty_fc_left p {
  margin: 0 !important;
  font-size: 13px !important;
  color: #5f7067 !important;
  line-height: 1.5 !important;
}
.wsc_ty_contact_btn {
  background: #ffffff !important;
  border: 1.5px solid #e3dcce !important;
  border-radius: 9px !important;
  padding: 10px 20px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #192c27 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
  white-space: nowrap !important;
}
.wsc_ty_contact_btn:hover {
  border-color: #192c27 !important;
  background: #192c27 !important;
  color: #ffffff !important;
}

@media (max-width: 767px) {
  .wsc_ty_hero {
    padding: 30px 20px 26px !important;
    border-radius: 14px !important;
  }
  .wsc_ty_h1 {
    font-size: 26px !important;
  }
  .wsc_ty_sub {
    font-size: 13.5px !important;
  }
  .wsc_ty_coupon_card {
    flex-direction: column !important;
    align-items: stretch !important;
    text-align: center !important;
    padding: 18px 16px !important;
    gap: 14px !important;
  }
  .wsc_ty_cright {
    flex-direction: column !important;
    width: 100% !important;
  }
  .wsc_ty_apply_btn, .wsc_ty_copy_btn {
    width: 100% !important;
    justify-content: center !important;
  }
  .wsc_ty_footer_card {
    padding: 20px 18px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    text-align: center !important;
  }
  .wsc_ty_contact_btn {
    text-align: center !important;
  }
}

/* ----------------- STYLIZED ON-BRAND PAGINATION ----------------- */
.woocommerce-pagination,
.ct-pagination {
  margin: 36px auto 24px !important;
  text-align: center !important;
  clear: both !important;
  width: 100% !important;
}

.woocommerce-pagination ul.page-numbers,
.ct-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 auto !important;
  flex-wrap: wrap !important;
}

.woocommerce-pagination ul.page-numbers li {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Base Pill Button */
.woocommerce-pagination a.page-numbers,
.woocommerce-pagination span.page-numbers,
.ct-pagination a.page-numbers,
.ct-pagination span.page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 14px !important;
  background: #ffffff !important;
  border: 1.5px solid var(--wsc-line, #e3dcce) !important;
  border-radius: 9px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--wsc-pine, #192c27) !important;
  text-decoration: none !important;
  box-shadow: 0 2px 4px rgba(25, 44, 39, 0.04) !important;
  transition: all 0.15s ease !important;
  line-height: normal !important;
  user-select: none !important;
  box-sizing: border-box !important;
}

/* Hover State */
.woocommerce-pagination a.page-numbers:hover,
.ct-pagination a.page-numbers:hover {
  background: #f4f6f5 !important;
  border-color: #cbd8cf !important;
  color: var(--wsc-pine, #192c27) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 10px rgba(25, 44, 39, 0.08) !important;
}

/* Active / Current Page */
.woocommerce-pagination .page-numbers.current,
.ct-pagination .page-numbers.current {
  background: var(--wsc-pine, #192c27) !important;
  border-color: var(--wsc-pine, #192c27) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  box-shadow: 0 3px 8px rgba(25, 44, 39, 0.25) !important;
  cursor: default !important;
  transform: none !important;
}

/* Prev / Next Buttons */
.woocommerce-pagination .page-numbers.prev,
.woocommerce-pagination .page-numbers.next {
  padding: 0 16px !important;
  font-weight: 700 !important;
}
.woocommerce-pagination .page-numbers.prev:hover,
.woocommerce-pagination .page-numbers.next:hover {
  border-color: var(--wsc-lemon, #62b414) !important;
  color: var(--wsc-lemon-hover, #529810) !important;
}

/* Dots (...) */
.woocommerce-pagination span.page-numbers.dots,
.ct-pagination span.page-numbers.dots {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #8c9c93 !important;
  min-width: 20px !important;
  padding: 0 6px !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  transform: none !important;
  cursor: default !important;
}

@media (max-width: 767px) {
  .woocommerce-pagination a.page-numbers,
  .woocommerce-pagination span.page-numbers {
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
    border-radius: 8px !important;
  }
}
