/* =====================================================
   HINDBIO SHOP — product cards identical to home page
   ===================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=DM+Sans:wght@300;400;500;600&display=swap');

/* ── TOKENS (same as hindbio-common.css) ── */
:root {
  --sage:        #4a7c59;
  --sage-light:  #6ba37a;
  --sage-dark:   #2e5238;
  --cream:       #f8f4ed;
  --cream-dark:  #ede8df;
  --warm-white:  #fdfaf5;
  --text-dark:   #1a2018;
  --text-soft:   #6b7a64;
  --gold:        #b89a5a;
  --gold-light:  #d4b878;
}

body.woocommerce-shop,
body.woocommerce-page {
  font-family: 'DM Sans', sans-serif;
  background: var(--warm-white);
  color: var(--text-dark);
}

/* ── ARCHIVE WRAPPER ── */
.allmart-woo-archive-main {
  background: var(--warm-white);
  padding: 50px 0;
}

/* ── GRID spacing ── */
.allmart-shop-product-grid .col {
  padding-bottom: 24px;
}
#hero{position:relative;width:100%;height:100vh;min-height:520px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--hero-bg)}
#heroCanvas{position:absolute;inset:0;width:100%;height:100%;background:var(--hero-bg)}
.hero-fade{position:absolute;bottom:0;left:0;right:0;height:150px;background:linear-gradient(transparent,var(--bg-dark));pointer-events:none;z-index:5}
.hero-content{position:relative;z-index:10;text-align:center;padding:0 20px;pointer-events:none;display:flex;flex-direction:column;align-items:center}
.h-pill{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--sage-l);border:1px solid rgba(107,163,122,.3);background:rgba(107,163,122,.07);padding:6px 16px;border-radius:30px;margin-bottom:24px;animation:up .8s .5s both}
.h-pill-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.h-h1{font-family:'Playfair Display',serif;font-size:clamp(46px,8vw,96px);font-weight:700;line-height:1.06;color:var(--fg);animation:up .9s .7s both}
.h-h1 i{display:block;font-style:italic;background:linear-gradient(120deg,var(--sage-l),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.h-brand{font-size:13px;letter-spacing:3px;text-transform:uppercase;color:rgba(201,168,92,.6);margin:10px 0 22px;animation:up .8s .85s both}
.h-sub{font-size:clamp(14px,1.5vw,17px);font-weight:300;color:var(--muted);max-width:500px;line-height:1.75;margin-bottom:36px;animation:up .8s 1s both}
.h-btns{display:flex;gap:14px;pointer-events:all;animation:up .7s 1.2s both; flex-wrap: wrap; justify-content: center;}
.btnG{background:linear-gradient(135deg,var(--sage),var(--sage-d));color:#fff;padding:13px 28px;border-radius:50px;text-decoration:none;font-size:13px;font-weight:600;box-shadow:0 0 26px rgba(74,124,89,.4);transition:all .3s}
.btnG:hover{transform:translateY(-2px);box-shadow:0 0 40px rgba(74,124,89,.55)}
.btnO{color:rgba(245,240,232,.75);border:1px solid rgba(245,240,232,.18);padding:12px 22px;border-radius:50px;text-decoration:none;font-size:13px;backdrop-filter:blur(8px);transition:all .3s}
.btnO:hover{border-color:rgba(245,240,232,.4);color:#fff}
.scroll-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:6px;animation:fadeI .8s 2s both}
.sm{width:20px;height:32px;border:1.5px solid rgba(245,240,232,.2);border-radius:10px;display:flex;align-items:flex-start;justify-content:center;padding-top:4px}
.sd{width:3px;height:6px;background:var(--sage-l);border-radius:2px;animation:sb 1.5s ease-in-out infinite}
@keyframes sb{0%,100%{transform:translateY(0);opacity:1}50%{transform:translateY(11px);opacity:.3}}
.sl{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:rgba(245,240,232,.25)}
@keyframes up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeI{from{opacity:0}to{opacity:1}}

/* ═══════════════════════════════════════════════════
   PRODUCT CARD — exact copy of home page .product-card
   ═══════════════════════════════════════════════════ */

.product-card {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  transition: all .35s;
  cursor: pointer;
  border: 1px solid rgba(74,124,89,.08);
}
.product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 56px rgba(74,124,89,.14);
}

/* image area */
.product-card .product-img-link {
  display: block;
  text-decoration: none;
}
.product-card .product-img {
  aspect-ratio: 1;
  background: linear-gradient(135deg, var(--cream) 0%, var(--cream-dark) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 60px;
  position: relative;
  overflow: hidden;
}
.product-card .product-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 60% 40%, rgba(74,124,89,.06), transparent);
}
.product-card .product-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s cubic-bezier(.16,1,.3,1);
}
.product-card:hover .product-img img {
  transform: scale(1.06);
}

