.ast-builder-menu-1 .sub-menu .menu-item > .menu-link, .ast-builder-menu-1 .sub-menu .menu-item > .menu-link:visited { color: rgb(26, 26, 46) !important; }

.ast-builder-menu-1 .sub-menu .menu-item > .menu-link:hover { color: rgb(14, 5, 36) !important; background-color: rgb(240, 240, 240) !important; }

@media (max-width: 768px) {
  .e-con > .e-con[style*="width: 30%"], .e-con > .e-con[style*="width:30%"], .e-con > .e-con[style*="width: 22%"], .e-con > .e-con[style*="width:22%"] { width: 100% !important; min-width: 100% !important; }
  .elementor-section.elementor-top-section > .elementor-container, .e-con.e-parent { padding-left: 20px !important; padding-right: 20px !important; }
  .e-con[style*="background-color: rgb(201, 168, 76)"], .e-con[style*="background-color: #c9a84c"] { padding: 16px 20px !important; }
  .elementor-widget-heading h2 { font-size: clamp(26px, 6vw, 38px) !important; }
  .elementor-widget-button .elementor-button { width: 100%; text-align: center; }
}

@media (max-width: 544px) {
  .hjc-hero h1, .hjc-combo h1, .hjc-hero h2, .hjc-hero h3 { font-size: clamp(22px, 7vw, 30px) !important; word-break: normal !important; overflow-wrap: break-word !important; hyphens: none !important; line-height: 1.3 !important; }
  .elementor-heading-title { word-break: normal !important; overflow-wrap: break-word !important; hyphens: none !important; }
  .elementor-widget-heading .elementor-heading-title.elementor-size-xxl, .elementor-widget-heading .elementor-heading-title.elementor-size-xl { font-size: clamp(26px, 9vw, 42px) !important; }
}

@media (max-width: 544px) {
  .hjc-badge { letter-spacing: 0.5px !important; padding: 6px 12px !important; font-size: 11px !important; white-space: nowrap !important; }
  .hjc-hero { padding: 40px 20px !important; }
}

@media (max-width: 544px) {
  .elementor-widget-image img, .elementor-section img, .elementor-column img { object-position: left center !important; width: 100% !important; max-width: 100% !important; }
}

@media (max-width: 544px) {
  .woocommerce ul.products li.product .button, .woocommerce ul.products li.product .add_to_cart_button, .woocommerce ul.products .add_to_cart_button { font-size: 12px !important; padding: 10px 6px !important; white-space: nowrap !important; letter-spacing: 0px !important; }
  @media (max-width: 375px) {
  .woocommerce ul.products.columns-3 { grid-template-columns: 1fr 1fr !important; }
}
}

@media (min-width: 922px) {
  .main-header-menu > .menu-item > .menu-link, .main-navigation .main-header-menu > .menu-item > a { font-size: 13.5px !important; letter-spacing: 0px !important; padding-left: 12px !important; padding-right: 12px !important; }
}

