/*
 * Stable presentation overrides for WordPress.
 * These rules keep Blocksy, Elementor and global block styles from changing
 * the product-journey typography, colors and interactive controls.
 */

.calcium-journey-page,
.magnesium-journey-page {
  font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif !important;
}

.calcium-journey-page :where(h1, h2, h3, h4, p, a, button, span, strong, small, summary, li),
.magnesium-journey-page :where(h1, h2, h3, h4, p, a, button, span, strong, small, summary, li) {
  font-family: inherit !important;
  font-style: normal;
}

.calcium-journey-page .cj-benefits-heading h2,
.calcium-journey-page .cj-benefit-list h3,
.magnesium-journey-page .cj-benefits-heading h2,
.magnesium-journey-page .cj-benefit-list h3,
.calcium-journey-page .cj-final-cta h2,
.magnesium-journey-page .cj-final-cta h2 {
  color: #fff !important;
}

.calcium-journey-page .cj-benefits .kicker,
.magnesium-journey-page .cj-benefits .kicker,
.calcium-journey-page .cj-ecuador .kicker {
  color: #f2b719 !important;
}

.calcium-journey-page .cj-benefits-heading > p:last-child,
.calcium-journey-page .cj-benefit-list p,
.magnesium-journey-page .cj-benefits-heading > p:last-child,
.magnesium-journey-page .cj-benefit-list p,
.calcium-journey-page .cj-ecuador-copy > p:not(.kicker) {
  color: rgba(255, 255, 255, 0.72) !important;
}

.calcium-journey-page .cj-benefits-heading h2,
.magnesium-journey-page .cj-benefits-heading h2 {
  font-weight: 500 !important;
}

.calcium-journey-page .cj-benefit-list h3,
.magnesium-journey-page .cj-benefit-list h3 {
  font-weight: 700 !important;
}

.calcium-journey-page .cj-ecuador-copy h2,
.calcium-journey-page .cj-gap-scale strong,
.calcium-journey-page .cj-gap-legend span,
.calcium-journey-page .cj-gap-legend b {
  color: #fff !important;
}

.calcium-journey-page .cj-ecuador-copy h2 {
  font-weight: 500 !important;
}

.calcium-journey-page .cj-ecuador-copy h2 span,
.calcium-journey-page .cj-gap-number strong {
  color: #f2b719 !important;
}

.calcium-journey-page .cj-dose-tabs button {
  align-items: flex-start !important;
  appearance: none !important;
  background: #f7f9fe !important;
  border: 1px solid rgba(29, 57, 127, 0.16) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 28px rgba(17, 29, 79, 0.08) !important;
  color: #1d397f !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 112px !important;
  padding: 22px 26px 20px !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: none !important;
}

.calcium-journey-page .cj-dose-tabs button:hover {
  border-color: rgba(29, 57, 127, 0.38) !important;
  box-shadow: 0 16px 34px rgba(17, 29, 79, 0.12) !important;
}

.calcium-journey-page .cj-dose-tabs button[aria-selected="true"] {
  background: #1d397f !important;
  border-color: #1d397f !important;
  box-shadow: 0 18px 42px rgba(29, 57, 127, 0.23) !important;
  color: #fff !important;
}

.calcium-journey-page .cj-dose-tabs button span,
.calcium-journey-page .cj-dose-tabs button small {
  color: inherit !important;
}

.calcium-journey-page .cj-dose-tabs button::before {
  background: rgba(29, 57, 127, 0.2) !important;
  border: 0 !important;
  left: 26px !important;
  right: 26px !important;
}

.calcium-journey-page .cj-dose-tabs button::after {
  background: #f2b719 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.calcium-journey-page .cj-dose-tabs button[aria-selected="true"]::before {
  background: #f2b719 !important;
  left: 0 !important;
  right: 0 !important;
}

.calcium-journey-page .cj-dose-tabs button[aria-selected="true"]::after {
  opacity: 1 !important;
  transform: scale(1) !important;
}

.calcium-journey-page .cj-dose-reading h3,
.calcium-journey-page .cj-dose-number strong {
  color: #1d397f !important;
}

.calcium-journey-page .cj-dose-product.is-conceptual img {
  border-radius: 0 !important;
  height: 100% !important;
  inset: 0 !important;
  max-width: 100% !important;
  object-fit: cover !important;
  transform: none !important;
  width: 100% !important;
}

/*
 * WooCommerce product, cart and checkout pages do not have a full-bleed hero.
 * Keep the header in the document flow so product titles and galleries never
 * sit underneath it, then add a deliberate, compact breathing space.
 */
body.woocommerce-page .site-header,
body.woocommerce .site-header {
  position: relative !important;
  top: 0 !important;
}

body.woocommerce-page .woocommerce-shell.section-pad,
body.woocommerce .woocommerce-shell.section-pad {
  padding-top: clamp(42px, 4.5vw, 72px) !important;
}

/* Remove search controls injected by older menus or header extensions. */
body.woocommerce-page .site-header nav > form,
body.woocommerce-page .site-header nav > button,
body.woocommerce-page .site-header nav > .wp-block-search,
body.woocommerce-page .site-header nav > [class*="search"],
body.woocommerce-page .site-header nav > li[class*="search"],
body.woocommerce .site-header nav > form,
body.woocommerce .site-header nav > button,
body.woocommerce .site-header nav > .wp-block-search,
body.woocommerce .site-header nav > [class*="search"],
body.woocommerce .site-header nav > li[class*="search"] {
  display: none !important;
}

@media (max-width: 720px) {
  body.woocommerce-page .woocommerce-shell.section-pad,
  body.woocommerce .woocommerce-shell.section-pad {
    padding-top: 34px !important;
  }
}

/* Keep the secondary hero action legible over the navy product covers. */
.calcium-journey-page .cj-hero .cj-text-link,
.calcium-journey-page .cj-hero .cj-text-link:link,
.calcium-journey-page .cj-hero .cj-text-link:visited,
.calcium-journey-page .cj-hero .cj-text-link:hover,
.calcium-journey-page .cj-hero .cj-text-link:focus,
.calcium-journey-page .cj-hero .cj-text-link:active {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.calcium-journey-page .cj-hero .cj-text-link:hover,
.calcium-journey-page .cj-hero .cj-text-link:focus-visible {
  opacity: 0.82;
}