/* badge */
.product-card .product-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  background: var(--sage);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
  z-index: 2;
  font-family: 'DM Sans', sans-serif;
}
.product-card .product-badge--sale {
  background: #e05a2b;
}

/* info block */
.product-card .product-info {
  padding: 20px;
}

/* product name */
.product-card .product-name {
  font-weight: 600;
  font-size: 15px;
  color: var(--text-dark);
  margin-bottom: 6px;
  display: block;
  text-decoration: none;
  font-family: 'DM Sans', sans-serif;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color .25s;
}
.product-card .product-name:hover {
  color: var(--sage);
}

/* short description */
.product-card .product-desc {
  font-size: 12px;
  color: var(--text-soft);
  line-height: 1.5;
  margin-bottom: 14px;
  font-family: 'DM Sans', sans-serif;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* footer row: price + add button */
.product-card .product-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* price — Cormorant Garamond, same as home */
.product-card .product-price {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  font-weight: 600;
  color: var(--sage-dark);
  line-height: 1.2;
}
.product-card .product-price ins {
  background: transparent;
  text-decoration: none;
}
.product-card .product-price del {
  color: var(--text-soft);
  font-size: 14px;
  font-weight: 400;
}
.product-card .product-price .woocommerce-Price-amount {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  font-weight: 600;
  color: var(--sage-dark);
}
.product-card .product-price del .woocommerce-Price-amount {
  font-size: 14px;
  font-weight: 400;
  color: var(--text-soft);
}

/* add-to-cart circle button — exact match to home .product-add */
.product-card .product-add {
  width: 36px;
  height: 36px;
  background: var(--sage);
  color: #fff;
  border: none;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
  transition: all .25s;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  line-height: 1;
  flex-shrink: 0;
  min-height: auto;
  padding: 0;
}
.product-card .product-add:hover {
  background: var(--sage-dark);
  transform: scale(1.1) rotate(90deg);
  color: #fff;
}
.product-card .product-add--view {
  font-size: 16px;
}

/* actions row (wishlist/compare/quickview) */
.product-card .product-actions {
  display: flex;
  gap: 8px;
  justify-content: center;
  padding-top: 12px;
}
.product-card .product-actions a {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(74,124,89,.07);
  border: 1px solid rgba(74,124,89,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--sage-dark);
  font-size: 13px;
  transition: all .25s;
  text-decoration: none;
  min-height: auto;
  padding: 0;
}
.product-card .product-actions a:hover {
  background: var(--sage);
  border-color: var(--sage);
  color: #fff;
  transform: translateY(-2px);
}

/* ── FILTER BAR ── */
.allmart-product-filter .woocommerce-ordering select {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: var(--text-dark);
  border: 1.5px solid rgba(74,124,89,.2);
  border-radius: 10px;
  padding: 8px 14px;
  background: #fff;
  outline: none;
  transition: border-color .25s;
}
.allmart-product-filter .woocommerce-ordering select:focus {
  border-color: var(--sage);
}
.woocommerce-result-count {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: var(--text-soft);
}

/* ── PAGINATION ── */
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  font-family: 'DM Sans', sans-serif;
  border-radius: 10px;
  transition: all .25s;
}
.woocommerce-pagination ul li a:hover,
.woocommerce-pagination ul li span.current {
  color: var(--sage);
  background: rgba(74,124,89,.08);
  opacity: 1;
}

