/* The configured Hestia top bar contains no public content on this site. */
body .hestia-top-bar {
  display: none !important;
}

body nav.navbar.header-with-topbar {
  top: 0 !important;
}

body.admin-bar nav.navbar.header-with-topbar {
  top: 32px !important;
}

/* Archive headers: keep one readable, compact visual system. */
body.category #primary.page-header.header-small,
body.woocommerce-shop #woocommerce-page-header.page-header.header-small,
body.tax-product_cat #woocommerce-page-header.page-header.header-small {
  height: auto !important;
  min-height: 300px !important;
  background:
    radial-gradient(circle at 84% 18%, rgba(72, 214, 139, 0.22), transparent 30%),
    linear-gradient(135deg, #102a22 0%, #075c31 55%, #0b7546 100%) !important;
}

body.category #primary.page-header.header-small > .header-filter,
body.woocommerce-shop #woocommerce-page-header.page-header.header-small > .header-filter,
body.tax-product_cat #woocommerce-page-header.page-header.header-small > .header-filter {
  background: transparent !important;
}

body.category #primary.page-header.header-small > .container,
body.woocommerce-shop #woocommerce-page-header.page-header.header-small > .container,
body.tax-product_cat #woocommerce-page-header.page-header.header-small > .container {
  position: relative;
  z-index: 1;
  padding-top: 160px !important;
  padding-bottom: 48px !important;
}

body.category #primary .hestia-title,
body.woocommerce-shop #woocommerce-page-header .hestia-title,
body.tax-product_cat #woocommerce-page-header .hestia-title {
  max-width: 980px;
  margin: 0 auto 14px;
  color: #fff !important;
  font-size: clamp(32px, 3.2vw, 44px);
  line-height: 1.16;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.2);
}

body.category #primary .description,
body.category #primary .description p,
body.tax-product_cat #woocommerce-page-header .description,
body.tax-product_cat #woocommerce-page-header .description p {
  max-width: 820px;
  margin-right: auto;
  margin-left: auto;
  color: #e8f4ee !important;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.55;
}

/* The shop has no archive description, so it can use a shorter heading block. */
body.woocommerce-shop #woocommerce-page-header.page-header.header-small {
  min-height: 250px !important;
}

body.woocommerce-shop #woocommerce-page-header.page-header.header-small > .container {
  padding-bottom: 38px !important;
}

/* Preserve equal choice weight while keeping consent usable on small screens. */
@media (max-width: 600px) {
  .cmplz-cookiebanner {
    right: 8px !important;
    bottom: 8px !important;
    left: 8px !important;
    width: auto !important;
    max-width: none !important;
    max-height: min(46vh, 390px) !important;
    padding: 12px !important;
    gap: 6px !important;
    overflow-y: auto !important;
    transform: none !important;
  }

  .cmplz-cookiebanner .cmplz-title {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
  }

  .cmplz-cookiebanner .cmplz-message {
    max-height: 86px;
    margin: 0 !important;
    overflow-y: auto;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .cmplz-cookiebanner .cmplz-buttons {
    gap: 6px !important;
  }

  .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
    min-height: 42px !important;
    padding: 8px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  .cmplz-cookiebanner .cmplz-links {
    margin-top: 0 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
  }
}

@media (max-width: 782px) {
  body.admin-bar nav.navbar.header-with-topbar {
    top: 46px !important;
  }
}

@media (max-width: 767px) {
  body.category #primary.page-header.header-small,
  body.tax-product_cat #woocommerce-page-header.page-header.header-small {
    min-height: 300px !important;
  }

  body.category #primary.page-header.header-small > .container,
  body.tax-product_cat #woocommerce-page-header.page-header.header-small > .container {
    padding: 118px 20px 38px !important;
  }

  body.woocommerce-shop #woocommerce-page-header.page-header.header-small {
    min-height: 210px !important;
  }

  body.woocommerce-shop #woocommerce-page-header.page-header.header-small > .container {
    padding: 126px 20px 30px !important;
  }

  body.category #primary .hestia-title,
  body.woocommerce-shop #woocommerce-page-header .hestia-title,
  body.tax-product_cat #woocommerce-page-header .hestia-title {
    margin-bottom: 12px;
    font-size: 30px;
    line-height: 1.18;
  }

  body.category #primary .description,
  body.category #primary .description p,
  body.tax-product_cat #woocommerce-page-header .description,
  body.tax-product_cat #woocommerce-page-header .description p {
    font-size: 15px;
    line-height: 1.5;
  }

  /* Compact, horizontal brand lockup gives the hero more usable space. */
  body.home nav.navbar .navbar-header {
    min-height: 78px;
  }

  body.home nav.navbar .navbar-brand,
  body.home nav.navbar .title-logo-wrapper,
  body.home nav.navbar .hestia-logo-on-top {
    height: 68px !important;
    min-height: 68px !important;
  }

  body.home nav.navbar .hestia-logo-on-top {
    display: flex !important;
    flex-direction: row !important;
    gap: 10px;
    align-items: center;
  }

  body.home nav.navbar .hestia-logo img {
    width: 54px !important;
    height: auto !important;
    max-height: 54px !important;
  }

  body.home nav.navbar .hestia-title-tagline-wrap small {
    display: none !important;
  }

  body.home .carousel .page-header {
    min-height: 610px !important;
  }

  body.home .carousel .item .container {
    padding-top: 100px !important;
  }

  body.home .hestia-big-title-content .hestia-title {
    font-size: clamp(32px, 9vw, 38px) !important;
    line-height: 1.06 !important;
  }

  body.home .hestia-big-title-content .sub-title {
    font-size: 16px !important;
    line-height: 1.42 !important;
  }

  /* Keep the four proof points readable and visually balanced on phones. */
  body.home .balansspb-facts-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cmplz-cookiebanner,
  .cmplz-cookiebanner * {
    transition: none !important;
  }
}