/* Cart icon fix for mobile and tablet */
/* Uses Astra's own body class .ast-header-break-point which is added when mobile breakpoint is hit */
body.ast-header-break-point #ast-desktop-header {
    display: block !important;
    position: relative !important;
    height: 0 !important;
    overflow: visible !important;
    pointer-events: none !important;
}
body.ast-header-break-point #ast-desktop-header .ast-above-header-wrap,
body.ast-header-break-point #ast-desktop-header .ast-above-header-bar,
body.ast-header-break-point #ast-desktop-header .site-above-header-wrap,
body.ast-header-break-point #ast-desktop-header .ast-builder-grid-row,
body.ast-header-break-point #ast-desktop-header .site-header-above-section-left {
    display: block !important;
    height: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    min-height: 0 !important;
    pointer-events: none !important;
}
body.ast-header-break-point #ast-desktop-header .ast-header-woo-cart {
    display: flex !important;
    position: fixed !important;
    top: 29px !important;
    right: 73px !important;
    z-index: 9999 !important;
    height: 44px !important;
    width: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    pointer-events: all !important;
    background: transparent !important;
}
/* Ensure all elements inside the cart are clickable */
body.ast-header-break-point #ast-desktop-header .ast-header-woo-cart *,
body.ast-header-break-point #ast-desktop-header .ast-header-woo-cart a,
body.ast-header-break-point #ast-desktop-header .ast-header-woo-cart .cart-container {
    pointer-events: all !important;
}
/* Adjust cart position when admin bar is visible (for logged-in admins only) */
body.admin-bar.ast-header-break-point #ast-desktop-header .ast-header-woo-cart {
    top: 75px !important;
}
body.ast-header-break-point #ast-desktop-header .ast-site-header-cart {
    display: flex !important;
}
body.ast-header-break-point #ast-desktop-header .ast-site-header-cart-li {
    display: block !important;
}
body.ast-header-break-point #ast-desktop-header .ast-main-header-wrap,
body.ast-header-break-point #ast-desktop-header .ast-primary-header-bar {
    display: none !important;
}

/* Cart icon contrast fix for mobile/tablet - dark pill background ensures visibility on ANY page background */
body.ast-header-break-point #ast-desktop-header .ast-header-woo-cart {
    background-color: rgba(10, 10, 20, 0.82) !important;
    border-radius: 10px !important;
    padding: 0 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.35) !important;
}
/* Icon & link: force white */
body.ast-header-break-point #ast-desktop-header .ast-header-woo-cart a.cart-container,
body.ast-header-break-point #ast-desktop-header .ast-header-woo-cart .ast-addon-cart-wrap,
body.ast-header-break-point #ast-desktop-header .ast-header-woo-cart .astra-icon.ast-icon-shopping-bag,
body.ast-header-break-point #ast-desktop-header .ast-header-woo-cart .ast-icon.icon-bag,
body.ast-header-break-point #ast-desktop-header .ast-header-woo-cart svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}
/* Cart count badge (::after pseudo-element shows cart total) */
body.ast-header-break-point #ast-desktop-header .ast-header-woo-cart .astra-icon.ast-icon-shopping-bag::after {
    background-color: #c9a227 !important;
    color: #000000 !important;
    border: none !important;
}

/* === LONGEVITY PAGE (ID 313) MOBILE FIXES === */
/* Fix: text width at least 70%, no wrapping issues on mobile/tablet */
@media (max-width: 768px) {
  body.page-id-313 .e-con.e-parent {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.page-id-313 .hjc-synergy,
  body.page-id-313 .hjc-pricing,
  body.page-id-313 .hjc-cta {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  body.page-id-313 .hjc-price-row {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
  }
  body.page-id-313 .hjc-price-row span:first-child {
    flex: 1 1 auto;
    min-width: 0;
  }
  body.page-id-313 .hjc-price-row span:last-child {
    white-space: nowrap !important;
    flex-shrink: 0;
  }
  body.page-id-313 .hjc-btn {
    white-space: nowrap !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
    font-size: 16px !important;
  }
}
@media (max-width: 640px) {
  body.page-id-313 .hjc-synergy,
  body.page-id-313 .hjc-pricing,
  body.page-id-313 .hjc-cta {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  body.page-id-313 .hjc-price-row {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
  }
  body.page-id-313 .hjc-price-row span:last-child {
    white-space: nowrap !important;
    text-align: right !important;
    color: #f0d080 !important;
    font-size: 14px !important;
  }
  body.page-id-313 .hjc-btn {
    white-space: nowrap !important;
    font-size: 15px !important;
    padding: 16px 28px !important;
  }
  body.page-id-313 .hjc-price-combo-val {
    font-size: 26px !important;
  }
}

/* Remove dashed border on mobile dropdown toggle */
.ast-menu-toggle:focus,
.ast-menu-toggle:active,
.ast-menu-toggle {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}