/* =========================================================
   The Hemp Doctor — Shop / category pages + product cards
   (THDRetail-Child, inc/woocommerce/hd-shop.php)

   Loaded on every front-end page (cards appear in carousels and
   related-product rows too). Everything is scoped to .hd-card,
   .hd-shop, .hd-shop-hero, .hd-effects, .hd-thc or .hd-stars.
   Design tokens (Figma, Oct 2026) are the --hd-* variables below.
   ========================================================= */

:root {
  --hd-blue-stone:   #025960; /* primary: headings, links, icons */
  --hd-firefly:      #113D3C; /* dark text, dark buttons */
  --hd-california:   #FC9E01; /* CTA orange: Add to cart, stars */
  --hd-golden:       #FFC55B; /* light orange borders / highlights */
  --hd-jet-stream:   #BED5CF; /* mint */
  --hd-nebula:       #D4E0DE; /* card + divider borders */
  --hd-beige:        #F6F9EA; /* light section background */
  --hd-old-lace:     #FDF4E5; /* warm section background */
  --hd-pearl-bush:   #E9E4D8;
  --hd-highland:     #728D6A; /* green accent (THC "Zero") */
  --hd-sirocco:      #6B7F7E; /* muted text */
  --hd-limed-spruce: #3A4F4E;
  --hd-ink:          #1A2E2E;
  --hd-text:         #2C2C2C;
  --hd-gray:         #8A8A8A;
  --hd-boulder:      #777777;
  --hd-line-soft:    #ECE3D2;
  --hd-border-soft:  #CBD5E0;
  --hd-sezzle:       #392558;

  --hd-font-display: "DM Serif Display", "Playfair Display", Georgia, "Times New Roman", serif;
  --hd-font-script:  "Corinthia", "Snell Roundhand", "Apple Chancery", cursive;
  --hd-font-body:    "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;

  --hd-shadow-card:  0 2px 13px rgba(0, 0, 0, .10);
  --hd-shadow-soft:  0 4px 18px rgba(17, 61, 60, .08);
  --hd-radius-card:  14px;
  --hd-radius-pill:  100px;

  /* One button height for every primary button on the site (cards, product
     page, cart, drawer) — the Figma "Add to cart" height. */
  --hd-btn-h:        40px;
  --hd-btn-h-sm:     40px;
}

/* Responsive text helpers (desktop / phone copies of the same string). */
.hd-mobile { display: none; }
@media (max-width: 767px) {
  .hd-desktop { display: none; }
  .hd-mobile  { display: inline; }
}

/* ---------- Shared bits ---------- */
.hd-card, .hd-card *, .hd-card *::before, .hd-card *::after,
.hd-shop-hero, .hd-shop-hero *, .hd-effects, .hd-effects *, .hd-trust-cards, .hd-trust-cards * { box-sizing: border-box; }
.hd-rule { display: block; width: 460px; max-width: 70%; height: 3px; margin: 18px auto 0; background: var(--hd-california); border-radius: 2px; }
.hd-icon { display: inline-block; width: 1em; height: 1em; vertical-align: -.15em; flex: none; }

