/*
Theme Name: High Country Vail Custom
Theme URI: https://highcountryvail.com/
Author: ALLMSP
Description: Lightweight custom theme for High Country Healing Vail with native WooCommerce integration.
Version: 2.3.13
Text Domain: hcv
*/

:root {
  --hcv-dark: #002318;
  --hcv-green: #22965a;
  --hcv-green-dark: #15894d;
  --hcv-mint: #aadab3;
  --hcv-purple: #312249;
  --hcv-blue: #1c6bff;
  --hcv-cream: #f6f4ed;
  --hcv-white: #ffffff;
  --hcv-ink: #1f2d27;
  --hcv-muted: #64726b;
  --hcv-border: #dfe8e3;
  --hcv-shadow: 0 20px 60px rgba(0, 35, 24, .12);
  --hcv-radius: 28px;
  --hcv-container: 1200px;
  --hcv-sticky-header-offset: 108px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--hcv-sticky-header-offset) + 16px); }
body {
  margin: 0;
  color: var(--hcv-ink);
  background: var(--hcv-white);
  font: 400 16px/1.7 "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.hcv-menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: var(--hcv-green-dark); text-decoration-thickness: .08em; text-underline-offset: .16em; }
a:hover { color: var(--hcv-dark); }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 .65em; color: var(--hcv-dark); line-height: 1.12; letter-spacing: -.035em; }
h1 { font-size: clamp(2.8rem, 7vw, 6.2rem); }
h2 { font-size: clamp(2.15rem, 5vw, 4.35rem); }
h3 { font-size: clamp(1.35rem, 2.4vw, 2rem); }
p { margin: 0 0 1.35em; }

