/* solvera-brand.css — Stage-3 build overrides. Loaded on every page.
   Each rule below exists for a specific operator-reported defect; none is decorative. */

/* ── (6) THE ANNOUNCEMENT BAR / HEADER MUST NOT PAINT OVER THE CART DRAWER ──────────────
   The theme's sticky header group sits at a higher stacking level than the Kaching drawer
   shell, so opening the cart drew the bar straight across the top of the panel.            */
#kaching-cart               { z-index: 2147483000 !important; }
#kaching-cart .kaching-cart__overlay { z-index: 1 !important; }
#kaching-cart .kaching-cart__inner   { z-index: 2 !important; }
/* while the drawer is open, drop the sticky chrome underneath it */
html.shim-cart-open .shopify-section-group-header-group,
html.shim-cart-open .announcement-bar,
html.shim-cart-open .utility-bar,
html.shim-cart-open .header-wrapper,
html.shim-cart-open sticky-header      { z-index: 1 !important; }
html.shim-cart-open                    { overflow: hidden; }

/* ── (7) HEADER IS LOGO + CART ONLY — the nav/search/account links are removed in the HTML,
   so re-centre what is left instead of leaving a three-column grid with two empty cells. */
.header { grid-template-columns: 1fr auto 1fr !important; }
.header__heading, .header__heading-link { justify-self: center; }
.header__icons { justify-self: end; }
.header__inline-menu, header-drawer, .header__search, .header__icon--account { display: none !important; }

/* ── (4) ADD-TO-CART SPINNER MUST SIT INSIDE THE BUTTON ─────────────────────────────────
   The generic .shim-btn-loading::after centres on the nearest positioned ancestor. The
   theme's ATC is statically positioned, so the spinner escaped and rendered outside it.  */
.shim-btn-loading { position: relative !important; }
button.shim-btn-loading, .shim-btn-loading.atc-button, .shim-btn-loading.scart-checkout {
  position: relative !important; color: transparent !important;
}
.shim-btn-loading::after {
  content: ""; position: absolute !important;
  left: 50% !important; top: 50% !important; right: auto !important; bottom: auto !important;
  width: 20px; height: 20px; margin: -10px 0 0 -10px !important;
  border: 2px solid #FDFBF7; border-top-color: transparent; border-radius: 50%;
  animation: shim-spin .6s linear infinite; box-sizing: border-box;
}

/* ── (1) PROGRESSIVE GIFT LADDER — the template's own unlock keyframe, recovered from the
   live store (kaching-progressive-gift-unlock). Applied only to a card that just flipped. */
@keyframes kaching-progressive-gift-unlock {
  0%   { opacity: 0; transform: translateY(32px); }
  100% { opacity: 1; transform: translateY(0); }
}
.kaching-bundles__progressive-gifts__gift--just-unlocked {
  animation: kaching-progressive-gift-unlock .45s ease-out both;
}
.kaching-bundles__progressive-gifts__gift { transition: box-shadow .25s ease, background-color .25s ease; }
.kaching-bundles__progressive-gifts__gift__image { transition: opacity .3s ease; }

/* ── (2) SUBSCRIPTION TOGGLE — it is a real control again, so make it read like one. */
[data-sub-toggle] { cursor: pointer; }
[data-sub-toggle] .kaching-bundles__subscriptions__checkbox { transition: background-color .2s ease, border-color .2s ease; }
[data-sub-toggle][aria-checked="false"] .kaching-bundles__subscriptions__checkbox svg { opacity: 0; }
[data-sub-toggle][aria-checked="true"]  .kaching-bundles__subscriptions__checkbox svg { opacity: 1; }

/* ── (5) gift rows in the drawer read like product rows, with the value crossed out ───── */
.shim-cart .scart-item--gift .scart-cur { color: #2C9E9F; }
.shim-cart .scart-item--gift .scart-item__offer { color: #2C9E9F; font-weight: 600; }