/* Yotpo star rating (rendered by Yotpo) + native fallback */
.hd-stars { display: flex; align-items: center; gap: 6px; min-height: 18px; font-family: var(--hd-font-body); font-size: 12px; line-height: 1.3; color: var(--hd-text); }
.hd-stars:empty { display: none; }
.hd-stars .yotpo-reviews-star-ratings-widget, .hd-stars .yotpo-widget-override-css { font-family: var(--hd-font-body) !important; }
.hd-stars .yotpo-sr-bottom-line-summary, .hd-stars .yotpo-bottom-line-score, .hd-stars .yotpo-sr-bottom-line-text { font-family: var(--hd-font-body) !important; font-size: 12px !important; color: var(--hd-text) !important; }
.hd-stars .yotpo-sr-bottom-line-text { font-weight: 700 !important; }
.hd-stars .yotpo-sr-bottom-line-text-count, .hd-stars .yotpo-sr-bottom-line-text + span { font-weight: 400 !important; color: var(--hd-sirocco) !important; }
.hd-stars .yotpo-star-rating svg, .hd-stars .star-container svg { width: 14px !important; height: 14px !important; }
.hd-stars__icons { display: inline-flex; gap: 2px; }
.hd-star { display: inline-block; width: 13px; height: 13px; background: var(--hd-line-soft); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.5 2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4l-5.9 3.1 1.2-6.5L2.5 9.4l6.6-.9z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.5 2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4l-5.9 3.1 1.2-6.5L2.5 9.4l6.6-.9z'/%3E%3C/svg%3E") center / contain no-repeat; }
.hd-star.is-on { background: var(--hd-california); }
.hd-stars__score { font-weight: 700; }
.hd-stars__count { color: var(--hd-sirocco); }

/* THC level meter */
.hd-thc { display: flex; align-items: center; gap: 10px; font-family: var(--hd-font-body); }
.hd-thc__label { flex: 1 1 auto; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--hd-sirocco); }
.hd-thc__meter { display: inline-flex; gap: 3px; }
.hd-thc__seg { display: block; width: 18px; height: 6px; border-radius: 3px; background: var(--hd-line-soft); }
.hd-thc__seg.is-on { background: var(--hd-california); }
.hd-thc__value { min-width: 2.5em; text-align: right; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; color: var(--hd-blue-stone); }
.hd-thc--zero .hd-thc__value { color: var(--hd-highland); }
.hd-sezzle { font-weight: 700; color: var(--hd-sezzle); }

/* =========================================================
   1. Product card (woocommerce/content-product.php)
   ========================================================= */
.woocommerce ul.products li.product.hd-card,
.woocommerce-page ul.products li.product.hd-card,
ul.products li.product.hd-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  padding: 0 !important;
  background: #fff;
  border: 1px solid var(--hd-nebula) !important;
  border-radius: var(--hd-radius-card) !important;
  box-shadow: none !important;
  overflow: hidden;
  text-align: center;
  font-family: var(--hd-font-body);
  color: var(--hd-text);
  transition: box-shadow .2s ease, transform .2s ease;
}
.woocommerce ul.products li.product.hd-card:hover { box-shadow: var(--hd-shadow-soft) !important; }
.woocommerce ul.products li.product.hd-card > * { width: 100%; }

/* Plugins that inject themselves into the card: the Sezzle widget (the card prints
   its own Sezzle line) and Yotpo's "Write a review" link for products without reviews */
.hd-card .sezzle-shopify-info-button, .hd-card .sezzle-checkout-button-wrapper, .hd-card [class*="sezzlewidgetindex"] { display: none !important; }
.hd-card .hd-stars .yotpo-sr-vertical-border, .hd-card .hd-stars .yotpo-sr-bottom-line-new-review, .hd-card .hd-stars .yotpo-new-review-btn-wrapper { display: none !important; }

/* Image tile.
   The tile is sized by its aspect ratio alone: the image is absolutely
   positioned inside it, so a square product image can never stretch a
   landscape tile (the compact cards) and the tile never jumps while the
   image loads. --hd-tile-pad = the inset of the image inside the tile. */
