@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

@font-face{font-family:'Eurostile Ex2';src:url('../fonts/EurostileLTStd-Ex2.otf') format('opentype');font-weight:100 700;font-style:normal;font-display:swap}
@font-face{font-family:'Eurostile BoldEx2';src:url('../fonts/EurostileLTStd-BoldEx2.otf') format('opentype');font-weight:100 900;font-style:normal;font-display:swap}

/* =====================================================================
   Green House Seed Co Theme — custom layer (child of hummingbird)
   ---------------------------------------------------------------------
   Loaded by PrestaShop at priority 1000, AFTER hummingbird's theme.css
   (priority 50). Brand look ported from the legacy Ecolife theme
   (dark + gold), rebuilt on hummingbird's native structure — no
   Posthemes / CETemplate dependency.

   Sections:
     1. Brand design tokens (--gh-*)
     2. Map tokens onto Bootstrap --bs-* (dark by default)
     3. Base typography
     4. Product card (image, wishlist, quick-view, seed-pack combo,
        add-to-cart, flags, prices)
   ===================================================================== */

/* ---------------------------------------------------------------------
   1. Brand design tokens — Green House Seed Co (dark + gold)
   --------------------------------------------------------------------- */
:root {
  /* 5 main UI colors (ported from Ecolife child) */
  --gh-black:      #000000;   /* primary background                        */
  --gh-white:      #ffffff;   /* text on dark, borders                      */
  --gh-accent:     #ffcc00;   /* gold: prices, hover, highlights, logo      */
  --gh-accent-700: #e6b800;   /* gold pressed/hover-darker                  */
  --gh-text:       #ececec;   /* body text / headings on dark               */
  --gh-surface:    #1c1c1c;   /* elevated panels, dropdowns, rows           */
  --gh-muted:      #a5a5a5;   /* borders, secondary text                    */
  --gh-dark-gray:  #666666;
  --gh-sale:       #ff3c50;   /* sale price / urgency                       */

  /* Genetics semantic label colors (not for general UI) */
  --gh-cbd:    #87d1e6;
  --gh-auto:   #80bc00;
  --gh-indica: #ff6b00;
  --gh-hybrid: #a5a5a5;
  --gh-sativa: var(--gh-accent);

  /* Spacing rhythm */
  --gh-space-section: clamp(4rem, 8vw, 8rem);

  /* Fluid type scale */
  --gh-h1: clamp(1.25rem, 2.5vw, 2.25rem);
  --gh-h2: clamp(1.2rem, 2.1vw, 1.8rem);
  --gh-h3: clamp(1.5rem, 2.2vw, 2rem);
}

/* ---------------------------------------------------------------------
   2. Map brand tokens onto Bootstrap's runtime --bs-* properties.
   The Green House look is dark by default (matching Ecolife), so we set
   data-bs-theme="dark" on <html> via custom.js and define the dark map
   here. A light variant can be layered later under [data-bs-theme=light].
   --------------------------------------------------------------------- */
:root,
[data-bs-theme="dark"] {
  --bs-body-bg:          var(--gh-black);
  --bs-body-color:       var(--gh-text);
  --bs-emphasis-color:   var(--gh-white);
  --bs-secondary-color:  var(--gh-muted);
  --bs-tertiary-bg:      var(--gh-surface);
  --bs-border-color:     rgb(255 255 255 / 12%);
  --bs-body-line-height: 1.6;

  --bs-primary:          var(--gh-accent);
  --bs-link-color:       var(--gh-accent);
  --bs-link-hover-color: var(--gh-accent-700);
}

body {
  font-family: 'Inter', system-ui, sans-serif;
  background-color: var(--gh-black);
  color: var(--gh-text);
  -webkit-font-smoothing: antialiased;
}

/* ---------------------------------------------------------------------
   3. Typography — bold headings, comfortable body
   --------------------------------------------------------------------- */
h1, .h1 { font-family: 'Eurostile BoldEx2', 'Inter', sans-serif; font-size: var(--gh-h1); font-weight: 800; letter-spacing: -0.02em; line-height: 1.05; }
h1.page-title-section, .page-title-section h1 { font-size: var(--gh-h1) !important; }
h2, .h2 { font-family: 'Eurostile BoldEx2', 'Inter', sans-serif; font-size: var(--gh-h2); font-weight: 800; letter-spacing: -0.015em; line-height: 1.1; }
h3, .h3 { font-family: 'Eurostile BoldEx2', 'Inter', sans-serif; font-size: var(--gh-h3); font-weight: 700; letter-spacing: -0.01em; line-height: 1.2; }
h4, .h4, h5, .h5, h6, .h6 { font-family: 'Eurostile BoldEx2', 'Inter', sans-serif; font-weight: 700; }

a { text-decoration: none; }
a:hover { color: var(--gh-accent); }

/* ---------------------------------------------------------------------
   4. PRODUCT CARD (ported from Ecolife child, mapped to brand tokens)
   Markup is produced by templates/catalog/_partials/miniatures/product.tpl
   --------------------------------------------------------------------- */
.product-miniature.style_product3 {
  position: relative;
  background: var(--gh-surface);
  border: 1px solid rgb(255 255 255 / 8%);
  border-radius: 16px;
  overflow: visible;
  transition: border-color 200ms ease, transform 200ms cubic-bezier(0.23, 1, 0.32, 1);
}

/* Clip only the image block so border-radius rounds the photo corners */
.product-miniature.style_product3 > .img_block {
  border-radius: 16px 16px 0 0;
}
.product-miniature.style_product3 > .product_desc {
  border-radius: 0 0 16px 16px;
}

.product-miniature.style_product3:hover {
  border-color: var(--gh-accent);
  transform: translateY(-4px);
}

.product-miniature .img_block {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 4;
}

.product-miniature .img_block .product-thumbnail {
  position: absolute;
  inset: 0;
  display: block;
}

.product-miniature .img_block img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 450ms ease, transform 600ms cubic-bezier(0.23, 1, 0.32, 1);
}

/* Hover: second image fades in over the first (when one exists) */
.product-miniature .img_block .second-image { opacity: 0; }
.js-product-miniature:hover .img_block .second-image { opacity: 1; }
.js-product-miniature:hover .img_block .first-image { opacity: 0; }
/* Subtle zoom on hover when there is no second image */
.js-product-miniature:hover .img_block img:only-of-type { transform: scale(1.04); }

/* Wishlist heart — top right */
.card-heart {
  position: absolute;
  inset-block-start: 12px;
  inset-inline-end: 12px;
  z-index: 15;
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 180ms cubic-bezier(0.23, 1, 0.32, 1),
              transform 180ms cubic-bezier(0.23, 1, 0.32, 1);
}

.js-product-miniature:hover .card-heart { opacity: 1; transform: scale(1); }

.card-heart .wishlist-button-add,
.card-heart .addToWishlist,
.card-heart a,
.card-heart button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 50%;
  background: rgb(0 0 0 / 70%);
  border: 1px solid rgb(255 255 255 / 20%);
  backdrop-filter: blur(10px);
  color: var(--gh-white);
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease,
              transform 160ms cubic-bezier(0.23, 1, 0.32, 1);
}

.card-heart .addToWishlist:hover,
.card-heart .wishlist-button-add:hover,
.card-heart a:hover,
.card-heart button:hover {
  background: rgb(255 60 80 / 20%);
  border-color: var(--gh-sale);
  color: var(--gh-sale);
  transform: scale(1.12);
}

/* Quick-view — bottom center of image */
.card-img-actions {
  position: absolute;
  inset-block-end: 12px;
  inset-inline: 0;
  display: flex;
  justify-content: center;
  gap: 8px;
  z-index: 14;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 180ms cubic-bezier(0.23, 1, 0.32, 1),
              transform 180ms cubic-bezier(0.23, 1, 0.32, 1);
  transition-delay: 40ms;
}

.js-product-miniature:hover .card-img-actions { opacity: 1; transform: translateY(0); }

.card-icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgb(0 0 0 / 65%);
  border: 1px solid rgb(255 255 255 / 18%);
  backdrop-filter: blur(8px);
  color: rgb(255 255 255 / 70%);
  cursor: pointer;
  transition: background 150ms ease, border-color 150ms ease,
              color 150ms ease, transform 150ms cubic-bezier(0.23, 1, 0.32, 1);
}

.card-icon-btn svg { width: 14px; height: 14px; }

.card-icon-btn:hover {
  background: rgb(255 255 255 / 12%);
  border-color: rgb(255 255 255 / 40%);
  color: var(--gh-white);
  transform: scale(1.1);
}

/* Flags / badges */
.product-flag {
  position: absolute;
  inset-block-start: 12px;
  inset-inline-start: 12px;
  z-index: 13;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.product-flag li {
  padding: 4px 10px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-radius: 4px;
  background: var(--gh-accent);
  color: var(--gh-black);
}

.product-flag li.discount,
.product-flag li.on-sale { background: var(--gh-sale); color: var(--gh-white); }

/* Action bar below image — combo dropdown + add to cart */
.card-action-bar {
  padding: 10px 12px 4px;
}

.card-action-inner {
  display: flex;
  align-items: center;
  gap: 8px;
}

.card-cart-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 16px;
  background: var(--gh-accent);
  color: var(--gh-black);
  border: none;
  border-radius: 30px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
  white-space: nowrap;
  transition: background 160ms ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1);
}

.card-cart-btn svg { width: 14px; height: 14px; flex-shrink: 0; }
.card-cart-btn:hover { background: var(--gh-accent-700); }
.card-cart-btn:active { transform: scale(0.97); }

.card-cart-btn.disabled,
.card-cart-btn:disabled {
  background: rgb(255 255 255 / 10%);
  color: rgb(255 255 255 / 35%);
  cursor: not-allowed;
}

/* Seed-pack combo dropdown (populated by custom.js from data-combos) */
.combo-dropdown { position: relative; z-index: 30; flex: 1; }

.combo-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 9px 14px;
  width: 100%;
  background: rgb(255 255 255 / 7%);
  border: 1px solid rgb(255 255 255 / 20%);
  border-radius: 30px;
  cursor: pointer;
  white-space: nowrap;
  box-sizing: border-box;
  transition: border-color 150ms ease, background 150ms ease;
}

.combo-trigger:hover { background: rgb(255 255 255 / 12%); border-color: rgb(255 255 255 / 40%); }
.combo-dropdown.open .combo-trigger { border-color: var(--gh-accent); border-radius: 0 0 10px 10px; }

.combo-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--gh-white);
}

.combo-arrow {
  width: 9px;
  height: 5px;
  color: rgb(255 255 255 / 50%);
  flex-shrink: 0;
  transition: transform 160ms cubic-bezier(0.23, 1, 0.32, 1), color 160ms ease;
}

.combo-dropdown.open .combo-arrow { transform: rotate(180deg); color: var(--gh-accent); }

.combo-menu {
  display: none;
  position: absolute;
  inset-block-end: 100%;
  inset-inline-start: 0;
  min-width: 100%;
  list-style: none;
  margin: 0;
  padding: 4px 0;
  background: rgb(10 10 10 / 97%);
  border: 1px solid var(--gh-accent);
  border-bottom: none;
  border-radius: 10px 10px 0 0;
  backdrop-filter: blur(12px);
  overflow: hidden;
}