/* ── NOTICES ── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  font-family: 'DM Sans', sans-serif;
  border-radius: 12px;
  font-size: 14px;
  background: rgba(74,124,89,.06);
  color: var(--sage-dark);
  border-left: 3px solid var(--sage);
}
.woocommerce-message a {
  background: var(--sage);
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
}

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
  .product-card .product-info { padding: 14px; }
  .product-card .product-name { font-size: 14px; }
  .product-card .product-price,
  .product-card .product-price .woocommerce-Price-amount { font-size: 18px; }
}

/* ═══════════════════════════════════════════════════
   SIDEBAR — matches hindbio design system
   ═══════════════════════════════════════════════════ */

/* sidebar wrapper */
.allmart-product-archive-sidebar .widget {
  background: #fff;
  border: 1px solid rgba(74,124,89,.1);
  border-radius: 18px;
  padding: 24px;
  margin-bottom: 20px;
}

/* widget title — matches .stag from hindbio-common */
.allmart-product-archive-sidebar .widget h2.widget-title,
.allmart-product-archive-sidebar .widgettitle,
.allmart-product-archive-sidebar .widget_title {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--sage) !important;
  margin-bottom: 18px !important;
  padding-bottom: 12px !important;
  border-bottom: 1.5px solid rgba(74,124,89,.12) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  position: relative !important;
}
.allmart-product-archive-sidebar .widget h2.widget-title::before,
.allmart-product-archive-sidebar .widgettitle::before {
  content: '' !important;
  width: 22px !important;
  height: 1.5px !important;
  background: var(--sage) !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
  /* remove the default bottom-border pseudo from theme-default */
  bottom: auto !important;
  position: static !important;
}

/* ── SEARCH WIDGET ── */
.allmart-product-archive-sidebar .widget_product_search .search-form,
.allmart-product-archive-sidebar .woocommerce-product-search {
  display: flex;
  gap: 8px;
}
.allmart-product-archive-sidebar .widget_product_search input[type="search"],
.allmart-product-archive-sidebar .woocommerce-product-search input[type="search"] {
  flex: 1;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  padding: 10px 14px !important;
  border: 1.5px solid rgba(74,124,89,.2) !important;
  border-radius: 10px !important;
  background: var(--warm-white) !important;
  color: var(--text-dark) !important;
  outline: none !important;
  min-height: auto !important;
  margin-bottom: 0 !important;
  transition: border-color .25s !important;
}
.allmart-product-archive-sidebar .widget_product_search input[type="search"]:focus,
.allmart-product-archive-sidebar .woocommerce-product-search input[type="search"]:focus {
  border-color: var(--sage) !important;
  box-shadow: 0 0 0 3px rgba(74,124,89,.08) !important;
}
.allmart-product-archive-sidebar .widget_product_search input[type="submit"],
.allmart-product-archive-sidebar .woocommerce-product-search button[type="submit"] {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  background: var(--sage) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 10px 16px !important;
  min-height: auto !important;
  cursor: pointer !important;
  transition: background .25s !important;
  white-space: nowrap !important;
}
.allmart-product-archive-sidebar .widget_product_search input[type="submit"]:hover,
.allmart-product-archive-sidebar .woocommerce-product-search button[type="submit"]:hover {
  background: var(--sage-dark) !important;
}

