/*
 * HiGuppy purchase-flow finish.
 * Palette and interaction polish only; WooCommerce owns checkout behavior.
 */
@layer hg-readable-type {
  body.hg-checkout-flow-active {
    --hg-flow-canvas: #fffdf8;
    --hg-flow-surface: #ffffff;
    --hg-flow-soft: #f5f8f4;
    --hg-flow-sand: #f7f1e6;
    --hg-flow-ink: #203d32;
    --hg-flow-muted: #617268;
    --hg-flow-green: #285644;
    --hg-flow-green-dark: #173f34;
    --hg-flow-coral: #b7472c;
    --hg-flow-line: #dce6df;
    --hg-flow-shadow: 0 12px 28px rgba(31, 66, 53, 0.055);
    --hg-flow-shadow-soft: 0 6px 18px rgba(31, 66, 53, 0.04);
    --hg-flow-radius-shell: 20px;
    --hg-flow-radius-card: 15px;
    --hg-flow-radius-control: 11px;
    --hg-flow-nav-height: 72px;
  }

  body.admin-bar:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) {
    padding-top: var(--wp-admin--admin-bar--height, 32px) !important;
  }

  @media (max-width: 1100px) {
    body.hg-checkout-flow-active {
      --hg-flow-nav-height: 64px;
    }
  }

  html:has(body.hg-checkout-flow-active.higuppy-site-shell),
  body.hg-checkout-flow-active.higuppy-site-shell,
  body.hg-checkout-flow-active.higuppy-site-shell::before,
  body.hg-checkout-flow-active.higuppy-site-shell > .wp-site-blocks,
  body.hg-checkout-flow-active main {
    background: var(--hg-flow-canvas) !important;
    background-color: var(--hg-flow-canvas) !important;
    background-image: none !important;
    color: var(--hg-flow-ink) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  body:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) .hg-cart-hero {
    background: linear-gradient(135deg, var(--hg-flow-sand) 0%, var(--hg-flow-canvas) 72%) !important;
    background-color: var(--hg-flow-canvas) !important;
    background-image: linear-gradient(135deg, var(--hg-flow-sand) 0%, var(--hg-flow-canvas) 72%) !important;
    border-bottom-color: var(--hg-flow-line) !important;
    overflow: visible !important;
    color: var(--hg-flow-ink) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  body:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) .hg-cart-hero__title,
  body:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) .hg-cart-steps li.is-current .hg-cart-steps__label,
  body:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) .hg-cart-steps li.is-complete .hg-cart-steps__label {
    color: var(--hg-flow-green-dark) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  body:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) .hg-cart-eyebrow {
    color: var(--hg-flow-muted) !important;
    -webkit-text-fill-color: currentColor !important;
    letter-spacing: 0.045em !important;
    text-transform: none !important;
  }

  body:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) .hg-cart-breadcrumb,
  body:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) .hg-cart-breadcrumb a {
    color: var(--hg-flow-muted) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  body:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) .hg-cart-breadcrumb {
    position: sticky !important;
    top: calc(var(--hg-flow-nav-height, 72px) + var(--wp-admin--admin-bar--height, 0px) + 4px) !important;
    z-index: 10030 !important;
    align-self: start !important;
    justify-self: start !important;
    display: flex !important;
    flex-flow: row wrap !important;
    gap: 6px !important;
    box-sizing: border-box !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 0 6px !important;
    padding: 6px 12px !important;
    border: 1px solid var(--hg-flow-line) !important;
    border-radius: 999px !important;
    background: rgba(255, 253, 248, 0.98) !important;
  }

  body:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) .hg-cart-breadcrumb a:hover,
  body:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) .hg-cart-breadcrumb a:focus-visible {
    color: var(--hg-flow-coral) !important;
    -webkit-text-fill-color: currentColor !important;
    text-decoration-thickness: 2px !important;
  }

  body:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) .hg-cart-steps__num {
    border-color: #bfd0c4 !important;
    background: var(--hg-flow-surface) !important;
    color: var(--hg-flow-green) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  body:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) .hg-cart-steps li.is-current .hg-cart-steps__num {
    border-color: var(--hg-flow-green) !important;
    background: var(--hg-flow-green) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) .hg-cart-steps li.is-complete:not(.is-current) .hg-cart-steps__num {
    border-color: #b8cdbd !important;
    background: #eaf1e9 !important;
    color: var(--hg-flow-green-dark) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  /* Empty-cart choices keep the green welcome panel, with quiet warm routes. */
  body.hg-cart-page-active .hg-cart-empty-v7__copy,
  body.hg-cart-page-active .hg-cart-empty-v7__paths {
    border-color: var(--hg-flow-line) !important;
    border-radius: var(--hg-flow-radius-shell) !important;
    box-shadow: var(--hg-flow-shadow-soft) !important;
  }

  body.hg-cart-page-active .hg-cart-empty-v7__copy {
    background: var(--hg-flow-green-dark) !important;
  }

  body.hg-cart-page-active .hg-cart-empty-v7__paths {
    background: var(--hg-flow-surface) !important;
  }

  body.hg-cart-page-active .hg-cart-empty-v7__path {
    border-color: var(--hg-flow-line) !important;
    border-radius: var(--hg-flow-radius-card) !important;
    background: var(--hg-flow-canvas) !important;
    box-shadow: none !important;
    transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease !important;
  }

  body.hg-cart-page-active .hg-cart-empty-v7__path:is(:hover, :focus-visible) {
    border-color: #9fb9a7 !important;
    background: var(--hg-flow-soft) !important;
    transform: translateY(-2px) !important;
  }

  body.hg-cart-page-active .hg-cart-empty-v7__path:focus-visible {
    outline: 3px solid rgba(40, 86, 68, 0.22) !important;
    outline-offset: 2px !important;
  }

  /* Product rows stay readable and compact; the summary carries the elevation. */
  body.hg-cart-page-active .wc-block-cart-items__row {
    border-color: var(--hg-flow-line) !important;
    border-radius: var(--hg-flow-radius-card) !important;
    background: var(--hg-flow-surface) !important;
    box-shadow: var(--hg-flow-shadow-soft) !important;
  }

  body.hg-cart-page-active .wc-block-cart__sidebar,
  body.hg-cart-page-active .wp-block-woocommerce-cart-totals-block,
  body.hg-checkout-page-active .wc-block-checkout__sidebar,
  body.hg-checkout-page-active .wc-block-components-sidebar {
    border-color: var(--hg-flow-line) !important;
    border-top-color: var(--hg-flow-green) !important;
    border-radius: var(--hg-flow-radius-shell) !important;
    background: var(--hg-flow-surface) !important;
    box-shadow: var(--hg-flow-shadow) !important;
  }

  body.hg-cart-page-active .wc-block-cart__totals-title {
    color: var(--hg-flow-green-dark) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 22px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  body.hg-cart-page-active .wc-block-cart-items__row .wc-block-components-product-name,
  body.hg-cart-page-active .wc-block-cart-item__prices,
  body.hg-cart-page-active .wc-block-cart-item__total,
  body.hg-cart-page-active .wc-block-cart-item__remove-link {
    color: var(--hg-flow-ink) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  body.hg-cart-page-active .wc-block-cart-item__remove-link:hover,
  body.hg-cart-page-active .wc-block-cart-item__remove-link:focus-visible {
    color: var(--hg-flow-coral) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  body.hg-cart-page-active .wc-block-components-quantity-selector {
    border-color: #bfd0c4 !important;
    border-radius: var(--hg-flow-radius-control) !important;
    background: var(--hg-flow-surface) !important;
  }

  body.hg-cart-page-active :is(
    .wc-block-components-quantity-selector__input,
    .wc-block-components-quantity-selector__button
  ):focus-visible {
    position: relative !important;
    z-index: 1 !important;
    outline: 3px solid rgba(40, 86, 68, 0.22) !important;
    outline-offset: 1px !important;
  }

  body.hg-cart-page-active .wc-block-components-notice-banner:not(.is-error):not(.is-warning) {
    border-color: var(--hg-flow-line) !important;
    background: var(--hg-flow-soft) !important;
    color: var(--hg-flow-ink) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  body.hg-cart-page-active .wc-block-components-notice-banner:not(.is-error):not(.is-warning):focus-visible,
  body.hg-cart-page-active .wc-block-components-notice-banner:not(.is-error):not(.is-warning):focus-within {
    outline: 3px solid rgba(40, 86, 68, 0.22) !important;
    outline-offset: 2px !important;
  }

  body.hg-cart-page-active .wc-block-components-notice-banner:not(.is-error):not(.is-warning) a:focus-visible {
    outline: 2px solid var(--hg-flow-green) !important;
    outline-offset: 2px !important;
  }

  body.hg-cart-page-active .wc-block-components-totals-footer-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: baseline !important;
    gap: 12px !important;
    border-top-color: var(--hg-flow-line) !important;
  }

  body.hg-cart-page-active .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    min-width: 0 !important;
    color: var(--hg-flow-muted) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 16px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    text-transform: none !important;
    overflow-wrap: anywhere !important;
  }

  body.hg-cart-page-active .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
  body.hg-cart-page-active .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
    justify-self: end !important;
    color: var(--hg-flow-coral) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: clamp(20px, 1.6vw, 24px) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  /* The long pending-quote explanation remains readable without spanning the form. */
  body:is(.hg-cart-page-active, .hg-checkout-page-active) .hg-shipping-quote-notice {
    width: min(100%, 68ch) !important;
    max-width: 68ch !important;
    border-color: var(--hg-flow-line) !important;
    border-left-color: var(--hg-flow-green) !important;
    border-radius: var(--hg-flow-radius-card) !important;
    background: var(--hg-flow-soft) !important;
    color: var(--hg-flow-ink) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  /* The checkout notice sits above both columns, so use the available page width there. */
  body.hg-checkout-page-active .wp-block-woocommerce-checkout > .hg-shipping-quote-notice {
    width: 100% !important;
    max-width: none !important;
  }

  /* Keep checkout sections as the main reading hierarchy; soften only express payment. */
  body.hg-checkout-page-active .wc-block-components-checkout-step {
    border-color: var(--hg-flow-line) !important;
    border-radius: var(--hg-flow-radius-shell) !important;
    background: var(--hg-flow-surface) !important;
    box-shadow: 0 3px 12px rgba(31, 66, 53, 0.035) !important;
  }

  body.hg-checkout-page-active .wc-block-components-checkout-step__heading h2 {
    color: var(--hg-flow-green-dark) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 24px !important;
    font-weight: 750 !important;
    line-height: 1.24 !important;
  }

  body.hg-checkout-page-active .wc-block-components-express-payment legend,
  body.hg-checkout-page-active .wc-block-components-express-payment__title {
    color: var(--hg-flow-green-dark) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 22px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
  }

  body.hg-checkout-page-active .wc-block-components-express-payment {
    box-sizing: border-box !important;
    padding: 16px !important;
    border: 1px solid var(--hg-flow-line) !important;
    border-radius: var(--hg-flow-radius-shell) !important;
    background: var(--hg-flow-soft) !important;
    box-shadow: none !important;
  }

  body.hg-checkout-page-active .wc-block-components-express-payment__content {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Stripe sizes this express iframe wider than its wrapper for its native gutter. */
  body.hg-checkout-page-active .wp-block-woocommerce-checkout .wc-block-components-express-payment .__PrivateStripeElement > iframe[title="Secure express checkout frame"] {
    max-width: none !important;
  }

  body.hg-checkout-page-active .wc-block-components-radio-control-accordion-option {
    border-color: var(--hg-flow-line) !important;
    border-radius: var(--hg-flow-radius-card) !important;
    background: var(--hg-flow-surface) !important;
  }

  body.hg-checkout-page-active .wc-block-components-radio-control-accordion-option--checked {
    border-color: #9fb9a7 !important;
    background: var(--hg-flow-soft) !important;
  }

  body.hg-checkout-page-active .wc-block-components-radio-control-accordion-option:has(input[type="radio"]:checked) {
    border-color: #9fb9a7 !important;
    background: var(--hg-flow-soft) !important;
  }

  body.hg-checkout-page-active :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    border-color: #cbd9cf !important;
    border-radius: var(--hg-flow-radius-control) !important;
    background-color: var(--hg-flow-surface) !important;
    color: var(--hg-flow-ink) !important;
    -webkit-text-fill-color: currentColor !important;
    transition: border-color 160ms ease, box-shadow 160ms ease !important;
  }

  body.hg-checkout-page-active :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus-visible,
  body.hg-checkout-page-active :is(input[type="checkbox"], input[type="radio"]):focus-visible {
    border-color: var(--hg-flow-green) !important;
    outline: 3px solid rgba(40, 86, 68, 0.22) !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
  }

  /* Checkout keeps one clear column rhythm, with the summary sized for its contents. */
  @media (min-width: 901px) {
    body.hg-checkout-page-active .wc-block-components-sidebar-layout {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) minmax(320px, 36%) !important;
      align-items: start !important;
      gap: clamp(18px, 2vw, 24px) !important;
    }

    body.hg-checkout-page-active .wc-block-checkout__sidebar {
      position: static !important;
      top: auto !important;
      align-self: start !important;
      min-width: 0 !important;
      padding: clamp(18px, 2vw, 24px) !important;
      box-shadow: var(--hg-flow-shadow-soft) !important;
    }
  }

  @media (min-width: 1200px) {
    body.hg-checkout-page-active .wc-block-components-sidebar-layout {
      grid-template-columns: minmax(0, 1fr) minmax(400px, 36%) !important;
    }
  }

  /* Sticky summary stays inside a tall desktop viewport; short screens scroll normally. */
  @media (min-width: 1100px) and (min-height: 820px) {
    body.hg-checkout-page-active .wc-block-checkout__sidebar:not(:has(.wc-block-components-order-summary-item:nth-of-type(n + 6))) {
      position: sticky !important;
      top: calc(var(--hg-flow-nav-height, 72px) + 16px) !important;
      max-height: calc(100vh - var(--hg-flow-nav-height, 72px) - 32px) !important;
      overflow-y: auto !important;
      overscroll-behavior: contain !important;
      scrollbar-gutter: stable !important;
    }
  }

  body.hg-checkout-page-active .wc-block-components-order-summary {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.hg-checkout-page-active :is(
    .wp-block-woocommerce-checkout-order-summary-block,
    .wp-block-woocommerce-checkout-order-summary-totals-block
  ) {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.hg-checkout-page-active .wc-block-checkout__sidebar :is(
    .wc-block-components-order-summary__title,
    .wc-block-components-order-summary__title-text,
    .wp-block-woocommerce-checkout-order-summary-block .wp-block-heading
  ) {
    color: var(--hg-flow-green-dark) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 23px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
  }

  body.hg-checkout-page-active .wc-block-components-order-summary-item {
    align-items: center !important;
    gap: 12px !important;
    padding-block: 12px !important;
    border-color: var(--hg-flow-line) !important;
  }

  body.hg-checkout-page-active .wc-block-components-order-summary-item__image {
    box-sizing: border-box !important;
    width: 64px !important;
    min-width: 64px !important;
    height: 64px !important;
  }

  body.hg-checkout-page-active .wc-block-components-order-summary-item__image img {
    display: block !important;
    box-sizing: border-box !important;
    width: 64px !important;
    max-width: 64px !important;
    height: 64px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
  }

  body.hg-checkout-page-active .wc-block-components-order-summary-item__description {
    min-width: 0 !important;
  }

  body.hg-checkout-page-active .wc-block-components-order-summary-item__individual-prices,
  body.hg-checkout-page-active .wc-block-components-order-summary-item__total-price {
    color: var(--hg-flow-ink) !important;
    -webkit-text-fill-color: currentColor !important;
    font-weight: 750 !important;
    font-variant-numeric: tabular-nums !important;
  }

  body.hg-checkout-page-active .wc-block-checkout__sidebar .wc-block-components-totals-footer-item {
    margin-top: 10px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--hg-flow-line) !important;
  }

  body.hg-checkout-page-active .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    color: var(--hg-flow-muted) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
  }

  body.hg-checkout-page-active .wc-block-checkout__sidebar .wc-block-components-totals-footer-item :is(
    .wc-block-components-totals-item__value,
    .wc-block-formatted-money-amount
  ) {
    color: var(--hg-flow-coral) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: clamp(22px, 2vw, 26px) !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    font-variant-numeric: tabular-nums !important;
    white-space: nowrap !important;
  }

  body.hg-checkout-page-active .hg-shipping-quote-notice__title {
    display: block !important;
    margin: 0 0 3px !important;
    color: var(--hg-flow-green-dark) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
  }

  body.hg-checkout-page-active .hg-shipping-quote-notice__body {
    display: block !important;
  }

  body.hg-checkout-page-active .hg-checkout-shipping-reminder {
    box-sizing: border-box !important;
    display: grid !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 12px 0 14px !important;
    padding: 12px 14px !important;
    border: 1px solid #ead5bf !important;
    border-left: 4px solid var(--hg-flow-coral) !important;
    border-radius: var(--hg-flow-radius-card) !important;
    background: var(--hg-flow-sand) !important;
    color: var(--hg-flow-ink) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  body.hg-checkout-page-active .hg-checkout-shipping-reminder__copy,
  body.hg-checkout-page-active .hg-checkout-shipping-reminder__links {
    margin: 0 !important;
  }

  body.hg-checkout-page-active .hg-checkout-shipping-reminder__copy strong {
    color: var(--hg-flow-green-dark) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  body.hg-checkout-page-active .hg-checkout-shipping-reminder__links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 16px !important;
  }

  body.hg-checkout-page-active .hg-checkout-shipping-reminder__links a {
    color: var(--hg-flow-green) !important;
    -webkit-text-fill-color: currentColor !important;
    font-weight: 750 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
  }

  body.hg-checkout-page-active .hg-checkout-shipping-reminder__links a:is(:hover, :focus-visible) {
    color: var(--hg-flow-coral) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  body:is(.hg-checkout-page-active, .hg-cart-page-active) .hg-checkout-express-provider-label {
    box-sizing: border-box !important;
    display: block !important;
    grid-column: 1 / -1 !important;
    flex: 1 0 100% !important;
    order: 1 !important;
    align-self: start !important;
    justify-self: start !important;
    margin: 6px 0 0 !important;
    color: var(--hg-flow-muted) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 16px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
  }

  /* Coral order CTA text stays white through hover, focus, active, and disabled states. */
  body.hg-checkout-page-active .wc-block-components-checkout-place-order-button {
    border-color: var(--hg-flow-coral) !important;
    background: var(--hg-flow-coral) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body.hg-checkout-page-active .wc-block-components-checkout-place-order-button * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body.hg-checkout-page-active .wc-block-components-checkout-place-order-button:is(:hover, :focus-visible) {
    border-color: #a63f27 !important;
    background: #a63f27 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body.hg-checkout-page-active .wc-block-components-checkout-place-order-button:active {
    border-color: #923822 !important;
    background: #923822 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body.hg-checkout-page-active .wc-block-components-checkout-place-order-button:is(:disabled, .is-disabled, [aria-disabled="true"]) {
    border-color: #b77d70 !important;
    background: #b77d70 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    filter: none !important;
  }

  /* Only HiGuppy-owned CTAs are animated/styled; wallet providers stay native. */
  body.hg-cart-page-active .wc-block-cart__submit-button,
  body.hg-checkout-page-active .wc-block-components-checkout-place-order-button,
  body.hg-cart-page-active .hg-cart-btn--primary,
  body.hg-order-received-page-active .hg-order-next-card > a {
    transition: transform 160ms ease, background-color 160ms ease, box-shadow 160ms ease, filter 160ms ease !important;
  }

  body.hg-cart-page-active .wc-block-cart__submit-button:is(:hover, :focus-visible),
  body.hg-checkout-page-active .wc-block-components-checkout-place-order-button:is(:hover, :focus-visible),
  body.hg-cart-page-active .hg-cart-btn--primary:is(:hover, :focus-visible),
  body.hg-order-received-page-active .hg-order-next-card > a:is(:hover, :focus-visible) {
    filter: brightness(0.95) !important;
    box-shadow: 0 8px 18px rgba(31, 66, 53, 0.14) !important;
  }

  body.hg-cart-page-active .wc-block-cart__submit-button:active,
  body.hg-checkout-page-active .wc-block-components-checkout-place-order-button:active,
  body.hg-cart-page-active .hg-cart-btn--primary:active,
  body.hg-order-received-page-active .hg-order-next-card > a:active {
    transform: translateY(1px) !important;
  }

  body:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) :is(
    .wc-block-cart__submit-button,
    .wc-block-components-checkout-place-order-button,
    .hg-cart-btn,
    .hg-order-next-card > a
  ):focus-visible {
    outline: 3px solid rgba(40, 86, 68, 0.24) !important;
    outline-offset: 3px !important;
  }

  body:is(.hg-cart-page-active, .hg-checkout-page-active) :is(
    .wc-block-cart__submit-button,
    .wc-block-components-checkout-place-order-button
  ):is(:disabled, .is-disabled, [aria-disabled="true"]) {
    cursor: not-allowed !important;
    filter: saturate(0.62) !important;
    transform: none !important;
  }

  /* Receipt panels share the same warm surfaces; state and content stay native. */
  body.hg-order-received-page-active :is(
    .wc-block-order-confirmation-status-description,
    .wc-block-order-confirmation-summary,
    .wc-block-order-confirmation-totals-wrapper,
    .wc-block-order-confirmation-address-wrapper,
    .wc-block-order-confirmation-additional-information,
    .woocommerce-order-overview,
    .woocommerce-order-details,
    .woocommerce-customer-details,
    .woocommerce-bacs-bank-details
  ) {
    border-color: var(--hg-flow-line) !important;
    background-color: var(--hg-flow-surface) !important;
    color: var(--hg-flow-ink) !important;
    -webkit-text-fill-color: currentColor !important;
    box-shadow: var(--hg-flow-shadow-soft) !important;
  }

  body.hg-order-received-page-active .wc-block-order-confirmation-summary-list-item {
    border-color: var(--hg-flow-line) !important;
    border-radius: var(--hg-flow-radius-card) !important;
    background: var(--hg-flow-soft) !important;
  }

  body.hg-order-received-page-active .wc-block-order-confirmation-summary-list-item__key,
  body.hg-order-received-page-active .wc-block-order-confirmation-additional-information,
  body.hg-order-received-page-active .wc-block-order-confirmation-address-wrapper,
  body.hg-order-received-page-active .wc-block-order-confirmation-status-description {
    color: var(--hg-flow-ink) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  body.hg-order-received-page-active .wc-block-order-confirmation-summary-list-item__value,
  body.hg-order-received-page-active .wc-block-order-confirmation-totals__total,
  body.hg-order-received-page-active .woocommerce-Price-amount,
  body.hg-order-received-page-active .wc-block-formatted-money-amount,
  body.hg-order-received-page-active .wc-block-components-totals-item__value {
    font-variant-numeric: tabular-nums !important;
  }

  body.hg-order-received-page-active .wc-block-order-confirmation-totals__table,
  body.hg-order-received-page-active .woocommerce-order-overview,
  body.hg-order-received-page-active .woocommerce-order-details,
  body.hg-order-received-page-active .woocommerce-customer-details,
  body.hg-order-received-page-active .woocommerce-bacs-bank-details {
    border-radius: var(--hg-flow-radius-shell) !important;
  }

  body.hg-order-received-page-active :is(
    .wc-block-order-confirmation-totals__table,
    .woocommerce-table--order-details
  ) tfoot :is(th, td) {
    background: var(--hg-flow-soft) !important;
    background-image: none !important;
    border-color: var(--hg-flow-line) !important;
    color: var(--hg-flow-ink) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  body.hg-order-received-page-active .woocommerce-bacs-bank-details .bacs_details > li {
    border-color: var(--hg-flow-line) !important;
    border-radius: var(--hg-flow-radius-card) !important;
    background: var(--hg-flow-soft) !important;
    background-image: none !important;
    color: var(--hg-flow-ink) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  body.hg-order-received-page-active .hg-order-next-card {
    border-color: var(--hg-flow-line) !important;
    border-radius: var(--hg-flow-radius-card) !important;
    background: var(--hg-flow-surface) !important;
    box-shadow: var(--hg-flow-shadow-soft) !important;
  }

  body.hg-order-received-page-active .hg-order-next-card__num {
    background: var(--hg-flow-green) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  body.hg-order-received-page-active .hg-order-next-card > a {
    color: var(--hg-flow-green) !important;
    -webkit-text-fill-color: currentColor !important;
  }

  body:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) :is(
    .wc-block-cart-item__prices,
    .wc-block-cart-item__total,
    .wc-block-components-totals-item__value,
    .wc-block-formatted-money-amount,
    .wc-block-order-confirmation-summary-list-item__value,
    .wc-block-order-confirmation-totals__total,
    .woocommerce-Price-amount
  ) {
    font-variant-numeric: tabular-nums !important;
  }

  /* Narrow Cart rows use two explicit tracks so Woo cannot create an implicit price column. */
  @media (max-width: 767px) {
    body.hg-cart-page-active .wc-block-cart-items {
      display: block !important;
      width: 100% !important;
      max-width: 100% !important;
      overflow: visible !important;
    }

    body.hg-cart-page-active .wc-block-cart-items > tbody {
      display: block !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
    }

    body.hg-cart-page-active .wc-block-cart-items__row {
      display: grid !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      box-sizing: border-box !important;
      grid-template-columns: 72px minmax(0, 1fr) !important;
      grid-template-rows: auto auto !important;
      column-gap: 12px !important;
      row-gap: 10px !important;
      overflow: visible !important;
    }

    body.hg-cart-page-active .wc-block-cart-items__row > td {
      box-sizing: border-box !important;
      min-width: 0 !important;
      max-width: 100% !important;
    }

    body.hg-cart-page-active .wc-block-cart-items__row > .wc-block-cart-item__image {
      grid-column: 1 !important;
      grid-row: 1 / span 2 !important;
      align-self: start !important;
      box-sizing: border-box !important;
      width: 72px !important;
      min-width: 72px !important;
      padding: 0 !important;
    }

    body.hg-cart-page-active .wc-block-cart-item__image img {
      box-sizing: border-box !important;
      width: 64px !important;
      max-width: 100% !important;
      height: 64px !important;
    }

    body.hg-cart-page-active .wc-block-cart-items__row > .wc-block-cart-item__product {
      grid-column: 2 !important;
      grid-row: 1 !important;
      box-sizing: border-box !important;
      width: auto !important;
      min-width: 0 !important;
      max-width: 100% !important;
      padding: 0 !important;
      overflow: visible !important;
      overflow-wrap: anywhere !important;
    }

    body.hg-cart-page-active .wc-block-cart-item__product .wc-block-cart-item__wrap {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) !important;
      grid-auto-flow: row !important;
      gap: 8px !important;
      box-sizing: border-box !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      overflow: visible !important;
    }

    body.hg-cart-page-active .wc-block-cart-item__product .wc-block-cart-item__wrap > * {
      grid-column: 1 !important;
      grid-row: auto !important;
      min-width: 0 !important;
      max-width: 100% !important;
    }

    body.hg-cart-page-active .wc-block-cart-item__product .wc-block-components-product-name {
      display: block !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      padding: 0 !important;
      white-space: normal !important;
      overflow-wrap: anywhere !important;
    }

    body.hg-cart-page-active .wc-block-cart-items__row > .wc-block-cart-item__total {
      grid-column: 2 !important;
      grid-row: 2 !important;
      justify-self: stretch !important;
      align-self: start !important;
      box-sizing: border-box !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      margin: 0 !important;
      padding: 0 !important;
      transform: none !important;
      text-align: right !important;
      white-space: nowrap !important;
    }

    body.hg-cart-page-active .wc-block-cart-item__total .wc-block-cart-item__total-price-and-sale-badge-wrapper {
      transform: none !important;
      margin: 0 !important;
    }

    body.hg-cart-page-active .wc-block-cart-item__quantity {
      display: flex !important;
      flex-wrap: wrap !important;
      align-items: center !important;
      justify-content: flex-start !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
      gap: 8px !important;
      margin: 0 !important;
    }

    body.hg-cart-page-active .wc-block-cart-item__quantity .wc-block-components-quantity-selector,
    body.hg-cart-page-active .wc-block-cart-item__remove-link {
      min-height: 44px !important;
    }

    body.hg-cart-page-active .wc-block-cart-item__remove-link {
      display: inline-flex !important;
      align-items: center !important;
      max-width: 100% !important;
      white-space: normal !important;
      overflow-wrap: anywhere !important;
    }
  }

  @media (max-width: 780px) {
    body:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) .hg-cart-breadcrumb {
      border-radius: 14px !important;
      overflow-wrap: anywhere !important;
    }

    body.hg-cart-page-active .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
    body.hg-cart-page-active .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
      font-size: 20px !important;
    }
  }

  @media (max-width: 600px) {
    body.admin-bar:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) nav#hgSiteNav.hg-nav {
      top: 0 !important;
    }

    body:is(.hg-cart-page-active, .hg-checkout-page-active, .hg-order-received-page-active) .hg-cart-breadcrumb {
      width: fit-content !important;
      max-width: 100% !important;
      overflow-wrap: anywhere !important;
      top: calc(var(--hg-flow-nav-height, 64px) + 4px) !important;
    }
  }

  /* Cart: keep one outer panel per area and let the native rows and controls breathe. */
  body.hg-cart-page-active .hg-cart-empty-v7__copy {
    border-radius: var(--hg-flow-radius-shell) !important;
    box-shadow: var(--hg-flow-shadow-soft) !important;
  }

  body.hg-cart-page-active .hg-cart-empty-v7__copy .hg-cart-eyebrow {
    color: #fff7e8 !important;
    -webkit-text-fill-color: #fff7e8 !important;
  }

  body.hg-cart-page-active .hg-cart-empty-v7__paths {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.hg-cart-page-active .hg-cart-empty-v7__path {
    border-color: var(--hg-flow-line) !important;
    border-radius: var(--hg-flow-radius-card) !important;
    background: var(--hg-flow-surface) !important;
    box-shadow: none !important;
  }

  body.hg-cart-page-active .wc-block-cart__main,
  body.hg-cart-page-active .wc-block-cart__sidebar {
    border-radius: var(--hg-flow-radius-shell) !important;
    box-shadow: var(--hg-flow-shadow-soft) !important;
  }

  body.hg-cart-page-active .wc-block-cart__main .wp-block-woocommerce-cart-items-block,
  body.hg-cart-page-active .wc-block-cart__sidebar .wp-block-woocommerce-cart-totals-block {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.hg-cart-page-active .wc-block-cart__main .wp-block-woocommerce-cart-items-block::before {
    display: none !important;
  }

  body.hg-cart-page-active .wc-block-cart-items__row {
    border: 0 !important;
    border-bottom: 1px solid var(--hg-flow-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.hg-cart-page-active .wc-block-cart-items__row:last-child {
    border-bottom: 0 !important;
  }

  body.hg-cart-page-active .wc-block-cart__sidebar :is(
    .wc-block-components-panel,
    .wc-block-components-totals-wrapper,
    .wc-block-components-totals-item
  ) {
    border: 0 !important;
    box-shadow: none !important;
  }

  body.hg-cart-page-active .wc-block-cart__sidebar .wc-block-components-express-payment__content {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.hg-cart-page-active .wc-block-cart__sidebar .wc-block-components-totals-footer-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: baseline !important;
    gap: 12px !important;
    margin-top: 10px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--hg-flow-line) !important;
  }

  body.hg-cart-page-active .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    min-width: 0 !important;
    color: var(--hg-flow-muted) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
  }

  body.hg-cart-page-active .wc-block-cart__sidebar .wc-block-components-totals-footer-item :is(
    .wc-block-components-totals-item__value,
    .wc-block-formatted-money-amount
  ) {
    justify-self: end !important;
    color: var(--hg-flow-coral) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: clamp(22px, 2vw, 26px) !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    font-variant-numeric: tabular-nums !important;
    white-space: nowrap !important;
  }

  body.hg-cart-page-active .wc-block-cart__totals-title {
    color: var(--hg-flow-green-dark) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  body.hg-cart-page-active .wp-block-woocommerce-cart > .hg-shipping-quote-notice {
    width: 100% !important;
    max-width: none !important;
  }

  @media (min-width: 901px) {
    body.hg-cart-page-active .wc-block-components-sidebar-layout.wc-block-cart,
    body.hg-cart-page-active .wp-block-woocommerce-filled-cart-block {
      grid-template-columns: minmax(0, 1fr) minmax(320px, 36%) !important;
      gap: clamp(18px, 2vw, 24px) !important;
    }
  }

  @media (min-width: 1200px) {
    body.hg-cart-page-active .wc-block-components-sidebar-layout.wc-block-cart,
    body.hg-cart-page-active .wp-block-woocommerce-filled-cart-block {
      grid-template-columns: minmax(0, 1fr) minmax(400px, 36%) !important;
    }
  }

  /* Receipt: use the same warm card system while keeping payment state and amounts native. */
  body.hg-order-received-page-active :is(
    .wc-block-order-confirmation-status-description,
    .wc-block-order-confirmation-summary,
    .wc-block-order-confirmation-totals-wrapper,
    .wc-block-order-confirmation-address-wrapper,
    .wc-block-order-confirmation-additional-information,
    .woocommerce-order-overview,
    .woocommerce-order-details,
    .woocommerce-customer-details,
    .woocommerce-bacs-bank-details
  ) {
    border-radius: var(--hg-flow-radius-shell) !important;
    box-shadow: 0 4px 14px rgba(31, 66, 53, 0.035) !important;
  }

  body.hg-order-received-page-active .wc-block-order-confirmation-summary-list-item {
    border-radius: var(--hg-flow-radius-card) !important;
    box-shadow: none !important;
  }

  body.hg-order-received-page-active .wc-block-order-confirmation-address-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }

  body.hg-order-received-page-active .wc-block-order-confirmation-address-wrapper > :is(
    .wc-block-order-confirmation-billing-wrapper,
    .wc-block-order-confirmation-shipping-wrapper
  ) {
    min-width: 0 !important;
    border-radius: var(--hg-flow-radius-card) !important;
  }

  body.hg-order-received-page-active :is(
    .wc-block-order-confirmation-summary > .wp-block-heading,
    .wc-block-order-confirmation-totals-wrapper > .wp-block-heading,
    .wc-block-order-confirmation-address-wrapper :is(.wp-block-heading, h2),
    .wc-block-order-confirmation-additional-information :is(.wp-block-heading, h2),
    .woocommerce-bacs-bank-details .wc-bacs-bank-details-heading,
    .hg-order-next__head h2
  ) {
    color: var(--hg-flow-green-dark) !important;
    -webkit-text-fill-color: currentColor !important;
    font-family: "Baloo 2", sans-serif !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
  }

  body.hg-order-received-page-active .woocommerce-bacs-bank-details .wc-bacs-bank-details-account-name {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  body.hg-order-received-page-active :is(
    .wc-block-order-confirmation-totals__table,
    .woocommerce-table--order-details
  ) tfoot :is(th, td) {
    border-color: var(--hg-flow-line) !important;
    background: var(--hg-flow-soft) !important;
    background-image: none !important;
  }

  body.hg-order-received-page-active :is(
    .wc-block-order-confirmation-totals__table,
    .woocommerce-table--order-details
  ) tfoot :is(th, td:first-child) {
    color: var(--hg-flow-muted) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 16px !important;
    font-weight: 700 !important;
  }

  body.hg-order-received-page-active :is(
    .wc-block-order-confirmation-totals__table,
    .woocommerce-table--order-details
  ) tfoot tr:not(:last-child) :is(th, td) {
    color: var(--hg-flow-ink) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.hg-order-received-page-active :is(
    .wc-block-order-confirmation-totals__table,
    .woocommerce-table--order-details
  ) tfoot tr:last-child th {
    color: var(--hg-flow-muted) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.hg-order-received-page-active :is(
    .wc-block-order-confirmation-totals__table,
    .woocommerce-table--order-details
  ) tfoot tr:last-child :is(td:last-child, .wc-block-order-confirmation-totals__total) {
    color: var(--hg-flow-coral) !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 24px !important;
    font-weight: 850 !important;
    font-variant-numeric: tabular-nums !important;
    white-space: nowrap !important;
  }

  body.hg-order-received-page-active .hg-order-next-card {
    border-radius: var(--hg-flow-radius-card) !important;
    box-shadow: var(--hg-flow-shadow-soft) !important;
  }

  @media (max-width: 767px) {
    body.hg-order-received-page-active .wc-block-order-confirmation-address-wrapper {
      grid-template-columns: minmax(0, 1fr) !important;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    body.hg-cart-page-active .hg-cart-empty-v7__path,
    body.hg-cart-page-active .wc-block-cart__submit-button,
    body.hg-checkout-page-active .wc-block-components-checkout-place-order-button,
    body.hg-order-received-page-active .hg-order-next-card > a {
      transition-duration: 0.01ms !important;
    }
  }

  @media (min-width: 1024px) {
    body.hg-cart-page-active .wc-block-cart__submit-container.wc-block-cart__submit-container--sticky {
      display: block !important;
      position: static !important;
      inset: auto !important;
      bottom: auto !important;
      width: auto !important;
      max-width: none !important;
      transform: none !important;
    }
  }

  /*
   * Checkout clarity pass (2026-10-24).
   * Presentation-only: keep WooCommerce checkout fields, notices, wallets,
   * payment gateway markup and all interactions untouched.
   */
  body.hg-checkout-page-active .hg-cart-hero {
    padding: 14px 0 16px !important;
  }

  body.hg-checkout-page-active .hg-cart-hero .hg-cart-eyebrow {
    display: none !important; /* The lead already explains the live-fish order. */
  }

  body.hg-checkout-page-active .hg-cart-breadcrumb {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    z-index: auto !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 6px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  body.hg-checkout-page-active .hg-cart-hero__title {
    font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: clamp(32px, 3vw, 40px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.035em !important;
  }

  body.hg-checkout-page-active .hg-cart-hero__lead {
    max-width: 760px !important;
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
  }

  body.hg-checkout-page-active .hg-cart-steps li {
    min-height: 32px !important;
    gap: 6px !important;
    padding-right: 6px !important;
    font-size: 13px !important;
  }

  body.hg-checkout-page-active .hg-cart-steps__num {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    font-size: 13px !important;
  }

  body.hg-checkout-page-active .hg-cart-steps__label {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  body.hg-checkout-page-active .hg-cart-return-link {
    min-height: 32px !important;
    font-size: 13px !important;
  }

  /* Replace the double-framed title/button area with one calm, flat wallet row. */
  body.hg-checkout-page-active .wc-block-components-express-payment {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.hg-checkout-page-active .wc-block-components-express-payment__title-container {
    display: flex !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  body.hg-checkout-page-active .wc-block-components-express-payment__title-container::before,
  body.hg-checkout-page-active .wc-block-components-express-payment__title-container::after {
    display: none !important;
    content: none !important;
  }

  body.hg-checkout-page-active .wc-block-components-express-payment__title {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--hg-flow-green-dark) !important;
    -webkit-text-fill-color: var(--hg-flow-green-dark) !important;
    font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    text-align: left !important;
  }

  body.hg-checkout-page-active .wc-block-components-express-payment__content {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  /* Make the contact form, not decorative chrome, the next focal point. */
  body.hg-checkout-page-active .wc-block-components-checkout-step {
    border: 1px solid var(--hg-flow-line) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.hg-checkout-page-active .wc-block-components-checkout-step__heading h2 {
    font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 21px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
  }

  body.hg-checkout-page-active .wc-block-checkout__sidebar {
    border: 1px solid var(--hg-flow-line) !important;
    border-top: 1px solid var(--hg-flow-line) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.hg-checkout-page-active .wc-block-checkout__sidebar :is(
    .wc-block-components-order-summary__title,
    .wc-block-components-order-summary__title-text,
    .wp-block-woocommerce-checkout-order-summary-block .wp-block-heading
  ) {
    font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
  }

  body.hg-checkout-page-active .wc-block-components-order-summary-item {
    gap: 10px !important;
    padding-block: 10px !important;
  }

  @media (min-width: 901px) {
    body.hg-checkout-page-active .hg-cart-hero__inner {
      grid-template-columns: minmax(0, 1fr) minmax(360px, 440px) !important;
      grid-template-areas: "crumb progress" "title actions" "lead lead" !important;
      column-gap: 24px !important;
      row-gap: 7px !important;
      align-items: center !important;
    }

    body.hg-checkout-page-active .hg-cart-steps {
      align-self: center !important;
      margin: 0 !important;
    }

    body.hg-checkout-page-active .wc-block-components-sidebar-layout {
      gap: 24px !important;
    }
  }

  @media (max-width: 900px) {
    body.hg-checkout-page-active .hg-cart-hero {
      padding: 12px 0 14px !important;
    }

    body.hg-checkout-page-active .hg-cart-hero__inner {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) !important;
      grid-template-areas: "title" "lead" "progress" !important;
      align-items: start !important;
      row-gap: 7px !important;
    }

    /* Cart remains directly accessible through the first checkout step. */
    body.hg-checkout-page-active .hg-cart-breadcrumb,
    body.hg-checkout-page-active .hg-cart-hero__actions {
      display: none !important;
    }

    body.hg-checkout-page-active .hg-cart-hero__title {
      font-size: 32px !important;
    }

    body.hg-checkout-page-active .hg-cart-hero__lead {
      font-size: 14px !important;
    }

    body.hg-checkout-page-active .hg-cart-steps {
      justify-content: flex-start !important;
      margin: 8px 0 0 !important;
    }

    body.hg-checkout-page-active .wc-block-components-express-payment__title {
      font-size: 17px !important;
    }

    body.hg-checkout-page-active .wc-block-components-checkout-step {
      padding: 16px !important;
    }
  }

  @media (max-width: 520px) {
    body.hg-checkout-page-active .hg-cart-steps {
      width: 100% !important;
      margin: 5px 0 0 !important;
    }

    body.hg-checkout-page-active .hg-cart-steps li {
      gap: 5px !important;
      padding: 0 4px !important;
    }

    body.hg-checkout-page-active .hg-cart-steps__label {
      font-size: 12px !important;
      white-space: normal !important;
    }
  }

  @media (max-width: 768px) {
    /* Woo moves its summary into the mobile form; avoid an empty 2px sidebar. */
    body.hg-checkout-page-active .wc-block-checkout > .wc-block-checkout__sidebar {
      border: 0 !important;
      border-radius: 0 !important;
      box-shadow: none !important;
    }
  }
}