.combo-dropdown.open .combo-menu { display: block; }

.combo-menu li {
  padding: 9px 12px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgb(255 255 255 / 55%);
  cursor: pointer;
  white-space: nowrap;
  transition: color 120ms ease, background 120ms ease;
}

.combo-menu li:hover { color: var(--gh-black); background: var(--gh-accent); }
.combo-menu li.active { color: var(--gh-accent); }

/* Product info */
.product_desc { padding: 10px 14px 16px; }

.product_desc .manufacturer a { color: var(--gh-muted); font-size: 12px; }

.product_desc h3 { margin: 4px 0 8px; font-size: 1rem; }
.product_desc .product_name { color: var(--gh-text); }
.product_desc .product_name:hover { color: var(--gh-accent); }

.product-price-and-shipping { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.product-price-and-shipping .price { font-size: 1.05rem; font-weight: 800; color: var(--gh-accent); }
.product-price-and-shipping .price-sale { color: var(--gh-sale); }
.product-price-and-shipping .regular-price {
  color: var(--gh-muted);
  text-decoration: line-through;
  font-size: 0.9rem;
}

.discount-product {
  padding: 2px 8px;
  border-radius: 4px;
  background: var(--gh-sale);
  color: var(--gh-white);
  font-size: 11px;
  font-weight: 800;
}

/* =====================================================================
   5. CATEGORY / LISTING PAGE — full-width 4-column grid
   ===================================================================== */

/* Full-width center column — remove hummingbird's default max-width cap */
.page--full-width { max-width: 100% !important; }

/* GH product grid (used in productlist.tpl) */
.gh-product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  padding: 0 clamp(1rem, 4vw, 2.5rem) 3rem;
  max-width: 1360px;
  margin-inline: auto;
}

@media (max-width: 1200px) { .gh-product-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px)  { .gh-product-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .gh-product-grid { grid-template-columns: repeat(2, 1fr); gap: .75rem; } }

/* Sort / filter bar spacing inside full-width listing */
#products .gh-wrap { width: 100%; }

/* =====================================================================
   6. HOMEPAGE (native rebuild of the Ecolife/CETemplate home)
   ===================================================================== */
.gh-home { overflow-x: hidden; }

.gh-container {
  max-width: 1320px;
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 2.5rem);
}

.gh-section { padding-block: var(--gh-space-section); }

.gh-section__title {
  text-align: center;
  margin: 0 0 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.gh-section__title--sm { font-size: clamp(1.1rem, 2vw, 1.6rem); color: var(--gh-muted); }

.gh-section__subtitle {
  text-align: center;
  margin: 0 0 3rem;
  color: var(--gh-muted);
  font-size: 1.05rem;
}

/* ── Hero ── */
.gh-hero { display: block; background: var(--gh-black); }
.gh-hero__link { display: block; }
.gh-hero__img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* ── Featured strains (flip cards) ── */
.gh-strains__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: clamp(0.75rem, 1.5vw, 1.25rem);
}

.gh-flip { perspective: 1200px; }

.gh-flip__inner {
  position: relative;
  aspect-ratio: 3 / 4;
  transform-style: preserve-3d;
  transition: transform 600ms cubic-bezier(0.23, 1, 0.32, 1);
}

.gh-flip:hover .gh-flip__inner,
.gh-flip:focus-within .gh-flip__inner { transform: rotateY(180deg); }

.gh-flip__face {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgb(255 255 255 / 8%);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.gh-flip__back { transform: rotateY(180deg); }

.gh-flip__label {
  display: block;
  margin-top: 0.75rem;
  text-align: center;
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--gh-text);
}

/* ── As Featured On (press logos) ── */
.gh-press { border-block: 1px solid rgb(255 255 255 / 8%); }

.gh-press__strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(1.5rem, 4vw, 3.5rem);
}

.gh-press__logo {
  height: 38px;
  width: auto;
  opacity: 0.55;
  filter: grayscale(1);
  transition: opacity 200ms ease, filter 200ms ease;
}

.gh-press__logo:hover { opacity: 1; filter: none; }

/* ── Community / newsletter band ── */
.gh-community {
  position: relative;
  background-size: cover;
  background-position: center;
  text-align: center;
}

.gh-community::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(rgb(0 0 0 / 70%), rgb(0 0 0 / 80%));
}

.gh-community__inner { position: relative; max-width: 640px; }

.gh-community__title { margin: 0 0 0.75rem; }

.gh-community__text { color: var(--gh-text); font-size: 1.1rem; margin: 0 0 1.75rem; }

.gh-community__btn {
  display: inline-block;
  padding: 0.9rem 2.5rem;
  background: var(--gh-accent);
  color: var(--gh-black);
  border-radius: 30px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.85rem;
  transition: background 160ms ease, transform 160ms ease;
}

.gh-community__btn:hover { background: var(--gh-accent-700); color: var(--gh-black); transform: translateY(-2px); }

/* ── Homepage responsive ── */
@media (max-width: 991px) {
  .gh-strains__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 575px) {
  .gh-strains__grid { grid-template-columns: repeat(2, 1fr); }
  .gh-press__logo { height: 30px; }
}

/* =====================================================================
   6. GLOBAL HEADER — Dark glass sticky
   ===================================================================== */

/* Announcement bar (rendered in header.tpl override) */
.gh-announce { display: none; }
.gh-announce--disabled {
  background: var(--gh-accent);
  color: var(--gh-black);
  text-align: center;
  font-family: 'Eurostile Ex2', 'Inter', sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.5rem 1rem;
  line-height: 1.4;
}

.gh-announce a {
  color: var(--gh-black);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.gh-announce a:hover { opacity: 0.7; color: var(--gh-black); }

/* Sticky header wrapper — overrides hummingbird's js-sticky-header handling */
#header.header {
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: none;
}

/* Top utility bar (account / language) */
.header-top {
  background: rgba(0, 0, 0, 0.95);
  border-bottom: 1px solid rgb(255 255 255 / 6%);
  font-family: 'Eurostile Ex2', 'Inter', sans-serif;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Logo + search + cart bar */
.header-bottom {
  background: rgba(10, 10, 10, 0.88);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgb(255 255 255 / 10%);
  min-height: 72px;
}

/* Logo sizing */
.header-bottom__logo img,
.header-bottom__logo .logo img { height: 52px !important; width: auto; }

/* Mega-menu / navigation bar */
.header-nav-full-width {
  background: #0d0d0c;
  border-bottom: 1px solid rgb(255 255 255 / 8%);
}

/* Nav links inside ps_mainmenu */
.header-nav-full-width a,
.header-nav-full-width .nav-link {
  font-family: 'Eurostile Ex2', 'Inter', sans-serif;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--gh-text);
  transition: color 0.18s ease;
}

.header-nav-full-width a:hover,
.header-nav-full-width .nav-link:hover { color: var(--gh-accent); }

/* Header action buttons (account, cart, search) */
.header-block__action-btn,
.header-bottom .header-block__action-btn { color: var(--gh-text); }

.header-block__action-btn:hover,
.header-bottom .header-block__action-btn:hover { color: var(--gh-accent); }

/* Cart badge */
.header-block__badge {
  background: var(--gh-accent);
  color: var(--gh-black);
  font-family: 'Eurostile Ex2', 'Inter', sans-serif;
  font-weight: 800;
}

/* Search input (inside header via displayTop hook) */
.header-bottom .search-widget input[type="text"],
.header-bottom .search-widget input[type="search"] {
  background: rgb(255 255 255 / 7%);
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 30px;
  color: var(--gh-text);
  font-family: 'Inter', sans-serif;
}

.header-bottom .search-widget input:focus {
  border-color: var(--gh-accent);
  outline: none;
  box-shadow: 0 0 0 3px rgb(255 204 0 / 15%);
}

/* =====================================================================
   7. GLOBAL FOOTER — Dark
   ===================================================================== */

#footer.footer {
  background: #0a0a0a;
  border-top: 1px solid rgb(255 255 255 / 8%);
}

.footer.footer__main {
  background: #0a0a0a;
}

.footer.footer__before {
  background: #0a0a0a;
  border-top: 1px solid rgb(255 255 255 / 8%);
}

.footer__main-top,
.footer__main-bottom { padding-block: 3rem 2rem; }

/* Footer links */
.footer a { color: var(--gh-text); }
.footer a:hover { color: var(--gh-accent); }

/* Footer headings */
.footer h3, .footer h4, .footer .h4 {
  font-family: 'Eurostile Ex2', 'Inter', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--gh-muted);
  margin-bottom: 1rem;
}

/* Footer copyright bar */
.footer__copyright,
.footer-copyright {
  border-top: 1px solid rgb(255 255 255 / 6%);
  padding-block: 1.25rem;
  font-size: 0.78rem;
  color: var(--gh-muted);
  text-align: center;
}

/* =====================================================================
   8. GLOBAL BREADCRUMB — muted on dark
   ===================================================================== */

.breadcrumb { background: transparent; }
.breadcrumb-item, .breadcrumb-item a { color: var(--gh-muted); font-size: 0.82rem; }
.breadcrumb-item.active { color: var(--gh-text); }
.breadcrumb-item + .breadcrumb-item::before { color: rgb(255 255 255 / 25%); }

/* =====================================================================
   9. GLOBAL BUTTONS — brand overrides
   ===================================================================== */

.btn-primary {
  background: var(--gh-accent);
  border-color: var(--gh-accent);
  color: var(--gh-black);
  font-family: 'Eurostile Ex2', 'Inter', sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-radius: 30px;
}

.btn-primary:hover {
  background: var(--gh-accent-700);
  border-color: var(--gh-accent-700);
  color: var(--gh-black);
}

.btn-secondary {
  background: transparent;
  border: 1px solid rgb(255 255 255 / 25%);
  color: var(--gh-text);
  font-family: 'Eurostile Ex2', 'Inter', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 30px;
}

.btn-secondary:hover {
  background: rgb(255 255 255 / 8%);
  border-color: rgb(255 255 255 / 50%);
  color: var(--gh-white);
}

/* =====================================================================
   10. HOMEPAGE v2.0 — full mockup port
   Mirrors localhost:4444/mockup/index.html exactly.
   ===================================================================== */

/* extra tokens */
:root {
  --gh-border: rgba(255,255,255,.10);
  --gh-surface-dark: #151514;
  --gh-surface-2: #1f1f1d;
  --gh-bg: #0a0a0a;
  --gh-gold-700: #e6b800;
  --gh-indica: #ff6b00;
  --gh-auto-color: #80bc00;
  --gh-cbd-color: #87d1e6;
}

/* Shared container */
.gh-wrap{max-width:1360px;margin-inline:auto;padding-inline:clamp(1rem,4vw,2.5rem)}

/* Section spacing */
.gh-sec{padding-block:clamp(3.5rem,7vw,7rem)}