/* ── CATEGORY LIST ── */
.allmart-product-archive-sidebar .widget_product_categories ul,
.allmart-product-archive-sidebar .widget_categories ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.allmart-product-archive-sidebar .widget_product_categories ul li,
.allmart-product-archive-sidebar .widget_categories ul li {
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(74,124,89,.07) !important;
  font-size: 13px !important;
}
.allmart-product-archive-sidebar .widget_product_categories ul li:last-child,
.allmart-product-archive-sidebar .widget_categories ul li:last-child {
  border-bottom: none !important;
}
.allmart-product-archive-sidebar .widget_product_categories ul li a,
.allmart-product-archive-sidebar .widget_categories ul li a {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--text-mid) !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 9px 4px !important;
  transition: color .2s, padding-left .2s !important;
  position: relative !important;
}
/* remove default ::before arrow from theme-default */
.allmart-product-archive-sidebar .widget_product_categories ul li a::before,
.allmart-product-archive-sidebar .widget_categories ul li a::before {
  display: none !important;
}
/* custom sage dot indicator */
.allmart-product-archive-sidebar .widget_product_categories ul li a::after,
.allmart-product-archive-sidebar .widget_categories ul li a::after {
  content: '›' !important;
  font-size: 16px !important;
  color: rgba(74,124,89,.3) !important;
  transition: color .2s, transform .2s !important;
  font-family: sans-serif !important;
}
.allmart-product-archive-sidebar .widget_product_categories ul li a:hover,
.allmart-product-archive-sidebar .widget_categories ul li a:hover,
.allmart-product-archive-sidebar .widget_product_categories ul li.current-cat > a,
.allmart-product-archive-sidebar .widget_categories ul li.current-cat > a {
  color: var(--sage) !important;
  padding-left: 6px !important;
}
.allmart-product-archive-sidebar .widget_product_categories ul li a:hover::after,
.allmart-product-archive-sidebar .widget_categories ul li a:hover::after,
.allmart-product-archive-sidebar .widget_product_categories ul li.current-cat > a::after,
.allmart-product-archive-sidebar .widget_categories ul li.current-cat > a::after {
  color: var(--sage) !important;
  transform: translateX(3px) !important;
}
/* active category highlight */
.allmart-product-archive-sidebar .widget_product_categories ul li.current-cat > a {
  font-weight: 600 !important;
}
/* count badge */
.allmart-product-archive-sidebar .widget_product_categories ul li .count,
.allmart-product-archive-sidebar .widget_categories ul li .count {
  font-size: 10px !important;
  background: rgba(74,124,89,.08) !important;
  color: var(--sage) !important;
  border-radius: 20px !important;
  padding: 2px 7px !important;
  font-weight: 600 !important;
  margin-left: 6px !important;
}
/* sub-category indent */
.allmart-product-archive-sidebar .widget_product_categories ul ul,
.allmart-product-archive-sidebar .widget_categories ul ul {
  padding-left: 12px !important;
  border-left: 1.5px solid rgba(74,124,89,.12) !important;
  margin: 4px 0 4px 8px !important;
}

/* ── PRICE FILTER ── */
.allmart-product-archive-sidebar .widget_price_filter .price_slider_wrapper {
  padding-top: 8px;
}
.allmart-product-archive-sidebar .widget_price_filter .ui-slider {
  background: rgba(74,124,89,.12) !important;
  border-radius: 4px !important;
  height: 4px !important;
}
.allmart-product-archive-sidebar .widget_price_filter .ui-slider .ui-slider-range {
  background: var(--sage) !important;
  border-radius: 4px !important;
}
.allmart-product-archive-sidebar .widget_price_filter .ui-slider .ui-slider-handle {
  background: #fff !important;
  border: 2px solid var(--sage) !important;
  border-radius: 50% !important;
  width: 16px !important;
  height: 16px !important;
  top: -6px !important;
  outline: none !important;
  box-shadow: 0 2px 8px rgba(74,124,89,.25) !important;
}
.allmart-product-archive-sidebar .widget_price_filter .price_slider_amount {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
}
.allmart-product-archive-sidebar .widget_price_filter .price_slider_amount .price_label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  color: var(--text-mid) !important;
}
.allmart-product-archive-sidebar .widget_price_filter .price_slider_amount button {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  background: var(--sage) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 7px 16px !important;
  min-height: auto !important;
  cursor: pointer !important;
  transition: background .25s !important;
}
.allmart-product-archive-sidebar .widget_price_filter .price_slider_amount button:hover {
  background: var(--sage-dark) !important;
}

/* ── FILTER TITLE (allmart custom sidebar) ── */
.allmart-product-archive-sidebar .filter-title,
#allmartCatCanvas .filter-title {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--sage) !important;
  margin-bottom: 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.allmart-product-archive-sidebar .filter-title::before,
#allmartCatCanvas .filter-title::before {
  content: '' !important;
  width: 22px !important;
  height: 1.5px !important;
  background: var(--sage) !important;
  display: inline-block !important;
}
