/* Pre-launch technical polish: accessibility, responsive spacing, and non-copy UX fixes. */
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #37b44a;
  outline-offset: 3px;
}

.sc_layouts_menu_mobile_button {
  appearance: none;
  background: transparent;
  border: 0;
  color: #37b44a;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  height: 44px;
  justify-content: center;
  line-height: inherit;
  margin: 0;
  padding: 0;
  pointer-events: auto !important;
  position: relative;
  width: 44px;
  z-index: 10070;
  align-items: center;
}

.sc_layouts_menu_mobile_button::before {
  background: currentColor;
  border-radius: 999px;
  box-shadow: 0 -7px 0 currentColor, 0 7px 0 currentColor;
  content: "";
  display: block;
  height: 3px;
  width: 22px;
}

.sc_layouts_menu_mobile_button .sc_layouts_item_icon {
  display: none !important;
}

.menu_mobile_close {
  appearance: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  min-height: 52px;
  min-width: 52px;
  pointer-events: auto !important;
  touch-action: manipulation;
  z-index: 10090 !important;
}

.menu_mobile[aria-hidden="true"] {
  display: none !important;
  height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

.menu_mobile[aria-hidden="false"] {
  display: block !important;
  height: 100% !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  visibility: visible !important;
}

.menu_mobile_overlay {
  display: none !important;
  pointer-events: none !important;
}

body.pga-menu-open .menu_mobile_overlay {
  pointer-events: none !important;
}

html.pga-menu-open,
body.pga-menu-open {
  overflow: hidden !important;
}

body.pga-menu-open .menu_mobile {
  overscroll-behavior: contain;
}

body.pga-menu-open .menu_mobile_inner {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.pga-home-main-heading {
  font-size: 2.142857em;
  line-height: 1.18;
  margin: 0 0 0.65em;
}

.vc_custom_1698831847860,
.vc_custom_1693998051215,
.vc_custom_1698830915431,
.vc_custom_1694158634598 {
  position: relative;
}

.vc_custom_1698831847860::before,
.vc_custom_1693998051215::before,
.vc_custom_1698830915431::before,
.vc_custom_1694158634598::before {
  background: rgba(0, 0, 0, 0.2);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.vc_custom_1698831847860 > .wpb_column,
.vc_custom_1693998051215 > .wpb_column,
.vc_custom_1698830915431 > .wpb_column,
.vc_custom_1694158634598 > .wpb_column {
  position: relative;
  z-index: 1;
}

.vc_custom_1698831847860 h1,
.vc_custom_1693998051215 h1,
.vc_custom_1698830915431 h1,
.vc_custom_1694158634598 h1,
.vc_custom_1698831847860 h2,
.vc_custom_1693998051215 h3,
.vc_custom_1698830915431 h2,
.vc_custom_1694158634598 h2 {
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

.media-jump-nav {
  z-index: 4;
}

.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart div.quantity {
  min-height: 50px;
}

@media (min-width: 1024px) {
  .media-jump-nav {
    right: clamp(24px, 5vw, 88px);
  }
}

@media (max-width: 767px) {
  .top_panel {
    min-height: 0 !important;
  }

  .top_panel .sc_layouts_row_type_compact {
    align-items: center !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    min-height: 76px !important;
    padding: 10px 16px !important;
  }

  .top_panel .sc_layouts_row_type_compact > .wpb_column {
    float: none !important;
    min-height: 0 !important;
  }

  .top_panel .sc_layouts_row_type_compact > .vc_col-sm-3 {
    flex: 0 1 auto !important;
    width: auto !important;
  }

  .top_panel .sc_layouts_row_type_compact > .vc_col-sm-9 {
    flex: 1 1 auto !important;
    width: auto !important;
  }

  .top_panel .sc_layouts_row_type_compact .vc_column-inner,
  .top_panel .sc_layouts_row_type_compact .wpb_wrapper,
  .top_panel .sc_layouts_row_type_compact .sc_layouts_item {
    min-height: 0 !important;
  }

  .top_panel .sc_layouts_column_align_right .wpb_wrapper,
  .top_panel .sc_layouts_column_align_right .sc_layouts_item {
    align-items: center !important;
    display: flex !important;
    justify-content: flex-end !important;
  }

  .top_panel .sc_layouts_logo img {
    max-height: 46px !important;
    max-width: 156px !important;
    width: auto;
  }

  .sc_layouts_menu_mobile_button {
    flex: 0 0 44px;
  }

  .menu_mobile_inner {
    padding: 22px max(18px, env(safe-area-inset-left)) 30px max(18px, env(safe-area-inset-right)) !important;
  }

  .menu_mobile_close {
    align-items: center;
    display: inline-flex;
    justify-content: center;
  }

  .menu_mobile_nav_area a,
  .socials_mobile a,
  .pga-footer a,
  .pga-footer__socials a {
    align-items: center;
    display: inline-flex;
    min-height: 44px;
  }

  .rev-slidebg {
    object-fit: cover;
    object-position: 62% center !important;
  }

  .vc_row .vc_empty_space[style*="7.5em"],
  .vc_row .vc_empty_space[style*="7.4em"],
  .vc_row .vc_empty_space[style*="7.4rem"],
  .vc_row .vc_empty_space[style*="7.2em"] {
    height: 3.2em !important;
  }

  .vc_custom_1698831847860 h1,
  .vc_custom_1693998051215 h1,
  .vc_custom_1698830915431 h1,
  .vc_custom_1694158634598 h1 {
    font-size: 38px !important;
    line-height: 1.1 !important;
  }

  .visual-hero img {
    min-height: 330px;
    object-fit: cover;
  }

  .vc_custom_1693998051215 {
    background-position: 58% center !important;
    background-size: cover !important;
    min-height: 430px !important;
  }

  .vc_custom_1694162479667,
  .vc_custom_1694158634598 {
    background-position: 54% center !important;
    background-size: cover !important;
    min-height: 390px !important;
  }

  .media-jump-nav {
    position: static;
    width: 100%;
  }

  .page_content_wrap,
  .content_wrap,
  .post_content > .vc_row:first-child {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .vc_row .vc_empty_space[style*="4.5em"],
  .vc_row .vc_empty_space[style*="4.2em"],
  .vc_row .vc_empty_space[style*="4em"],
  .vc_row .vc_empty_space[style*="3.2em"] {
    height: 2.2em !important;
  }

  .single-product .content_wrap {
    padding-top: 24px;
  }
}