/* Section head */
.gh-head{text-align:center;margin-bottom:3rem}
.gh-head h2{font-size:clamp(1.08rem,2.1vw,1.68rem);text-transform:uppercase}
.gh-head p{color:var(--gh-muted);margin-top:.5rem}
.gh-head a{color:var(--gh-accent);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}

/* ── GH button ── */
.gh-btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--gh-accent);color:#000;font-family:'Eurostile Ex2','Inter',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;padding:1rem 2.4rem;border-radius:40px;border:0;cursor:pointer;transition:.18s;text-decoration:none}
.gh-btn:hover{background:var(--gh-gold-700);transform:translateY(-2px);color:#000}
.gh-btn--ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.gh-btn--ghost:hover{border-color:var(--gh-accent);color:var(--gh-accent);background:transparent;transform:translateY(-2px)}

/* ── Hero slider ── */
.hero-slider{position:relative;min-height:clamp(280px,46vh,470px);overflow:hidden;background:#000;isolation:isolate;outline:none}
.hslides{position:absolute;inset:0;z-index:0}
.hslide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 0s linear 1s}
.hslide.is-active{opacity:1;visibility:visible;z-index:2;transition:opacity 1s ease}
.hslide__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%;z-index:0}
.hslide--photo.is-active .hslide__img{animation:kb-zoom 12s ease-out both}
.hslide--center.is-active .hslide__img{animation:kb-settle 1.5s cubic-bezier(.2,.7,.2,1) both}
@keyframes kb-zoom{0%{transform:scale(1.03)}100%{transform:scale(1.16)}}
@keyframes kb-settle{0%{transform:scale(1.07);opacity:0}100%{transform:scale(1);opacity:1}}
.hero-slider.is-paused .hslide--photo.is-active .hslide__img,
.hero-slider.is-paused .hs-dot.is-active .hs-dot__fill{animation-play-state:paused}
.hslide__scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.12) 24%,rgba(0,0,0,0) 44%,rgba(0,0,0,.18) 60%,rgba(0,0,0,.92) 100%)}

