/* HiGuppy footer V5. No page backgrounds, header or route typography here. */
/* The HiGuppy footer above is the sole sitewide footer. Keep theme, block,
 * and Elementor footer templates from rendering beside it on views that do
 * not opt into the shell body class. The :has() guard preserves the wrapper
 * WordPress uses to fire wp_footer(), because it contains .hg-site-footer. */
body:not(.wp-admin) .et-footers-wrapper:not(:has(.hg-site-footer)),
body:not(.wp-admin) footer.footer:not(:has(.hg-site-footer)),
body:not(.wp-admin) #footer:not(:has(.hg-site-footer)),
body:not(.wp-admin) footer.prefooter:not(:has(.hg-site-footer)),
body:not(.wp-admin) footer.wp-block-template-part:not(:has(.hg-site-footer)),
body:not(.wp-admin) .elementor-location-footer:not(:has(.hg-site-footer)),
body:not(.wp-admin) footer.hg-footer,
body:not(.wp-admin) .site-footer:not(:has(.hg-site-footer)) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}

/* Keep wrapper transparent when it contains our footer (wp_footer inside site-footer) */
body.higuppy-site-shell footer.site-footer:has(.hg-site-footer),
body.hg-homepage-active footer.site-footer:has(.hg-site-footer),
body.higuppy-site-shell .site-footer:has(.hg-site-footer),
body.hg-homepage-active .site-footer:has(.hg-site-footer) {
  display: block !important;
  background: transparent !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.higuppy-site-shell footer.site-footer:not(:has(.hg-site-footer)),
body.hg-homepage-active footer.site-footer:not(:has(.hg-site-footer)),
body.higuppy-site-shell .site-footer:not(:has(.hg-site-footer)),
body.hg-homepage-active .site-footer:not(:has(.hg-site-footer)) {
  display: none !important;
}

body.higuppy-site-shell #page,
body.higuppy-site-shell .page-wrapper,
body.hg-homepage-active #page,
body.hg-homepage-active .page-wrapper {
  min-height: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Cart drawer isolation: page-canvas rules must never make the fixed drawer
   transparent or restore background scrolling while it is open. */
body.higuppy-site-shell.higuppy-sidebar-cart-open {
  overflow: hidden !important;
}

body.higuppy-site-shell > .higuppy-sidebar-cart {
  background: #fff !important;
  background-color: #fff !important;
  color: #082747 !important;
  opacity: 1 !important;
}

body.higuppy-site-shell > .higuppy-sidebar-cart-overlay {
  background: rgba(8, 39, 71, 0.48) !important;
  background-color: rgba(8, 39, 71, 0.48) !important;
}

body.higuppy-site-shell .higuppy-sidebar-cart .higuppy-sidebar-cart__btn--checkout,
body.higuppy-site-shell .higuppy-sidebar-cart .higuppy-sidebar-cart__btn--checkout:hover,
body.higuppy-site-shell .higuppy-sidebar-cart .higuppy-sidebar-cart__btn--checkout:focus-visible,
body.higuppy-site-shell .higuppy-sidebar-cart .higuppy-sidebar-cart__btn--checkout:active {
  background: #c84a24 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}


@layer hg-footer {
  body .hg-footer-bridge { display:none !important; }
  body .hg-site-footer.hg-footer-v5 {
    box-sizing:border-box !important; display:block !important; position:relative !important;
    width:100% !important; max-width:none !important; min-height:0 !important;
    margin:0 !important; padding:28px 0 max(22px,env(safe-area-inset-bottom,0px)) !important;
    border:0 !important; border-top:4px solid #d6b577 !important; border-radius:0 !important;
    background:#173f34 !important; background-image:none !important; color:#edf3ec !important;
    box-shadow:none !important; font-family:var(--hg-shared-body) !important;
  }
  body .hg-footer-v5 *,body .hg-footer-v5 *::before,body .hg-footer-v5 *::after { box-sizing:border-box !important; }
  body .hg-footer-v5 .hg-container { width:var(--hg-layout-width) !important; max-width:var(--hg-layout-max) !important; margin-inline:auto !important; padding:0 !important; }
  body .hg-footer-v5 :is(p,a,li,span) { color:#e5eee7 !important; -webkit-text-fill-color:currentColor !important; }
  body .hg-footer-v5 :is(p,li) { text-align:left !important; font-size:var(--hg-type-body) !important; line-height:1.65 !important; letter-spacing:normal !important; }
  body .hg-footer-v5 .hg-footer-top { display:grid !important; grid-template-columns:1fr 1fr !important; gap:28px !important; align-items:center !important; margin-bottom:18px !important; }
  body .hg-footer-v5 .hg-footer-brand { display:block !important; width:auto !important; min-width:0 !important; max-width:none !important; padding:0 !important; margin:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; text-align:left !important; }
  body .hg-footer-v5 .hg-footer-logo { display:inline-flex !important; align-items:center !important; gap:var(--hg-brand-gap) !important; width:auto !important; margin:0 0 6px !important; padding:0 !important; background:transparent !important; text-decoration:none !important; }
  body .hg-footer-v5 .hg-footer-logo img { width:var(--hg-brand-mark) !important; height:var(--hg-brand-mark) !important; object-fit:contain !important; margin:0 !important; }
  body .hg-footer-v5 .hg-footer-logo span { font-size:var(--hg-brand-size) !important; font-weight:750 !important; line-height:1 !important; color:#fffdf8 !important;  letter-spacing:-1px !important; }
  body .hg-footer-v5 .hg-footer-tagline { font-size:18px !important; font-weight:650 !important; margin:0 !important; max-width:none !important; }
  body .hg-footer-v5 .hg-footer-intro-copy { max-width:430px !important; margin:0 !important; }
  body .hg-footer-v5 .hg-footer-contact-panel { justify-self:end !important; width:auto !important; max-width:none !important; min-width:0 !important; }
  body .hg-footer-v5 .hg-footer-contact-panel p { margin:0 !important; }
  body .hg-footer-v5 .hg-footer-actions { display:flex !important; flex-wrap:nowrap !important; align-items:center !important; gap:10px !important; }
  body .hg-footer-v5 .hg-footer-btn { display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:10px !important; height:48px !important; min-height:48px !important; padding:0 14px !important; border:1px solid #618272 !important; border-radius:var(--hg-control-radius) !important; background:#285644 !important; color:#fff !important; -webkit-text-fill-color:#fff !important; text-decoration:none !important; font-size:var(--hg-control-font) !important; font-weight:650 !important; line-height:1.4 !important; white-space:nowrap !important; }
  body .hg-footer-v5 .hg-footer-btn--terra { background:#b7472c !important; border-color:#b7472c !important; }
  body .hg-footer-v5 .hg-footer-btn--whatsapp { background:#1f7a4f !important; border-color:#2c9161 !important; }
  body .hg-footer-v5 :is(.hg-footer-whatsapp-icon,.hg-footer-email-icon) { display:block !important; flex:0 0 auto !important; width:18px !important; height:18px !important; color:#fff !important; fill:currentColor !important; }
  body .hg-footer-v5 .hg-footer-btn span { color:#fff !important; -webkit-text-fill-color:#fff !important; }
  body .hg-footer-v5 .hg-footer-btn:is(:hover,:focus-visible) { filter:brightness(1.1); color:#fff !important; }
  body .hg-footer-v5 .hg-footer-nav { display:block !important; width:var(--hg-layout-width) !important; margin-top:0 !important; padding:18px 0 !important; border-block:1px solid #ffffff24 !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important;  max-width:var(--hg-layout-max) !important; }
  body .hg-footer-v5 .hg-footer-nav-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:16px 32px !important; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; }
  body .hg-footer-v5 .hg-footer-nav-group { display:block !important; width:auto !important; min-width:0 !important; margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; text-align:left !important; }
  body .hg-footer-v5 .hg-footer-nav-group h3 { display:block !important; min-height:18px !important; margin:0 0 5px !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; color:#e7c681 !important; -webkit-text-fill-color:currentColor !important; font-size:13px !important; font-weight:750 !important; line-height:1.4 !important; letter-spacing:.08em !important; text-transform:uppercase !important; box-shadow:none !important; }
  body .hg-footer-v5 .hg-footer-nav-group h3::before,body .hg-footer-v5 .hg-footer-nav-group h3::after { content:none !important; }
  body .hg-footer-v5 .hg-footer-links { display:block !important; width:100% !important; margin:0 !important; padding:0 !important; list-style:none !important; }
  body .hg-footer-v5 .hg-footer-links li { margin:0 !important; padding:0 !important; list-style:none !important; }
  body .hg-footer-v5 .hg-footer-links a { display:flex !important; align-items:center !important; min-height:38px !important; padding:5px 0 !important; margin:0 !important; color:#fffdf8 !important; -webkit-text-fill-color:currentColor !important; font-size:var(--hg-type-ui) !important; font-weight:650 !important; line-height:1.5 !important; text-decoration:none !important; border:0 !important; border-radius:0 !important; background:transparent !important; white-space:normal !important; }
  body .hg-footer-v5 :is(.hg-footer-links a,.hg-footer-legal a):hover { color:#e7c681 !important; text-decoration:underline !important; text-underline-offset:4px; }
  body .hg-footer-v5 .hg-footer-bottom { display:grid !important; grid-template-columns:1fr auto !important; gap:6px 20px !important; align-items:center !important; margin-top:14px !important; margin-bottom:0 !important; border:0 !important; background:transparent !important; }
  body .hg-footer-v5 .hg-footer-copy { margin:0 !important; font-size:14px !important; }
  body .hg-footer-v5 .hg-footer-legal { display:flex !important; flex-wrap:wrap !important; justify-content:flex-end !important; gap:4px 20px !important; margin:0 !important; padding:0 !important; }
  body .hg-footer-v5 .hg-footer-legal a { display:inline-flex !important; align-items:center !important; min-height:44px !important; padding:0 !important; font-size:13px !important; line-height:1.5 !important; background:transparent !important; border:0 !important; border-radius:0 !important; }
  body .hg-footer-v5 .hg-footer-note { grid-column:1/-1 !important; width:100% !important; margin:0 !important; font-size:12px !important; line-height:1.5 !important; white-space:normal !important; }
  body .hg-footer-v5 a:focus-visible { outline:2px solid #e7c681 !important; outline-offset:4px !important; }
  @media(max-width:1100px) {
    body .hg-footer-v5 .hg-container,body .hg-footer-v5 .hg-footer-nav { width:var(--hg-layout-width) !important;  max-width:var(--hg-layout-max) !important; }
    body .hg-footer-v5 .hg-footer-top { grid-template-columns:1fr !important; gap:14px !important; }
    body .hg-footer-v5 .hg-footer-contact-panel { justify-self:start !important; }
    body .hg-footer-v5 .hg-footer-actions { flex-wrap:nowrap !important; }
    body .hg-footer-v5 .hg-footer-nav-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:18px 20px !important; }
    body .hg-footer-v5 .hg-footer-bottom { grid-template-columns:1fr !important; }
    body .hg-footer-v5 .hg-footer-legal { justify-content:flex-start !important; }
  }
  @media(max-width:600px) {
    body .hg-site-footer.hg-footer-v5 { padding:22px 0 calc(60px + env(safe-area-inset-bottom,0px)) !important; }
    body .hg-footer-v5 .hg-container,body .hg-footer-v5 .hg-footer-nav { width:var(--hg-layout-width) !important;  max-width:var(--hg-layout-max) !important; }
    body .hg-footer-v5 .hg-footer-actions { display:grid !important; grid-template-columns:1fr 1fr !important; width:100% !important; }
    body .hg-footer-v5 .hg-footer-contact-panel { width:100% !important; }
    body .hg-footer-v5 .hg-footer-btn { padding:10px !important; font-size:var(--hg-control-font) !important;  min-height:var(--hg-control-height) !important;  border-radius:var(--hg-control-radius) !important;  line-height:1.4 !important; }
    body .hg-footer-v5 .hg-footer-links a { min-height:44px !important; padding:6px 0 !important; font-size:14px !important; }
    body .hg-footer-v5 .hg-footer-nav { padding:14px 0 !important; }
    body .hg-footer-v5 .hg-footer-nav-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:22px 18px !important; align-items:start !important; }
    body .hg-footer-v5 .hg-footer-nav-group,
    body .hg-footer-v5 .hg-footer-links,
    body .hg-footer-v5 .hg-footer-links li { display:block !important; }
    body .hg-footer-v5 .hg-footer-nav-group h3 {
      position:static !important; display:block !important; width:auto !important; height:auto !important; min-height:0 !important;
      margin:0 0 10px !important; padding:0 0 8px !important; overflow:visible !important;
      clip:auto !important; clip-path:none !important; white-space:normal !important;
    }
    body .hg-footer-v5 .hg-footer-nav-group h3::after {
      content:"" !important; display:block !important; width:34px !important; height:2px !important;
      margin-top:7px !important; border-radius:2px !important; background:#b7472c !important;
    }
    body .hg-footer-v5 .hg-footer-legal { display:grid !important; grid-template-columns:1fr 1fr !important; gap:0 12px !important; }
    body .hg-footer-v5 .hg-footer-legal a:last-child { grid-column:1 / -1 !important; justify-self:center !important; }
  }
  /* Footer V6.2 readability floor: no visible footer copy below 16px. */
  body .hg-footer-v5 :is(.hg-footer-btn,.hg-footer-links a,.hg-footer-copy,.hg-footer-legal a,.hg-footer-note) { font-size:16px !important; }
  body .hg-footer-v5 .hg-footer-nav-group h3 { font-size:16px !important; line-height:1.35 !important; }
}
@layer hg-utilities {
  body .hg-back-top:not(#hgBackToTop) { display:none !important; }
  html body #hgBackToTop.hg-site-back-top {
    position:fixed !important; inset:auto 20px calc(var(--hg-back-top-lift,20px) + env(safe-area-inset-bottom,0px)) auto !important;
    z-index:10020 !important; display:grid !important; place-items:center !important;
    width:48px !important; min-width:48px !important; height:48px !important; min-height:48px !important;
    margin:0 !important; padding:0 !important; border:1px solid #fff8 !important; border-radius:50% !important;
    background:#b7472c !important; color:#fff !important; -webkit-text-fill-color:#fff !important;
    font:700 24px/1 var(--hg-shared-body) !important; visibility:visible !important; opacity:1 !important;
    pointer-events:auto !important; transform:none !important; box-shadow:0 6px 22px #173f342b !important;
  }
  html body #hgBackToTop.hg-site-back-top[hidden] { display:none !important; }
  html body #hgBackToTop span { color:#fff !important; -webkit-text-fill-color:#fff !important; font:inherit !important; }
  html body #hgBackToTop:hover { background:#923821 !important; }
  html body #hgBackToTop:focus-visible { outline:3px solid #e7c681 !important; outline-offset:3px !important; }
  @media(max-width:600px) {
    html body #hgBackToTop.hg-site-back-top { right:14px !important; }
    body.single-post.postid-2167 #hgBackToTop.hg-site-back-top { display:none !important; }
  }
}

/* D6: keep Strains illustrations inside their figure and readable on tablets. */
@layer hg-trust-v6 {
  body.page-id-1552 .hgt6-page--strains .wp-block-image > img {
    max-width: 100% !important;
    height: auto !important;
  }
  body.page-id-1552 .hgt6-hero-media figcaption {
    color: #fff !important;
  }
}
@layer hg-utilities {
  @media (max-width: 800px) {
    html body.page-id-1552 #hgBackToTop.hg-site-back-top {
      display: none !important;
    }
  }
}

/* Shared V6 footer: compact, aligned mobile navigation without shrinking touch rows. */
@layer hg-footer {
  @media (max-width: 768px) {
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 { padding:20px 0 calc(26px + env(safe-area-inset-bottom,0px)) !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-top { grid-template-columns:minmax(0,1fr) !important; gap:12px !important; align-items:start !important; margin-bottom:12px !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-brand { width:100% !important; text-align:center !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-logo { display:flex !important; width:fit-content !important; max-width:100% !important; justify-content:center !important; margin:0 auto 6px !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-tagline { margin:0 auto !important; font-size:15px !important; line-height:1.35 !important; text-align:center !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-contact-panel { justify-self:stretch !important; width:100% !important; text-align:center !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-actions { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; width:100% !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-btn { display:flex !important; width:100% !important; min-width:0 !important; height:auto !important; min-height:44px !important; padding:8px 10px !important; justify-content:center !important; font-size:15px !important; line-height:1.35 !important; text-align:center !important; white-space:normal !important; color:#fff !important; -webkit-text-fill-color:#fff !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-btn:is(:hover,:focus-visible,:active),
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-btn:is(:hover,:focus-visible,:active) span { color:#fff !important; -webkit-text-fill-color:#fff !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-nav { padding:14px 0 !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-nav-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:16px 20px !important; align-items:start !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-nav-group { min-width:0 !important; text-align:left !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-nav-group h3 { min-height:0 !important; margin:0 0 5px !important; padding:0 !important; font-size:13px !important; line-height:1.3 !important; text-align:left !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-nav-group h3::before,
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-nav-group h3::after { content:none !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-links,
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-links li { margin:0 !important; padding:0 !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-links a { display:flex !important; width:100% !important; min-height:44px !important; height:auto !important; padding:6px 0 !important; justify-content:flex-start !important; font-size:15px !important; line-height:1.35 !important; text-align:left !important; white-space:normal !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-bottom { gap:4px 12px !important; margin-top:10px !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-copy { font-size:14px !important; line-height:1.4 !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-legal { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:0 10px !important; justify-content:stretch !important; justify-items:center !important; text-align:center !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-legal a { display:flex !important; width:100% !important; min-height:44px !important; justify-content:center !important; font-size:14px !important; line-height:1.35 !important; text-align:center !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-legal a:last-child { grid-column:1/-1 !important; justify-self:center !important; width:calc(50% - 5px) !important; }
    body .hg-site-footer.hg-footer-v5.hg-footer-v6 .hg-footer-note { font-size:13px !important; line-height:1.45 !important; }
  }
}
