/* ===========================================================================
   OG SCENTS — FINAL FIXES (register LAST). Replaces the previous version.
   ROOT CAUSE of the cart/checkout zoom-out: an earlier rule set the ticker to
   width:100vw with margin-left:calc(50% - 50vw). 100vw INCLUDES the scrollbar,
   so the ticker was wider than the page → horizontal overflow → pinch-zoom.
   That rule only lives in the cart/checkout stylesheet, which is why only
   those two pages were affected. Undone below.
   =========================================================================== */

/* --- 1) THE FIX: ticker never exceeds the page --- */
.ogs-ticker,
.woocommerce-cart .ogs-ticker,
.woocommerce-checkout .ogs-ticker {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.ogs-ticker__track { width: max-content !important; }

/* --- 2) belt and braces: no page may scroll sideways ---
   The html/body overflow pair that used to live here is gone. It is now
   declared ONCE, in zz-final.css, as html{overflow-x:clip} + body visible.
   Declaring it on both elements made body a second scroll container. */
.woocommerce-cart, .woocommerce-checkout,
.woocommerce-cart .ogs-page, .woocommerce-checkout .ogs-page,
.woocommerce-cart #page, .woocommerce-checkout #page {
  max-width: 100% !important;
}
/* anything still using the 100vw trick, anywhere */
.woocommerce-cart [style*="100vw"], .woocommerce-checkout [style*="100vw"] {
  width: 100% !important; margin-left: 0 !important;
}

/* =======================================================================
   3. CART ROW — the kit name was breaking one word per line because the
   text column had no room. Give it real width on every screen.
   ======================================================================= */
.ogs-cartpg__item {
  align-items: start !important;
}
.ogs-cartpg__meta {
  min-width: 0 !important;
  width: 100% !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}
.ogs-cartpg__name {
  display: block !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
  max-width: 100% !important;
}
@media (min-width: 1000px) {
  /* wider name column, narrower qty/total — the kit name needs the room */
  .ogs-cartpg__cols,
  .ogs-cartpg__item {
    grid-template-columns: 96px minmax(240px, 1fr) 110px 110px !important;
    column-gap: 20px !important;
  }
  .ogs-cartpg__thumb, .ogs-cartpg__thumb img { width: 96px !important; }
  .ogs-cartpg__name { font-size: 18px !important; line-height: 1.3 !important; }
}
/* the 8 scents: compact, capped, faded — not a tower */
.ogs-cartpg__meta dl.variation,
.ogs-review__name dl.variation {
  display: block !important;
  margin: 6px 0 0 !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
  color: #6B665E !important;
  max-height: 4.6em; overflow: hidden; position: relative;
}
.ogs-cartpg__meta dl.variation dt,
.ogs-review__name dl.variation dt { display: none !important; }
.ogs-cartpg__meta dl.variation dd, .ogs-cartpg__meta dl.variation dd p,
.ogs-review__name dl.variation dd, .ogs-review__name dl.variation dd p {
  margin: 0 !important; display: inline !important;
}
.ogs-cartpg__meta dl.variation::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1.4em;
  background: linear-gradient(transparent, #FCF5F6);
}
.ogs-review__name dl.variation::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1.4em;
  background: linear-gradient(transparent, #F5F2EC);
}
.ogs-cartpg__kitflag, .ogs-review__kitflag {
  display: inline-block !important; white-space: nowrap !important;
  font-size: 8.5px !important; padding: 3px 10px !important;
}