/* slider animation helpers */
.hbanner__kicker{display:inline-flex;align-items:center;gap:.55rem;color:var(--gh-accent);font-weight:800;text-transform:uppercase;letter-spacing:.3em;font-size:clamp(.62rem,1.4vw,.82rem);opacity:0}
.hbanner__kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gh-accent);box-shadow:0 0 10px var(--gh-accent)}
.hslide.is-active .hbanner__kicker{animation:hb-rise .7s .25s cubic-bezier(.2,.7,.2,1) forwards}
.hbanner__title{margin:.75rem auto 0;max-width:16ch;color:#fff;font-weight:900;text-transform:uppercase;font-size:clamp(2.2rem,6.6vw,5.4rem);line-height:.96;letter-spacing:-.01em;opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(18px);text-shadow:0 4px 30px rgba(0,0,0,.6)}
.hbanner__title em{color:var(--gh-accent);font-style:normal}
.hslide.is-active .hbanner__title{animation:hb-wipe 1s .42s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes hb-wipe{0%{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(18px)}100%{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0)}}
@keyframes hb-rise{0%{opacity:0;transform:translateY(22px);filter:blur(8px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}

/* Slide chrome (dots + arrows) */
.hs-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:46px;height:46px;border-radius:50%;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.25);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(4px);transition:background .2s,color .2s,border-color .2s}
.hs-arrow:hover{background:var(--gh-accent);color:#000;border-color:var(--gh-accent)}
.hs-arrow svg{width:22px;height:22px}
.hs-prev{left:clamp(.6rem,2vw,1.6rem)}
.hs-next{right:clamp(.6rem,2vw,1.6rem)}
.hs-dots{position:absolute;left:50%;bottom:1rem;transform:translateX(-50%);z-index:6;display:flex;gap:.55rem}
.hs-dot{width:38px;height:4px;border-radius:3px;background:rgba(255,255,255,.28);overflow:hidden;cursor:pointer;border:0;padding:0}
.hs-dot__fill{display:block;width:0;height:100%;background:var(--gh-accent)}
.hs-dot.is-active .hs-dot__fill{animation:hs-prog var(--dur,6s) linear forwards}
@keyframes hs-prog{from{width:0}to{width:100%}}

/* Slide 1 — King's Juice */
.hslide--kjuice{background:#000}
.hslide--kjuice .hslide__img{object-position:64% center}
.hslide--kjuice.is-active .hslide__img{animation:kb-settle 1.7s cubic-bezier(.2,.7,.2,1) both}
.hslide--kjuice .hslide__scrim{background:linear-gradient(90deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.55) 40%,rgba(0,0,0,.08) 62%,rgba(0,0,0,0) 74%)}
.kj__inner{position:relative;z-index:2;height:100%;display:flex;align-items:center}
.kj__group{display:flex;align-items:flex-start;gap:1.1rem;max-width:540px}
.kj__rule{flex-shrink:0;width:3px;border-radius:2px;background:linear-gradient(180deg,var(--gh-accent),rgba(255,204,0,.15));height:0;--h:128px}
.hslide--kjuice.is-active .kj__rule{animation:kj-grow-h .7s .2s cubic-bezier(.3,.8,.3,1) forwards}
.kj__body{padding-top:.1rem}
.kj__logo{display:block;height:clamp(46px,6.4vw,68px);width:auto;margin-bottom:.55rem;filter:drop-shadow(0 3px 10px rgba(0,0,0,.5));opacity:0}
.hslide--kjuice.is-active .kj__logo{animation:kj-rise .5s .12s ease forwards}
.kj__kicker{color:var(--gh-accent);font-family:'Eurostile Ex2','Inter',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.24em;font-size:.7rem;margin-bottom:.45rem;opacity:0}
.hslide--kjuice.is-active .kj__kicker{animation:kj-rise .55s .3s ease forwards}
.kj__title{font-family:'Eurostile BoldEx2','Inter',sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(1.14rem,2.58vw,1.83rem);line-height:1.02;color:#fff;margin:0 0 .35rem;text-shadow:0 4px 30px rgba(0,0,0,.6);opacity:0}
.hslide--kjuice.is-active .kj__title{animation:kj-rise .6s .42s cubic-bezier(.2,.7,.2,1) forwards}
.kj__cross{font-family:'Eurostile Ex2','Inter',sans-serif;color:var(--gh-muted);font-weight:600;text-transform:uppercase;letter-spacing:.16em;font-size:.66rem;margin:0 0 .7rem;opacity:0}
.kj__cross b{color:var(--gh-accent);font-weight:700}
.hslide--kjuice.is-active .kj__cross{animation:kj-rise .55s .54s ease forwards}
.kj__sub{color:var(--gh-muted);max-width:36ch;font-size:.94rem;line-height:1.5;margin:0 0 .95rem;opacity:0}
.hslide--kjuice.is-active .kj__sub{animation:kj-rise .55s .66s ease forwards}
.kj__cta{display:flex;gap:.6rem;flex-wrap:wrap;opacity:0}
.kj__cta .gh-btn{padding:.7rem 1.4rem;font-size:.78rem}
.hslide--kjuice.is-active .kj__cta{animation:kj-rise .55s .8s ease forwards}
@keyframes kj-rise{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}
@keyframes kj-grow-h{0%{height:0}100%{height:var(--h,128px)}}

/* Slide 2 — Double Strain */
@keyframes riseL{0%{opacity:0;transform:translateX(-22px)}100%{opacity:1;transform:translateX(0)}}
@keyframes riseR{0%{opacity:0;transform:translateX(22px)}100%{opacity:1;transform:translateX(0)}}
@keyframes growH{0%{height:0}100%{height:var(--h,96px)}}
@keyframes popIn{0%{opacity:0;transform:scale(.9)}100%{opacity:1;transform:scale(1)}}
.hslide--ds{background:#000}
.hslide--ds .hslide__scrim{background:linear-gradient(180deg,rgba(0,0,0,.4) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,0) 78%,rgba(0,0,0,.4) 100%)}
.ds__inner{position:relative;z-index:2;height:100%;display:flex;align-items:center}
.ds-row{display:flex;justify-content:center;align-items:flex-start;gap:1.4rem;width:100%;max-width:38vw;margin-inline:auto}
.ds-col{flex:1 1 0;min-width:0;max-width:16.5vw}
.ds-col--r{text-align:right}
.ds-col--r .ds-cta{justify-content:flex-end}
.o1__col{display:flex;align-items:flex-start;gap:.6rem}
.o1__col--r{flex-direction:row-reverse}
.o1__rule{flex-shrink:0;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--gh-accent),rgba(255,204,0,.15));height:0;--h:118px}
.ds-titlerow{display:flex;align-items:center;gap:.15rem;opacity:0}
.ds-col--r .ds-titlerow{flex-direction:row-reverse}
.logo-inline{display:block;width:auto;flex-shrink:0;filter:drop-shadow(0 3px 8px rgba(0,0,0,.55))}
.logo-h-honey{height:clamp(37px,4.9vw,54px)}
.logo-h-shishka{height:clamp(32px,4.2vw,47px)}
.ds-title{font-family:'Eurostile BoldEx2','Inter',sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(.95rem,1.95vw,1.3rem);line-height:1.08;color:#fff;margin:0;flex:1 1 auto;min-width:0;max-width:8em;text-shadow:0 3px 18px rgba(0,0,0,.65)}
.ds-cross{font-family:'Eurostile Ex2','Inter',sans-serif;color:var(--gh-muted);font-weight:600;text-transform:uppercase;letter-spacing:.13em;font-size:.56rem;margin:.35rem 0 .4rem;opacity:0}
.ds-cross b{color:var(--gh-accent);font-weight:700}
.ds-sub{color:var(--gh-muted);font-size:.74rem;line-height:1.4;margin:0 0 .6rem;opacity:0}
.ds-cta{display:flex;gap:.5rem;flex-wrap:wrap;opacity:0}
.v5__dot{width:5px;height:5px;border-radius:50%;background:var(--gh-accent);flex-shrink:0;opacity:0;box-shadow:0 0 6px var(--gh-accent)}
.hslide--ds.is-active .o1__rule{animation:growH .65s .2s cubic-bezier(.3,.8,.3,1) forwards}
.hslide--ds.is-active .ds-col--l .ds-titlerow.rise{animation:riseL .55s .38s ease forwards}
.hslide--ds.is-active .ds-col--r .ds-titlerow.rise{animation:riseR .55s .38s ease forwards}
.hslide--ds.is-active .ds-col--l .ds-cross.rise{animation:riseL .5s .5s ease forwards}
.hslide--ds.is-active .ds-col--r .ds-cross.rise{animation:riseR .5s .5s ease forwards}
.hslide--ds.is-active .ds-col--l .ds-sub.rise{animation:riseL .5s .6s ease forwards}
.hslide--ds.is-active .ds-col--r .ds-sub.rise{animation:riseR .5s .6s ease forwards}
.hslide--ds.is-active .ds-col--l .ds-cta.rise{animation:riseL .5s .72s ease forwards}
.hslide--ds.is-active .ds-col--r .ds-cta.rise{animation:riseR .5s .72s ease forwards}
.hslide--ds.is-active .v5__dot{animation:popIn .4s .5s ease forwards}
@media(max-width:900px){.ds-row{flex-direction:column;align-items:center;gap:1.2rem}.ds-col,.ds-col--r{text-align:center;max-width:90%}.ds-cta,.ds-col--r .ds-cta{justify-content:center}.ds-titlerow,.ds-col--r .ds-titlerow{flex-direction:row;justify-content:center}.o1__col--r{flex-direction:row}}

/* Slide — Brand markers (photo with strain dots) */
.hbanner__markers{position:absolute;left:0;right:0;bottom:clamp(2rem,calc(3vh + 1.25rem),2.75rem);z-index:3;display:flex;align-items:flex-end;padding-inline:clamp(1rem,3vw,2.5rem)}
.hb-mark{flex:1 1 0;min-width:0;text-align:center;opacity:0}
.hb-mark:nth-child(1),.hb-mark:nth-child(4){margin-bottom:1.1rem}
.hslide.is-active .hb-mark{animation:hb-rise .75s cubic-bezier(.2,.7,.2,1) forwards}
.hslide.is-active .hb-mark:nth-child(1){animation-delay:.95s}
.hslide.is-active .hb-mark:nth-child(2){animation-delay:1.13s}
.hslide.is-active .hb-mark:nth-child(3){animation-delay:1.31s}
.hslide.is-active .hb-mark:nth-child(4){animation-delay:1.49s}
.hb-mark__dot{width:9px;height:9px;border-radius:50%;background:var(--gh-accent);margin:0 auto;box-shadow:0 0 0 4px rgba(255,204,0,.16),0 0 14px var(--gh-accent)}
.hslide.is-active .hb-mark__dot{animation:hb-float 3.6s ease-in-out infinite}
@keyframes hb-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.hb-mark__stem{width:1px;height:clamp(30px,6.5vh,62px);margin:0 auto;background:linear-gradient(var(--gh-accent),rgba(255,204,0,0))}
.hb-mark__name{display:block;font-family:'Eurostile Ex2','Inter',sans-serif;color:#fff;font-weight:800;text-transform:uppercase;font-size:clamp(.8rem,1.7vw,1.15rem);line-height:1.1;letter-spacing:.02em;text-shadow:0 2px 16px rgba(0,0,0,.95);white-space:nowrap;text-decoration:none;margin-top:.16rem;transition:color .2s}
.hb-mark__name:hover{color:var(--gh-accent)}

/* Slide — Brand/heritage */
.hslide--brand{background:radial-gradient(120% 95% at 50% 6%,#1d1a10 0,#000 60%)}
.hslide__brand{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5rem;gap:1.15rem}
.hslide__sub{color:var(--gh-muted);max-width:46ch;font-size:clamp(.95rem,1.6vw,1.12rem);opacity:0;margin:0 auto}
.hslide.is-active .hslide__sub{animation:hb-rise .7s .55s cubic-bezier(.2,.7,.2,1) forwards}
.hs-cta{opacity:0}
.hslide.is-active .hs-cta{animation:hb-rise .7s .7s cubic-bezier(.2,.7,.2,1) forwards}

/* Slide — Feature (product art) */
.hslide--feature{background:#000}
.hslide--feature .hero{height:100%;min-height:100%;position:relative;min-height:clamp(440px,68vh,720px);display:flex;align-items:flex-end;background:radial-gradient(120% 100% at 70% 0,#1a1a17 0,#000 70%);overflow:hidden}
.hslide--feature .hero__img{position:absolute;right:-4%;top:50%;transform:translateY(-50%);height:108%;width:auto;object-fit:contain;opacity:0;filter:drop-shadow(0 30px 60px rgba(0,0,0,.6))}
.hslide--feature.is-active .hero__img{animation:hb-fade 1.3s .15s ease forwards}
@keyframes hb-fade{to{opacity:.92}}
.hslide--feature .hero__kicker,.hslide--feature .hero h1,.hslide--feature .hero__sub,.hslide--feature .hero__cta{opacity:0}
.hslide--feature.is-active .hero__kicker{animation:hb-rise .7s .25s cubic-bezier(.2,.7,.2,1) forwards}
.hslide--feature.is-active .hero h1{animation:hb-rise .8s .42s cubic-bezier(.2,.7,.2,1) forwards}
.hslide--feature.is-active .hero__sub{animation:hb-rise .7s .6s cubic-bezier(.2,.7,.2,1) forwards}
.hslide--feature.is-active .hero__cta{animation:hb-rise .7s .74s cubic-bezier(.2,.7,.2,1) forwards}
.hero__inner{position:relative;z-index:2;padding-block:clamp(2.5rem,6vw,5rem)}
.hero__kicker{color:var(--gh-accent);font-family:'Eurostile Ex2','Inter',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.25em;font-size:.8rem;margin-bottom:1rem}
.hero h1{font-size:clamp(1.56rem,4.2vw,3.6rem);font-weight:900;max-width:14ch;text-transform:uppercase}
.hero h1 em{color:var(--gh-accent);font-style:normal}
.hero__sub{color:var(--gh-muted);max-width:42ch;margin:1.25rem 0 2rem;font-size:1.05rem}
.hero__cta{display:flex;gap:.8rem;flex-wrap:wrap}
.hero-ribbon{position:absolute;top:1.5rem;right:1.5rem;z-index:3;background:var(--gh-sale);color:#fff;font-family:'Eurostile Ex2','Inter',sans-serif;font-weight:900;padding:.7rem 1.1rem;border-radius:8px;text-transform:uppercase;font-size:.8rem;letter-spacing:.05em;transform:rotate(3deg)}

@media(max-width:680px){
  .hbanner__markers{position:static;height:auto;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:.75rem;padding:0 1rem clamp(2rem,8vh,3.5rem)}
  .hslide--photo{display:flex;flex-direction:column;justify-content:flex-end}
  .hb-mark{position:static!important;transform:none!important;width:100%;margin-bottom:0!important}
  .hb-mark__dot,.hb-mark__stem{display:none}
  .hb-mark__name{font-size:clamp(.88rem,4vw,1.05rem);display:block;text-align:center;white-space:nowrap}
  .hs-arrow{display:none}
}
@media(prefers-reduced-motion:reduce){
  .hslide,.hslide *,.hs-dot__fill{animation:none!important}
  .hslide__img{transform:none!important;opacity:1!important}
  .hbanner__kicker,.hbanner__title,.hb-mark,.hslide__sub,.hs-cta{opacity:1!important;clip-path:none!important}
  .hs-dot.is-active .hs-dot__fill{width:100%!important}
}

/* ── Seeds marquee ── */
.seeds-marquee{overflow:hidden;border-block:1px solid var(--gh-border);background:var(--gh-surface-dark);padding-block:.9rem;cursor:grab}
.seeds-marquee__track{display:flex;gap:.75rem;width:max-content;animation:marquee-scroll 80s linear infinite}
.seeds-marquee:hover .seeds-marquee__track{animation-play-state:paused}
@keyframes marquee-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.mq-item{flex-shrink:0;width:144px;border-radius:9px;overflow:hidden;border:1px solid var(--gh-border);position:relative;aspect-ratio:3/4;background:#000;display:block;transition:border-color .2s,transform .2s;text-decoration:none}
.mq-item:hover{border-color:var(--gh-accent);transform:scale(1.05);z-index:1}
.mq-item img{width:100%;height:100%;object-fit:cover;object-position:top;position:absolute;inset:0}
.mq-item span{position:absolute;bottom:0;left:0;right:0;color:#fff;font-family:'Eurostile Ex2','Inter',sans-serif;font-size:.58rem;font-weight:700;text-align:center;padding:.55rem .3rem .4rem;text-transform:uppercase;letter-spacing:.06em;background:linear-gradient(transparent,rgba(0,0,0,.92));text-shadow:0 0 6px #000,0 1px 3px #000}

/* ── Category tiles ── */
.gh-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding-block:clamp(3.5rem,7vw,7rem)}
.gh-tile{position:relative;aspect-ratio:3/4;border-radius:16px;overflow:hidden;display:flex;align-items:flex-end;border:1px solid var(--gh-border);text-decoration:none}
.gh-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;transform-origin:top center;transition:transform .7s cubic-bezier(.23,1,.32,1)}
.gh-tile:hover img{transform:scale(1.09)}
.gh-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.85))}
.gh-tile__label{position:relative;z-index:2;padding:1.4rem;width:100%}
.gh-tile__label b{display:block;font-size:1.25rem;font-weight:900;text-transform:uppercase;font-family:'Eurostile BoldEx2','Inter',sans-serif;color:#fff}
.gh-tile__label span{color:var(--gh-accent);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-family:'Eurostile Ex2','Inter',sans-serif}
@media(max-width:680px){.gh-tiles{grid-template-columns:1fr 1fr;gap:.75rem}}

/* ── GH product card (mockup .card design) ── */
.gh-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.gh-card{background:var(--gh-surface-dark);border:1px solid var(--gh-border);border-radius:16px;overflow:hidden;transition:.25s;text-decoration:none;display:flex;flex-direction:column}
.gh-card:hover{border-color:var(--gh-accent);transform:translateY(-4px)}
.gh-card__media{position:relative;aspect-ratio:3/4;overflow:hidden;background:#000}
.gh-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;transition:opacity .45s ease,transform .6s cubic-bezier(.23,1,.32,1)}
.gh-card__media .img2{opacity:0}
.gh-card:hover .gh-card__media .img2{opacity:1}
.gh-card:hover .gh-card__media .img1{opacity:0}
.gh-card__flag{position:absolute;top:.7rem;left:.7rem;background:var(--gh-accent);color:#000;font-size:.62rem;font-family:'Eurostile Ex2','Inter',sans-serif;font-weight:900;text-transform:uppercase;padding:.25rem .55rem;border-radius:4px;letter-spacing:.04em}
.gh-card__body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;flex:1}
.gh-card__name{font-size:1rem;font-weight:700;margin:.2rem 0 .15rem;color:var(--gh-text)}
.gh-card__cross{color:var(--gh-accent);font-size:.78rem;font-weight:600;line-height:1.3;margin-bottom:.55rem}
.strain-id{font-family:'Eurostile Ex2','Inter',sans-serif;font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--gh-muted);margin:.15rem 0 .45rem;display:flex;align-items:center;gap:.4rem}
.strain-id::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gh-accent);box-shadow:0 0 6px var(--gh-accent)}
.strain-id b{color:var(--gh-accent);font-weight:800;letter-spacing:.06em}
.effect-bars{display:grid;grid-template-columns:1fr 1fr;gap:.42rem .85rem;margin:.1rem 0 .7rem}
.effect-bar{display:flex;flex-direction:column;gap:.18rem}
.effect-bar__top{display:flex;align-items:baseline;justify-content:space-between;gap:.3rem}
.effect-bar__lbl{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--gh-muted)}
.effect-bar__val{font-family:'Eurostile Ex2','Inter',sans-serif;font-size:.62rem;font-weight:800;color:#fff}
.effect-bar__track{height:3px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.effect-bar__fill{height:100%;border-radius:2px;background:linear-gradient(90deg,rgba(255,255,255,.18),var(--c,var(--gh-accent)));box-shadow:0 0 7px -1px var(--c,var(--gh-accent))}
.effect-bars>.effect-bar:first-child .effect-bar__fill{background:linear-gradient(90deg,#1db954 0%,#8cc63f 25%,#ffcc00 50%,#ff8c00 68%,#ff4d6d 84%,#c0223e 100%);box-shadow:0 0 8px -1px rgba(255,80,80,.5)}
.gh-card__select{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--gh-border);border-radius:6px;color:var(--gh-text);font-family:'Eurostile Ex2','Inter',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:.38rem .6rem;margin-bottom:.55rem;cursor:pointer;outline:none;appearance:auto}
.gh-card__select:focus,.gh-card__select:hover{border-color:var(--gh-accent)}
.gh-card__row{display:flex;align-items:center;justify-content:space-between;margin-top:auto}
.gh-card__price{font-family:'Eurostile Ex2','Inter',sans-serif;font-weight:800;color:var(--gh-accent);font-size:1.05rem}
.gh-card__add{background:var(--gh-accent);color:#000;border:0;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:.18s}
.gh-card__add:hover{background:var(--gh-gold-700);transform:scale(1.08)}
@media(max-width:1080px){.gh-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.gh-grid{grid-template-columns:1fr 1fr;gap:.75rem}}

/* ── Limited drops ── */
.limited{background:radial-gradient(120% 100% at 50% 0,#15140f 0,#000 70%);border-block:1px solid var(--gh-border)}
.limited__carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1.5rem;scrollbar-width:none;padding-bottom:.25rem}
.limited__carousel::-webkit-scrollbar{display:none}
.limited__carousel .ldrop{flex:0 0 calc(50% - .75rem);scroll-snap-align:start;min-width:0}
.limited__nav{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;margin-top:1.4rem}
.limited__nav button{background:rgba(255,255,255,.06);border:1px solid var(--gh-border);color:var(--gh-text);width:38px;height:38px;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:.18s;font-size:1rem}
.limited__nav button:hover{border-color:var(--gh-accent);color:var(--gh-accent)}
.ldrop{display:grid;grid-template-columns:1fr 1fr;background:var(--gh-surface-dark);border:1px solid var(--gh-accent);border-radius:18px;overflow:hidden;box-shadow:0 0 0 4px rgba(255,204,0,.07)}
.ldrop__media{position:relative;background:#000}
.ldrop__media img{width:100%;height:100%;object-fit:cover;object-position:top;min-height:240px}
.ldrop__tag{position:absolute;top:.8rem;left:.8rem;background:var(--gh-accent);color:#000;font-family:'Eurostile Ex2','Inter',sans-serif;font-weight:900;font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;padding:.32rem .6rem;border-radius:4px}
.ldrop__body{padding:1.6rem;display:flex;flex-direction:column;justify-content:center}
.ldrop__name{font-size:1.35rem;margin:.3rem 0 .6rem;text-transform:uppercase;color:var(--gh-text)}
.ldrop__cross{color:var(--gh-accent);font-size:.92rem;font-weight:600;margin:-.3rem 0 .7rem}
.ldrop__desc{color:var(--gh-muted);font-size:.9rem;margin-bottom:1.4rem}
.ldrop .gh-btn{padding:.7rem 1.6rem}
@media(max-width:860px){.ldrop{grid-template-columns:1fr;gap:0}}
@media(max-width:680px){.limited__carousel .ldrop{flex:0 0 calc(100% - .75rem)}}

/* ── Merch marquee ── */
.merch-marquee{overflow:hidden;border-block:1px solid var(--gh-border);background:var(--gh-surface-dark);padding-block:.9rem;cursor:grab}
.merch-marquee__track{display:flex;gap:.75rem;width:max-content;animation:marquee-scroll 110s linear infinite}
.merch-marquee:hover .merch-marquee__track{animation-play-state:paused}
.merch-item{flex-shrink:0;width:130px;border-radius:9px;overflow:hidden;border:1px solid var(--gh-border);position:relative;aspect-ratio:1/1;background:#000;display:block;transition:border-color .2s,transform .2s;text-decoration:none}
.merch-item:hover{border-color:var(--gh-accent);transform:scale(1.05);z-index:1}
.merch-item img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.merch-item span{position:absolute;bottom:0;left:0;right:0;color:#fff;font-family:'Eurostile Ex2','Inter',sans-serif;font-size:.52rem;font-weight:700;text-align:center;padding:.45rem .3rem .35rem;text-transform:uppercase;letter-spacing:.06em;background:linear-gradient(transparent,rgba(0,0,0,.92));text-shadow:0 0 6px #000,0 1px 3px #000}

/* ── Promo marquee ── */
.promo-marquee{overflow:hidden;background:#000;padding-block:1rem}
.promo-marquee__track{display:flex;gap:1.25rem;width:max-content;animation:marquee-scroll 36s linear infinite}
.promo-marquee:hover .promo-marquee__track{animation-play-state:paused}
.promo-marquee__item{flex-shrink:0;height:clamp(90px,14vw,170px);width:auto;display:block;border-radius:8px;object-fit:contain}

/* ── Popular seeds grid ── */
.seeds-grid{display:grid;grid-template-columns:repeat(11,1fr);gap:.5rem}
.seed-chip{position:relative;display:block;aspect-ratio:3/4;border-radius:8px;overflow:hidden;border:1px solid var(--gh-border);background:#000;transition:border-color .2s,transform .3s;text-decoration:none}
.seed-chip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;transition:opacity .35s ease}
.seed-chip .illus{opacity:0}
.seed-chip:hover{border-color:var(--gh-accent);transform:translateY(-2px)}
.seed-chip:hover .illus{opacity:1}
.seed-chip:hover .photo{opacity:0}
.seed-chip__name{position:absolute;inset:auto 0 0 0;z-index:2;color:#fff;font-size:.58rem;font-weight:700;line-height:1.15;padding:1.1rem .25rem .35rem;text-align:center;text-transform:uppercase;opacity:0;transition:opacity .2s;background:linear-gradient(transparent,rgba(0,0,0,.92))}
.seed-chip:hover .seed-chip__name{opacity:1}
@media(max-width:1100px){.seeds-grid{grid-template-columns:repeat(8,1fr)}}
@media(max-width:700px){.seeds-grid{grid-template-columns:repeat(4,1fr)}}

/* ── Expedition filmstrip ── */
.expeditions{background:#0a0a0a;padding:3.5rem 0 0;overflow:hidden}
.film-roll{position:relative;line-height:0}
.film-roll::before,.film-roll::after{content:'';position:absolute;left:0;right:0;height:28px;z-index:4;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='28'%3E%3Crect width='36' height='28' fill='%230a0a0a'/%3E%3Crect x='11' y='5' width='14' height='18' rx='3' fill='%23111111'/%3E%3C/svg%3E");background-repeat:repeat-x}
.film-roll::before{top:0}.film-roll::after{bottom:0}
.film-track{display:flex;gap:3px;overflow-x:auto;padding:28px clamp(1rem,3vw,2rem);background:#111;scrollbar-width:none;cursor:grab;user-select:none;-webkit-overflow-scrolling:touch}
.film-track::-webkit-scrollbar{display:none}
.film-track.is-dragging{cursor:grabbing}
.film-frame{flex:0 0 220px;display:flex;flex-direction:column;text-decoration:none;color:inherit;outline:2px solid rgba(255,255,255,.06);transition:outline-color .2s,transform .25s ease}
.film-frame:hover{outline-color:var(--gh-accent);transform:scale(1.05);z-index:3}
.film-frame__thumb{position:relative;width:220px;height:124px;overflow:hidden;background:#1a1a1a;flex-shrink:0}
.film-frame__thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:sepia(.3) brightness(.82);transition:filter .35s,transform .35s}
.film-frame:hover .film-frame__thumb img{filter:sepia(0) brightness(1.05);transform:scale(1.08)}
.film-frame__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.3);opacity:0;transition:opacity .25s}
.film-frame:hover .film-frame__play{opacity:1}
.film-frame__play svg{width:44px;height:44px;filter:drop-shadow(0 0 12px rgba(255,204,0,.85))}
.film-frame__year{position:absolute;bottom:.42rem;left:.45rem;font-family:'Eurostile Ex2','Inter',sans-serif;font-size:.5rem;font-weight:800;letter-spacing:.1em;color:#000;background:var(--gh-accent);padding:.1rem .38rem;line-height:1.5}
.film-frame__info{padding:.52rem .58rem .58rem;background:#161616;flex:1;display:flex;flex-direction:column;gap:.2rem}
.film-frame__title{font-family:'Eurostile Ex2','Inter',sans-serif;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#fff;line-height:1.25}
.film-frame__type{font-size:.52rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--gh-muted)}
.expedition-cta{text-align:center;padding:1.6rem 0 2.8rem}
.expedition-cta .gh-btn{font-size:.75rem;letter-spacing:.12em;padding:.65rem 1.8rem;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);background:transparent}
.expedition-cta .gh-btn:hover{border-color:var(--gh-accent);color:var(--gh-accent);background:rgba(255,204,0,.06);transform:none}

/* ── Seed Bank Collaborators ── */
.collab-section{border-top:1px solid var(--gh-border)}
.collab-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.1rem 1.4rem}
.collab-logo{display:flex;align-items:center;justify-content:center;width:calc(25% - 1.1rem);min-width:170px;max-width:230px;height:96px;padding:.9rem 1.4rem;background:rgba(255,255,255,.04);border:1px solid var(--gh-border);border-radius:12px;overflow:hidden;text-decoration:none;transition:border-color .22s,box-shadow .22s,background .22s}
.collab-logo img{max-height:56px;width:auto;max-width:100%;object-fit:contain;filter:grayscale(1) brightness(1.9);opacity:.7;transition:filter .25s,opacity .25s}
.collab-logo:hover{border-color:var(--gh-accent);background:rgba(255,204,0,.05);box-shadow:0 0 0 1px var(--gh-accent)}
.collab-logo:hover img{filter:none;opacity:1}
@media(max-width:760px){.collab-logo{width:calc(50% - .75rem)}}

/* ── USA × Landrace LE filmstrip ── */
.le-section{padding:3rem 0 2rem;background:var(--gh-surface-dark)}
.le-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:8px clamp(1rem,3vw,2rem) 12px;margin-top:-8px}
.le-track::-webkit-scrollbar{display:none}
.le-card{flex:0 0 210px;scroll-snap-align:start;display:flex;flex-direction:column;background:#111;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s;cursor:pointer;text-decoration:none}
.le-card:hover{border-color:var(--gh-accent);transform:translateY(-4px);box-shadow:0 6px 24px rgba(255,204,0,.18)}
.le-card__img{width:210px;height:118px;object-fit:cover;object-position:center top;flex-shrink:0;display:block;filter:brightness(.85);transition:filter .3s}
.le-card:hover .le-card__img{filter:brightness(1)}
.le-card__body{padding:.55rem .65rem .65rem;display:flex;flex-direction:column;gap:.45rem;flex:1;background:#161616}
.le-card__name{font-family:'Eurostile Ex2','Inter',sans-serif;color:#fff;font-weight:800;font-size:.62rem;line-height:1.3;letter-spacing:.02em;text-transform:uppercase}
.le-card__x{color:var(--gh-accent)}
.le-card__foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.3rem}
.le-card__price{font-family:'Eurostile Ex2','Inter',sans-serif;color:var(--gh-accent);font-weight:800;font-size:.78rem}
.le-card__btn{font-family:'Eurostile Ex2','Inter',sans-serif;font-size:.54rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:.3rem .65rem;background:transparent;border:1px solid var(--gh-accent);color:var(--gh-accent);border-radius:4px;white-space:nowrap;text-decoration:none;transition:background .18s,color .18s;display:inline-block}
.le-card__btn:hover{background:var(--gh-accent);color:#000}
.le-nav{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;margin-top:1.1rem;padding-inline:clamp(1rem,4vw,2.5rem)}
.le-nav button{background:rgba(255,255,255,.06);border:1px solid var(--gh-border);color:var(--gh-text);width:38px;height:38px;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:.18s;font-size:1rem}
.le-nav button:hover{border-color:var(--gh-accent);color:var(--gh-accent)}

/* ── Editorial / heritage ── */
.editorial{background:var(--gh-surface-dark);border-block:1px solid var(--gh-border)}
.editorial__inner{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.editorial h2{font-size:clamp(1.08rem,2.1vw,1.8rem);text-transform:uppercase;margin-bottom:1.25rem}
.editorial p{color:var(--gh-muted);font-size:1.08rem;margin-bottom:2rem}
.editorial__img{border-radius:18px;overflow:hidden;aspect-ratio:4/3}
.editorial__img img{width:100%;height:100%;object-fit:cover;object-position:top}
.press-block{margin-top:4rem;padding-top:3.5rem;border-top:1px solid var(--gh-border);text-align:center}
.press-block__title{font-family:'Eurostile Ex2','Inter',sans-serif;font-size:.8rem;color:var(--gh-muted);text-transform:uppercase;letter-spacing:.22em;margin-bottom:2.75rem}
.press-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(2.5rem,6vw,5.5rem)}
.press-logos img{height:clamp(44px,5.5vw,62px);width:auto;opacity:.82;filter:grayscale(1) brightness(2);transition:.25s}
.press-logos img:hover{opacity:1;filter:none;transform:scale(1.06)}
@media(max-width:860px){.editorial__inner{grid-template-columns:1fr}.editorial__img{display:none}}

/* ── Footer newsletter block ── */
.foot-news{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2.5rem;flex-wrap:wrap;padding:2.5rem;margin-bottom:3rem;border-radius:18px;border:1px solid var(--gh-border);background:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.82))}
.foot-news__txt h3{font-size:clamp(1.4rem,3vw,2rem);text-transform:uppercase;font-family:'Eurostile BoldEx2','Inter',sans-serif}
.foot-news__txt h3 em{color:var(--gh-accent);font-style:normal}
.foot-news__txt p{color:var(--gh-muted);font-size:.95rem;margin-top:.4rem;max-width:44ch}
.foot-news__form{display:flex;gap:.6rem;flex:1;max-width:460px;min-width:280px}
.foot-news__form input{flex:1;background:rgba(255,255,255,.08);border:1px solid var(--gh-border);border-radius:40px;padding:.95rem 1.4rem;color:#fff;font-size:.9rem;outline:none}
.foot-news__form input::placeholder{color:var(--gh-muted)}
.foot-news__form input:focus{border-color:var(--gh-accent)}
@media(max-width:760px){.foot-news{flex-direction:column;align-items:flex-start}}

/* ── Homepage native PS hook wrapper ── */
.gh-featured-hook{padding-block:clamp(3.5rem,7vw,7rem)}
.gh-featured-hook .products{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
@media(max-width:1080px){.gh-featured-hook .products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.gh-featured-hook .products{grid-template-columns:1fr 1fr;gap:.75rem}}

/* =====================================================================
   11. FOOTER MODULES — ps_linklist + ps_socialfollow
   ===================================================================== */

/* Footer block (ps_linklist) */
.footer-block { margin-bottom: 1.5rem; }
.footer-block__title,
.footer-block__title--toggle {
  font-family: 'Eurostile Ex2', 'Inter', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--gh-muted);
  background: transparent;
  border: none;
  padding: 0 0 0.75rem;
  cursor: pointer;
  width: 100%;
  text-align: left;
  display: block;
}
.footer-block__title--toggle::after {
  display: none;
}
.footer-block__content { }
.footer-block__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-block__list li { line-height: 1; margin-bottom: 0.55rem; }
.footer-block__list li a {
  color: var(--gh-text);
  font-size: 0.88rem;
  text-decoration: none;
  opacity: 0.75;
  transition: opacity 0.15s, color 0.15s;
}
.footer-block__list li a:hover {
  color: var(--gh-accent);
  opacity: 1;
}

/* ps_socialfollow */
.social-sharing,
.footer__before .social-sharing,
.footer-before .social-sharing {
  display: flex;
  gap: 1.1rem;
  flex-wrap: wrap;
  padding: 0.5rem 0 1.5rem;
}
.social-sharing a,
.social-sharing li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.15);
  color: var(--gh-muted);
  text-decoration: none;
  transition: border-color 0.18s, color 0.18s, background 0.18s;
}
.social-sharing a:hover,
.social-sharing li a:hover {
  color: var(--gh-accent);
  border-color: var(--gh-accent);
  background: rgba(255,204,0,0.08);
}
.social-sharing .material-icons,
.social-sharing svg { font-size: 1rem; width: 18px; height: 18px; }

/* ── Suppress incompatible third-party POS modules ── */
#posnewsletterpopup,
.newsletterpopup { display: none !important; }

/* =====================================================================
   12. HEADER & MAIN NAV — match mockup design
   (overrides hummingbird header-bottom + ps_mainmenu defaults)
   ===================================================================== */

/* ── Header bar ── */
.header-bottom {
  background: rgba(10,10,10,.88) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}
.header-bottom__container {
  padding-block: 0;
}
.header-bottom__row {
  min-height: 72px;
  flex-wrap: nowrap;
  align-items: stretch;
}
.header-bottom__logo {
  flex-shrink: 0;
}
.header-bottom__logo img {
  height: 46px !important;
  width: auto !important;
}

/* ── Desktop cart — right side of header, after search ── */
#_desktop_ps_shoppingcart { order: 3 !important; margin-left: 0.75rem !important; }

/* ── Desktop nav container fills remaining space ── */
.ps-mainmenu__desktop {
  flex: 1 1 auto;
  min-width: 0;
  display: flex !important;
  align-items: stretch;
}

/* ── Nav list — horizontal centred row ── */
.ps-mainmenu__tree {
  display: flex !important;
  flex-direction: row !important;
  gap: 0 1.8rem;
  align-items: stretch;
  margin-inline: auto;
  height: 100%;
  padding: 0;
  list-style: none;
}

/* ── Each top-level item ── */
.ps-mainmenu__tree > .ps-mainmenu__tree-item {
  display: flex;
  align-items: stretch;
  position: relative;
}
.ps-mainmenu__tree > .ps-mainmenu__tree-item > .ps-mainmenu__tree-item-wrapper {
  display: flex;
  align-items: center;
  height: 100%;
}

/* ── Nav link ── */
.ps-mainmenu__tree > .ps-mainmenu__tree-item > .ps-mainmenu__tree-item-wrapper > .ps-mainmenu__tree-link {
  font-family: 'Eurostile Ex2', 'Inter', sans-serif !important;
  font-size: .8rem !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  color: var(--gh-text) !important;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 0 2px;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  text-decoration: none !important;
  transition: color .18s, border-color .18s;
}
.ps-mainmenu__tree > .ps-mainmenu__tree-item:hover > .ps-mainmenu__tree-item-wrapper > .ps-mainmenu__tree-link,
.ps-mainmenu__tree > .ps-mainmenu__tree-item > .ps-mainmenu__tree-item-wrapper > .ps-mainmenu__tree-link:hover {
  color: var(--gh-accent) !important;
  border-bottom-color: var(--gh-accent) !important;
}

/* ── Hide the separate dropdown toggle arrow ── */
.ps-mainmenu__tree-dropdown-toggle {
  display: none !important;
}

/* ── Submenu dropdown — full-width, dark, blurred ── */
.ps-mainmenu__tree > .ps-mainmenu__tree-item > .js-sub-menu.submenu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 260px;
  background: #0d0d0c;
  border: 1px solid rgba(255,255,255,.10);
  border-top: 2px solid var(--gh-accent);
  box-shadow: 0 24px 60px rgba(0,0,0,.65);
  border-radius: 0 0 10px 10px;
  padding: 1.4rem 0;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(8px);
  transition: opacity .18s, transform .18s, visibility 0s linear .18s;
  z-index: 900;
}
.ps-mainmenu__tree > .ps-mainmenu__tree-item:hover > .js-sub-menu.submenu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  transition: opacity .18s, transform .18s;
}
/* Invisible bridge above dropdown so the hover zone is continuous */
.ps-mainmenu__tree > .ps-mainmenu__tree-item > .js-sub-menu.submenu::before {
  content: '';
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
}

/* ── Submenu inner layout ── */
.submenu .submenu__row {
  flex-direction: column;
  gap: 0;
  padding: 0;
}
.submenu .submenu__left {
  display: flex !important;
  flex-direction: column;
  padding: 0;
}
.submenu .submenu__left-item {
  font-family: 'Eurostile Ex2', 'Inter', sans-serif;
  font-size: .88rem;
  font-weight: 500;
  color: var(--gh-text) !important;
  text-decoration: none;
  padding: .5rem 1.4rem;
  display: block;
  transition: color .15s, background .15s;
}
.submenu .submenu__left-item:hover {
  color: var(--gh-accent) !important;
  background: rgba(255,204,0,.07);
}
/* Hide the right column (image preview) to keep it compact */
.submenu .submenu__right { display: none; }

/* ── Sticky header: remove top padding compensation ── */
body.sticky-header { padding-top: 0 !important; }

/* ══════════════════════════════════════════════════════════════
   §13 — Category listing page
   ══════════════════════════════════════════════════════════════ */

/* ── Category hero ── */
.gh-cat-hero { border-bottom: 1px solid rgba(255,255,255,.07); padding: 2.2rem 0 2rem; }
.gh-cat-hero__inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; }
.gh-cat-kicker { font-family: 'Eurostile Ex2','Inter',sans-serif; font-size: .65rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--gh-accent); margin-bottom: .45rem; }
.gh-cat-title { font-family: 'Eurostile BoldEx2','Inter',sans-serif; font-size: clamp(1.2rem,2.4vw,1.8rem); font-weight: 900; text-transform: uppercase; letter-spacing: .01em; line-height: 1; color: #fff; }
.gh-cat-desc { color: var(--gh-muted); font-size: .88rem; margin-top: .6rem; max-width: 520px; line-height: 1.6; }
.gh-cat-desc p { margin: 0; }
.gh-cat-hero__count { font-family: 'Eurostile Ex2','Inter',sans-serif; font-size: .78rem; color: var(--gh-muted); white-space: nowrap; align-self: flex-end; padding-bottom: .2rem; }
.gh-cat-hero__count b { color: #fff; font-size: 1.2rem; font-family: 'Eurostile BoldEx2','Inter',sans-serif; margin-right: .2rem; }

/* ── Subcategory filter chips ── */
.gh-cat-filters { background: #111; border-bottom: 1px solid rgba(255,255,255,.07); }
.gh-cat-filters__inner { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; padding-top: .65rem; padding-bottom: .65rem; }
.gh-filter-chip { background: none; border: 1.5px solid rgba(255,255,255,.1); color: var(--gh-muted); font-family: 'Eurostile Ex2','Inter',sans-serif; font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .36rem .9rem; border-radius: 30px; cursor: pointer; transition: border-color .15s, color .15s; white-space: nowrap; text-decoration: none; display: inline-block; }
.gh-filter-chip:hover { border-color: rgba(255,204,0,.45); color: var(--gh-accent); }
.gh-filter-chip--active, .gh-filter-chip.active { background: rgba(255,204,0,.1); border-color: rgba(255,204,0,.5); color: var(--gh-accent); }

/* ── Sort bar ── */
#js-product-list-top { border-bottom: 1px solid rgba(255,255,255,.07); }
.gh-sort-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: .8rem; padding-bottom: .8rem; }
.gh-sort-bar__left { display: flex; align-items: center; gap: .65rem; }
.gh-sort-label { font-family: 'Eurostile Ex2','Inter',sans-serif; font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--gh-muted); }
.gh-sort-select-wrap { position: relative; }
.gh-sort-select { background: #161616; border: 1.5px solid rgba(255,255,255,.1); color: var(--gh-text); font-size: .78rem; padding: .38rem .85rem .38rem .6rem; border-radius: 7px; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; }
.gh-sort-select:focus { border-color: rgba(255,204,0,.4); }
.gh-sort-count { font-family: 'Eurostile Ex2','Inter',sans-serif; font-size: .72rem; color: var(--gh-muted); }

/* ── Product grid ── */
.gh-product-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.2rem; padding-top: 1.5rem; padding-bottom: 4rem; }

/* ── Product card ── */
.product-miniature.style_product3 { background: #111; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; position: relative; transition: border-color .18s, transform .18s; }
.product-miniature.style_product3:hover { border-color: rgba(255,204,0,.3); transform: translateY(-2px); }

/* Image block */
.product-miniature.style_product3 .img_block { position: relative; overflow: hidden; aspect-ratio: 3/4; background: #0d0d0d; flex-shrink: 0; }
.product-miniature.style_product3 .img_block .thumbnail { display: block; width: 100%; height: 100%; }
.product-miniature.style_product3 .img_block img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; display: block; }

/* First/second image swap */
.product-miniature.style_product3 .first-image { transition: transform .4s ease; }
.product-miniature.style_product3:hover .first-image { transform: scale(1.04); }
.product-miniature.style_product3 .second-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; opacity: 0; transition: opacity .35s ease; pointer-events: none; }
.product-miniature.style_product3:hover .second-image { opacity: 1; }
.product-miniature.style_product3:hover:not(:has(.second-image)) .first-image { opacity: 1; transform: scale(1.04); }

/* Wishlist heart */
.product-miniature.style_product3 .card-heart { position: absolute; top: 9px; right: 9px; z-index: 3; }
.product-miniature.style_product3 .card-heart .wishlist-button-add { width: 30px; height: 30px; border-radius: 50%; background: rgba(0,0,0,.5); border: 1px solid rgba(255,255,255,.12); display: grid; place-items: center; cursor: pointer; color: var(--gh-muted); transition: color .15s, border-color .15s; padding: 0; }
.product-miniature.style_product3 .card-heart .wishlist-button-add:hover { color: #e84444; border-color: rgba(232,68,68,.4); }

/* Quick view icon */
.product-miniature.style_product3 .card-img-actions { position: absolute; bottom: 9px; right: 9px; z-index: 3; display: none; }

/* Flags */
.product-miniature.style_product3 .product-flag { position: absolute; top: 9px; left: 9px; z-index: 2; list-style: none; display: flex; flex-direction: column; gap: .35rem; padding: 0; margin: 0; }
.product-miniature.style_product3 .product-flag li { font-family: 'Eurostile Ex2','Inter',sans-serif; font-size: .55rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: .26rem .6rem; border-radius: 20px; }
.product-miniature.style_product3 .product-flag .new { background: var(--gh-accent); color: #000; }
.product-miniature.style_product3 .product-flag .on-sale { background: rgba(232,68,68,.2); border: 1.5px solid rgba(232,68,68,.45); color: #e84444; }

/* Add-to-cart action bar — slides up on hover */
.product-miniature.style_product3 .card-action-bar { position: absolute; bottom: 0; left: 0; right: 0; z-index: 4; padding: .6rem .7rem; background: linear-gradient(to top,rgba(10,10,10,.97) 0%,rgba(10,10,10,.65) 100%); transform: translateY(100%); transition: transform .22s ease; }
.product-miniature.style_product3:hover .card-action-bar { transform: translateY(0); }
.product-miniature.style_product3 .card-action-inner { display: flex; gap: .45rem; }
.product-miniature.style_product3 .card-cart-btn { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; padding: 0; background: var(--gh-accent, #ffcc00); color: #000; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .15s; }
.product-miniature.style_product3 .card-cart-btn:hover { background: #e6b800; }
.product-miniature.style_product3 .card-cart-btn.disabled { background: rgba(255,255,255,.08); color: var(--gh-muted); cursor: not-allowed; }
.product-miniature.style_product3 .card-cart-btn svg { width: 18px; height: 18px; }

/* Card body */
.product-miniature.style_product3 .product_desc { padding: .85rem .9rem 1rem; flex: 1; display: flex; flex-direction: column; gap: .2rem; }
.product-miniature.style_product3 .manufacturer { font-family: 'Eurostile Ex2','Inter',sans-serif; font-size: .58rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--gh-accent); }
.product-miniature.style_product3 .manufacturer a { color: inherit; text-decoration: none; }
.product-miniature.style_product3 h3 { margin: 0; }
.product-miniature.style_product3 .product_name { font-family: 'Eurostile BoldEx2','Inter',sans-serif; font-size: .72rem; font-weight: 500; text-transform: uppercase; letter-spacing: .02em; line-height: 1.15; color: #fff; text-decoration: none; }
.product-miniature.style_product3 .product_name:hover { color: var(--gh-accent); }
.product-miniature.style_product3 .product-price-and-shipping { display: flex; align-items: baseline; gap: .5rem; margin-top: auto; padding-top: .6rem; }
.product-miniature.style_product3 .price { font-family: 'Eurostile BoldEx2','Inter',sans-serif; font-size: 1rem; font-weight: 900; color: #ffcc00; }
.product-miniature.style_product3 .price-sale { color: var(--gh-accent); }
.product-miniature.style_product3 .regular-price { font-size: .72rem; color: var(--gh-muted); text-decoration: line-through; }
.product-miniature.style_product3 .discount-product { font-family: 'Eurostile Ex2','Inter',sans-serif; font-size: .6rem; font-weight: 700; color: #e84444; }

/* ── Pagination ── */
.products__pagination { padding: 0 0 4rem; }
.products__pagination .pagination { display: flex; align-items: center; justify-content: center; gap: .4rem; list-style: none; margin: 0; padding: 0; }
.products__pagination .page-item .page-link { width: 36px; height: 36px; border: 1.5px solid rgba(255,255,255,.1); background: none; color: var(--gh-muted); border-radius: 7px; display: grid; place-items: center; font-size: .8rem; font-weight: 700; transition: .15s; font-family: 'Eurostile Ex2','Inter',sans-serif; text-decoration: none; }
.products__pagination .page-item .page-link:hover { border-color: rgba(255,204,0,.4); color: var(--gh-accent); }
.products__pagination .page-item.active .page-link { background: var(--gh-accent); border-color: var(--gh-accent); color: #000; }

/* Responsive grid */
@media(max-width:1100px){ .gh-product-grid { grid-template-columns: repeat(3,1fr); } }
@media(max-width:700px){ .gh-product-grid { grid-template-columns: repeat(2,1fr); } .gh-cat-hero__inner { flex-direction: column; align-items: flex-start; } }

/* ════════════════════════════════════════════════════════
   PRODUCT DETAIL PAGE — GH custom template
   ════════════════════════════════════════════════════════ */

/* Two-column layout */
.gh-product-wrap {
  max-width: 1360px;
  margin-inline: auto;
  padding: 1.5rem clamp(1rem,4vw,2.5rem) 4rem;
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 3rem;
  align-items: start;
}
@media(max-width:1024px) { .gh-product-wrap { grid-template-columns: 1fr; gap: 2rem; } }

/* Gallery */
.gh-product-gallery { position: sticky; top: 80px; }
@media(max-width:1024px) { .gh-product-gallery { position: static; } }
.gh-product-gallery .product__images-container { display: flex; flex-direction: column; gap: .5rem; }
.gh-product-gallery .product-cover { border-radius: 12px; overflow: hidden; background: var(--gh-surface, #111); }
.gh-product-gallery .product-cover img { width: 100%; display: block; object-fit: cover; object-position: 50% 15%; }
.gh-product-gallery .thumb-container { display: flex; gap: .5rem; flex-wrap: wrap; }
.gh-product-gallery .thumb-container .product-image-thumb { width: 72px; height: 72px; border-radius: 6px; overflow: hidden; cursor: pointer; border: 2px solid transparent; background: var(--gh-surface, #111); transition: border-color .15s; }
.gh-product-gallery .thumb-container .product-image-thumb.selected,
.gh-product-gallery .thumb-container .product-image-thumb:hover { border-color: var(--gh-accent, #ffcc00); }
.gh-product-gallery .thumb-container .product-image-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Product info panel */
.gh-product-info { display: flex; flex-direction: column; gap: 0; }

.gh-pinfo-kicker {
  font-family: 'Eurostile Ex2','Inter',sans-serif;
  color: var(--gh-accent, #ffcc00);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  margin-bottom: .5rem;
}
.gh-pinfo-kicker a { color: inherit; text-decoration: none; }

.gh-pinfo-name {
  font-family: 'Eurostile BoldEx2','Inter',sans-serif;
  font-size: clamp(1.14rem,1.92vw,1.56rem);
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1.05;
  letter-spacing: .01em;
  margin-bottom: .35rem;
  color: #fff;
}

.gh-pinfo-cross {
  font-family: 'Eurostile Ex2','Inter',sans-serif;
  color: var(--gh-muted, #a9a9a4);
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 1.2rem;
}
.gh-pinfo-cross p { margin: 0; }

/* Quick stats row */
.gh-quick-stats {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 1.4rem;
}
.gh-stat {
  padding: .8rem .6rem;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.08);
}
.gh-stat:last-child { border-right: none; }
.gh-stat__label {
  font-family: 'Eurostile Ex2','Inter',sans-serif;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gh-muted, #a9a9a4);
  display: block;
  margin-bottom: .25rem;
}
.gh-stat__val {
  font-family: 'Eurostile BoldEx2','Inter',sans-serif;
  font-size: 1rem;
  font-weight: 900;
  color: #fff;
  display: block;
  line-height: 1;
}
.gh-stat--thc .gh-stat__val { color: var(--gh-accent, #ffcc00); text-shadow: 0 0 18px rgba(255,204,0,.5); font-size: 1.2rem; }
.gh-stat--thc .gh-stat__label { color: var(--gh-accent, #ffcc00); }

/* Prices — inherit hummingbird, re-tone */
.gh-product-info .product-prices { margin-bottom: 1rem; }
.gh-product-info .current-price-value { font-family: 'Eurostile BoldEx2','Inter',sans-serif; font-size: 2rem; font-weight: 900; color: #fff; }
.gh-product-info .product-price { color: #fff; }
.gh-product-info .tax-shipping-info { font-size: .75rem; color: var(--gh-muted, #a9a9a4); }

/* Add to cart area */
.gh-product-info .product-add-to-cart { margin-bottom: 1.2rem; }
.gh-product-info .product-add-to-cart .btn-primary,
.gh-product-info .product-add-to-cart .add-to-cart {
  background: var(--gh-accent, #ffcc00);
  color: #000;
  font-family: 'Eurostile Ex2','Inter',sans-serif;
  font-weight: 800;
  font-size: .8rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  border: none;
  border-radius: 30px;
  padding: .8rem 1.8rem;
  cursor: pointer;
  transition: background .18s, transform .18s;
}
.gh-product-info .product-add-to-cart .btn-primary:hover,
.gh-product-info .product-add-to-cart .add-to-cart:hover {
  background: #e6b800;
  transform: translateY(-1px);
}

/* Effect tags */
.gh-effect-tags { display: flex; gap: .4rem; flex-wrap: wrap; margin: 1rem 0; }
.gh-effect-tag {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 30px;
  padding: .28rem .7rem;
  font-size: .67rem;
  color: var(--gh-muted, #a9a9a4);
  font-weight: 600;
  letter-spacing: .04em;
}

/* Meta rows */
.gh-pinfo-meta { border-top: 1px solid rgba(255,255,255,.08); padding-top: 1rem; margin-top: .5rem; display: flex; flex-direction: column; gap: .5rem; }
.gh-meta-row { display: flex; justify-content: space-between; align-items: baseline; font-size: .8rem; }
.gh-meta-label { color: var(--gh-muted, #a9a9a4); font-family: 'Eurostile Ex2','Inter',sans-serif; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.gh-meta-val { color: #fff; font-weight: 600; }

/* ── Tabs ── */
.gh-product-tabs-section {
  max-width: 1360px;
  margin-inline: auto;
  padding: 0 clamp(1rem,4vw,2.5rem) 4rem;
}
.gh-tabs-nav {
  display: flex;
  border-bottom: 1px solid rgba(255,255,255,.08);
  gap: 0;
  margin-bottom: 2rem;
}
.gh-tab-btn {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--gh-muted, #a9a9a4);
  font-family: 'Eurostile Ex2','Inter',sans-serif;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .8rem 1.4rem;
  cursor: pointer;
  transition: color .15s, border-color .15s;
  margin-bottom: -1px;
}
.gh-tab-btn:hover { color: #fff; }
.gh-tab-btn.is-active { border-bottom-color: var(--gh-accent, #ffcc00); color: var(--gh-accent, #ffcc00); }
.gh-tab-panel { display: none; }
.gh-tab-panel.is-active { display: block; }

.gh-desc-body { color: var(--gh-muted, #a9a9a4); font-size: .95rem; line-height: 1.7; max-width: 780px; }
.gh-desc-body p { margin-bottom: 1rem; }
.gh-desc-empty { color: var(--gh-muted, #a9a9a4); font-size: .9rem; }

/* Grow data grid */
.gh-grow-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }
@media(max-width:700px) { .gh-grow-grid { grid-template-columns: repeat(2,1fr); } }
.gh-grow-card { background: var(--gh-surface, #111); border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: 1.1rem 1rem; }
.gh-grow-card__label { font-family: 'Eurostile Ex2','Inter',sans-serif; font-size: .6rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--gh-muted, #a9a9a4); margin-bottom: .4rem; }
.gh-grow-card__val { font-family: 'Eurostile BoldEx2','Inter',sans-serif; font-size: 1.1rem; font-weight: 900; color: #fff; }

/* Attachments */
.gh-attachment { padding: .7rem 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.gh-attachment__link { display: flex; flex-direction: column; gap: .2rem; text-decoration: none; color: #fff; }
.gh-attachment__link:hover { color: var(--gh-accent, #ffcc00); }
.gh-attachment__name { font-weight: 700; font-size: .9rem; }
.gh-attachment__desc { font-size: .78rem; color: var(--gh-muted, #a9a9a4); }

/* ── Add-to-cart modal ── */
#gh-cart-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.75);padding:1rem}
#gh-cart-modal .gcm-box{background:var(--gh-surface,#1c1c1c);border-radius:10px;width:min(680px,100%);color:var(--gh-text,#ececec);font-size:.875rem;box-shadow:0 12px 40px rgba(0,0,0,.6);overflow:hidden;border:1px solid rgba(255,204,0,.15)}
#gh-cart-modal .gcm-header{display:flex;align-items:center;gap:.625rem;padding:.875rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}
#gh-cart-modal .gcm-check{color:#4cbb6c;flex-shrink:0}
#gh-cart-modal .gcm-header-msg{flex:1;color:#4cbb6c;font-weight:500;font-size:.875rem}
#gh-cart-modal .gcm-close{background:none;border:none;cursor:pointer;font-size:1.5rem;line-height:1;padding:.2rem .5rem;color:var(--gh-muted,#a5a5a5);margin-left:.25rem}
#gh-cart-modal .gcm-close:hover{color:var(--gh-white,#fff)}
#gh-cart-modal .gcm-body{display:flex}
#gh-cart-modal .gcm-product{display:flex;gap:1rem;padding:1.25rem;flex:1;min-width:0}
#gh-cart-modal .gcm-product img{width:90px;height:90px;object-fit:cover;border-radius:4px;flex-shrink:0;border:1px solid rgba(255,255,255,.1)}
#gh-cart-modal .gcm-info{display:flex;flex-direction:column;gap:.35rem;min-width:0}
#gh-cart-modal .gcm-name{font-weight:700;color:var(--gh-accent,#ffcc00);font-size:.95rem;line-height:1.3}
#gh-cart-modal .gcm-meta{color:var(--gh-muted,#a5a5a5);font-size:.82rem}
#gh-cart-modal .gcm-meta strong{color:var(--gh-text,#ececec)}
#gh-cart-modal .gcm-divider{width:1px;background:rgba(255,255,255,.08);flex-shrink:0;align-self:stretch;margin:.75rem 0}
#gh-cart-modal .gcm-summary{padding:1.25rem;min-width:200px;display:flex;flex-direction:column;gap:.5rem;justify-content:center}
#gh-cart-modal .gcm-row{display:flex;justify-content:space-between;gap:.75rem}
#gh-cart-modal .gcm-row-lbl{color:var(--gh-muted,#a5a5a5)}
#gh-cart-modal .gcm-row-val{font-weight:700;white-space:nowrap;color:var(--gh-accent,#ffcc00)}
#gh-cart-modal .gcm-row-tax{font-size:.78rem;color:var(--gh-muted,#a5a5a5);border-top:1px solid rgba(255,255,255,.08);padding-top:.5rem;margin-top:.1rem}
#gh-cart-modal .gcm-footer{display:flex;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid rgba(255,255,255,.08)}
#gh-cart-modal .gcm-btn-continue{flex:1;padding:.65rem 1rem;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:5px;cursor:pointer;font-weight:700;font-size:.75rem;letter-spacing:.06em;color:var(--gh-text,#ececec);text-transform:uppercase}
#gh-cart-modal .gcm-btn-continue:hover{border-color:rgba(255,255,255,.4);color:#fff}
#gh-cart-modal .gcm-btn-checkout{flex:1;padding:.65rem 1rem;background:var(--gh-accent,#ffcc00);border:none;border-radius:5px;cursor:pointer;font-weight:700;font-size:.75rem;letter-spacing:.06em;color:#000;display:flex;align-items:center;justify-content:center;gap:.4rem;text-decoration:none;text-transform:uppercase}
#gh-cart-modal .gcm-btn-checkout:hover{background:var(--gh-accent-700,#e6b800);color:#000}
@media(max-width:560px){#gh-cart-modal .gcm-body{flex-direction:column}#gh-cart-modal .gcm-divider{width:auto;height:1px;align-self:auto;margin:0 1.25rem}#gh-cart-modal .gcm-summary{min-width:0}}

/* ── Seed pack selector ── */
.gh-pack-selector{border:none;padding:0;margin:0 0 1.25rem}
.gh-pack-legend{font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gh-muted,#a5a5a5);margin-bottom:.6rem}
.gh-pack-legend .gh-pack-selected-label{color:var(--gh-accent,#ffcc00);font-weight:700;text-transform:none;letter-spacing:0}
.gh-pack-list{display:flex;flex-direction:column;gap:.4rem}
.gh-pack-item{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:7px;cursor:pointer;background:rgba(255,255,255,.03);transition:border-color .18s,background .18s;user-select:none}
.gh-pack-item:hover{border-color:rgba(255,204,0,.35);background:rgba(255,204,0,.04)}
.gh-pack-item.is-selected{border-color:var(--gh-accent,#ffcc00);background:rgba(255,204,0,.07)}
.gh-pack-radio{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.gh-pack-dot{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.25);flex-shrink:0;position:relative;transition:border-color .18s}
.gh-pack-item.is-selected .gh-pack-dot{border-color:var(--gh-accent,#ffcc00)}
.gh-pack-item.is-selected .gh-pack-dot::after{content:'';position:absolute;inset:3px;border-radius:50%;background:var(--gh-accent,#ffcc00)}
.gh-pack-info{flex:1;min-width:0}
.gh-pack-name{font-size:.875rem;font-weight:600;color:var(--gh-text,#ececec)}
.gh-pack-per-seed{font-size:.75rem;color:var(--gh-muted,#a5a5a5);margin-top:.1rem}
.gh-pack-right{display:flex;align-items:center;gap:.6rem;flex-shrink:0}
.gh-pack-badge{font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#000;background:var(--gh-accent,#ffcc00);padding:.15rem .45rem;border-radius:3px;white-space:nowrap}
.gh-pack-price{font-size:.95rem;font-weight:700;color:var(--gh-accent,#ffcc00);white-space:nowrap;min-width:5rem;text-align:right}
.gh-pack-price.is-loading{color:rgba(255,255,255,.2);font-size:.8rem}