.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link:focus { clip: auto; width: auto; height: auto; margin: 12px; padding: 12px 18px; z-index: 10000; background: #fff; }
.hcv-container { width: min(calc(100% - 40px), var(--hcv-container)); margin-inline: auto; }
.hcv-section { padding: clamp(54px, 7.5vw, 99px) 0; position: relative; overflow: clip; }
.hcv-section--tight { padding-block: clamp(40px, 5.25vw, 64px); }
.hcv-kicker { margin: 0 0 16px; color: var(--hcv-green-dark); font-size: clamp(.875rem, .82vw, .9375rem); font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.hcv-lead { max-width: 760px; font-size: clamp(1.05rem, 1.7vw, 1.3rem); color: #42534b; }
.hcv-brush { font-family: "Segoe Print", "Bradley Hand", cursive; font-weight: 700; letter-spacing: -.03em; }
.hcv-grid { display: grid; gap: 28px; }
.hcv-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hcv-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hcv-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.hcv-button,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 13px 25px; border: 2px solid var(--hcv-green); border-radius: 999px;
  background: var(--hcv-green); color: #fff !important; font-weight: 700; line-height: 1.2;
  text-decoration: none; box-shadow: none; transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.hcv-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover { transform: translateY(-2px); background: var(--hcv-dark); border-color: var(--hcv-dark); }
.hcv-button--light { color: var(--hcv-dark) !important; background: var(--hcv-white); border-color: var(--hcv-white); }
.hcv-button--outline { color: var(--hcv-dark) !important; background: transparent; border-color: var(--hcv-dark); }
.hcv-button--soft { min-width: 260px; color: var(--hcv-dark) !important; background: #e7ebef; border-color: #e7ebef; }
.hcv-button--soft:hover { color: #fff !important; background: var(--hcv-dark); border-color: var(--hcv-dark); }

/* Header */
.hcv-site-header,
.elementor-location-header,
body > header[data-elementor-type="header"] {
  position: sticky !important;
  top: 0;
  z-index: 1000;
  width: 100%;
  overflow: visible !important;
}
.hcv-site-header { background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(0,35,24,.08); backdrop-filter: blur(14px); }
.hcv-fallback-announcement { min-height: 32px; padding: 7px 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 5px 24px; color: #fff; background: #001128; font-size: 10px; letter-spacing: .065em; line-height: 1.4; text-transform: uppercase; }
.hcv-fallback-announcement a { color: inherit; font-weight: 650; text-decoration: none; }
.hcv-fallback-announcement a:hover, .hcv-fallback-announcement a:focus { color: #bfe0cb; text-decoration: underline; text-underline-offset: 3px; }
.hcv-fallback-announcement .hcv-fallback-phone, .hcv-fallback-announcement .hcv-fallback-instagram, .hcv-fallback-announcement .hcv-fallback-account { display: inline-flex; align-items: center; gap: 5px; }
.hcv-fallback-announcement svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hcv-fallback-announcement .hcv-fallback-instagram svg { width: 16px; height: 16px; }
.hcv-fallback-announcement .hcv-fallback-account { min-height: 28px; padding: 4px 10px; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; letter-spacing: .035em; }
.hcv-fallback-announcement .hcv-fallback-account:hover, .hcv-fallback-announcement .hcv-fallback-account:focus { color: #001128; background: #fff; text-decoration: none; }
.admin-bar .hcv-site-header,
.admin-bar .elementor-location-header,
.admin-bar > header[data-elementor-type="header"] { top: 32px; }
.hcv-header-inner { min-height: 96px; display: flex; align-items: center; gap: 32px; transition: min-height .22s ease; }
.hcv-logo { flex: 0 0 auto; display: inline-flex; align-items: center; width: 176px; transition: width .22s ease; }
.hcv-logo img { display: block; width: 100%; max-height: 76px; object-fit: contain; }
.hcv-site-header.is-scrolled .hcv-header-inner { min-height: 78px; }
.hcv-site-header.is-scrolled .hcv-logo { width: 156px; }
.hcv-primary-nav { margin-left: auto; display: flex; align-items: center; gap: 27px; }
.hcv-primary-nav ul { display: flex; align-items: center; gap: 26px; margin: 0; padding: 0; list-style: none; }
.hcv-primary-nav li { position: relative; }
.hcv-primary-nav a { color: var(--hcv-dark); font-size: .9rem; font-weight: 700; text-decoration: none; }
.hcv-primary-nav a:hover, .hcv-primary-nav .current-menu-item > a { color: var(--hcv-green); }
.hcv-primary-nav .sub-menu { position: absolute; top: calc(100% + 18px); left: -20px; width: 270px; padding: 16px; display: grid; gap: 4px; background: #fff; border-radius: 16px; box-shadow: var(--hcv-shadow); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .2s ease; }
.hcv-primary-nav li:hover > .sub-menu, .hcv-primary-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.hcv-primary-nav .sub-menu a { display: block; padding: 8px 10px; border-radius: 9px; }
.hcv-primary-nav .sub-menu a:hover { color: #14573c; background: #edf4ef; }
.hcv-header-cta { white-space: nowrap; }
.hcv-cart-link { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border: 1px solid var(--hcv-border); border-radius: 50%; color: var(--hcv-dark); text-decoration: none; }
.hcv-cart-icon { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hcv-cart-count { position: absolute; right: -5px; top: -5px; min-width: 20px; height: 20px; padding: 0 5px; display: grid; place-items: center; border-radius: 999px; background: var(--hcv-purple); color: #fff; font-size: .68rem; font-weight: 800; }
.hcv-header-product-search { position: relative; z-index: 1001; }
.hcv-header-search__toggle { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; min-width: 46px; padding: 0; border: 1px solid var(--hcv-border); border-radius: 50%; color: var(--hcv-dark); background: #fff; cursor: pointer; transition: color .18s ease, border-color .18s ease, background-color .18s ease; }
.hcv-header-search__toggle:hover, .hcv-header-search__toggle:focus-visible, .hcv-header-product-search.is-open .hcv-header-search__toggle { color: #fff; border-color: var(--hcv-green); background: var(--hcv-green); }
.hcv-header-search__toggle svg, .hcv-header-search__field > svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.hcv-header-search__panel { position: absolute; top: calc(100% + 14px); right: -54px; width: min(420px, calc(100vw - 30px)); max-height: min(660px, calc(100dvh - 145px)); padding: 20px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid rgba(0,35,24,.12); border-radius: 20px; color: var(--hcv-dark); background: #fff; box-shadow: 0 24px 70px rgba(0,17,40,.22); }
.hcv-header-search__panel[hidden] { display: none !important; }
.hcv-header-search__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.hcv-header-search__heading > div { display: grid; gap: 2px; }
.hcv-header-search__heading span { color: var(--hcv-green); font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hcv-header-search__heading strong { font-size: 1.18rem; }
.hcv-header-search__heading button { width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; color: #536170; background: #edf1ee; font-size: 24px; line-height: 1; cursor: pointer; }
.hcv-header-search__field { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 6px 6px 6px 13px; border: 1px solid #cbd5d0; border-radius: 13px; color: #718078; background: #fff; }
.hcv-header-search__field:focus-within { border-color: var(--hcv-green); box-shadow: 0 0 0 3px rgba(34,150,90,.12); }
.hcv-header-search__field input { min-width: 0; height: 38px; padding: 0; border: 0; outline: 0; color: var(--hcv-dark); background: transparent; font: inherit; }
.hcv-header-search__field button { min-height: 38px; padding: 8px 13px; border: 0; border-radius: 9px; color: #fff; background: var(--hcv-green); font-size: .78rem; font-weight: 800; cursor: pointer; }
.hcv-header-search__results-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 17px 2px 8px; }
.hcv-header-search__results-head strong { font-size: .82rem; }
.hcv-header-search__results-head span { color: #718078; font-size: .7rem; }
.hcv-header-search__results { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.hcv-header-search__item { margin: 0; }
.hcv-header-search__item a { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; align-items: center; gap: 11px; min-height: 64px; padding: 6px; border-radius: 12px; color: inherit; text-decoration: none; transition: background-color .16s ease; }
.hcv-header-search__item a:hover, .hcv-header-search__item a:focus-visible { outline: 0; background: #edf4ef; }
.hcv-header-search__item img { width: 52px; height: 52px; border: 1px solid #e1e7e3; border-radius: 10px; object-fit: contain; background: #fff; }
.hcv-header-search__copy { min-width: 0; display: grid; gap: 3px; }
.hcv-header-search__copy strong { overflow: hidden; font-size: .78rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.hcv-header-search__copy small { overflow: hidden; color: #718078; font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.hcv-header-search__meta { align-items:center; display:flex; gap:7px; }
.hcv-header-search__meta>span+span::before { content:'·'; margin-right:7px; }
.hcv-header-search__brand { align-items:center; color:#315d4d; display:inline-flex; font-weight:750; gap:4px; min-width:0; }
.hcv-header-search__copy .hcv-header-search__brand img,.hcv-header-search__brand i { background:#fff; border:1px solid #dce5df; border-radius:6px; box-sizing:border-box; flex:0 0 25px; height:25px; object-fit:contain; padding:2px; width:25px; }
.hcv-header-search__brand i { align-items:center; display:inline-flex; font-size:.48rem; font-style:normal; justify-content:center; }
.hcv-header-search__price { max-width: 110px; overflow: hidden; color: #173f35; font-size: .72rem; font-weight: 800; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.hcv-header-search__empty { margin: 12px 0; padding: 17px; border-radius: 12px; color: #65736d; background: #f3f6f4; font-size: .8rem; text-align: center; }
.hcv-header-search__all { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 12px; padding: 11px; border-radius: 11px; color: #14573c; background: #edf4ef; font-size: .78rem; font-weight: 800; text-decoration: none; }
.hcv-menu-toggle { display: none; margin-left: auto; width: 46px; height: 46px; padding: 0; border: 0; background: transparent; }
.hcv-menu-toggle span { display: block; width: 26px; height: 2px; margin: 6px auto; background: var(--hcv-dark); transition: .2s ease; }

/* Elementor header safeguards mirror the editable per-element Custom CSS. */
.elementor-location-header .hcv-header-logo,
body > header[data-elementor-type="header"] .hcv-header-logo { flex: 0 0 auto; overflow: visible; }
.elementor-location-header .hcv-header-logo img,
body > header[data-elementor-type="header"] .hcv-header-logo img { object-position: left center; }
.elementor-location-header .hcv-primary-elementor-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover,
.elementor-location-header .hcv-primary-elementor-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item:focus,
.elementor-location-header .hcv-primary-elementor-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item.elementor-item-active,
.elementor-location-header .hcv-primary-elementor-nav .elementor-nav-menu--dropdown .elementor-item:hover,
.elementor-location-header .hcv-primary-elementor-nav .elementor-nav-menu--dropdown .elementor-item:focus,
.elementor-location-header .hcv-primary-elementor-nav .elementor-nav-menu--dropdown .elementor-item.elementor-item-active { color: #14573c; background: #edf4ef; }

@media (max-width: 1024px) {
  .elementor-location-header .hcv-header-main-inner,
  body > header[data-elementor-type="header"] .hcv-header-main-inner { gap: 8px !important; justify-content: flex-start !important; }
  .elementor-location-header .hcv-header-logo,
  body > header[data-elementor-type="header"] .hcv-header-logo { order: 1; }
  .elementor-location-header .hcv-header-search-widget,
  body > header[data-elementor-type="header"] .hcv-header-search-widget { order: 2; flex: 0 0 46px !important; width: 46px !important; margin-left: auto; overflow: visible; }
  .elementor-location-header .hcv-header-cart-widget,
  body > header[data-elementor-type="header"] .hcv-header-cart-widget { order: 3; }
  .elementor-location-header .hcv-primary-elementor-nav,
  body > header[data-elementor-type="header"] .hcv-primary-elementor-nav { order: 4; flex: 0 0 46px !important; width: 46px !important; }
  .elementor-location-header .hcv-primary-elementor-nav .elementor-menu-toggle,
  body > header[data-elementor-type="header"] .hcv-primary-elementor-nav .elementor-menu-toggle {
    box-sizing: border-box; display: flex; align-items: center; justify-content: center;
    width: 46px; height: 46px; min-width: 46px; min-height: 46px;
    margin: 0; padding: 0; font-size: 22px; line-height: 1;
  }
  .elementor-location-header .hcv-primary-elementor-nav .elementor-menu-toggle i,
  .elementor-location-header .hcv-primary-elementor-nav .elementor-menu-toggle svg,
  body > header[data-elementor-type="header"] .hcv-primary-elementor-nav .elementor-menu-toggle i,
  body > header[data-elementor-type="header"] .hcv-primary-elementor-nav .elementor-menu-toggle svg { width: 22px; height: 22px; font-size: 22px; }
  .elementor-location-header .hcv-header-cart-widget,
  body > header[data-elementor-type="header"] .hcv-header-cart-widget { flex: 0 0 46px !important; width: 46px !important; }
  .elementor-location-header .hcv-header-cart-widget .hcv-elementor-header-cart,
  body > header[data-elementor-type="header"] .hcv-header-cart-widget .hcv-elementor-header-cart {
    width: 46px; height: 46px; min-width: 46px; min-height: 46px;
  }
  .hcv-header-search__panel { right: -123px; }
}

/* Hero */
.hcv-hero { min-height: min(760px, calc(100vh - 96px)); display: grid; align-items: center; color: #fff; background-color: var(--hcv-dark); background-size: cover; background-position: center; isolation: isolate; }
.hcv-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(0,35,24,.9) 0%, rgba(0,35,24,.62) 52%, rgba(0,35,24,.12) 100%); }
.hcv-hero-content { max-width: 810px; padding-block: 80px; }
.hcv-hero h1 { color: #fff; text-wrap: balance; }
.hcv-hero .hcv-kicker { color: var(--hcv-mint); }
.hcv-hero .hcv-lead { color: rgba(255,255,255,.9); max-width: 700px; }
.hcv-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.hcv-hero-note { margin-top: 24px; display: flex; gap: 28px; color: rgba(255,255,255,.8); font-size: .86rem; font-weight: 600; }

/* Homepage hero safeguards; the same values remain editable in Elementor. */
.hcv-home-hero { min-height: clamp(580px, 66vh, 760px); background-attachment: scroll !important; background-position: center 46% !important; }
.hcv-home-hero-kicker .elementor-heading-title { color: #f2f7ef !important; font-size: clamp(14px, .82vw, 16px) !important; }
.hcv-home-hero-trust,
.hcv-home-hero-trust .elementor-icon-list-text { color: rgba(255,255,255,.94) !important; }
.hcv-home-hero-trust .elementor-icon-list-icon,
.hcv-home-hero-trust .elementor-icon-list-icon i,
.hcv-home-hero-trust .elementor-icon-list-icon svg,
.hcv-home-hero-trust .elementor-icon-list-icon svg path { color: #f4f8f1 !important; fill: currentColor !important; }

@media (min-width: 1800px) {
  .hcv-home-hero { min-height: clamp(620px, 58vh, 780px); background-position: center 43% !important; }
}

/* Category cards */
.hcv-categories { padding-block: 72px; background: #fff; }
.hcv-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 42px; }
.hcv-section-heading > div { max-width: 760px; }
.hcv-category-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; }
.hcv-category-card { --hcv-category-image-scale: 1; --hcv-category-image-hover-scale: 1.04; --hcv-category-image-position: center; --hcv-category-image-width: 84%; --hcv-category-image-height: 62%; --hcv-category-image-bottom: 7px; position: relative; min-height: 0; aspect-ratio: 1 / 1; display: block; overflow: hidden; padding: 23px 21px; border: 1px solid #e0e5e2; border-radius: 20px; color: var(--hcv-dark); background: #fff; box-shadow: 0 5px 18px rgba(0,35,24,.035); text-decoration: none; isolation: isolate; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.hcv-category-card::after { display: none; }
.hcv-category-card:hover, .hcv-category-card:focus-visible { color: var(--hcv-dark); border-color: #b8c9c0; box-shadow: 0 12px 28px rgba(0,35,24,.1); transform: translateY(-3px); }
.hcv-category-card img { position: absolute; bottom: var(--hcv-category-image-bottom); left: 50%; z-index: 0; width: var(--hcv-category-image-width); height: var(--hcv-category-image-height) !important; object-fit: cover; object-position: var(--hcv-category-image-position); transform: translateX(-50%) scale(var(--hcv-category-image-scale)); transform-origin: center bottom; transition: transform .3s ease; }
.hcv-category-card:hover img, .hcv-category-card:focus-visible img { transform: translateX(-50%) scale(var(--hcv-category-image-hover-scale)); }
.hcv-category-card--flower { --hcv-category-image-width: 82%; }
.hcv-category-card--pre-rolls { --hcv-category-image-width: 96%; --hcv-category-image-height: 42%; --hcv-category-image-bottom: 11%; --hcv-category-image-position: center 52%; }
.hcv-category-card--vaporizers { --hcv-category-image-width: 28%; }
.hcv-category-card--tinctures, .hcv-category-card--wellness { --hcv-category-image-width: 30%; }
.hcv-category-card--concentrates { --hcv-category-image-width: 84%; }
.hcv-category-card--edibles { --hcv-category-image-width: 98%; }
.hcv-category-card--topicals { --hcv-category-image-width: 64%; }
.hcv-category-card--accessories { --hcv-category-image-width: 86%; }
.hcv-category-card--sitewide-image { aspect-ratio: 1 / 1 !important; padding: 0; color: #fff; background: #163d30; }
.hcv-category-card--sitewide-image::before { position: absolute; z-index: 1; inset: 0; display: block; content: ""; pointer-events: none; background: linear-gradient(180deg, rgba(0,25,18,.86) 0%, rgba(0,35,24,.55) 27%, rgba(0,35,24,.08) 58%, rgba(0,35,24,0) 68%); }
.hcv-category-card--sitewide-image img { top: 0; bottom: auto; width: 100%; height: 100% !important; object-fit: cover; object-position: center center; transform-origin: center center; }
.hcv-category-card--sitewide-image:hover img, .hcv-category-card--sitewide-image:focus-visible img { transform: translateX(-50%) scale(1.025); }
.hcv-category-card--sitewide-image .hcv-category-card__body { position: absolute; z-index: 2; top: 0; left: 0; padding: 21px; }
.hcv-category-card.hcv-category-card--sitewide-image h3 { color: #fff; font-weight: 800; text-shadow: 0 2px 12px rgba(0,0,0,.72); }
.hcv-category-card--sitewide-image .hcv-category-card__count { color: rgba(255,255,255,.94); text-shadow: 0 1px 8px rgba(0,0,0,.72); }
.hcv-category-card__body { position: relative; z-index: 1; display: block; width: 100%; padding: 0; }
.hcv-category-card h3 { margin: 0; color: var(--hcv-dark); font-size: clamp(1rem, 1.45vw, 1.34rem); letter-spacing: -.03em; }
.hcv-category-card__count { display: block; margin-top: 4px; color: var(--hcv-muted); font-size: .72rem; font-weight: 600; }
.hcv-category-view-all { display: flex; justify-content: center; margin-top: 30px; }

/* Inventory-aware brand directory */
.hcv-brand-directory { width: 100%; scroll-margin-top: calc(var(--hcv-sticky-header-offset) + 18px); }
.hcv-brand-directory__tools { position: sticky; top: var(--hcv-sticky-header-offset); z-index: 4; display: grid; gap: 16px; margin-bottom: 42px; padding: 18px 0; border-bottom: 1px solid var(--hcv-border); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.hcv-brand-directory__search input { width: min(100%, 520px); min-height: 52px; padding: 12px 18px; border: 1px solid #cddbd4; border-radius: 999px; color: var(--hcv-ink); background: #fff; box-shadow: 0 8px 24px rgba(0,35,24,.05); font: 600 .9rem/1.2 Poppins,sans-serif; }
.hcv-brand-directory__search input:focus { border-color: var(--hcv-green); outline: 3px solid rgba(34,150,90,.14); }
.hcv-brand-directory__letters { display: flex; flex-wrap: wrap; gap: 7px; }
.hcv-brand-directory__letters a { min-width: 31px; min-height: 31px; display: grid; place-items: center; padding: 5px 8px; border-radius: 9px; color: var(--hcv-dark); background: #edf3ed; font-size: .73rem; font-weight: 800; text-decoration: none; }
.hcv-brand-directory__letters a:hover, .hcv-brand-directory__letters a:focus-visible { color: #fff; background: var(--hcv-green); }
.hcv-brand-directory__groups { display: grid; gap: 42px; }
.hcv-brand-directory__group { scroll-margin-top: calc(var(--hcv-sticky-header-offset) + 138px); }
.hcv-brand-directory__group > h2 { margin: 0 0 14px; color: var(--hcv-dark); font-size: 1.55rem; }
.hcv-brand-directory__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.hcv-brand-card { min-width: 0; display: grid; grid-template-columns: 64px minmax(0,1fr) auto; grid-template-rows: auto auto; gap: 5px 14px; align-items: center; padding: 15px 17px; border: 1px solid var(--hcv-border); border-radius: 15px; color: var(--hcv-dark); background: #fff; box-shadow: 0 5px 18px rgba(0,35,24,.035); text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.hcv-brand-card:hover, .hcv-brand-card:focus-visible { color: var(--hcv-dark); border-color: #aec5b9; box-shadow: 0 12px 26px rgba(0,35,24,.09); transform: translateY(-2px); }
.hcv-brand-card__logo { grid-column: 1; grid-row: 1 / span 2; width: 64px; height: 64px; display: grid; place-items: center; overflow: hidden; border: 1px solid #e1e9e4; border-radius: 14px; background: #f3f7f4; }
.hcv-brand-card__logo-image { width: 100%; height: 100%; display: block; padding: 7px; object-fit: contain; background: #fff; }
.hcv-brand-card__logo-fallback { width: 100%; height: 100%; display: grid; place-items: center; color: #24533e; background: linear-gradient(145deg, #edf6ef, #dbe9e0); font-size: 1rem; font-weight: 850; letter-spacing: .055em; line-height: 1; text-transform: uppercase; }
.hcv-brand-card__name { grid-column: 2; grid-row: 1; min-width: 0; overflow: hidden; align-self: end; font-size: .92rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.hcv-brand-card__count { grid-column: 2; grid-row: 2; align-self: start; color: var(--hcv-muted); font-size: .69rem; font-weight: 600; }
.hcv-brand-card__arrow { grid-column: 3; grid-row: 1 / span 2; color: var(--hcv-green); font-size: 1.1rem; }
.hcv-brand-directory__empty { padding: 48px 20px; border-radius: 18px; background: var(--hcv-cream); color: var(--hcv-muted); text-align: center; }

@media (max-width: 800px) {
  .hcv-brand-directory__tools { position: static; margin-bottom: 28px; }
  .hcv-brand-directory__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 520px) {
  .hcv-brand-directory__letters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; scrollbar-width: thin; }
  .hcv-brand-directory__grid { grid-template-columns: 1fr; gap: 9px; }
  .hcv-brand-card { grid-template-columns: 54px minmax(0,1fr) auto; gap: 4px 12px; padding: 13px 14px; }
  .hcv-brand-card__logo { width: 54px; height: 54px; border-radius: 12px; }
  .hcv-brand-card__logo-image { padding: 6px; }
  .hcv-brand-card__logo-fallback { font-size: .88rem; }
}

/* Menu landing and filters */
.hcv-menu-start { padding: clamp(48px, 7vw, 76px) 0; background: #fff; }
.hcv-menu-start__heading, .hcv-shop-products-heading { margin-bottom: 28px; }
.hcv-menu-start__heading h2, .hcv-shop-products-heading h2 { font-size: clamp(2rem, 4vw, 3.2rem); }
#shop-products { scroll-margin-top: calc(var(--hcv-sticky-header-offset) + 16px); }
.hcv-store-page .hcv-shop-shell { background: var(--hcv-cream); }
.hcv-menu-filters { margin-bottom: 34px; padding: 22px; border: 1px solid var(--hcv-border); border-radius: 24px; background: #fff; box-shadow: 0 10px 30px rgba(0,35,24,.05); }
.hcv-menu-filters__primary { display: grid; grid-template-columns: minmax(240px, 1.65fr) repeat(2, minmax(165px, .8fr)) auto; gap: 14px; align-items: end; }
.hcv-menu-field { display: grid; gap: 6px; color: var(--hcv-dark); font-size: .75rem; font-weight: 700; }
.hcv-menu-field > span { letter-spacing: .04em; }
.hcv-menu-field input, .hcv-menu-field select { width: 100%; min-height: 48px; padding: 9px 13px; border: 1px solid #cddbd4; border-radius: 12px; color: var(--hcv-ink); background: #fff; }
.hcv-menu-filter-submit { min-height: 48px; padding-inline: 20px; white-space: nowrap; }
.hcv-menu-filters__advanced { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--hcv-border); }
.hcv-menu-filters__advanced summary { width: max-content; cursor: pointer; color: var(--hcv-dark); font-size: .82rem; font-weight: 800; }
.hcv-menu-filters__advanced-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: end; }
.hcv-menu-checkbox { min-height: 48px; display: flex; align-items: center; gap: 10px; padding: 10px 13px; border: 1px solid #cddbd4; border-radius: 12px; color: var(--hcv-dark); font-size: .76rem; font-weight: 700; }
.hcv-menu-checkbox input { width: 18px; height: 18px; accent-color: var(--hcv-green); }
.hcv-menu-reset { display: inline-block; margin-top: 14px; color: var(--hcv-green-dark); font-size: .78rem; font-weight: 700; }
.hcv-menu-result-count { margin: 0 0 22px; color: var(--hcv-muted); font-size: .86rem; font-weight: 700; }
.hcv-menu-empty { padding: 50px 24px; border: 1px solid var(--hcv-border); border-radius: 24px; background: #fff; text-align: center; }
.hcv-menu-empty h2 { font-size: 1.8rem; }

/* Unified shop Menu / Search / Login navigation */
.hcv-shop-navigation { position: relative; z-index: 18; width: 100%; margin: 0 0 18px; padding-top: 18px; color: #26342f; font-family: Poppins, sans-serif; }
.hcv-shop-navigation button, .hcv-shop-navigation input { font: inherit; }
.hcv-shop-navigation__bar { min-height: 56px; padding: 0 13px; display: flex; align-items: center; gap: 5px; border: 1px solid #dfe5e1; border-radius: 13px; background: #f5f7f6; box-shadow: 0 7px 22px rgba(0,35,24,.045); }
.hcv-shop-navigation__action { min-height: 42px; padding: 7px 10px; display: inline-flex; align-items: center; gap: 8px; border: 0; border-radius: 9px; color: #26342f; background: transparent; font-size: .79rem; font-weight: 650; line-height: 1; text-decoration: none; cursor: pointer; transition: color .18s ease, background-color .18s ease; }
.hcv-shop-navigation__action:hover, .hcv-shop-navigation__action:focus-visible, .hcv-shop-navigation__action[aria-expanded="true"] { color: #14573c; background: #e7efea; }
.hcv-shop-navigation__action:focus-visible, .hcv-shop-navigation__tabs button:focus-visible { outline: 2px solid var(--hcv-green); outline-offset: 2px; }
.hcv-shop-navigation__action svg, .hcv-shop-navigation__search svg, .hcv-shop-navigation__brand-search svg { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hcv-shop-navigation__favorites svg { color: #71345f; }
.hcv-shop-navigation__favorites:hover svg, .hcv-shop-navigation__favorites:focus-visible svg { color: #5c234c; }
.hcv-shop-navigation__chevron { width: 7px; height: 7px; margin-left: -2px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .18s ease; }
.hcv-shop-navigation__action[aria-expanded="true"] .hcv-shop-navigation__chevron { transform: rotate(225deg) translate(-1px,-1px); }
.hcv-shop-navigation__spacer { flex: 1; }
.hcv-shop-navigation__search, .hcv-shop-navigation__panel { margin-top: 8px; border: 1px solid #dde5e0; border-radius: 17px; background: #fff; box-shadow: 0 18px 44px rgba(0,35,24,.11); }
.hcv-shop-navigation__search[hidden], .hcv-shop-navigation__panel[hidden], .hcv-shop-navigation__pane[hidden] { display: none !important; }
.hcv-shop-navigation__search { padding: 18px; }
.hcv-shop-navigation__search form { display: grid; gap: 8px; }
.hcv-shop-navigation__search label { color: #33433d; font-size: .72rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.hcv-shop-navigation__search form > div { min-height: 50px; padding-left: 14px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; border: 1px solid #cbd7d1; border-radius: 999px; background: #fff; }
.hcv-shop-navigation__search input { min-width: 0; height: 46px; padding: 0; border: 0; outline: 0; color: #23342d; background: transparent; font-size: .88rem; }
.hcv-shop-navigation__search button { min-height: 42px; margin-right: 3px; padding: 8px 19px; border: 0; border-radius: 999px; color: #fff; background: var(--hcv-green-dark); font-size: .77rem; font-weight: 800; cursor: pointer; }
.hcv-shop-navigation__search button:hover { background: var(--hcv-green); }
.hcv-shop-navigation__panel { padding: 17px 18px 20px; }
.hcv-shop-navigation__tabs { display: flex; gap: 22px; border-bottom: 1px solid #e2e8e4; }
.hcv-shop-navigation__tabs button { min-height: 43px; margin: 0 0 -1px; padding: 5px 2px; border: solid transparent; border-width: 0 0 2px; color: #66736e; background: transparent; font-size: .78rem; font-weight: 800; cursor: pointer; }
.hcv-shop-navigation__tabs button[aria-selected="true"] { color: #14573c; border-bottom-color: var(--hcv-green); }
.hcv-shop-navigation__pane { padding-top: 17px; }
.hcv-shop-navigation__categories { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.hcv-shop-navigation__category { min-width: 0; min-height: 72px; padding: 9px 11px; display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 10px; border: 1px solid #e1e8e4; border-radius: 13px; color: #17352b; background: #fff; font-size: .76rem; font-weight: 750; line-height: 1.25; text-decoration: none; transition: border-color .18s ease, background-color .18s ease, transform .18s ease; }
.hcv-shop-navigation__category:hover, .hcv-shop-navigation__category:focus-visible { color: #14573c; border-color: #b9cec2; background: #f4f8f5; transform: translateY(-1px); }
.hcv-shop-navigation__category-image { width: 48px; height: 48px; display: grid; place-items: center; overflow: hidden; border-radius: 10px; background: #edf3ef; }
.hcv-shop-navigation__category-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.hcv-shop-navigation__category > span:last-child { color: var(--hcv-green); font-size: 1rem; }
.hcv-shop-navigation__view-all { width: fit-content; margin-top: 15px; display: inline-flex; align-items: center; gap: 7px; color: #176947; font-size: .75rem; font-weight: 800; text-decoration: none; }
.hcv-shop-navigation__view-all:hover { color: var(--hcv-green); }
.hcv-shop-navigation__brand-search { width: min(100%,420px); min-height: 43px; margin-bottom: 14px; padding: 0 13px; display: flex; align-items: center; gap: 9px; border: 1px solid #ccd8d2; border-radius: 999px; color: #6b7973; background: #fff; }
.hcv-shop-navigation__brand-search input { min-width: 0; flex: 1; height: 40px; padding: 0; border: 0; outline: 0; color: #24352e; background: transparent; font-size: .79rem; }
.hcv-shop-navigation__brands { max-height: 410px; padding: 1px 5px 1px 1px; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.hcv-shop-navigation__brand { min-width: 0; min-height: 68px; padding: 8px 9px; display: grid; grid-template-columns: 46px minmax(0,1fr); align-items: center; gap: 9px; border: 1px solid #e1e8e4; border-radius: 12px; color: #26372f; background: #fff; font-size: .7rem; font-weight: 700; line-height: 1.25; text-decoration: none; }
.hcv-shop-navigation__brand[hidden] { display: none !important; }
.hcv-shop-navigation__brand:hover, .hcv-shop-navigation__brand:focus-visible { color: #14573c; border-color: #b8cec1; background: #f4f8f5; }
.hcv-shop-navigation__brand-logo { width: 46px; height: 46px; display: grid; place-items: center; overflow: hidden; border: 1px solid #e2e9e5; border-radius: 10px; background: #f2f6f3; }
.hcv-shop-navigation__brand-logo img { width: 100%; height: 100%; display: block; padding: 4px; object-fit: contain; background: #fff; }
.hcv-shop-navigation__brand-logo > span { color: #24533e; font-size: .72rem; font-weight: 850; letter-spacing: .04em; }
.hcv-shop-navigation__brand-empty { margin: 18px 0 0; color: #68766f; font-size: .78rem; }
.hcv-brand-directory__shop-navigation { width: 100%; margin-bottom: 28px; }
.hcv-current-product__shop-navigation { width: 100%; max-width: 1200px; margin: 0 auto 28px; }
@media (max-width: 1000px) {
  .hcv-shop-navigation__categories { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .hcv-shop-navigation__brands { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .hcv-shop-navigation { margin-bottom: 13px; padding-top: 12px; }
  .hcv-shop-navigation__bar { min-height: 52px; padding-inline: 8px; border-radius: 11px; }
  .hcv-shop-navigation__action { min-height: 40px; padding-inline: 8px; gap: 6px; font-size: .74rem; }
  .hcv-shop-navigation__action svg { width: 19px; height: 19px; }
  .hcv-shop-navigation__search { padding: 13px; }
  .hcv-shop-navigation__search form > div { padding-left: 11px; gap: 7px; }
  .hcv-shop-navigation__search button { padding-inline: 14px; }
  .hcv-shop-navigation__panel { padding: 14px 13px 17px; border-radius: 14px; }
  .hcv-shop-navigation__categories { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .hcv-shop-navigation__category { min-height: 62px; padding: 7px 8px; grid-template-columns: 40px minmax(0,1fr) auto; gap: 7px; font-size: .68rem; }
  .hcv-shop-navigation__category-image { width: 40px; height: 40px; border-radius: 8px; }
  .hcv-shop-navigation__brands { max-height: 380px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .hcv-shop-navigation__brand { min-height: 60px; padding: 7px; grid-template-columns: 40px minmax(0,1fr); gap: 7px; font-size: .65rem; }
  .hcv-shop-navigation__brand-logo { width: 40px; height: 40px; border-radius: 8px; }
  .hcv-brand-directory__shop-navigation { margin-bottom: 20px; }
  .hcv-current-product__shop-navigation { margin-bottom: 20px; }
}
@media (max-width: 380px) {
  .hcv-shop-navigation__action { padding-inline: 6px; }
  .hcv-shop-navigation__action svg { width: 18px; height: 18px; }
  .hcv-shop-navigation__search button { padding-inline: 11px; font-size: .7rem; }
}

/* Compact product category archives */
.hcv-category-page { min-height: 70vh; padding: 0 0 100px; background: #fff; }
.hcv-category-shell { width: min(calc(100% - 40px), 760px); margin-inline: auto; }
.hcv-category-status { min-height: 64px; display: grid; grid-template-columns: auto auto 1fr auto; align-items: center; gap: 11px; border-bottom: 1px solid #dedfe0; color: #4d5350; font-size: .8rem; font-weight: 600; line-height: 1.35; }
.hcv-category-status__icon { width: 22px; height: 22px; display: grid; place-items: center; border: 1.5px solid currentColor; border-radius: 50%; font: 700 .72rem/1 system-ui, sans-serif; }
.hcv-category-status strong { color: #b24b50; font-size: .82rem; }
.hcv-category-status.is-open strong { color: var(--hcv-green-dark); }
.hcv-category-status__type { justify-self: end; color: #373c39; font-weight: 700; }
.hcv-category-heading { margin: 38px 0 25px; }
.hcv-category-heading__back { margin: 0 0 14px; font-size: .76rem; font-weight: 700; }
.hcv-category-heading__back a { text-decoration: none; }
.hcv-category-title { margin: 0; font-size: clamp(1.75rem, 4vw, 2.25rem); font-weight: 700; letter-spacing: -.03em; }
.hcv-category-description { margin-top: 12px; color: var(--hcv-muted); font-size: .84rem; }
.hcv-category-description > :last-child { margin-bottom: 0; }
.hcv-category-tabs { display: flex; gap: 9px; margin: 0 0 13px; padding: 2px 0 5px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
.hcv-category-tabs::-webkit-scrollbar, .hcv-variant-scroller::-webkit-scrollbar { display: none; }
.hcv-store-color-guide { margin: 0 0 22px; padding: 22px; overflow: hidden; border: 1px solid #dce5e0; border-radius: 20px; background: linear-gradient(135deg,#f7faf7,#fff 64%); box-shadow: 0 10px 28px rgba(0,35,24,.045); }
.hcv-store-color-guide__header { margin-bottom: 17px; display: grid; grid-template-columns: minmax(210px,.8fr) minmax(280px,1.2fr); align-items: end; gap: 24px; }
.hcv-store-color-guide__eyebrow { margin: 0 0 6px; color: #4c8b45; font-size: .61rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.hcv-store-color-guide__header h2 { margin: 0; color: #082b25; font-size: clamp(1.15rem,2vw,1.48rem); line-height: 1.16; letter-spacing: -.025em; }
.hcv-store-color-guide__header > p { max-width: 560px; margin: 0; color: #5f6d67; font-size: .69rem; line-height: 1.6; }
.hcv-store-color-guide__labels { margin: 0; padding: 1px 1px 8px; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; list-style: none; }
.hcv-store-color-guide__labels li { min-width: 0; margin: 0; padding: 0; list-style: none; }
.hcv-store-color-guide__labels a { position: relative; min-height: 66px; padding: 8px 9px; display: grid; grid-template-columns: 46px minmax(0,1fr) auto; align-items: center; gap: 8px; border: 1px solid #dce5e0; border-radius: 13px; color: #173d33; background: #fff; text-decoration: none; transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.hcv-store-color-guide__labels a:hover { border-color: #8db58b; box-shadow: 0 8px 20px rgba(0,35,24,.09); transform: translateY(-2px); }
.hcv-store-color-guide__labels a:focus-visible { outline: 3px solid rgba(34,150,90,.28); outline-offset: 2px; }
.hcv-store-color-guide__image { width: 46px; height: 46px; display: grid; place-items: center; overflow: hidden; border: 1px solid #e1e8e4; border-radius: 50%; background: #fff; }
.hcv-store-color-guide__image img { width: 100%; height: 100%; padding: 2px; display: block; object-fit: contain; transform: none; }
.hcv-store-color-guide__copy { min-width: 0; display: grid; gap: 2px; }
.hcv-store-color-guide__copy strong { color: #173d33; font-size: .67rem; line-height: 1.2; }
.hcv-store-color-guide__copy small { color: #6a766f; font-size: .58rem; font-weight: 650; line-height: 1.2; }
.hcv-store-color-guide__arrow { color: #6ca258; font-size: .85rem; }
.hcv-store-color-guide__note { margin: 6px 0 0; padding-top: 12px; border-top: 1px solid #e2e9e5; color: #66736d; font-size: .61rem; line-height: 1.55; }
.hcv-store-color-guide__note strong { color: #244b3e; }
.hcv-category-tab { flex: none; min-height: 46px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; color: #454b48; background: #f0f2f3; font-size: .78rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.hcv-category-tab:hover { color: var(--hcv-dark); background: #e3e7e5; }
.hcv-category-tab[aria-current="page"] { color: #353a38; background: #d8dadd; }
.hcv-category-controls { position: relative; }
.hcv-category-toolbar { min-height: 66px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; border-bottom: 1px solid #e1e2e3; }
.hcv-category-sort { min-width: 0; display: flex; align-items: center; gap: 5px; color: #353a38; font-size: .96rem; font-weight: 700; }
.hcv-category-sort > span { flex: none; }
.hcv-category-sort select { min-width: 0; max-width: 230px; padding: 5px 24px 5px 0; border: 0; color: #353a38; background-color: transparent; font: inherit; font-weight: 700; }
.hcv-category-filter-toggle { min-height: 44px; padding: 6px 0 6px 12px; display: inline-flex; align-items: center; gap: 9px; border: 0; color: #353a38; background: transparent; font-size: .96rem; font-weight: 700; cursor: pointer; }
.hcv-filter-icon { width: 23px; height: 20px; display: grid; align-content: space-between; }
.hcv-filter-icon i { position: relative; display: block; height: 2px; border-radius: 2px; background: #98a09c; }
.hcv-filter-icon i::after { content: ""; position: absolute; top: 50%; width: 6px; height: 6px; border: 2px solid #98a09c; border-radius: 50%; background: #fff; transform: translateY(-50%); }
.hcv-filter-icon i:nth-child(1)::after, .hcv-filter-icon i:nth-child(3)::after { left: 4px; }
.hcv-filter-icon i:nth-child(2)::after { right: 4px; }
.hcv-category-filter-panel { margin: 0; padding: 22px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; border: solid #e1e2e3; border-width: 0 1px 1px; border-radius: 0 0 18px 18px; background: #fafbfa; }
.hcv-category-filter-panel[hidden] { display: none; }
@media (max-width: 1050px) {
  body .hcv-category-page .hcv-category-filter-panel[hidden],
  body .hcv-store-catalog-page .hcv-category-filter-panel[hidden],
  body [data-hcv-catalog-root] .hcv-category-filter-panel[hidden] { display: none !important; }
}
.hcv-category-filter-actions { grid-column: 1 / -1; display: flex; align-items: center; gap: 18px; margin-top: 4px; }
.hcv-category-filter-actions .hcv-button { min-height: 44px; padding: 10px 20px; }
.hcv-category-filter-actions a { font-size: .78rem; font-weight: 700; }
.hcv-category-result-count { margin: 18px 0 0; color: #707774; font-size: .76rem; font-weight: 600; }
.hcv-catalog-list { margin: 0; padding: 0; list-style: none; }
.hcv-catalog-product { display: grid; grid-template-columns: 108px minmax(0, 1fr); column-gap: 23px; padding: 31px 0 30px; border-bottom: 1px solid #e4e5e6; }
.hcv-catalog-product__media { width: 108px; height: 108px; align-self: start; display: block; background: transparent; }
.hcv-catalog-product__media img { width: 100%; height: 100%; display: block; margin: 0; object-fit: contain; background: transparent; }
.hcv-catalog-product__identity { position: relative; min-width: 0; padding: 2px 46px 0 0; }
.hcv-catalog-product__identity.has-color-label { display: grid; grid-template-columns: clamp(66px, 8vw, 90px) minmax(0, 1fr); align-items: start; column-gap: clamp(11px, 1.35vw, 16px); }
.hcv-catalog-product__identity.has-color-label > .hcv-color-label-mark--catalog { grid-column: 1; grid-row: 1; }
.hcv-catalog-product__identity.has-color-label > .hcv-catalog-product__copy { grid-column: 2; grid-row: 1; }
.hcv-catalog-product__identity.has-color-label > .hcv-catalog-product__details { grid-column: 2; grid-row: 2; }
.hcv-catalog-product__copy { min-width: 0; }
.hcv-catalog-product__details { min-width: 0; }
.hcv-catalog-product__identity > .hcv-favorite-button.is-compact { top: 0; right: 0; }
.hcv-catalog-product__title { margin: 0; color: #171b19; font-size: 1.05rem; font-weight: 700; line-height: 1.27; letter-spacing: -.025em; }
.hcv-catalog-product__title a { color: inherit; text-decoration: none; }
.hcv-catalog-product__title a:hover { color: var(--hcv-green-dark); }
.hcv-catalog-product__brand { margin: 4px 0 0; color: #717775; font-size: .78rem; line-height: 1.3; }
.hcv-brand-mark { align-items:center; color:inherit; display:inline-flex; font-weight:700; gap:6px; line-height:1.25; max-width:100%; text-decoration:none; }
.hcv-brand-mark:hover,.hcv-brand-mark:focus-visible { color:var(--hcv-green-dark); }
.hcv-brand-mark img,.hcv-brand-mark__initials { background:#fff; border:1px solid #dce5df; border-radius:7px; box-sizing:border-box; flex:0 0 30px; height:30px; object-fit:contain; padding:3px; width:30px; }
.hcv-brand-mark__initials { align-items:center; color:#245b47; display:inline-flex; font-size:.5rem; font-weight:900; justify-content:center; letter-spacing:0; }
.hcv-brand-mark--catalog { color:#66736d; font-size:.74rem; }
.hcv-brand-mark--loop { font-size:.64rem; }
.hcv-brand-mark--loop img,.hcv-brand-mark--loop .hcv-brand-mark__initials { flex-basis:28px; height:28px; width:28px; }
.hcv-catalog-product__facts { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 11px; margin-top: 11px; color: #686e6b; font-size: .78rem; line-height: 1.25; }
.hcv-catalog-product__strain { padding: 5px 10px; border-radius: 999px; background: #eceeef; color: #515755; }
.hcv-variant-scroller { grid-column: 2; min-width: 0; margin-top: 19px; padding: 14px 14px 3px 2px; overflow-x: auto; overflow-y: visible; overscroll-behavior-inline: contain; scrollbar-width: none; scroll-snap-type: x proximity; }
.hcv-variant-track { width: max-content; min-width: 100%; display: flex; align-items: stretch; gap: 10px; }
.hcv-variant-track::before { content: ""; flex: 1 0 0; }
.hcv-variant-tile { position: relative; flex: 0 0 112px; min-height: 78px; margin: 0; display: grid; place-content: center; gap: 2px; padding: 15px 8px 10px; border: 0; border-radius: 3px; background: #f5f6f7; text-align: center; scroll-snap-align: end; }
.hcv-variant-size { color: #4f5552; font-size: .72rem; line-height: 1.15; }
.hcv-variant-price { color: #303533; font-size: 1.12rem; font-weight: 700; line-height: 1.08; }
.hcv-variant-price .woocommerce-Price-currencySymbol { font-size: .78em; }
.hcv-variant-add { position: absolute; top: -16px; right: -14px; z-index: 2; width: 44px; height: 44px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 50%; color: #fff; background: transparent; cursor: pointer; }
.hcv-variant-add::before { content: ""; position: absolute; inset: 7px; border-radius: 50%; background: #2daf1f; box-shadow: 0 0 0 2px #fff; transition: transform .15s ease, background .15s ease; }
.hcv-variant-add span { position: relative; z-index: 1; font: 700 1.5rem/1 system-ui, sans-serif; transform: translateY(-1px); }
.hcv-variant-add:hover::before, .hcv-variant-add:focus-visible::before { background: #238d19; transform: scale(1.08); }
.hcv-variant-add:focus-visible { outline: 2px solid var(--hcv-dark); outline-offset: 1px; }
.hcv-quick-add-form.is-loading { opacity: .65; }
.hcv-quick-add-form.is-loading .hcv-variant-add { cursor: wait; }
.hcv-quick-add-form.is-added .hcv-variant-add::before { background: var(--hcv-green-dark); }
.hcv-product-unavailable { display: inline-flex; min-height: 44px; align-items: center; color: #747a77; font-size: .76rem; font-weight: 700; }
.hcv-category-pagination { margin-top: 34px; }
.woocommerce-pagination ul.page-numbers {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  list-style: none;
}
.woocommerce-pagination ul.page-numbers li {
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}
.woocommerce-pagination ul.page-numbers li::marker { content: ""; }
.hcv-category-pagination ul.page-numbers a, .hcv-category-pagination ul.page-numbers span { min-width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--hcv-border); }
.hcv-category-pagination ul.page-numbers span.current { color: #fff; background: var(--hcv-green); border-color: var(--hcv-green); }

/* Dutchie-style desktop category layout and filter rail */
.hcv-category-layout, .hcv-category-main { min-width: 0; }
[data-hcv-catalog-root] { position: relative; transition: opacity .16s ease; }
[data-hcv-catalog-root].is-loading { opacity: .48; pointer-events: none; }
[data-hcv-catalog-root].is-loading::after { content: ""; position: fixed; z-index: 50; top: 50%; left: 50%; width: 34px; height: 34px; margin: -17px 0 0 -17px; border: 3px solid rgba(34,150,90,.2); border-top-color: var(--hcv-green); border-radius: 50%; animation: hcv-catalog-spin .7s linear infinite; }
@keyframes hcv-catalog-spin { to { transform: rotate(360deg); } }
.hcv-category-sidebar { display: none; }
.hcv-category-title__desktop { display: none; }
.hcv-category-title__mobile { display: inline; }
.hcv-view-switch { display: none; }
.hcv-sidebar-section { border-bottom: 1px solid #d7dfe3; }
.hcv-sidebar-section h2 { margin: 0 0 17px; color: #2f3c38; font-size: .67rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.hcv-sidebar-hint { margin: -7px 0 16px; color: #4f5c57; font-size: .72rem; }
.hcv-sidebar-options { margin: 0; padding: 0; display: grid; gap: 8px; list-style: none; }
.hcv-sidebar-check, .hcv-sidebar-link { min-height: 24px; display: flex; align-items: center; gap: 10px; color: #30403a; font-size: .75rem; line-height: 1.25; text-decoration: none; }
.hcv-sidebar-check input { position: absolute; opacity: 0; pointer-events: none; }
.hcv-sidebar-check span::before, .hcv-sidebar-link > span { content: ""; flex: 0 0 15px; width: 15px; height: 15px; display: inline-block; border: 1px solid #cbd6dc; border-radius: 2px; background: #fff; vertical-align: -2px; }
.hcv-sidebar-check span::before { margin-right: 9px; }
.hcv-sidebar-check input:checked + span::before, .hcv-sidebar-link.is-active > span { border-color: var(--hcv-green); background: var(--hcv-green); box-shadow: inset 0 0 0 3px #fff; }
.hcv-sidebar-check input:focus-visible + span::before, .hcv-sidebar-link:focus-visible > span { outline: 2px solid var(--hcv-dark); outline-offset: 2px; }
.hcv-sidebar-check.is-extra { display: none; }
.hcv-sidebar-section.is-expanded .hcv-sidebar-check.is-extra { display: flex; }
.hcv-sidebar-section.is-searching .hcv-sidebar-check.is-extra { display: flex; }
.hcv-sidebar-check--stock { margin-top: 15px; }
.hcv-weight-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 10px; }
.hcv-weight-options label { cursor: pointer; }
.hcv-weight-options input { position: absolute; opacity: 0; pointer-events: none; }
.hcv-weight-options span { min-height: 35px; padding: 6px 5px; display: grid; place-items: center; border: 1px solid #c9d5dc; border-radius: 4px; color: #32423c; background: #fff; font-size: .7rem; line-height: 1; }
.hcv-weight-options input:checked + span { color: #fff; background: var(--hcv-green); border-color: var(--hcv-green); }
.hcv-weight-options input:focus-visible + span { outline: 2px solid var(--hcv-dark); outline-offset: 2px; }
.hcv-brand-search, .hcv-sidebar-search { width: 100%; height: 34px; margin: 0 0 13px; padding: 0 10px; display: flex; align-items: center; gap: 7px; border: 1px solid #c8d4da; border-radius: 999px; background: #fff; transition: border-color .18s ease, box-shadow .18s ease; }
.hcv-brand-search:focus-within, .hcv-sidebar-search:focus-within { border-color: var(--hcv-green); box-shadow: 0 0 0 3px rgba(34,150,90,.12); }
.hcv-brand-search > span, .hcv-sidebar-search > span { width: 14px; height: 14px; position: relative; flex: none; border: 1.5px solid #778982; border-radius: 50%; }
.hcv-brand-search > span::after, .hcv-sidebar-search > span::after { content: ""; position: absolute; right: -4px; bottom: -2px; width: 6px; height: 1.5px; background: #778982; transform: rotate(45deg); }
.hcv-brand-search input, .hcv-sidebar-search input { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; color: #394741; background: transparent; font-size: .72rem; }
input.hcv-sidebar-search { display: block; height: 38px; padding: 0 12px; }
.hcv-sidebar-clear-filters { width: 100%; min-height: 35px; margin-top: -3px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--hcv-green); border-radius: 999px; color: var(--hcv-green-dark) !important; background: #fff; font-size: .7rem; font-weight: 800; line-height: 1.2; text-decoration: none; transition: color .18s ease, background-color .18s ease, box-shadow .18s ease; }
.hcv-sidebar-clear-filters:hover { color: #fff !important; background: var(--hcv-green); }
.hcv-sidebar-clear-filters:focus-visible { outline: 2px solid var(--hcv-dark); outline-offset: 2px; }
.hcv-sidebar-price-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.hcv-sidebar-price-grid label { min-width: 0; display: grid; gap: 6px; color: #56645e; font-size: .66rem; font-weight: 700; }
.hcv-sidebar-price-grid input { width: 100%; min-width: 0; height: 36px; padding: 6px 8px; border: 1px solid #c9d5dc; border-radius: 5px; color: #32423c; background: #fff; font: 600 .7rem/1.2 Poppins, sans-serif; }
.hcv-sidebar-price-grid input:focus { border-color: var(--hcv-green); outline: 3px solid rgba(34,150,90,.12); }
.hcv-sidebar-price-grid input::-webkit-outer-spin-button, .hcv-sidebar-price-grid input::-webkit-inner-spin-button { margin: 0; }
.hcv-filter-more { margin-top: 10px; padding: 0; border: 0; color: #39a900; background: transparent; font-size: .72rem; cursor: pointer; }
.hcv-potency-range { min-width: 0; margin: 0 0 26px; padding: 0; border: 0; }
.hcv-potency-range:last-child { margin-bottom: 0; }
.hcv-potency-range legend { width: 100%; margin: 0 0 9px; color: #31413b; font-size: .7rem; }
.hcv-potency-range legend strong { font-weight: 800; }
.hcv-dual-range { position: relative; height: 28px; }
.hcv-dual-range__track { position: absolute; top: 13px; right: 4px; left: 4px; height: 6px; border-radius: 999px; background: linear-gradient(to right, #d6ddda 0 var(--range-min), #39b000 var(--range-min) var(--range-max), #d6ddda var(--range-max) 100%); }
.hcv-dual-range__input { position: absolute; inset: 0; width: 100%; height: 28px; margin: 0; appearance: none; pointer-events: none; background: transparent; }
.hcv-dual-range__input::-webkit-slider-runnable-track { height: 6px; background: transparent; }
.hcv-dual-range__input::-moz-range-track { height: 6px; background: transparent; }
.hcv-dual-range__input::-webkit-slider-thumb { width: 18px; height: 18px; margin-top: -6px; appearance: none; border: 1px solid #8d9a95; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 4px #f7f8f8; pointer-events: auto; cursor: grab; }
.hcv-dual-range__input::-moz-range-thumb { width: 18px; height: 18px; border: 1px solid #8d9a95; border-radius: 50%; background: #fff; pointer-events: auto; cursor: grab; }
.hcv-dual-range__input.is-min { z-index: 2; }
.hcv-dual-range__input.is-max { z-index: 3; }
.hcv-mobile-weight-filter { margin: 0; padding: 0; border: 0; }
.hcv-mobile-weight-filter legend { margin-bottom: 7px; color: var(--hcv-dark); font-size: .75rem; font-weight: 700; }
.hcv-category-filter-panel .hcv-potency-range { align-self: end; margin-bottom: 0; }
.hcv-category-filter-panel select[multiple] { min-height: 132px; padding-block: 7px; }
.hcv-view-switch a { min-height: 38px; padding: 5px 8px; display: inline-flex; align-items: center; gap: 7px; border-radius: 8px; color: #7b8781 !important; font-size: .78rem; font-weight: 700; text-decoration: none; }
.hcv-view-switch a.is-active { color: var(--hcv-green-dark) !important; background: #edf5f0; }
.hcv-view-icon { width: 18px; height: 16px; display: grid; gap: 3px; }
.hcv-view-icon--list { grid-template-rows: repeat(3, 1fr); }
.hcv-view-icon--list i { display: block; border-radius: 2px; background: currentColor; }
.hcv-view-icon--cards { grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); gap: 2px; }
.hcv-view-icon--cards i { display: block; border: 1px solid currentColor; border-radius: 1px; }
.hcv-sidebar-actions { position: sticky; bottom: 0; z-index: 2; padding: 16px 0; display: grid; gap: 10px; background: #fff; }
.hcv-sidebar-actions .hcv-button { width: 100%; min-height: 42px; padding: 9px 14px; font-size: .72rem; }
.hcv-sidebar-actions > a { justify-self: center; font-size: .7rem; font-weight: 700; }

@media (min-width: 1051px) {
  .hcv-category-page { padding-bottom: 110px; }
  .hcv-category-shell { width: min(calc(100% - 48px), 1200px); }
  .hcv-category-status { display: none; }
  .hcv-category-layout { display: grid; grid-template-columns: 192px minmax(0, 1fr); column-gap: 39px; padding-top: 46px; }
  .hcv-category-sidebar { display: block; border-right: 1px solid #cbd4d9; }
  .hcv-sidebar-filters { position: sticky; top: calc(var(--hcv-sticky-header-offset) + 16px); max-height: calc(100dvh - var(--hcv-sticky-header-offset) - 32px); padding-right: 15px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #c9d2ce transparent; }
  .hcv-sidebar-section { padding: 31px 0 29px; }
  .hcv-sidebar-section:first-child { padding-top: 4px; }
  .hcv-category-main { display: grid; grid-template-columns: minmax(170px, 1fr) auto; align-content: start; }
  .hcv-category-heading { grid-column: 1; grid-row: 1; min-height: 79px; margin: 0; display: flex; align-items: center; border-bottom: 1px solid #dde3e5; }
  .hcv-category-title { font-size: 1.42rem; }
  .hcv-category-title::before { content: "‹"; margin-right: 12px; color: #81908a; font-size: 1.45rem; font-weight: 400; }
  .hcv-category-title__desktop { display: inline; }
  .hcv-category-title__mobile { display: none; }
  .hcv-category-description { display: none; }
  .hcv-category-tabs { display: none; }
  .hcv-store-color-guide { grid-column: 1 / -1; margin: 22px 0 7px; }
  .hcv-category-controls { grid-column: 2; grid-row: 1; align-self: stretch; }
  .hcv-category-toolbar { min-height: 79px; grid-template-columns: auto auto; justify-content: end; gap: 8px; border-bottom-color: #dde3e5; }
  .hcv-category-sort { font-size: .8rem; }
  .hcv-category-sort select { max-width: 180px; font-size: .8rem; }
  .hcv-view-switch { display: flex; align-items: center; margin-left: 5px; }
  .hcv-category-filter-toggle { display: none; }
  .hcv-category-filter-panel { display: none !important; }
  .hcv-category-results { grid-column: 1 / -1; }
  .hcv-category-result-count { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
  .hcv-view--list .hcv-catalog-product { min-height: 166px; grid-template-columns: 106px minmax(220px, 1fr) minmax(290px, 400px); column-gap: 28px; align-items: center; padding: 30px 0; }
  .hcv-view--list .hcv-catalog-product__media { width: 104px; height: 104px; }
  .hcv-view--list .hcv-catalog-product__media-stack { width:104px; height:104px; }
  .hcv-view--list .hcv-catalog-product__identity { padding: 0 46px 0 0; }
  .hcv-view--list .hcv-catalog-product__identity > .hcv-favorite-button.is-compact { top: 50%; transform: translateY(-50%); }
  .hcv-view--list .hcv-catalog-product__title { font-size: .9rem; }
  .hcv-view--list .hcv-catalog-product__brand, .hcv-view--list .hcv-catalog-product__facts { font-size: .68rem; }
  .hcv-view--list .hcv-catalog-product__facts { margin-top: 8px; }
  .hcv-view--list .hcv-catalog-product__strain { padding: 4px 8px; }
  .hcv-view--list .hcv-product-effects { margin-top: 7px; }
  .hcv-view--list .hcv-product-effect { min-height: 21px; padding: 3px 7px; font-size: .58rem; }
  .hcv-view--list .hcv-variant-scroller { grid-column: 3; margin: 0; padding: 14px 14px 3px 0; overflow: visible; }
  .hcv-view--list .hcv-variant-track { width: auto; min-width: 0; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
  .hcv-view--list .hcv-variant-track::before { display: none; }
  .hcv-view--list .hcv-variant-tile { flex-basis: 72px; min-height: 68px; padding: 12px 5px 8px; }
  .hcv-view--list .hcv-variant-size { font-size: .63rem; }
  .hcv-view--list .hcv-variant-price { font-size: .83rem; }
  .hcv-view--list .hcv-variant-add { top: -15px; right: -12px; width: 38px; height: 38px; }
  .hcv-view--list .hcv-variant-add::before { inset: 7px; }
  .hcv-view--list .hcv-variant-add span { font-size: 1.15rem; }
  .hcv-view--cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding-top: 24px; }
  .hcv-view--cards .hcv-catalog-product { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; isolation: isolate; padding: 0 0 18px; overflow: hidden; border: 1px solid #dfe5e2; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(0,35,24,.055); }
  .hcv-view--cards .hcv-catalog-product__media { position: relative; z-index: 0; width: 100%; height: auto; min-height: 220px; aspect-ratio: 4 / 3; padding: 20px; display: grid; place-items: center; overflow: hidden; background: #f8faf9; }
  .hcv-view--cards .hcv-catalog-product__media-stack { width:100%; height:auto; align-self:stretch; }
  .hcv-view--cards .hcv-catalog-product__media img { position: static !important; width: 100% !important; height: 100% !important; max-height: 230px; object-fit: contain; transform: none !important; }
  .hcv-view--cards .hcv-catalog-product__identity { position: relative; z-index: 1; min-height: 0; padding: 17px 58px 0 18px; background: #fff; }
  .hcv-view--cards .hcv-catalog-product__identity.has-color-label { grid-template-columns: 72px minmax(0, 1fr); column-gap: 12px; }
  .hcv-view--cards .hcv-catalog-product__identity.has-color-label > .hcv-color-label-mark--catalog { width: 72px; height: 72px; }
  .hcv-view--cards .hcv-catalog-product__identity > .hcv-favorite-button.is-compact { top: 14px; right: 14px; transform: none; }
  .hcv-view--cards .hcv-catalog-product__title { font-size: .9rem; }
  .hcv-view--cards .hcv-catalog-product > .hcv-product-effects { grid-column: 1; margin: 9px 18px 0; }
  .hcv-view--cards .hcv-catalog-product__identity .hcv-product-effects { margin-top: 9px; }
  .hcv-view--cards .hcv-variant-scroller { grid-column: 1; margin-top: 14px; padding: 15px 24px 3px 18px; }
  .hcv-view--cards .hcv-variant-track::before { display: none; }
  .hcv-view--cards .hcv-variant-tile { flex-basis: 94px; min-height: 70px; }
}

@media (prefers-reduced-motion: reduce) {
  [data-hcv-catalog-root] { transition: none; }
  [data-hcv-catalog-root].is-loading::after { animation: none; }
}

/* Homepage sections */
.hcv-story { padding-block: 84px 92px; background: #fff; }
.hcv-story-grid { align-items: center; grid-template-columns: 1.05fr .95fr; gap: clamp(42px, 8vw, 100px); }
.hcv-story-media { position: relative; min-height: 540px; overflow: visible; }
.hcv-story-media__main { width: 82%; height: 500px; object-fit: cover; border-radius: 38% 62% 56% 44% / 45% 42% 58% 55%; box-shadow: var(--hcv-shadow); }
.hcv-story-media__accent { position: absolute; right: 0; bottom: 0; width: 48%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center; border: 8px solid #fff; border-radius: 50%; box-shadow: var(--hcv-shadow); }
.hcv-nug { position: absolute; width: clamp(100px, 12vw, 190px); filter: drop-shadow(0 22px 22px rgba(0,0,0,.16)); pointer-events: none; }
.hcv-nug--one { right: -20px; top: 22px; transform: rotate(15deg); }
.hcv-nug--two { left: -55px; bottom: -5px; transform: rotate(-12deg); }
.hcv-awards { color: #fff; background: radial-gradient(circle at 88% 12%, rgba(34,150,90,.25), transparent 34%), var(--hcv-dark); }
.hcv-awards h2, .hcv-awards h3 { color: #fff; }
.hcv-awards .hcv-kicker { color: #b9db8d; }
.hcv-awards__intro { max-width: 780px; color: rgba(255,255,255,.8); }
.hcv-award-row { margin-top: 36px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 24px; }
.hcv-award-card { min-width: 0; display: flex; overflow: hidden; flex-direction: column; border: 1px solid rgba(255,255,255,.16); border-radius: 24px; background: rgba(255,255,255,.075); box-shadow: 0 18px 46px rgba(0,0,0,.15); }
.hcv-award-card__media { position: relative; isolation: isolate; aspect-ratio: 16 / 10; overflow: hidden; background: rgba(255,255,255,.08); }
.hcv-award-card__media::after { position: absolute; z-index: 1; inset: 42% 0 0; background: linear-gradient(180deg, transparent, rgba(0,35,24,.62)); content: ""; pointer-events: none; }
.hcv-award-card__photo { width: 100%; height: 100%; display: block; object-fit: cover; }
.hcv-award-card__media--storefront .hcv-award-card__photo { object-position: center 52%; }
.hcv-award-card__media--interior .hcv-award-card__photo { object-position: center; }
.hcv-award-card__media--grow-room .hcv-award-card__photo { object-position: center 48%; }
.hcv-award-card__badge { position: absolute; z-index: 2; right: 18px; bottom: 16px; width: 72px; height: 78px; display: grid; place-items: center; padding: 7px; border: 1px solid rgba(255,255,255,.58); border-radius: 15px; background: rgba(255,255,255,.92); box-shadow: 0 12px 28px rgba(0,0,0,.26); }
.hcv-award-card__badge img { width: 100%; height: 100%; display: block; object-fit: contain; }
.hcv-award-card__body { flex: 1; padding: 26px 28px 29px; }
.hcv-award-card__metric { margin: 0 0 10px; color: #b9db8d; font-size: clamp(1.75rem, 2.5vw, 2.375rem); line-height: 1.03; }
.hcv-award-card h3 { margin-bottom: 14px; font-size: 1.3rem; }
.hcv-award-card ul { margin: 0; padding: 0; display: grid; gap: 8px; color: rgba(255,255,255,.76); font-size: .88rem; list-style: none; }
.hcv-award-card li::before { margin-right: 9px; color: #80b44f; content: "✓"; }
.hcv-features { padding-block: 78px; }
.hcv-feature-card { height: 100%; padding: 32px; display: flex; flex-direction: column; border-radius: 24px; background: #fff; border: 1px solid var(--hcv-border); box-shadow: 0 14px 36px rgba(0,35,24,.07); }
.hcv-feature-card__number { width: 46px; height: 46px; margin-bottom: 20px; display: grid; place-items: center; border-radius: 50%; background: var(--hcv-mint); color: var(--hcv-dark); font-weight: 800; }
.hcv-feature-card h3 { margin: 0; }
.hcv-feature-card__media { width: 100%; aspect-ratio: 3 / 2; margin: 20px 0 22px; overflow: hidden; border-radius: 18px; background: var(--hcv-mint); box-shadow: 0 10px 25px rgba(0,35,24,.1); }
.hcv-feature-card__media img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .6s ease; }
.hcv-feature-card__media--grow-room img { object-position: center 52%; }
.hcv-feature-card__media--budtenders img { object-position: center; }
.hcv-feature-card__media--cannabis-variety img { object-position: center; }
.hcv-feature-card:hover .hcv-feature-card__media img { transform: scale(1.035); }
.hcv-feature-card > p:last-child { margin: 0; color: #496058; }
.hcv-grow { padding-block: 82px; background: var(--hcv-mint); }
.hcv-grow-media { min-height: 520px; border-radius: 34px; background-size: cover; background-position: center; box-shadow: var(--hcv-shadow); }
.hcv-products { padding-block: 76px; }
.hcv-location { padding-block: 82px; color: #fff; background: var(--hcv-purple); }
.hcv-posts { padding-block: 76px; }
.hcv-location h2, .hcv-location h3 { color: #fff; }
.hcv-location-grid { grid-template-columns: 1fr .9fr; align-items: center; gap: 70px; }
.hcv-location-card { padding: 34px; border: 1px solid rgba(255,255,255,.2); border-radius: 28px; background: rgba(255,255,255,.1); }
.hcv-location-card dl { margin: 0; display: grid; grid-template-columns: 110px 1fr; gap: 13px 20px; }
.hcv-location-card dt { color: rgba(255,255,255,.65); font-weight: 700; }
.hcv-location-card dd { margin: 0; }
.hcv-blog-card { overflow: hidden; border-radius: 24px; background: #fff; border: 1px solid var(--hcv-border); }
.hcv-blog-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.hcv-blog-card__body { padding: 25px; }
.hcv-blog-card h3 { font-size: 1.22rem; }
.hcv-blog-card a { color: inherit; text-decoration: none; }
.hcv-blog-meta { margin-bottom: 10px; color: var(--hcv-green-dark); font-size: .75rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }

/* General content */
.hcv-page-hero { padding: 92px 0 70px; color: #fff; background: var(--hcv-dark); }
.hcv-page-hero h1 { color: #fff; font-size: clamp(2.5rem, 6vw, 5rem); }
.hcv-page-content { width: min(calc(100% - 40px), 920px); margin: 0 auto; padding: 70px 0 110px; }
.hcv-page-content > * { max-width: 100%; }
.hcv-page-content h2 { margin-top: 1.5em; font-size: clamp(1.8rem, 4vw, 3rem); }
.hcv-page-content h3 { margin-top: 1.4em; }
.hcv-page-content img { border-radius: 22px; }
.hcv-page-content .wp-block-image, .hcv-page-content figure { margin: 32px 0; }
.hcv-post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hcv-pagination { margin-top: 50px; }

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb { margin: 0 0 30px; color: var(--hcv-muted); }
.woocommerce .woocommerce-breadcrumb a { color: var(--hcv-green-dark); }
.hcv-shop-shell { padding: 64px 0 110px; }
.hcv-shop-shell.hcv-category-page, .hcv-store-page .hcv-shop-shell.hcv-store-catalog-page { padding-top: 0; background: #fff; }
.hcv-shop-header { padding: 55px 0; color: #fff; background: var(--hcv-dark); }
.hcv-shop-header h1 { color: #fff; font-size: clamp(2.6rem, 6vw, 5.2rem); }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; padding: 0 0 24px; overflow: hidden; border: 1px solid var(--hcv-border); border-radius: 24px; background: #fff; box-shadow: 0 12px 30px rgba(0,35,24,.07); }
.woocommerce ul.products li.product a img { margin: 0 0 20px; aspect-ratio: 1/1; object-fit: cover; background: var(--hcv-cream); }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button { margin-inline: 20px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 3em; padding: 0; color: var(--hcv-dark); font-size: 1rem; }
.woocommerce ul.products li.product .price { color: var(--hcv-green-dark); font-size: 1.05rem; font-weight: 800; }
.hcv-loop-product-meta { min-height: 46px; margin: 0 20px 13px; display: grid; align-content: start; gap: 3px; }
.hcv-loop-product-brand { color: var(--hcv-muted); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.hcv-loop-product-facts { color: #4b5e55; font-size: .72rem; font-weight: 600; line-height: 1.35; }
.woocommerce span.onsale { min-width: auto; min-height: auto; padding: 8px 12px; left: 14px; top: 14px; border-radius: 999px; background: var(--hcv-purple); line-height: 1; }
.woocommerce .hcv-elementor-current-product > div.product.type-product,
.woocommerce .hcv-shop-shell > .hcv-container > div.product.type-product { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 7vw, 90px); }
.woocommerce .hcv-elementor-current-product > div.product.type-product .woocommerce-product-gallery,
.woocommerce .hcv-elementor-current-product > div.product.type-product .summary,
.woocommerce .hcv-shop-shell > .hcv-container > div.product.type-product .woocommerce-product-gallery,
.woocommerce .hcv-shop-shell > .hcv-container > div.product.type-product .summary { width: auto; float: none; }
.woocommerce .hcv-elementor-current-product > div.product.type-product .woocommerce-product-gallery__wrapper,
.woocommerce .hcv-shop-shell > .hcv-container > div.product.type-product .woocommerce-product-gallery__wrapper { overflow: hidden; border-radius: 28px; background: var(--hcv-cream); }
.woocommerce .hcv-elementor-current-product > div.product.type-product .product_title { font-size: clamp(2.35rem, 4vw, 4.3rem); line-height: 1.04; }
.woocommerce .hcv-elementor-current-product > div.product.type-product p.price,
.woocommerce .hcv-elementor-current-product > div.product.type-product span.price,
.woocommerce .hcv-shop-shell > .hcv-container > div.product.type-product p.price,
.woocommerce .hcv-shop-shell > .hcv-container > div.product.type-product span.price { color: var(--hcv-green-dark); font-size: 1.7rem; font-weight: 800; }
.woocommerce-product-details__short-description { color: #45564e; }
.hcv-product-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.hcv-product-badge { padding: 7px 11px; border-radius: 999px; background: #e8f5eb; color: var(--hcv-dark); font-size: .76rem; font-weight: 700; }
.hcv-product-effects { min-width: 0; margin: 18px 0 24px; }
.hcv-product-effects > strong { display: block; margin-bottom: 8px; color: var(--hcv-dark); font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
.hcv-product-effects__heading { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.hcv-product-effects__label { display: block; margin: 0 0 6px; color: #58665f; font-size: .7rem; font-weight: 800; letter-spacing: .075em; line-height: 1.2; text-transform: uppercase; }
.hcv-product-effects .hcv-product-badges { margin: 0; }
.hcv-product-badge--effect { background: #f0ebf6; color: var(--hcv-purple); }
.hcv-product-effects__list { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.hcv-product-effect { max-width: 100%; min-height: 26px; margin: 0 5px 5px 0; padding: 4px 9px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid #d9cee5; border-radius: 999px; color: #56366d; background: #f5f0fa; font-size: .68rem; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; vertical-align: middle; }
.hcv-effect-icon { flex: 0 0 auto; width: 15px; height: 15px; display: block; overflow: visible; }
.hcv-product-effect__name { min-width: 0; }
.hcv-product-effects__list > .hcv-product-effect { margin: 0; }
a.hcv-product-effect { text-decoration: none; transition: color .18s ease, border-color .18s ease, background-color .18s ease; }
a.hcv-product-effect:hover { border-color: #9f83b5; color: #3f2254; background: #eee5f5; }
a.hcv-product-effect:focus-visible { outline: 2px solid var(--hcv-dark); outline-offset: 2px; }
.hcv-catalog-product .hcv-product-effects { min-width: 0; margin: 8px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.hcv-catalog-product .hcv-product-effects__list { gap: 5px; }
.hcv-catalog-product .hcv-product-effects__label, .woocommerce ul.products li.product .hcv-product-effects__label { flex: 0 0 100%; margin-bottom: 1px; color: #68756f; font-size: .57rem; letter-spacing: .06em; }
.hcv-catalog-product .hcv-product-effect { min-height: 22px; margin: 0; padding: 3px 7px; font-size: .61rem; }
.hcv-catalog-product > .hcv-product-effects { grid-column: 2; }
.woocommerce ul.products li.product .hcv-product-effects { width: auto; min-width: 0; margin: 0 20px 13px; display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.woocommerce ul.products li.product .hcv-product-effects__list { gap: 5px; }
.woocommerce ul.products li.product .hcv-product-effect { min-height: 23px; margin: 0; padding: 3px 7px; font-size: .62rem; }
.woocommerce ul.products li.product .hcv-loop-product-meta .hcv-product-effects { margin: 4px 0 0; }
.hcv-product-effects--single .hcv-product-effects__list { width: min(100%, 470px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.hcv-product-effects--single .hcv-product-effect { min-height: 58px; margin: 0; padding: 12px 15px; justify-content: flex-start; gap: 12px; border-color: #e3e8e5; border-radius: 11px; color: #52635b; background: #f4f6f5; font-size: .8rem; }
.hcv-product-effects--single .hcv-effect-icon { width: 25px; height: 25px; color: #63766d; stroke-width: 1.55; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce select, .select2-container--default .select2-selection--single { min-height: 50px; padding: 10px 14px; border: 1px solid #cddbd4; border-radius: 12px; background: #fff; }
.woocommerce table.shop_table { border-color: var(--hcv-border); border-radius: 18px; }
.woocommerce-checkout #customer_details { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: auto; float: none; }
.woocommerce-checkout form.checkout { width: min(100%, 1180px); margin-inline: auto; }
.woocommerce-checkout #customer_details { align-items: start; }
.woocommerce-checkout #customer_details::before,
.woocommerce-checkout #customer_details::after { content: none !important; display: none !important; }
.woocommerce-checkout #customer_details > .col-1,
.woocommerce-checkout #customer_details > .col-2 {
  min-width: 0;
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid #d8e4de;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(0,35,24,.055);
}
.woocommerce-checkout #customer_details h3 { margin: 0 0 24px; color: var(--hcv-dark); font-size: clamp(1.55rem, 2.2vw, 2rem); line-height: 1.12; }
.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #billing_state_field { display: none !important; }
.woocommerce-checkout #customer_details .form-row { margin: 0 0 18px; padding: 0; }
.woocommerce-checkout #customer_details .form-row:last-child { margin-bottom: 0; }
.woocommerce-checkout #customer_details .form-row label { margin-bottom: 7px; color: #203c34; font-size: .86rem; font-weight: 750; line-height: 1.35; }
.woocommerce-checkout #customer_details input.input-text,
.woocommerce-checkout #customer_details textarea,
.woocommerce-checkout #customer_details select,
.woocommerce-checkout #customer_details .select2-selection--single {
  width: 100%;
  min-height: 52px;
  padding: 11px 14px;
  border: 1px solid #c8d8d0;
  border-radius: 12px;
  background: #fff;
  color: #17372d;
  font-size: 16px;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.woocommerce-checkout #customer_details input.input-text:focus,
.woocommerce-checkout #customer_details textarea:focus,
.woocommerce-checkout #customer_details select:focus {
  border-color: var(--hcv-green-dark);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(34,150,90,.14);
}
.woocommerce-checkout #order_comments { min-height: 118px !important; resize: vertical; }
.woocommerce-checkout #hcv-compliance-fields { margin-top: 28px; padding-top: 28px; border-top: 1px solid #e0e9e4; }
.woocommerce-checkout #hcv-compliance-fields > h3 { margin-bottom: 14px; }
.woocommerce-checkout #order_review_heading { margin: 46px 0 18px; color: var(--hcv-dark); font-size: clamp(1.65rem, 2.4vw, 2.15rem); }
.woocommerce-checkout #order_review {
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid #d8e4de;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(0,35,24,.055);
}
.woocommerce-checkout #order_review table.shop_table { margin-top: 0; }

@media (max-width: 900px) {
  .woocommerce-checkout #customer_details { grid-template-columns: 1fr; gap: 22px; }
}

@media (max-width: 600px) {
  .woocommerce-checkout #customer_details > .col-1,
  .woocommerce-checkout #customer_details > .col-2,
  .woocommerce-checkout #order_review { padding: 22px 18px; border-radius: 18px; }
  .woocommerce-checkout #customer_details .form-row-first,
  .woocommerce-checkout #customer_details .form-row-last { width: 100%; float: none; }
  .woocommerce-checkout #order_review_heading { margin-top: 32px; }
}
.hcv-stale-notice { margin: 20px 0; padding: 16px 20px; border-radius: 14px; background: #fff2d8; color: #5f4308; font-weight: 600; }

/* Safe fallback for any Elementor entrance target its frontend observer misses. */
.elementor-invisible.hcv-motion-fallback {
  visibility: visible !important;
  opacity: 0;
  translate: 0 18px;
}
.hcv-motion-fallback.hcv-motion-visible {
  visibility: visible !important;
  opacity: 1;
  translate: none;
  transition: opacity .72s cubic-bezier(.22,.61,.36,1), translate .72s cubic-bezier(.22,.61,.36,1);
}

/* Footer */
.elementor-location-footer .elementor-icon-list-items,
body > footer[data-elementor-type="footer"] .elementor-icon-list-items { margin-left: 0 !important; padding-left: 0 !important; list-style: none !important; }
.elementor-location-footer .elementor-icon-list-item,
body > footer[data-elementor-type="footer"] .elementor-icon-list-item { list-style: none !important; }
.elementor-location-footer .elementor-icon-list-item::marker,
body > footer[data-elementor-type="footer"] .elementor-icon-list-item::marker { content: ""; font-size: 0; }
.hcv-site-footer { color: rgba(255,255,255,.78); background: var(--hcv-dark); }
.hcv-footer-main { padding: 76px 0 50px; display: grid; grid-template-columns: 1.2fr .8fr .8fr .9fr; gap: 44px; }
.hcv-footer-logo { width: 190px; filter: brightness(0) invert(1); }
.hcv-site-footer h3 { color: #fff; font-size: .88rem; letter-spacing: .12em; text-transform: uppercase; }
.hcv-site-footer a { color: rgba(255,255,255,.85); text-decoration: none; }
.hcv-site-footer ul { margin: 0; padding: 0; list-style: none; }
.hcv-site-footer li { margin-bottom: 8px; }
.hcv-footer-instagram { display: inline-flex; align-items: center; gap: 8px; }
.hcv-footer-instagram svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hcv-footer-bottom { padding: 22px 0; border-top: 1px solid rgba(255,255,255,.12); font-size: .78rem; }
.hcv-footer-bottom .hcv-container { display: flex; justify-content: space-between; gap: 30px; }

/* Age gate */
.hcv-age-gate { position: fixed; inset: 0; z-index: 99999; display: none; place-items: center; padding: 20px; overflow-y: auto; overscroll-behavior: contain; background: rgba(0,35,24,.96); }
.hcv-age-gate.is-visible { display: grid; }
html.hcv-age-verified .hcv-age-gate { display: none; }
.hcv-age-gate-open { overflow: hidden; }
.hcv-age-gate__card { width: min(100%, 560px); padding: clamp(34px, 6vw, 58px); border-radius: 30px; background: #fff; text-align: center; box-shadow: 0 30px 100px rgba(0,0,0,.35); }
.hcv-age-gate__card img { width: 220px; margin-bottom: 26px; }
.hcv-age-gate__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hcv-age-gate__declined { color: #8b241e; }

@media (max-width: 1050px) {
  .hcv-primary-nav, .hcv-header-cta { display: none; }
  .hcv-header-inner { gap: 8px; }
  .hcv-header-inner > .hcv-header-product-search { flex: 0 0 46px; margin-left: auto; }
  .hcv-menu-toggle { flex: 0 0 46px; display: block; margin-left: 0; order: 5; }
  .hcv-header-inner > .hcv-cart-link { flex: 0 0 46px; }
  .hcv-primary-nav.is-open { position: absolute; top: 100%; right: 0; left: 0; height: calc(100dvh - 96px); display: block; padding: 28px 24px 44px; overflow-y: auto; overscroll-behavior: contain; background: #fff; border-top: 1px solid var(--hcv-border); }
  .hcv-primary-nav.is-open ul { display: grid; gap: 7px; }
  .hcv-primary-nav.is-open a { display: block; padding: 12px; font-size: 1.1rem; }
  .hcv-primary-nav.is-open .sub-menu { position: static; width: auto; margin-left: 20px; padding: 0 0 6px; display: grid; opacity: 1; visibility: visible; transform: none; box-shadow: none; }
  .hcv-category-grid, .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hcv-menu-filters__primary { grid-template-columns: minmax(240px, 1.4fr) minmax(170px, .8fr); }
  .hcv-menu-filter-submit { width: max-content; }
  .hcv-menu-filters__advanced-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hcv-award-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hcv-award-card:last-child { grid-column: 1 / -1; }
  .hcv-award-card:last-child .hcv-award-card__media { aspect-ratio: 21 / 8; }
  .hcv-features .hcv-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hcv-features .hcv-feature-card:last-child { width: calc(50% - 12px); grid-column: 1 / -1; justify-self: center; }
  .hcv-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 782px) {
  .admin-bar .hcv-site-header,
  .admin-bar .elementor-location-header,
  .admin-bar > header[data-elementor-type="header"] { top: 46px; }
}

@media (max-width: 600px) {
  .admin-bar .hcv-site-header,
  .admin-bar .elementor-location-header,
  .admin-bar > header[data-elementor-type="header"] { top: 0; }
}

@media (max-width: 760px) {
  .hcv-container { width: min(calc(100% - 28px), var(--hcv-container)); }
  .hcv-grid--2, .hcv-grid--3, .hcv-grid--4, .hcv-story-grid, .hcv-location-grid, .woocommerce .hcv-elementor-current-product > div.product.type-product, .woocommerce .hcv-shop-shell > .hcv-container > div.product.type-product, .woocommerce-checkout #customer_details { grid-template-columns: 1fr; }
  .hcv-header-inner { min-height: 82px; gap: 12px; }
  .hcv-logo { width: 146px; }
  .elementor-location-header .hcv-header-logo,
  body > header[data-elementor-type="header"] .hcv-header-logo { flex-basis: 150px; width: 150px; min-width: 150px; overflow: visible; }
  .elementor-location-header.is-scrolled .hcv-header-logo,
  body > header[data-elementor-type="header"].is-scrolled .hcv-header-logo { flex-basis: 142px; width: 142px; min-width: 142px; }
  .hcv-primary-nav.is-open { height: calc(100dvh - 82px); }
  .hcv-hero { min-height: 670px; }
  .hcv-home-hero { min-height: 540px; background-position: 92% center !important; }
  .hcv-hero::before { background: linear-gradient(180deg, rgba(0,35,24,.55), rgba(0,35,24,.93)); }
  .hcv-hero-note { display: grid; gap: 4px; }
  .hcv-section-heading { display: block; }
  .hcv-section-heading .hcv-button { margin-top: 18px; }
  .hcv-category-grid, .hcv-post-grid, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .hcv-category-grid { width: min(100%, 560px); margin-inline: auto; }
  .hcv-category-card { min-height: 0; padding: 20px 18px; }
  .hcv-menu-filters__primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hcv-menu-field--search { grid-column: 1 / -1; }
  .hcv-menu-filters__advanced-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hcv-story-media { min-height: 424px; padding: 0 12px 64px 0; }
  .hcv-story-media__main { width: 100%; height: 360px; border-radius: 28px; object-position: center 42%; }
  .hcv-story-media__accent { right: -4px; bottom: 6px; width: clamp(156px, 48vw, 190px); border-width: 7px; }
  .hcv-nug { display: none; }
  .hcv-story { padding-block: 54px 64px; }
  .hcv-awards { padding-block: 52px; }
  .hcv-features { padding-block: 54px; }
  .hcv-grow { padding-block: 56px; }
  .hcv-products { padding-block: 52px; }
  .hcv-location { padding-block: 54px; }
  .hcv-posts { padding-block: 52px; }
  .hcv-award-row { grid-template-columns: 1fr; }
  .hcv-award-card:last-child { grid-column: auto; }
  .hcv-award-card:last-child .hcv-award-card__media { aspect-ratio: 16 / 10; }
  .hcv-award-card__body { padding: 23px 24px 25px; }
  .hcv-award-card__badge { right: 14px; bottom: 13px; width: 66px; height: 72px; }
  .hcv-award-card__metric { font-size: 1.55rem; }
  .hcv-award-card h3 { margin: 0; font-size: 1.1rem; }
  .hcv-award-card ul { margin-top: 11px; gap: 5px; font-size: .8125rem; }
  .hcv-feature-card { padding: 24px; }
  .hcv-features .hcv-feature-card:last-child { width: 100%; grid-column: auto; }
  .hcv-feature-card__media { margin-block: 18px 20px; border-radius: 16px; }
  .hcv-footer-main { grid-template-columns: 1fr; }
  .hcv-footer-bottom .hcv-container { display: grid; }
  .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { float: none; }
  .woocommerce .woocommerce-ordering { margin-bottom: 28px; }
  .hcv-category-shell { width: min(calc(100% - 32px), 760px); }
  .hcv-category-status { min-height: 58px; grid-template-columns: auto auto 1fr auto; gap: 8px; font-size: .73rem; }
  .hcv-category-status__icon { width: 20px; height: 20px; }
  .hcv-category-heading { margin: 34px 0 25px; }
  .hcv-category-title { font-size: 1.5rem; }
  .hcv-category-tab { min-height: 44px; padding-inline: 17px; font-size: .75rem; }
  .hcv-category-toolbar { min-height: 64px; }
  .hcv-category-sort, .hcv-category-filter-toggle { font-size: .9rem; }
  .hcv-category-filter-panel { grid-template-columns: 1fr; padding: 16px; }
  .hcv-category-filter-actions { grid-column: auto; }
  .hcv-catalog-product { grid-template-columns: 92px minmax(0, 1fr); column-gap: 17px; padding: 28px 0 29px; }
  .hcv-catalog-product__media { width: 92px; height: 92px; }
  .hcv-catalog-product__media-stack { width:92px; height:92px; }
  .hcv-catalog-product__title { font-size: 1rem; }
  .hcv-catalog-product__brand, .hcv-catalog-product__facts { font-size: .75rem; }
  .hcv-catalog-product .hcv-product-effects { gap: 4px; margin-top: 7px; }
  .hcv-catalog-product .hcv-product-effects__label { font-size: .54rem; }
  .hcv-catalog-product .hcv-product-effect { min-height: 21px; padding: 3px 6px; font-size: .58rem; }
  .hcv-catalog-product .hcv-effect-icon { width: 13px; height: 13px; }
  .hcv-variant-scroller { grid-column: 2; margin-top: 18px; padding-top: 13px; }
  .hcv-variant-tile { flex-basis: 108px; min-height: 72px; padding-block: 13px 9px; }
  .hcv-variant-price { font-size: 1.08rem; }
}

@media (max-width: 359px) {
  .elementor-location-header .hcv-header-logo,
  body > header[data-elementor-type="header"] .hcv-header-logo { flex-basis: 146px; width: 146px; min-width: 146px; }
  .elementor-location-header.is-scrolled .hcv-header-logo,
  body > header[data-elementor-type="header"].is-scrolled .hcv-header-logo { flex-basis: 138px; width: 138px; min-width: 138px; }
}

@media (max-width: 480px) {
  .hcv-fallback-announcement { gap: 3px 12px; font-size: 8px; letter-spacing: .035em; text-align: center; }
  .hcv-fallback-announcement a:first-child { flex-basis: 100%; }
  .hcv-fallback-announcement .hcv-fallback-account { min-height: 28px; margin: -5px 0; padding: 4px 8px; }
  .hcv-categories { padding-block: 50px; }
  .hcv-section-heading { margin-bottom: 24px; }
  .hcv-section-heading .hcv-lead { font-size: .95rem; }
  .hcv-category-grid, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .hcv-category-grid { width: min(100%, 330px); }
  .hcv-post-grid { grid-template-columns: 1fr; }
  .hcv-category-card { min-height: 0; padding: 16px 14px; border-radius: 16px; }
  .hcv-category-card--sitewide-image { padding: 0; }
  .hcv-category-card--sitewide-image .hcv-category-card__body { padding: 14px 13px; }
  .hcv-category-card h3 { font-size: 1rem; line-height: 1.08; }
  .hcv-category-card__count { display: none; }
  .hcv-category-card img { height: var(--hcv-category-image-height); }
  .hcv-category-view-all { width: min(100%, 330px); margin: 22px auto 0; }
  .hcv-category-view-all .hcv-button { width: 100%; min-width: 0; }
  .hcv-menu-start { padding-block: 42px 48px; }
  .hcv-menu-start__heading, .hcv-shop-products-heading { margin-bottom: 20px; }
  .hcv-menu-filters { padding: 15px; border-radius: 18px; }
  .hcv-menu-filters__primary, .hcv-menu-filters__advanced-grid { grid-template-columns: 1fr; gap: 11px; }
  .hcv-menu-field--search { grid-column: auto; }
  .hcv-menu-filter-submit { width: 100%; }
  .hcv-shop-shell { padding: 44px 0 76px; }
  .woocommerce ul.products li.product { padding-bottom: 12px; border-radius: 16px; }
  .woocommerce ul.products li.product a img { margin-bottom: 11px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .price,
  .woocommerce ul.products li.product .button { margin-inline: 11px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 3.4em; font-size: .8rem; line-height: 1.35; }
  .woocommerce ul.products li.product .price { font-size: .9rem; }
  .woocommerce ul.products li.product .button { width: calc(100% - 22px); min-height: 40px; padding: 8px 7px; font-size: .7rem; text-align: center; }
  .hcv-loop-product-meta { min-height: 43px; margin: 0 11px 9px; }
  .hcv-loop-product-brand { font-size: .59rem; }
  .hcv-loop-product-facts { font-size: .63rem; }
  .woocommerce ul.products li.product .hcv-product-effects { margin: 0 11px 9px; gap: 4px; }
  .woocommerce ul.products li.product .hcv-product-effects__label { font-size: .52rem; }
  .woocommerce ul.products li.product .hcv-product-effect { min-height: 20px; padding: 3px 6px; font-size: .55rem; }
  .woocommerce ul.products li.product .hcv-effect-icon { width: 12px; height: 12px; }
  .woocommerce ul.products li.product .hcv-loop-product-meta .hcv-product-effects { margin: 3px 0 0; }
  .hcv-age-gate__actions { display: grid; }
  .hcv-category-page { padding-bottom: 74px; }
  .hcv-category-status { grid-template-columns: auto auto 1fr; }
  .hcv-category-status__type { grid-column: 3; grid-row: 1; font-size: .68rem; }
  .hcv-category-status > span:nth-last-child(2) { grid-column: 2 / -1; font-size: .69rem; }
  .hcv-category-heading__back { display: none; }
  .hcv-category-description { font-size: .78rem; }
  .hcv-store-color-guide { margin-bottom: 17px; padding: 17px 14px 14px; border-radius: 17px; }
  .hcv-store-color-guide__header { margin-bottom: 13px; grid-template-columns: 1fr; gap: 8px; }
  .hcv-store-color-guide__header h2 { font-size: 1.18rem; }
  .hcv-store-color-guide__header > p { font-size: .66rem; }
  .hcv-store-color-guide__labels { margin-inline: -14px; padding: 1px 14px 9px; display: flex; gap: 8px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-padding-inline: 14px; scroll-snap-type: x proximity; scrollbar-width: none; }
  .hcv-store-color-guide__labels::-webkit-scrollbar { display: none; }
  .hcv-store-color-guide__labels li { flex: 0 0 144px; scroll-snap-align: start; }
  .hcv-store-color-guide__labels a { min-height: 58px; grid-template-columns: 40px minmax(0,1fr) auto; padding: 7px; gap: 7px; border-radius: 12px; }
  .hcv-store-color-guide__image { width: 40px; height: 40px; }
  .hcv-store-color-guide__copy strong { font-size: .63rem; }
  .hcv-store-color-guide__copy small { font-size: .55rem; }
  .hcv-store-color-guide__note { margin-top: 4px; padding-top: 10px; font-size: .58rem; }
  .hcv-category-sort { gap: 3px; }
  .hcv-category-sort select { max-width: 145px; padding-right: 18px; }
  .hcv-category-filter-toggle { gap: 6px; padding-left: 4px; }
  .hcv-category-result-count { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
  .hcv-catalog-product__facts { gap: 6px 8px; }
  .hcv-catalog-product__strain { padding: 4px 8px; }
  /* Pair the product title/brand with its main image, then use full-width detail rows. */
  .hcv-catalog-product { position: relative; grid-template-columns: 112px minmax(0, 1fr); column-gap: 15px; row-gap: 0; padding: 24px 0 28px; }
  .hcv-catalog-product__media-stack,
  .hcv-catalog-product__media { width: 112px; height: 112px; }
  .hcv-catalog-product__media-stack { grid-column: 1; grid-row: 1; margin: 0; }
  .hcv-catalog-product__identity,
  .hcv-catalog-product__identity.has-color-label,
  .hcv-catalog-product__details { display: contents; }
  .hcv-catalog-product__identity > .hcv-favorite-button.is-compact { top: 25px; right: 0; transform: none; }
  .hcv-catalog-product__copy,
  .hcv-catalog-product__identity.has-color-label > .hcv-catalog-product__copy { box-sizing: border-box; grid-column: 2; grid-row: 1; align-self: center; display: block; width: 100%; min-width: 0; padding: 2px 52px 2px 0; }
  .hcv-catalog-product__identity.has-color-label > .hcv-color-label-mark--catalog { position: static; grid-column: 1; grid-row: 3; align-self: center; justify-self: start; width: 54px; height: 54px; margin-top: 8px; }
  .hcv-catalog-product__title { padding-right: 0; font-size: 1.02rem; }
  .hcv-catalog-product__brand { margin-top: 7px; }
  .hcv-catalog-product__facts { grid-column: 1 / -1; grid-row: 2; margin-top: 15px; }
  .hcv-catalog-product .hcv-product-effects { box-sizing: border-box; grid-column: 1 / -1; grid-row: 3; max-width: 100%; min-height: 54px; margin-top: 8px; align-content: center; }
  .hcv-catalog-product.has-color-label .hcv-product-effects { padding-left: 66px; }
  .hcv-variant-scroller { grid-column: 1 / -1; grid-row: 4; width: 100%; margin-top: 17px; padding: 18px 9px 2px 0; overflow: visible; }
  .hcv-variant-track { width: 100%; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 13px; }
  .hcv-variant-track::before { display: none; }
  .hcv-variant-tile { width: auto; min-width: 0; min-height: 74px; padding: 14px 8px 10px; }
  .hcv-variant-track > .hcv-variant-tile:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .hcv-variant-add { right: -8px; }
  .hcv-category-filter-actions { align-items: stretch; flex-direction: column; gap: 10px; }
  .hcv-category-filter-actions .hcv-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .elementor-invisible.hcv-motion-fallback,
  .hcv-motion-fallback.hcv-motion-visible { visibility: visible !important; opacity: 1 !important; translate: none !important; }
}

/* Dutchie-inspired single-product ordering flow */
body.single-product .hcv-elementor-current-product { width: min(calc(100% - 40px), 1180px); margin-inline: auto; }
.hcv-product-navigation { width: 100%; margin: 0 0 34px; display: flex; align-items: center; gap: 23px; color: #52625b; font-size: .78rem; }
.hcv-product-navigation a { color: inherit; font-weight: 600; text-decoration: none; }
.hcv-product-navigation a:hover { color: var(--hcv-green-dark); }
.hcv-product-navigation__back { display: inline-flex; align-items: center; gap: 6px; color: var(--hcv-green-dark) !important; font-weight: 800 !important; }
.hcv-product-navigation__back > span { font: 500 1.7rem/1 system-ui, sans-serif; transform: translateY(-1px); }
.hcv-product-navigation__trail { display: inline-flex; align-items: center; gap: 12px; }
body.single-product .hcv-elementor-current-product > div.product.type-product,
body.single-product .hcv-shop-shell > .hcv-container > div.product.type-product { align-items: start; grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr); column-gap: clamp(44px, 7vw, 86px); row-gap: 72px; }
body.single-product div.product .woocommerce-product-gallery__wrapper { border-radius: 0 !important; background: #fff !important; }
body.single-product div.product .woocommerce-product-gallery__image,
body.single-product div.product .woocommerce-product-gallery__image--placeholder { min-height: 480px; display: grid; place-items: center; }
body.single-product div.product .woocommerce-product-gallery__image img,
body.single-product div.product .woocommerce-product-gallery__image--placeholder img { width: 100%; max-height: 540px; margin: 0; object-fit: contain; }
body.single-product div.product .summary { padding-top: 4px; }
.hcv-product-identity-actions { min-width: 0; margin: 0 0 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.hcv-product-brand-button { width: fit-content; min-height: 42px; margin: 0; padding: 4px 12px 4px 4px; display: inline-flex; align-items: center; gap: 9px; border: 1px solid #dbe4df; border-radius: 999px; color: #4e675d; background: #f7f9f8; font-size: .72rem; font-weight: 800; letter-spacing: .035em; text-decoration: none; text-transform: uppercase; }
.hcv-product-identity-actions > .hcv-favorite-button:not(.is-compact) { box-sizing: border-box; min-height: 42px; margin: 0; align-self: center; }
.hcv-product-brand-button:hover { color: var(--hcv-green-dark); border-color: #a9c9b6; background: #f0f7f2; }
.hcv-product-brand-button img,.hcv-product-brand-button i { background:#fff; border:1px solid #d7e2dc; border-radius:50%; box-sizing:border-box; height:32px; object-fit:contain; padding:3px; width:32px; }
.hcv-product-brand-button i { align-items:center; color:#245b47; display:inline-flex; font-size:.56rem; font-style:normal; justify-content:center; }
.hcv-product-brand-button b { font:inherit; }
.hcv-line-brand { margin-top:6px; }
.hcv-brand-mark--line-item { color:#567067; font-size:.71rem; font-weight:700; }
.hcv-brand-mark--line-item img,.hcv-brand-mark--line-item .hcv-brand-mark__initials { flex-basis:30px; height:30px; width:30px; }
.woocommerce-order-details .hcv-line-brand,.woocommerce-cart-form .hcv-line-brand,.woocommerce-checkout-review-order-table .hcv-line-brand { margin-top:7px; }
.hcv-color-label-mark { align-items:center; color:#355b4c; display:inline-flex; gap:7px; line-height:1.2; max-width:100%; text-decoration:none; }
.hcv-color-label-mark:hover,.hcv-color-label-mark:focus-visible { color:var(--hcv-green-dark); }
.hcv-color-label-mark img { box-sizing:border-box; flex:0 0 32px; width:32px; height:32px; padding:2px; border:1px solid #dce5df; border-radius:50%; background:#fff; object-fit:contain; }
.hcv-color-label-mark > span { display:grid; gap:1px; min-width:0; }
.hcv-color-label-mark strong { font-size:.69rem; }
.hcv-color-label-mark small { color:#738078; font-size:.59rem; font-weight:600; }
.hcv-color-label-mark--catalog { position:static; z-index:2; width:clamp(66px, 8vw, 90px); height:clamp(66px, 8vw, 90px); align-self:start; border-radius:50%; box-shadow:0 8px 22px rgba(0,17,40,.14); }
.hcv-color-label-mark--catalog img { flex:0 0 100%; width:100%; height:100%; padding:3px; border-color:#d3dfd8; }
.hcv-color-label-mark--loop img { width:23px; height:23px; flex-basis:23px; }
.hcv-color-label-mark--loop { font-size:.62rem; }
.hcv-color-label-mark--single { display:none; }
.hcv-color-label-mark--line-item img { width:30px; height:30px; flex-basis:30px; }
.hcv-color-label-mark--line-item strong { font-size:.7rem; }
.hcv-line-identities { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin-top:6px; }
.hcv-line-identities .hcv-line-brand,.hcv-line-identities .hcv-line-color { margin:0; }
.hcv-catalog-product__media-stack { position:relative; width:108px; height:108px; align-self:start; }
.hcv-catalog-product__media-stack .hcv-catalog-product__media { width:100%; height:100%; }
.hcv-header-search__media { position:relative; display:block; width:52px; height:52px; }
.hcv-header-search__media > img:not(.hcv-header-search__color) { width:52px; height:52px; }
.hcv-header-search__media .hcv-header-search__color { position:absolute; right:-4px; bottom:-4px; width:23px; height:23px; padding:1px; border-radius:50%; box-shadow:0 3px 8px rgba(0,17,40,.18); }
body.single-product div.product .summary .product_title { margin: 0 0 12px; font-size: clamp(2.2rem, 3.7vw, 3.65rem) !important; line-height: 1.06 !important; letter-spacing: -.045em; }
body.single-product div.product .summary > p.price:empty { display: none; }
.hcv-single-variant-choices { min-width: 0; margin: 0 0 24px; padding: 0; border: 0; }
.hcv-single-variant-choices legend { margin: 0 0 10px; color: #52625b; font-size: .7rem; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; }
.hcv-single-variant-choices__grid { display: flex; flex-wrap: wrap; gap: 9px; }
.hcv-single-variant-choice { flex: 0 1 86px; min-width: 76px; min-height: 70px; padding: 9px 7px; display: grid; place-content: center; gap: 3px; border: 1px solid #cbd8d2; border-radius: 5px; color: #36443e; background: #f7f9f8; cursor: pointer; text-align: center; transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease; }
.hcv-single-variant-choice:hover:not(:disabled) { border-color: var(--hcv-green); background: #f1f8f3; }
.hcv-single-variant-choice.is-selected { border: 2px solid var(--hcv-green); padding: 8px 6px; background: #f3faf5; box-shadow: 0 0 0 2px rgba(34,150,90,.08); }
.hcv-single-variant-choice:focus-visible { outline: 3px solid rgba(34,150,90,.25); outline-offset: 2px; }
.hcv-single-variant-choice:disabled { opacity: .42; cursor: not-allowed; }
.hcv-single-variant-choice__size { font-size: .67rem; line-height: 1.1; }
.hcv-single-variant-choice__price { font-size: .88rem; font-weight: 800; line-height: 1.05; }
.variations_form.hcv-variant-choices-ready table.variations { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important; border: 0 !important; white-space: nowrap !important; }
.variations_form.hcv-variant-choices-ready .reset_variations,
body.single-product div.product .woocommerce-variation-price,
body.single-product div.product .woocommerce-variation-availability { display: none !important; }
body.single-product div.product form.cart .single_variation_wrap { margin-top: 0; }
body.single-product div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
body.single-product div.product form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
body.single-product div.product form.cart div.quantity { margin: 0; }
.hcv-product-quantity select.qty,
.woocommerce-cart-form .hcv-cart-quantity select.qty { width: 98px !important; min-width: 98px; min-height: 52px; margin: 0; padding: 10px 36px 10px 18px; border: 1px solid #cbd8d2; border-radius: 999px; color: #34423c; background-color: #fff; font-size: .95rem; font-weight: 700; text-align: center; }
.woocommerce-cart-form .hcv-cart-quantity select.qty { width: 86px !important; min-width: 86px; min-height: 46px; padding: 8px 32px 8px 16px; }
.woocommerce-cart-form .hcv-cart-quantity select.qty:focus { border-color: var(--hcv-green); outline: 3px solid rgb(34 150 90 / 16%); outline-offset: 1px; }
.woocommerce-cart-form .hcv-cart-quantity select.qty:disabled { cursor: not-allowed; color: #8a5142; background: #f7ece8; opacity: 1; }
body.single-product div.product form.cart .single_add_to_cart_button { min-height: 52px; margin: 0; padding: 13px 27px; border-radius: 999px; color: #fff; background: var(--hcv-green); font-size: .82rem; font-weight: 800; text-transform: uppercase; }
body.single-product div.product form.cart .single_add_to_cart_button:hover { background: var(--hcv-green-dark); }
.hcv-product-order-information { margin: 18px 0 0; }
.hcv-product-low-stock { width: fit-content; max-width: 100%; margin: 0 0 13px; padding: 10px 13px 10px 10px; display: flex; align-items: center; gap: 9px; border: 1px solid #efcf89; border-radius: 11px; color: #69460a; background: #fff8e8; font-size: .75rem; font-weight: 700; line-height: 1.35; }
.hcv-product-low-stock[hidden] { display: none !important; }
.hcv-product-low-stock__icon { flex: 0 0 27px; width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; color: #9b680b; background: #ffe8b8; }
.hcv-product-low-stock__icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hcv-product-tax-note { margin: 0; color: #718079; font-size: .67rem; line-height: 1.5; }
.hcv-product-description { margin: 25px 0 0; padding: 24px 0; border-top: 1px solid #e0e6e3; border-bottom: 1px solid #e0e6e3; color: #45564e; font-size: .82rem; line-height: 1.7; }
.hcv-product-description > :first-child { margin-top: 0; }
.hcv-product-description > :last-child { margin-bottom: 0; }
body.single-product div.product .summary .hcv-product-badges { margin: 22px 0 0; }
body.single-product div.product .summary .hcv-product-effects { margin: 18px 0 0; }
body.single-product div.product .summary .hcv-product-effects__heading { width: min(100%, 470px); margin: 0 0 9px; }
body.single-product div.product .summary .hcv-product-effects__heading .hcv-product-effects__label { margin: 0; }
.hcv-product-effects__color { flex: 0 0 84px; width: 84px; height: 84px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; text-decoration: none; transition: opacity .18s ease, transform .18s ease; }
.hcv-product-effects__color:hover,.hcv-product-effects__color:focus-visible { opacity: .86; transform: translateY(-1px); }
.hcv-product-effects__color:focus-visible { outline: 3px solid rgba(34,150,90,.2); outline-offset: 2px; }
.hcv-product-effects__color img { width: 84px; height: 84px; display: block; object-fit: contain; }
body.single-product div.product .product_meta,
body.single-product div.product .woocommerce-tabs { display: none !important; }
.hcv-product-purchase-panel { grid-column: 1 / -1; width: 100%; min-width: 0; margin: -14px 0 -48px; padding: clamp(22px, 3vw, 34px); border: 1px solid #dce7e1; border-radius: 20px; background: linear-gradient(135deg, #fbfdfc 0%, #f4f9f6 100%); box-shadow: 0 14px 38px rgba(4, 48, 37, .06); }
.hcv-product-purchase-panel form.cart { width: 100%; margin: 0 !important; }
.hcv-product-purchase-panel .hcv-single-variant-choices { margin-bottom: 20px; }
.hcv-product-purchase-panel .hcv-single-variant-choices legend { color: #174f40; font-size: .75rem; }
.hcv-product-purchase-panel .hcv-single-variant-choices__grid { gap: 10px; }
.hcv-product-purchase-panel .hcv-product-order-information { margin-top: 18px; }
body.single-product div.product > section.related { grid-column: 1 / -1; width: 100%; margin: 0; padding-top: 6px; }
body.single-product div.product > section.related > h2 { margin: 0 0 25px; font-size: clamp(1.7rem, 3vw, 2.35rem); }
body.single-product div.product > section.related ul.products { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
body.single-product div.product > section.related ul.products li.product { min-width: 0; padding: 14px; display: flex; flex-direction: column; border-radius: 17px; box-shadow: none; }
body.single-product section.related li.product > a.woocommerce-LoopProduct-link { min-width: 0; display: flex; flex-direction: column; color: inherit; text-decoration: none; }
body.single-product section.related li.product > a.woocommerce-LoopProduct-link > img { width: 112px !important; height: 112px !important; aspect-ratio: 1 / 1; margin: 0 auto 12px !important; padding: 8px; border-radius: 13px; background: #f7f9f8; object-fit: contain !important; }
body.single-product section.related li.product .woocommerce-loop-product__title { min-height: 2.7em; margin: 0 !important; padding: 0; font-size: .78rem; line-height: 1.32; }
body.single-product section.related li.product > a.woocommerce-LoopProduct-link > .price { display: none; }
body.single-product section.related .hcv-loop-product-meta { min-height: 0; margin: 8px 0 10px; display: flex; flex-wrap: wrap; align-items: center; gap: 5px 7px; }
body.single-product section.related .hcv-loop-product-brand,
body.single-product section.related .hcv-loop-product-color { display: inline-flex; min-width: 0; }
body.single-product section.related .hcv-brand-mark--related { display: inline-flex; align-items: center; gap: 5px; color: #607269; font-size: .58rem; font-weight: 750; line-height: 1.15; text-transform: none; }
body.single-product section.related .hcv-brand-mark--related img,
body.single-product section.related .hcv-brand-mark--related i,
body.single-product section.related .hcv-color-label-mark--related img { box-sizing: border-box; flex: 0 0 20px; width: 20px !important; height: 20px !important; margin: 0 !important; padding: 1px; border: 1px solid #dce5df; border-radius: 50%; background: #fff; object-fit: contain !important; }
body.single-product section.related .hcv-brand-mark--related i { display: grid; place-items: center; color: #245b47; font-size: .42rem; font-style: normal; font-weight: 900; }
body.single-product section.related .hcv-color-label-mark--related { display: inline-flex; line-height: 1; }
body.single-product section.related .hcv-loop-product-facts { flex: 1 0 100%; font-size: .59rem; line-height: 1.35; }
body.single-product section.related .hcv-product-effects { flex: 1 0 100%; margin: 2px 0 0 !important; gap: 4px; }
body.single-product section.related .hcv-product-effects__label { font-size: .5rem; }
body.single-product section.related .hcv-product-effects__list { gap: 3px; }
body.single-product section.related .hcv-product-effect { min-height: 19px; padding: 2px 5px; font-size: .51rem; }
body.single-product section.related .hcv-effect-icon { width: 11px; height: 11px; }
body.single-product section.related .hcv-favorite-button.is-compact { top: 9px; right: 9px; width: 29px; height: 29px; }
body.single-product section.related .hcv-favorite-button.is-compact span { font-size: 16px; }
body.single-product section.related .hcv-related-options { margin-top: auto; padding-top: 4px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
body.single-product section.related .hcv-related-options .hcv-variant-tile { min-width: 0; min-height: 56px; margin: 0; padding: 9px 27px 7px 7px; display: grid; place-content: center; gap: 2px; border: 1px solid #e0e7e3; border-radius: 9px; background: #f6f8f7; }
body.single-product section.related .hcv-related-options .hcv-variant-size { font-size: .57rem; }
body.single-product section.related .hcv-related-options .hcv-variant-price { font-size: .74rem; overflow-wrap: anywhere; }
body.single-product section.related .hcv-related-options .hcv-variant-add { top: 3px; right: 3px; width: 29px; height: 29px; }
body.single-product section.related .hcv-related-options .hcv-variant-add::before { inset: 4px; box-shadow: 0 0 0 1px #fff; }
body.single-product section.related .hcv-related-options .hcv-variant-add span { font-size: 1rem; }
body.single-product section.related .hcv-related-options > .hcv-variant-tile:only-of-type { grid-column: 1 / -1; }

/* Cards wrap price choices instead of allowing a horizontal strip to break the card. */
@media (min-width: 1051px) {
  body .hcv-category-page .hcv-category-filter-panel,
  body .hcv-store-catalog-page .hcv-category-filter-panel,
  body [data-hcv-catalog-root] .hcv-category-filter-panel { display: none !important; }
  body .hcv-category-page .hcv-category-filter-toggle,
  body .hcv-store-catalog-page .hcv-category-filter-toggle,
  body [data-hcv-catalog-root] .hcv-category-filter-toggle { display: none !important; }
  body .hcv-view--cards .hcv-catalog-product__media { position: relative !important; z-index: 0 !important; overflow: hidden !important; }
  body .hcv-view--cards .hcv-catalog-product__identity { position: relative !important; z-index: 1 !important; margin: 0 !important; background: #fff !important; }
  body .hcv-view--cards .hcv-variant-scroller { width: 100%; margin-top: 14px; padding: 15px 18px 3px; overflow: visible; }
  body .hcv-view--cards .hcv-variant-track { width: 100%; min-width: 0; display: flex; flex-wrap: wrap; gap: 9px; }
  body .hcv-view--cards .hcv-variant-tile { flex: 1 1 calc(50% - 5px); min-width: 96px; max-width: none; }
  body .hcv-view--cards .hcv-variant-price { max-width: 100%; overflow-wrap: anywhere; }
  body .hcv-view--cards .hcv-variant-add { right: -6px; }
}

@media (max-width: 1100px) {
  body.single-product div.product > section.related ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .hcv-catalog-product__media-stack { width:112px; height:112px; }
  body.single-product .hcv-elementor-current-product { width: min(calc(100% - 30px), 620px); }
  .hcv-product-navigation { margin-bottom: 24px; gap: 15px; font-size: .7rem; }
  .hcv-product-navigation__trail { gap: 8px; }
  body.single-product .hcv-elementor-current-product > div.product.type-product,
  body.single-product .hcv-shop-shell > .hcv-container > div.product.type-product { grid-template-columns: minmax(0, 1fr); row-gap: 34px; }
  body.single-product .hcv-elementor-current-product > div.product.type-product > .woocommerce-product-gallery,
  body.single-product .hcv-elementor-current-product > div.product.type-product > .summary,
  body.single-product .hcv-shop-shell > .hcv-container > div.product.type-product > .woocommerce-product-gallery,
  body.single-product .hcv-shop-shell > .hcv-container > div.product.type-product > .summary { width: 100% !important; min-width: 0; max-width: 100%; }
  body.single-product div.product .woocommerce-product-gallery__wrapper,
  body.single-product div.product .woocommerce-product-gallery__image,
  body.single-product div.product .woocommerce-product-gallery__image--placeholder,
  body.single-product div.product .woocommerce-product-gallery__image img,
  body.single-product div.product .woocommerce-product-gallery__image--placeholder img { width: 100%; min-width: 0; max-width: 100%; }
  body.single-product div.product .woocommerce-product-gallery__image,
  body.single-product div.product .woocommerce-product-gallery__image--placeholder { min-height: 300px; }
  body.single-product div.product .summary { padding-top: 0; }
  .hcv-product-identity-actions { margin-bottom: 20px; }
  body.single-product div.product .summary .product_title { margin-bottom: 10px; font-size: clamp(2rem, 10vw, 2.8rem) !important; }
  .hcv-single-variant-choice { flex: 1 1 calc(33.333% - 7px); min-width: 78px; }
  body.single-product div.product form.cart .woocommerce-variation-add-to-cart { align-items: stretch; }
  .hcv-product-quantity select.qty { width: 88px !important; min-width: 88px; }
  .woocommerce-cart-form .hcv-cart-quantity select.qty { width: 78px !important; min-width: 78px; }
  body.single-product div.product form.cart .single_add_to_cart_button { flex: 1 1 170px; }
  .hcv-product-purchase-panel { margin: 0 0 -16px; padding: 22px 18px; border-radius: 17px; }
  .hcv-product-effects__color,
  .hcv-product-effects__color img { width: 76px; height: 76px; }
  .hcv-product-effects__color { flex-basis: 76px; }
  body.single-product div.product > section.related { padding-top: 18px; }
  body.single-product div.product > section.related ul.products { margin-inline: -15px; padding: 0 15px 8px; display: flex; gap: 10px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
  body.single-product div.product > section.related ul.products::-webkit-scrollbar { display: none; }
  body.single-product div.product > section.related ul.products li.product { flex: 0 0 min(78vw, 286px); scroll-snap-align: start; }
  body.single-product section.related li.product > a.woocommerce-LoopProduct-link > img { width: 96px !important; height: 96px !important; }
}

@media (max-width: 390px) {
  .hcv-product-navigation__trail > a:first-child,
  .hcv-product-navigation__trail > span { display: none; }
  .hcv-single-variant-choice { flex-basis: calc(50% - 5px); }
}