@media (max-width: 900px) {

/* --- 4) HERO OFFER clears header + ticker --- */
  .ogs-heroffer { padding: 118px 20px 32px !important; margin: 0 !important; }
  .ogs-heroffer__eyebrow { display:block !important; font-size:10px !important; letter-spacing:.24em !important; margin:0 0 12px !important; }
  .ogs-heroffer__price { font-size: 58px !important; line-height:1 !important; margin:0 0 8px !important; }
  .ogs-heroffer__size { font-size:15px !important; margin:0 0 12px !important; }
  .ogs-heroffer__desc { font-size:13px !important; line-height:1.6 !important; max-width:30ch !important; margin:0 auto 18px !important; }
  .ogs-heroffer__cta { padding:16px 12px !important; font-size:11px !important; letter-spacing:.1em !important; white-space:normal !important; line-height:1.3 !important; }
  .ogs-heroffer__alt { margin-top:13px !important; font-size:10px !important; }

/* --- 5) cart/checkout full width, roomy --- */
  .woocommerce-cart .ogs-page__wrap, .woocommerce-checkout .ogs-page__wrap {
    padding: calc(var(--ogs-chrome, 78px) + 24px) 14px 60px !important; width:100% !important; max-width:100% !important;
    margin:0 !important; box-sizing:border-box !important;
  }
  .woocommerce-cart .ogs-page__content, .woocommerce-checkout .ogs-page__content,
  .woocommerce-cart .ogs-page__head, .woocommerce-checkout .ogs-page__head,
  .woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce,
  .woocommerce-checkout form.checkout,
  .ogs-co__grid, .ogs-co__details, .ogs-co__aside,
  .ogs-cartpg, .ogs-cartpg__layout, .ogs-cartpg__items, .ogs-cartpg__totals {
    width:100% !important; max-width:100% !important;
    margin-left:0 !important; margin-right:0 !important;
    padding-left:0 !important; padding-right:0 !important;
    box-sizing:border-box !important;
  }
  .ogs-co__step--order, .ogs-cartpg__totals .cart_totals {
    width:100% !important; padding:24px 20px !important; border-radius:12px !important;
    box-sizing:border-box !important;
  }
  .ogs-cartpg__item {
    grid-template-columns: 84px minmax(0,1fr) !important;
    grid-template-areas: "thumb meta" "line line" !important;
    gap: 6px 14px !important;
  }
  .ogs-cartpg__thumb, .ogs-cartpg__thumb img { width:84px !important; }
  .ogs-cartpg__name { font-size:17px !important; }

/* --- 6) BNPL never over the button --- */
  [class*="afterpay"], [id*="afterpay"], [class*="affirm"], .klarna-placement, [class*="clearpay"] {
    position:static !important; display:block !important; width:100% !important;
    margin:6px 0 14px !important; float:none !important; clear:both !important;
    z-index:1 !important; font-size:12px !important; text-align:left !important;
    box-sizing:border-box !important;
  }
  .ogs-cartpg__totals .wc-proceed-to-checkout {
    display:block !important; width:100% !important; clear:both !important;
    margin:18px 0 0 !important; padding:0 !important; position:relative !important; z-index:3 !important;
  }
  .ogs-cartpg__totals .checkout-button, #place_order {
    position:relative !important; z-index:3 !important; display:block !important;
    width:100% !important; box-sizing:border-box !important; margin:0 !important;
  }
}

/* --- 7) desktop: BNPL widget also gets its own line --- */
@media (min-width: 901px) {
  [class*="afterpay"], [id*="afterpay"], [class*="affirm"] {
    display: block !important; clear: both !important;
    margin: 8px 0 16px !important; position: static !important;
  }
  .ogs-cartpg__totals .wc-proceed-to-checkout { clear: both !important; margin-top: 16px !important; }
}

/* --- 8) CART ICON: bag always, number only when > 0 --- */
.ogs-cart { position: relative; display:inline-flex !important; align-items:center; gap:8px; }
.ogs-cart__icon { display:inline-block; line-height:0; }
.ogs-cart .ogs-cart-count[data-count="0"] { display:none !important; }
.ogs-cart .ogs-cart-count:not([data-count="0"]) {
  display:inline-grid !important; place-items:center;
  min-width:20px; height:20px; padding:0 6px;
  background:#E8788E; color:#fff; border-radius:9999px;
  font-size:11px; font-weight:600; border:0 !important;
}

/* --- promo card: the member price line --- */
.ogs-promo__member{
  margin: 8px 0 0 !important;
  font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
  color: #C4506A; line-height: 1.6;
}
.ogs-promo__member a{ color: #C4506A; text-decoration: underline; cursor: pointer; }
.ogs-promo__card--club code{ display:none !important; }