.hd-card .hd-card__media { position: relative; display: block; background: #fff; overflow: hidden; } /* product images sit on white */
.hd-card .hd-card__img { --hd-tile-pad: 22px; position: relative; display: block; width: 100%; aspect-ratio: 1 / 1; min-height: 0; padding: 0; overflow: hidden; }
.hd-card .hd-card__img img,
.hd-card .hd-card__img > img.attachment-woocommerce_thumbnail,
.hd-card .hd-card__img > img.wp-post-image { position: absolute; top: var(--hd-tile-pad); left: var(--hd-tile-pad); display: block; width: calc(100% - 2 * var(--hd-tile-pad)) !important; height: calc(100% - 2 * var(--hd-tile-pad)) !important; max-width: none; margin: 0; object-fit: contain; transition: transform .6s cubic-bezier(.2, .7, .3, 1), opacity .35s ease; }
.hd-card:hover .hd-card__img img { transform: scale(1.05); }
/* Second gallery image: fades in over the first one on hover (content-product.php
   prints it only when the product has a gallery). */
.hd-card .hd-card__img .hd-card__img--hover { z-index: 1; opacity: 0; }
.hd-card:hover .hd-card__img .hd-card__img--hover,
.hd-card:focus-within .hd-card__img .hd-card__img--hover { opacity: 1; }
.hd-card:hover .hd-card__img .hd-card__img--main.has-hover,
.hd-card:focus-within .hd-card__img .hd-card__img--main.has-hover { opacity: 0; }
.hd-card .hd-card__media .onsale, .hd-card .hd-card__media .kpb-badges { display: none !important; } /* the design has one badge: ours */
.hd-card .hd-card__badge { position: absolute; top: 12px; left: 12px; z-index: 2; display: inline-block; padding: 5px 12px; border-radius: var(--hd-radius-pill); background: var(--hd-california); color: #fff; font-family: var(--hd-font-body); font-size: 11px; font-weight: 700; letter-spacing: .06em; line-height: 1.3; text-transform: uppercase; }
.hd-card .hd-card__badge--new { background: var(--hd-blue-stone); }
.hd-card .hd-card__badge--coming { background: var(--hd-golden); color: var(--hd-firefly); }
.hd-card .hd-card__badge--sale { background: #E4572E; }
.hd-card .hd-card__badge--soldout { background: var(--hd-sirocco); }
/* Sold-out cards (the Liquidation / Hidden Deal grids): dimmed image */
.hd-card.hd-card--soldout .hd-card__img img { opacity: .45; }
.hd-card.hd-card--soldout:hover .hd-card__img img { transform: none; }

/* Body */
.hd-card .hd-card__body { display: flex; flex: 1 1 auto; flex-direction: column; align-items: stretch; gap: 0; padding: 18px 20px 20px; min-width: 0; }
.hd-card .hd-card__rating { display: flex; justify-content: flex-start; margin: 0 0 8px; }
.hd-card .hd-card__rating .hd-stars { justify-content: flex-start; }
.hd-card .hd-card__meta { margin: 0 0 8px; font-size: 11px; font-weight: 700; letter-spacing: .08em; line-height: 1.4; text-align: left; text-transform: uppercase; color: var(--hd-highland); }
.hd-card .hd-card__meta .hd-card__dot, .hd-card .hd-card__meta .hd-card__sep { color: var(--hd-highland); opacity: .8; }

.woocommerce ul.products li.product.hd-card .hd-card__title,
.woocommerce ul.products li.product.hd-card h2.woocommerce-loop-product__title {
  margin: 0 0 12px !important;
  padding: 0 !important;
  font-family: var(--hd-font-body) !important;
  font-size: 21px !important;
  font-weight: 600 !important; /* product names are 600 everywhere */
  line-height: 1.25 !important;
  letter-spacing: .02em;
  text-align: center !important;
  text-transform: uppercase;
  color: var(--hd-blue-stone) !important;
}
.hd-card .hd-card__title a { color: inherit !important; text-decoration: none !important; }
.hd-card .hd-card__title a:hover { color: var(--hd-firefly) !important; }

.hd-card .hd-card__row { padding: 10px 0; border-top: 1px solid var(--hd-nebula); }
.hd-card .hd-card__row--coa { border-bottom: 1px solid var(--hd-nebula); }
.hd-card .hd-card__row--thc + .hd-card__row--coa { border-top: 1px solid var(--hd-nebula); }
.hd-card .hd-card__coa { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; line-height: 1.3; color: var(--hd-blue-stone); text-decoration: none; }
.hd-card .hd-card__coa:hover span { text-decoration: underline; text-underline-offset: 3px; }
.hd-card .hd-card__coa-icon { width: 18px; height: 18px; color: var(--hd-blue-stone); }
.hd-card .hd-card__coa-ext { width: 14px; height: 14px; margin-left: auto; color: var(--hd-california); }

/* Price: Montserrat (every price on the site is Montserrat; the serif is for titles and buttons) */
.woocommerce ul.products li.product.hd-card .hd-card__price,
.woocommerce ul.products li.product.hd-card .price {
  display: block;
  margin: 16px 0 0 !important;
  font-family: var(--hd-font-body) !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -.01em;
  text-align: center !important;
  color: var(--hd-blue-stone) !important;
}
.hd-card .hd-card__price .amount { font-family: inherit; font-size: inherit; font-weight: inherit; color: inherit; }
.hd-card .hd-card__price del { font-size: .62em; font-weight: 500; color: var(--hd-gray); opacity: 1; text-decoration: line-through; margin-right: .3em; }
.hd-card .hd-card__price ins { text-decoration: none; }
.hd-card .hd-card__price .screen-reader-text { display: none; }
.hd-card .hd-card__sub { margin: 14px 0 0; font-size: 15px; font-weight: 400; line-height: 1.5; color: var(--hd-text); }
.hd-card .hd-card__sub .amount { font-weight: 600; color: var(--hd-text); }

/* Button */
.hd-card .hd-card__actions,
.woocommerce ul.products li.product.hd-card .hd-card__actions.product-action-wrap,
.woocommerce ul.products li.product .hd-card__actions.product-action-wrap { display: block; width: 100% !important; margin: auto 0 0 !important; padding: 24px 0 0 !important; }
.hd-card .hd-card__actions .added_to_cart { display: block; margin-top: 8px; font-size: 13px; }
.woocommerce ul.products li.product.hd-card .hd-card__actions .button,
.woocommerce ul.products li.product.hd-card .hd-card__actions a.button,
.woocommerce ul.products li.product.hd-card .hd-card__actions .add_to_cart_button,
.woocommerce ul.products.woo-archive-btn-button li.product.hd-card .hd-card__actions .button:not(.kb-button),
.single-product .woocommerce ul.products li.product.hd-card .hd-card__actions .add_to_cart_button,
.hd-card .hd-card__btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: var(--hd-btn-h, 40px) !important;
  min-height: 0;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: var(--hd-radius-pill) !important;
  background: var(--hd-california) !important;
  color: #fff !important;
  font-family: var(--hd-font-display) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0;
  text-transform: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
}
.woocommerce ul.products li.product.hd-card .hd-card__actions .button:hover,
.hd-card .hd-card__btn:hover { background: #E68E00 !important; color: #fff !important; transform: translateY(-1px); }
.woocommerce ul.products li.product.hd-card .hd-card__actions .button.loading { opacity: .7; }
.hd-card .hd-card__actions .button .kadence-svg-iconset { display: none; }
.hd-card .hd-card__actions .button.loading .kadence-svg-iconset:first-of-type,
.hd-card .hd-card__actions .button.added .kadence-svg-iconset:last-of-type { display: inline-flex; margin-left: 6px; }

/* Compact variant ("You Might Also Like"): an inset landscape tile (2:1, as in
   the design) with the product image contained inside it. White tile with a
   hairline border (product images sit on white everywhere). */
.hd-card.hd-card--compact .hd-card__media { width: auto !important; margin: 16px 16px 0; border: 1px solid var(--hd-nebula); border-radius: 10px; background: #fff; }
.hd-card.hd-card--compact .hd-card__img { --hd-tile-pad: 10px; aspect-ratio: 2 / 1; }
.hd-card.hd-card--compact .hd-card__body { padding: 16px 16px 20px; }
.woocommerce ul.products li.product.hd-card--compact .hd-card__title,
.woocommerce ul.products li.product.hd-card--compact h2.hd-card__title,
.woocommerce ul.products li.product.hd-card--compact h2.woocommerce-loop-product__title { font-size: 13px !important; line-height: 1.35 !important; margin-bottom: 14px !important; }
.hd-card.hd-card--compact .hd-card__actions,
.woocommerce ul.products li.product.hd-card--compact .hd-card__actions.product-action-wrap { display: flex !important; justify-content: center; padding-top: 0 !important; }
.woocommerce ul.products li.product.hd-card--compact .hd-card__actions .hd-card__btn--view,
.woocommerce ul.products li.product.hd-card--compact .hd-card__actions .button.hd-card__btn--view,
.woocommerce ul.products.woo-archive-btn-button li.product.hd-card--compact .hd-card__actions .button.hd-card__btn--view:not(.kb-button),
.single-product .woocommerce ul.products li.product.hd-card--compact .hd-card__actions .button.hd-card__btn--view,
.hd-card.hd-card--compact .hd-card__btn--view { width: auto !important; min-width: 140px; height: 32px !important; font-size: 14px !important; }

/* Promo tile */
.woocommerce ul.products li.product.hd-card--promo { border: 0 !important; background: var(--hd-firefly); }
.hd-promo { position: relative; display: flex; flex-direction: column; justify-content: flex-start; height: 100%; min-height: 420px; padding: 56px 24px 24px; background: var(--hd-firefly) center / cover no-repeat; color: #fff; text-decoration: none; }
.hd-promo__body { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.hd-promo__title { font-family: var(--hd-font-body); font-size: 22px; font-weight: 600; line-height: 1.3; text-align: center; color: #fff; text-shadow: 0 2px 8px rgba(0, 0, 0, .35); }
.hd-promo__btn { width: 100% !important; }

/* Grid spacing on archives (Kadence sets the column counts) */
.hd-shop ul.products.grid-cols { gap: 20px; margin-top: 8px; }
.hd-shop .kadence-shop-top-row { margin: 6px 0 18px; padding: 0; }
.hd-shop .kadence-shop-top-row .woocommerce-result-count { font-family: var(--hd-font-body); font-size: 13px; color: var(--hd-sirocco); }
.hd-shop .kadence-shop-top-row .woocommerce-ordering select { border: 1px solid var(--hd-nebula); border-radius: 8px; font-family: var(--hd-font-body); font-size: 13px; color: var(--hd-firefly); background-color: #fff; }
.hd-shop .kadence-shop-top-row .filter-toggle-open { border-radius: var(--hd-radius-pill); border-color: var(--hd-nebula); font-family: var(--hd-font-body); color: var(--hd-firefly); }
.hd-shop .woocommerce-pagination { margin-top: 32px; }
.hd-shop .woocommerce-pagination ul.page-numbers li a, .hd-shop .woocommerce-pagination ul.page-numbers li span { border-radius: 50%; font-family: var(--hd-font-body); }
.hd-shop .woocommerce-pagination ul.page-numbers li span.current { border-color: var(--hd-blue-stone); background: var(--hd-blue-stone); color: #fff; }
/* Effects / attribute pages: the designed term content prints below the grid (hd_shop_term_content_after_loop) */
.hd-term-content { margin: 48px 0 0; }

/* Product blocks (Product Collection / Product Query / "Products by …") re-rendered
   with the card (hd_shop_render_block_cards). The grid is ours, so it does not
   depend on the Kadence archive CSS being loaded on a block-built page. */
.hd-block-products { margin: 0; }
.hd-block-products ul.products.hd-block-products__grid,
.woocommerce .hd-block-products ul.products.hd-block-products__grid,
.woocommerce-page .hd-block-products ul.products.hd-block-products__grid {
  display: grid !important;
  grid-template-columns: repeat(var(--hd-cols, 4), minmax(0, 1fr));
  gap: 20px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}
.hd-block-products ul.products.hd-block-products__grid::before,
.hd-block-products ul.products.hd-block-products__grid::after { display: none; content: none; }
.hd-block-products ul.products li.product.hd-card,
.woocommerce .hd-block-products ul.products li.product.hd-card { float: none !important; width: auto !important; margin: 0 !important; }
.wc-block-grid .hd-block-products { width: 100%; }
/* Cards in a horizontal scroll-snap row (hd_cards_html( …, 'layout' => 'track' ):
   the carousels of THD Page Manager). 4 per view, 3 on tablets, 2 on phones;
   the carousel script of the caller scrolls it. */
.hd-block-products ul.products.hd-cards--track,
.woocommerce .hd-block-products ul.products.hd-cards--track,
.woocommerce-page .hd-block-products ul.products.hd-cards--track {
  display: flex !important;
  gap: 22px;
  margin: 0 !important;
  padding: 6px 0 22px !important;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.hd-block-products ul.products.hd-cards--track::-webkit-scrollbar { display: none; }
.hd-block-products ul.products.hd-cards--track::before,
.hd-block-products ul.products.hd-cards--track::after { display: none; content: none; }
.hd-block-products ul.products.hd-cards--track > li.product.hd-card,
.woocommerce .hd-block-products ul.products.hd-cards--track > li.product.hd-card { flex: 0 0 calc((100% - 66px) / 4); height: auto !important; min-width: 0; scroll-snap-align: start; } /* height:auto — the card's height:100% would stop the row from stretching */
@media (prefers-reduced-motion: reduce) {
  .hd-block-products ul.products.hd-cards--track { scroll-behavior: auto; }
}

/* =========================================================
   2. Page top (title block + trust cards)
   ========================================================= */
.hd-shop--no-kadence-title .product-archive-hero-section,
.hd-shop--no-kadence-title .entry-hero.product-archive-hero-section,
.hd-shop--no-kadence-title .woocommerce-products-header .page-title,
.hd-shop--no-kadence-title .woocommerce-products-header > .page-description:empty { display: none !important; }
.hd-shop .woocommerce-products-header, .hd-shop--hero .woocommerce-products-header { margin: 0; } /* .hd-shop--hero alone: the title block with the cards off (v1.6.21) */
.hd-shop--hero .woocommerce-products-header > .page-description,
.hd-shop--hero .woocommerce-products-header > .term-description { display: none !important; } /* the old "Shop Cannabinoids" block / plain description: the title block replaces them */

.hd-shop-hero { font-family: var(--hd-font-body); color: var(--hd-text); margin: 12px 0 36px; }
.hd-shop-hero__inner { max-width: 820px; margin: 0 auto; text-align: center; }
.hd-shop-hero__script { margin: 0; font-family: var(--hd-font-script); font-size: 42px; font-weight: 700; line-height: 1.1; color: var(--hd-blue-stone); }
.hd-shop-hero__title { margin: 2px 0 0 !important; padding: 0; font-family: var(--hd-font-display) !important; font-size: 48px !important; font-weight: 400 !important; line-height: 1.1 !important; letter-spacing: -.01em; text-transform: none; color: var(--hd-blue-stone) !important; }
.hd-shop-hero__lede { margin: 20px auto 0; font-size: 17px; line-height: 1.6; color: var(--hd-text); }
.hd-shop-hero__lede--mobile { display: none; }

.hd-trust-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 40px 0 0; padding: 0; list-style: none; }
.hd-trust-card { display: flex; flex-direction: column; align-items: center; margin: 0; padding: 28px 22px 26px; background: var(--hd-beige); border-top: 3px solid var(--hd-blue-stone); border-radius: 17px; text-align: center; }
.hd-trust-card__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: #fff; color: var(--hd-blue-stone); box-shadow: var(--hd-shadow-soft); }
.hd-trust-card__icon .hd-icon { width: 22px; height: 22px; }
.hd-trust-card__title { margin: 16px 0 0; font-family: var(--hd-font-display); font-size: 21px; font-weight: 400; line-height: 1.25; color: var(--hd-blue-stone); }
.hd-trust-card__text { margin: 8px 0 0; font-size: 14px; line-height: 1.45; color: var(--hd-limed-spruce); }

/* =========================================================
   3. Effects filter pills
   ========================================================= */
.hd-effects { margin: 0 0 22px; }
.hd-effects__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin: 0; padding: 0; list-style: none; }
.hd-effects__item { margin: 0; }
.hd-effects__pill { display: inline-flex; align-items: center; gap: 10px; height: 42px; padding: 0 22px 0 18px; border: 1.5px solid var(--hd-blue-stone); border-radius: var(--hd-radius-pill); background: #fff; color: var(--hd-blue-stone); font-family: var(--hd-font-display); font-size: 18px; font-weight: 400; line-height: 1; text-decoration: none; white-space: nowrap; transition: background .15s, color .15s, box-shadow .15s; }
.hd-effects__pill .hd-icon { width: 18px; height: 18px; }
.hd-effects__pill:hover { background: var(--hd-beige); color: var(--hd-blue-stone); box-shadow: var(--hd-shadow-soft); }
.hd-effects__pill.is-active { background: var(--hd-blue-stone); border-color: var(--hd-blue-stone); color: #fff; font-family: var(--hd-font-body); font-size: 16px; font-weight: 600; }
.hd-effects__pill:focus-visible { outline: 2px solid var(--hd-california); outline-offset: 2px; }

/* =========================================================
   4. Responsive
   ========================================================= */
@media (max-width: 1024px) {
  .hd-trust-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce ul.products li.product.hd-card .hd-card__price { font-size: 28px !important; }
  .hd-block-products ul.products.hd-block-products__grid,
  .woocommerce .hd-block-products ul.products.hd-block-products__grid,
  .hd-block-products ul.products.hd-block-products__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .hd-block-products ul.products.hd-cards--track { gap: 16px; }
  .hd-block-products ul.products.hd-cards--track > li.product.hd-card,
  .woocommerce .hd-block-products ul.products.hd-cards--track > li.product.hd-card { flex-basis: calc((100% - 32px) / 3); }
}

@media (max-width: 767px) {
  .hd-shop-hero { margin-bottom: 26px; }
  .hd-shop-hero__script { font-size: 36px; }
  .hd-shop-hero__title { font-size: 36px !important; }
  .hd-shop-hero__lede { font-size: 15px; line-height: 1.55; }
  .hd-shop-hero__lede--desktop { display: none; }
  .hd-shop-hero__lede--mobile { display: block; }
  .hd-trust-cards { gap: 14px; margin-top: 26px; }
  .hd-trust-card { padding: 22px 14px 20px; border-radius: 14px; }
  .hd-trust-card__icon { width: 42px; height: 42px; }
  .hd-trust-card__title { font-size: 17px; margin-top: 12px; }
  .hd-trust-card__text { font-size: 13px; }

  .hd-effects { margin: 0 -16px 16px; }
  .hd-effects__list { flex-wrap: nowrap; justify-content: flex-start; gap: 10px; padding: 4px 16px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .hd-effects__list::-webkit-scrollbar { display: none; }
  .hd-effects__pill { height: 38px; padding: 0 18px 0 14px; font-size: 16px; }
  .hd-effects__pill.is-active { font-size: 14px; }

  .hd-shop ul.products.grid-cols { gap: 14px; }
  .hd-block-products ul.products.hd-block-products__grid,
  .woocommerce .hd-block-products ul.products.hd-block-products__grid,
  .hd-block-products ul.products.hd-block-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .hd-block-products ul.products.hd-cards--track { gap: 12px; padding-bottom: 16px !important; }
  .hd-block-products ul.products.hd-cards--track > li.product.hd-card,
  .woocommerce .hd-block-products ul.products.hd-cards--track > li.product.hd-card { flex-basis: calc((100% - 12px) / 2); scroll-snap-stop: always; }
  .hd-card .hd-card__img { --hd-tile-pad: 14px; }
  .hd-card.hd-card--compact .hd-card__media { margin: 12px 12px 0; }
  .hd-card.hd-card--compact .hd-card__img { --hd-tile-pad: 8px; }
  .hd-card .hd-card__badge { top: 10px; left: 10px; padding: 4px 10px; font-size: 10px; }
  .hd-card .hd-card__body { padding: 12px 12px 14px; }
  .hd-card .hd-card__rating { margin-bottom: 6px; }
  .hd-card .hd-card__meta { font-size: 9.5px; letter-spacing: .06em; margin-bottom: 6px; }
  .woocommerce ul.products li.product.hd-card .hd-card__title { font-size: 15px !important; margin-bottom: 8px !important; }
  .hd-card .hd-card__row { padding: 8px 0; }
  .hd-card .hd-card__row--coa { display: none; }              /* phones: no COA row, as designed */
  .hd-card .hd-card__row--thc { border-bottom: 1px solid var(--hd-nebula); }
  .hd-thc { gap: 6px; }
  .hd-thc__label, .hd-thc__value { font-size: 9px; letter-spacing: .04em; }
  .hd-thc__value { min-width: 0; }
  .hd-thc__seg { width: 11px; height: 5px; }
  .woocommerce ul.products li.product.hd-card--compact .hd-card__title,
  .woocommerce ul.products li.product.hd-card--compact h2.hd-card__title,
  .woocommerce ul.products li.product.hd-card--compact h2.woocommerce-loop-product__title { font-size: 12px !important; }
  .woocommerce ul.products li.product.hd-card .hd-card__price { font-size: 21px !important; margin-top: 12px !important; }
  .hd-card .hd-card__sub { font-size: 12px; margin-top: 10px; }
  .hd-card .hd-card__actions { padding-top: 16px !important; }
  .woocommerce ul.products li.product.hd-card .hd-card__actions .button, .hd-card .hd-card__btn { height: var(--hd-btn-h-sm, 40px) !important; font-size: 16px !important; }
  .woocommerce ul.products li.product.hd-card--compact .hd-card__actions .button.hd-card__btn--view,
  .woocommerce ul.products.woo-archive-btn-button li.product.hd-card--compact .hd-card__actions .button.hd-card__btn--view:not(.kb-button),
  .hd-card.hd-card--compact .hd-card__btn--view { height: 32px !important; font-size: 14px !important; }
  .hd-promo { min-height: 320px; padding: 36px 16px 16px; }
  .hd-promo__title { font-size: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .hd-card .hd-card__img img, .hd-card .hd-card__btn, .woocommerce ul.products li.product.hd-card { transition: none; }
}
