/* Brand benefits share the site's type scale, controls and corner radii. */
.bundle-values .value-strip__inner { gap: 1.5rem; padding-block: 2rem; }
.bundle-values .value-strip__inner > div { padding: .5rem .75rem; align-content: start; }
.bundle-values .value-strip__inner strong { font-size: var(--text-lg); line-height: 1.35; }
.bundle-values .value-strip__inner span { font-size: var(--text-sm); line-height: 1.5; text-transform: none; letter-spacing: 0; font-weight: 400; }
.compass-brand-icon { display: block; width: 80px; height: 80px; object-fit: contain; }
.product-stage__content .wc-product-badges { gap: .625rem; flex-wrap: wrap; }
.product-stage__content .wc-product-badges > span { display: inline-flex; align-items: center; gap: .375rem; padding: .25rem .5rem .25rem .25rem; }
.product-stage__content .wc-product-badges .compass-brand-icon { width: 28px; height: 28px; border-radius: 0; }
.compass-product-tone-night .wc-product-badges .compass-brand-icon { filter: invert(1); }
.brand-benefits { margin-block: 4rem; }
.brand-benefits > header { margin-bottom: 1.5rem; max-width: 42rem; }
.brand-benefits h2 { font-size: var(--section-title-size); }
.brand-benefits__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.brand-benefit { display: flex; flex-direction: column; align-items: flex-start; padding: 1.75rem; border-radius: var(--radius-card); background: #e9eddf; color: #173c31; }
.brand-benefit--sugar-free { background: #efe9df; }
.brand-benefit--aspartam-free { background: #173c31; color: #fbfaf6; }
.brand-benefit--aspartam-free .compass-brand-icon { filter: invert(1); }
.brand-benefit .compass-brand-icon { margin-bottom: 1.25rem; }
.brand-benefit h3 { font-size: var(--text-lg); line-height: 1.35; margin: 0 0 .75rem; }
.brand-benefit p { font-size: var(--text-sm); line-height: 1.65; margin: 0 0 1rem; }
.brand-benefit .text-link { margin-top: auto; color: inherit; font-size: var(--text-sm); }
.included-bundle__footer { display: flex; align-items: center; flex-wrap: wrap; gap: .625rem; }
.included-bundle__footer .price { margin-right: auto; }
.included-bundle__footer .text-link { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--text-sm); }
.included-bundle__footer .included-bundle__cart { width: 44px; height: 44px; flex: 0 0 44px; padding: 0; background: #173c31; color: #fff; }
.included-bundle__cart .compass-line-icon { width: 20px; height: 20px; }
.included-bundle__cart:hover { background: #315a48; }
[data-bundle-add][aria-disabled="true"], .single_add_to_cart_button[aria-busy="true"] { opacity: .65; cursor: wait; }
/* First the tree with every order; then progress towards three tangible extras. */
.rewards-journey { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr); gap: 1.5rem; padding: 1.5rem; margin-block: 1rem; background: #edf1e4; border: 1px solid #d8e1cf; border-radius: var(--radius-card); color: #173c31; }
.reward-tree { display: flex; align-items: center; gap: 1rem; padding-right: 1.5rem; border-right: 1px solid #cbd6bf; }
.reward-tree__image { display: block; position: relative; flex: 0 0 80px; width: 80px; height: 104px; }
.reward-tree__image picture, .reward-tree__image img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius-image); }
.reward-tree__image > span { display: grid; place-items: center; position: absolute; right: -6px; bottom: -6px; width: 32px; height: 32px; border-radius: var(--radius-control); background: #f8faf4; border: 1px solid #cbd6bf; }
.reward-tree__image .compass-line-icon { width: 21px; height: 21px; }
.reward-tree .eyebrow { margin: 0 0 .375rem; font-size: var(--text-xs); line-height: 1.4; letter-spacing: .04em; }
.commerce-page .commerce-rewards .reward-tree .eyebrow { display: block; }
.rewards-journey .reward-tree h3 { font-size: var(--text-lg); line-height: 1.3; margin: 0 0 .5rem; }
.reward-tree p:not(.eyebrow) { font-size: var(--text-sm); line-height: 1.5; margin: 0; }
.reward-tree div > a { display: inline-flex; align-items: center; gap: .375rem; min-height: 44px; font-size: var(--text-xs); font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
.rewards-journey .reward-extras h3 { font-size: var(--text-base); line-height: 1.4; margin: 0 0 .375rem; }
.reward-extras > p { font-size: var(--text-sm); line-height: 1.5; margin: 0 0 1rem; }
.reward-route { position: relative; margin-top: 1.25rem; }
.reward-route__track { position: absolute; inset: 16px 12.5% auto; height: 6px; border-radius: var(--radius-control); background: #d0dcc2; overflow: hidden; }
.reward-route__track > span { display: block; height: 100%; background: #53723c; border-radius: inherit; transition: width .35s ease; }
.reward-stops { position: relative; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0; margin: 0; }
.reward-stops li { min-width: 0; padding: 0 .375rem; text-align: center; }
.reward-stop__icon { position: relative; display: grid; place-items: center; width: 38px; height: 38px; margin: 0 auto .625rem; color: #597044; background: #f6f8ef; border: 2px solid #b9caa9; border-radius: 50%; }
.reward-stop__icon .dashicons, .reward-stop__icon .compass-line-icon { width: 20px; height: 20px; font-size: 20px; }
.reward-stops strong, .reward-stop__label, .reward-stops small { display: block; font-size: var(--text-xs); line-height: 1.5; }
.reward-stop__label { margin-top: .25rem; font-weight: 700; }
.reward-stop__label, .reward-stop__detail { hyphens: auto; overflow-wrap: anywhere; }
.reward-stops small { color: #4f634f; }
.reward-stops .reward-stop__status { margin-top: .375rem; }
.reward-stops .is-reached .reward-stop__icon { color: #fff; background: #315838; border-color: #315838; }
.reward-stops .is-reached .reward-stop__status { color: #2c4e2e; font-weight: 700; }
.reward-stops .is-unavailable .reward-stop__icon { background: #edf0e8; border-color: #bfc6b9; color: #737e6c; }
.cart-drawer .rewards-journey { display: block; flex-shrink: 0; margin: .5rem 0; padding: .875rem; }
.cart-drawer .reward-extras { padding-top: 0; }
.cart-drawer .reward-extras h3 { font-size: var(--text-sm); margin-bottom: .5rem; }
.cart-drawer .reward-extras > p { display: none; }
.cart-drawer .reward-route { margin-top: 1rem; }
.cart-drawer .reward-stops li { padding-inline: .125rem; }
.cart-drawer .reward-stops .reward-stop__status { display: none; }
/* Same compact confirmation for product forms, bundle shortcuts and shop cards. */
.shop-toast { position: fixed; z-index: 10020; top: max(1rem, env(safe-area-inset-top)); left: 50%; transform: translateX(-50%); width: min(32rem, calc(100% - 2rem)); display: flex; align-items: flex-start; gap: .75rem; padding: 1rem; color: #173c31; background: #fbfcf7; border: 1px solid #afc2a2; border-radius: var(--radius-card); box-shadow: 0 12px 48px #132c2933; animation: compass-notice-in .24s ease-out both; }
.shop-toast[hidden], .shop-toast [hidden] { display: none !important; }
.shop-toast__icon { display: grid; place-items: center; flex: 0 0 28px; padding-top: .125rem; }
.shop-toast__icon svg { width: 26px; height: 26px; }
.shop-toast__copy { flex: 1; min-width: 0; }
.shop-toast__copy strong { display: block; font-size: var(--text-sm); margin-bottom: .25rem; }
.shop-toast__copy p { margin: 0; font-size: var(--text-sm); line-height: 1.5; overflow-wrap: anywhere; }
.shop-toast__copy button { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 0 0; border: 0; color: inherit; background: transparent; font-size: var(--text-sm); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.shop-toast__close { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; padding: 0; margin: -.5rem -.5rem 0 0; color: inherit; background: transparent; border: 0; }
.shop-toast__close svg { width: 20px; height: 20px; }
.shop-toast.is-error { border-color: #c6926e; background: #fff9f3; color: #683b23; }
.shop-toast.is-error .shop-toast__icon { display: none; }
.cart-drawer .shop-toast { position: absolute; width: calc(100% - 2rem); top: 4rem; }
.wc-block-components-notice-snackbar-list { top: max(1rem, env(safe-area-inset-top)); bottom: auto; left: 50%; right: auto; transform: translateX(-50%); width: min(32rem, calc(100% - 2rem)); z-index: 10020; }
.wc-block-components-notice-snackbar-list .wc-block-components-notice-banner { border-radius: var(--radius-card); font-family: Raleway, sans-serif; font-size: var(--text-sm); line-height: 1.5; background: #fbfcf7; color: #173c31; border: 1px solid #afc2a2; box-shadow: 0 12px 48px #132c2933; }
@keyframes compass-notice-in { from { opacity: 0; translate: 0 -12px; } to { opacity: 1; translate: 0 0; } }
@media (max-width: 1000px) {
  .rewards-journey { grid-template-columns: 1fr; gap: 1rem; }
  .reward-tree { padding: 0 0 1rem; border: 0; border-bottom: 1px solid #cbd6bf; }
  .reward-tree__image { height: 88px; }
}
@media (max-width: 700px) {
  .included-bundle .bundle-art__caption { display: none; }
  .bundle-values .value-strip__inner { gap: 1.5rem 1rem; }
  .bundle-values .value-strip__inner strong { font-size: var(--text-base); }
  .bundle-values .value-strip__inner span { font-size: var(--text-xs); }
  .brand-benefits { margin-block: 2.5rem; }
  .brand-benefits__grid { grid-template-columns: 1fr; }
  .brand-benefit { display: grid; grid-template-columns: 60px minmax(0, 1fr); column-gap: 1rem; padding: 1.25rem; }
  .brand-benefit .compass-brand-icon { grid-column: 1; grid-row: 1 / 4; width: 60px; height: 60px; margin: 0; }
  .brand-benefit h3, .brand-benefit p, .brand-benefit .text-link { grid-column: 2; }
  .brand-benefit h3 { font-size: var(--text-base); margin-bottom: .5rem; }
  .brand-benefit p { margin-bottom: .5rem; }
  .rewards-journey { padding: 1rem; }
  .reward-tree { gap: 1rem; }
  .reward-tree__image { flex-basis: 60px; width: 60px; height: 80px; }
  .reward-tree p:not(.eyebrow), .reward-extras > p { font-size: var(--text-xs); }
  .reward-stops li { padding-inline: .125rem; }
  .reward-stops .reward-stop__status { display: none; }
  .cart-drawer__panel { overflow-y: auto; }
  .cart-drawer .reward-tree div > a { min-height: 44px; }
}
@media (max-height: 700px) {
  .cart-drawer__panel { overflow-y: auto; }
  .cart-drawer .rewards-journey { flex-shrink: 0; }
  .cart-drawer .cart-items { flex: 0 0 auto; max-height: 32vh; }
}
@media (prefers-reduced-motion: reduce) {
  .shop-toast { animation: none; }
  .reward-route__track > span { transition: none; }
}
