/* ===========================================================================
   OG SCENTS — CART & CHECKOUT (final, targets the REAL markup)
   The page wrapper is .ogs-page__wrap / .ogs-page__content — NOT .ogs-main.
   That's what was squeezing everything.
   =========================================================================== */

:root{
  --og-paper:#FCFBF8; --og-paper2:#F5F2EC; --og-ink:#0F0E0C; --og-ink2:#2A2723;
  --og-ash:#6B665E; --og-rule:rgba(15,14,12,.12); --og-seal:#E8788E; --og-seal2:#C4506A;
  --og-fd:"Fraunces",Georgia,serif; --og-fb:"Inter Tight",system-ui,sans-serif;
}

/* ---------- 1) THE REAL WRAPPER — ONE GUTTER, ONE CAP ----------
   THE BUG THIS REPLACES: the gutter was applied three times, nested.
     .ogs-page          padding 56px   (main.css:1156 — only max-width was
                                        overridden here, never the padding)
     .ogs-page__wrap    padding 64px
     .ogs-page__content padding 64px   (and a 1500px cap that did nothing,
                                        since its parent was already 1500px)
   56 + 64 + 64 = 184px of dead space on each side. It also pushed the H1
   64px left of the content, because __head never got that third gutter.

   Now: .ogs-page is stripped bare, .ogs-page__wrap owns the cap and the
   only gutter, and __head / __content are transparent full-width boxes.
   Change the gutter in ONE place below and everything stays aligned. --- */

.woocommerce-cart .ogs-page,
.woocommerce-checkout .ogs-page{
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;          /* kills main.css's 140px/56px/120px */
}

/* the single source of truth for width + gutter + top clearance.
   --ogs-chrome = fixed header + ticker height. Measure once:
   (document.querySelector('.ogs-header')?.offsetHeight||0)
   + (document.querySelector('.ogs-ticker')?.offsetHeight||0) */
.woocommerce-cart .ogs-page__wrap,
.woocommerce-checkout .ogs-page__wrap{
  --ogs-chrome: 118px;
  max-width: 1500px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: calc(var(--ogs-chrome) + 28px) clamp(20px,4vw,64px) 90px !important;
  box-sizing: border-box !important;
}
@media (max-width: 900px){
  .woocommerce-cart .ogs-page__wrap,
  .woocommerce-checkout .ogs-page__wrap{ --ogs-chrome: 78px; }
}

/* children inherit the gutter from __wrap — they add NOTHING horizontal */
.woocommerce-cart .ogs-page__content,
.woocommerce-checkout .ogs-page__content,
.woocommerce-cart .ogs-page__head,
.woocommerce-checkout .ogs-page__head{
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
.woocommerce-cart .ogs-page__head,
.woocommerce-checkout .ogs-page__head{
  padding-top: 0 !important;
  padding-bottom: clamp(18px,3vh,32px) !important;
}
.woocommerce-cart .ogs-page__head h1,
.woocommerce-checkout .ogs-page__head h1{
  font-family: var(--og-fd); font-weight: 300; letter-spacing: -.03em;
  font-size: clamp(40px,5vw,76px); line-height: 1; margin: 0 !important;
}
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce{
  width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 0 90px !important;
}

/* ---------- 2) KILL the old bundle tray still in the header ---------- */
.ogs-tray__toggle, .ogs-tray, .ogs-tray__scrim, .ogs-seal{ display: none !important; }

/* ---------- 3) nothing floats / sticks over anything ---------- */
.woocommerce-checkout #customer_details,
.woocommerce-checkout .ogs-co__fields,
.woocommerce-checkout .ogs-co__fieldwrap,
.woocommerce-checkout .col2-set,
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart_totals{
  float: none !important; position: static !important; width: 100% !important; max-width: none !important;
}
.woocommerce-checkout .ogs-co__fields::after,
.woocommerce-checkout .ogs-co__fieldwrap::after,
.woocommerce form .form-row::after{ content:""; display:table; clear:both; }
.ogs-co__grid > *, .ogs-cartpg__layout > *{ min-width: 0 !important; }

/* ---------- 4) CHECKOUT layout ---------- */
.ogs-co__grid{
  display: grid !important; grid-template-columns: 1fr !important;
  gap: 36px !important; align-items: start !important; width: 100%;
}
@media (min-width:1000px){
  .ogs-co__grid{ grid-template-columns: minmax(0,1fr) 440px !important; gap: 70px !important; }
  .ogs-co__details{ grid-column: 1 !important; }
  .ogs-co__aside{ grid-column: 2 !important; }
  .ogs-co__aside .ogs-co__step--order{ position: sticky; top: 110px; }
}
@media (max-width:999px){ .ogs-co__aside{ order: -1; } }

.woocommerce-form-coupon-toggle{ margin-bottom: 28px !important; }
.woocommerce-form-coupon-toggle .woocommerce-info{
  background: var(--og-paper2) !important; border: 1px solid var(--og-rule) !important;
  border-left: 3px solid var(--og-seal) !important; border-radius: 8px !important;
  padding: 16px 22px !important; color: var(--og-ink) !important; font-size: 14px !important; margin: 0 !important;
}
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before{ display:none !important; }

.ogs-co__stephead{
  display: flex; align-items: baseline; gap: 14px;
  margin: 0 0 24px !important; padding-bottom: 14px; border-bottom: 1px solid var(--og-rule);
}
.ogs-co__num{ font-family: var(--og-fd); font-style: italic; color: var(--og-seal2); font-size: 16px; }
.ogs-co__stephead h3{ font-family: var(--og-fd) !important; font-weight: 400 !important; font-size: 26px !important; margin: 0 !important; white-space: nowrap; }
.ogs-co__step{ margin-bottom: 40px; }
.woocommerce-billing-fields > h3, .woocommerce-additional-fields > h3{
  font-family: var(--og-fd) !important; font-weight: 400 !important; font-size: 19px !important; margin: 26px 0 16px !important;
}
.woocommerce-billing-fields > h3{ display: none !important; }

/* fields */
.woocommerce form .form-row{ margin: 0 0 18px !important; padding: 0 !important; display: block !important; }
.woocommerce form .form-row label{
  display: block !important; margin: 0 0 7px !important;
  font-size: 10px !important; letter-spacing: .16em; text-transform: uppercase; color: var(--og-ash) !important;
}
.woocommerce .form-row input.input-text, .woocommerce .form-row textarea,
.woocommerce .form-row select, .woocommerce .form-row .select2-selection{
  display: block !important; width: 100% !important;
  font: inherit !important; font-size: 16px !important; color: var(--og-ink) !important;
  background: #fff !important; border: 1px solid var(--og-rule) !important;
  border-radius: 10px !important; padding: 14px 16px !important;
  height: auto !important; min-height: 0 !important; box-shadow: none !important; outline: none;
}
.woocommerce .form-row input.input-text:focus, .woocommerce .form-row textarea:focus, .woocommerce .form-row select:focus{
  border-color: var(--og-seal) !important; box-shadow: 0 0 0 3px rgba(232,120,142,.15) !important;
}
.woocommerce .form-row .select2-selection{ padding: 10px 16px !important; }
.woocommerce .form-row .select2-selection__rendered{ padding-left: 0 !important; line-height: 1.5 !important; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last{ width: 100% !important; float: none !important; }
@media (min-width:640px){
  .woocommerce form .form-row-first, .woocommerce form .form-row-last{ width: 48.5% !important; float: left !important; }
  .woocommerce form .form-row-first{ margin-right: 3% !important; }
  .woocommerce form .form-row-wide{ clear: both; }
}

/* ---------- 5) ORDER PANEL ---------- */
.ogs-co__step--order{
  background: var(--og-paper2) !important; border: 1px solid var(--og-rule) !important;
  border-radius: 8px !important; padding: 30px !important; margin: 0 !important;
}
.ogs-review{ width: 100% !important; border: 0 !important; margin: 0 0 8px !important; background: none !important; }
.ogs-review tbody tr{
  display: grid !important; grid-template-columns: 64px minmax(0,1fr) auto !important;
  gap: 16px !important; align-items: start !important;
  padding: 16px 0 !important; border-bottom: 1px solid var(--og-rule) !important;
}
.ogs-review td{ border: 0 !important; background: none !important; padding: 0 !important; }
.ogs-review__thumb{ width: 64px !important; }
.ogs-review__imgwrap{ position: relative; display: block; width: 60px; }
.ogs-review__imgwrap img{
  width: 60px !important; height: 78px !important; object-fit: cover !important;
  border-radius: 5px; display: block !important; margin: 0 !important; mix-blend-mode: multiply; background: #fff;
}
.ogs-review__qtybubble{
  position: absolute !important; top: -8px !important; right: -8px !important;
  width: 23px !important; height: 23px !important; display: grid !important; place-items: center !important;
  background: var(--og-ink) !important; color: #fff !important; border-radius: 50% !important;
  font-size: 11px !important; z-index: 2;
}
.ogs-review__name{ min-width: 0 !important; }
.ogs-review__name > span{
  display: block !important; font-family: var(--og-fd) !important;
  font-size: 16px !important; line-height: 1.35 !important; color: var(--og-ink) !important;
  white-space: normal !important; word-break: normal !important;
}
.ogs-review__name dl.variation{ margin: 7px 0 0 !important; font-size: 11px !important; line-height: 1.6 !important; color: var(--og-ash) !important; }
.ogs-review__name dl.variation dt{ display: none !important; }
.ogs-review__name dl.variation dd, .ogs-review__name dl.variation dd p{ margin: 0 !important; display: inline !important; }
.ogs-review__total{ text-align: right !important; white-space: nowrap !important; align-self: center; font-family: var(--og-fd) !important; font-size: 16px !important; }
.ogs-review tfoot tr{
  display: flex !important; justify-content: space-between !important; align-items: baseline;
  padding: 13px 0 !important; border-bottom: 1px solid var(--og-rule) !important;
}
.ogs-review tfoot th, .ogs-review tfoot td{
  border: 0 !important; padding: 0 !important; background: none !important;
  font-size: 14px !important; font-weight: 400 !important; text-align: left !important; color: var(--og-ink2) !important;
}
.ogs-review tfoot .order-total{ border-bottom: 0 !important; padding-top: 18px !important; }
.ogs-review tfoot .order-total th, .ogs-review tfoot .order-total td{
  font-family: var(--og-fd) !important; font-size: 26px !important; color: var(--og-ink) !important;
}

/* payment */
#payment{ background: none !important; margin-top: 20px; }
#payment ul.payment_methods{ border: 0 !important; padding: 0 !important; margin: 0 0 18px !important; }
#payment ul.payment_methods li{ list-style: none; background: #fff; border: 1px solid var(--og-rule); border-radius: 10px; padding: 16px 18px; margin: 0 0 10px !important; }
#payment .place-order{ padding: 0 !important; }
#place_order{
  display: block !important; width: 100% !important;
  background: var(--og-seal) !important; border: 1px solid var(--og-seal) !important; color: #fff !important;
  border-radius: 9999px !important; padding: 20px !important;
  font: inherit !important; font-size: 13px !important; letter-spacing: .18em; text-transform: uppercase; cursor: pointer;
}
#place_order:hover{ background: var(--og-seal2) !important; }
.ogs-co__trust{ margin: 18px 0 0 !important; text-align: center; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--og-ash); }

/* ---------- 6) CART layout ---------- */
.ogs-cartpg__layout{
  display: grid !important; grid-template-columns: 1fr !important;
  gap: 36px !important; align-items: start !important; width: 100%;
}
@media (min-width:1000px){
  .ogs-cartpg__layout{ grid-template-columns: minmax(0,1fr) 400px !important; gap: 70px !important; }
  .ogs-cartpg__items{ grid-column: 1 !important; }
  .ogs-cartpg__totals{ grid-column: 2 !important; }
  .ogs-cartpg__totals .cart_totals{ position: sticky; top: 110px; }
}
.ogs-cartpg__cols{ display: none !important; }
@media (min-width:1000px){
  .ogs-cartpg__cols{
    display: grid !important; grid-template-columns: 110px minmax(0,1fr) 150px 120px !important;
    gap: 24px !important; font-size: 10px; letter-spacing: .18em; text-transform: uppercase;
    color: var(--og-ash); padding-bottom: 14px; border-bottom: 1px solid var(--og-rule);
  }
  .ogs-cartpg__cols span:nth-child(1){ grid-column: 1 / 3; }
  .ogs-cartpg__cols span:nth-child(2){ text-align: center; }
  .ogs-cartpg__cols span:nth-child(3){ text-align: right; }
}
.ogs-cartpg__item{
  display: grid !important; grid-template-columns: 92px minmax(0,1fr) !important;
  grid-template-areas: "thumb meta" "thumb qty" "line line" !important;
  gap: 6px 16px !important; padding: 22px 0 !important;
  border-bottom: 1px solid var(--og-rule) !important; align-items: start !important;
}
@media (min-width:1000px){
  .ogs-cartpg__item{
    grid-template-columns: 110px minmax(0,1fr) 150px 120px !important;
    grid-template-areas: "thumb meta qty line" !important;
    gap: 24px !important; align-items: center !important; padding: 26px 0 !important;
  }
}
.ogs-cartpg__thumb{ grid-area: thumb; }
.ogs-cartpg__thumb img{
  width: 100% !important; height: auto !important; aspect-ratio: 3/4;
  object-fit: cover; border-radius: 4px; display: block; mix-blend-mode: multiply; background: var(--og-paper2);
}
.ogs-cartpg__meta{ grid-area: meta; min-width: 0 !important; display: flex !important; flex-direction: column; align-items: flex-start; gap: 6px; }
.ogs-cartpg__name{ font-family: var(--og-fd) !important; font-size: 19px !important; line-height: 1.25 !important; color: var(--og-ink) !important; text-decoration: none; }
.ogs-cartpg__unit{ font-size: 13px !important; color: var(--og-ash) !important; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ogs-cartpg__kitflag{ font-style: normal; font-size: 9px; letter-spacing: .16em; text-transform: uppercase; background: var(--og-seal); color: #fff; padding: 3px 10px; border-radius: 9999px; }
.ogs-cartpg__meta dl.variation{ margin: 2px 0 0 !important; font-size: 11.5px !important; line-height: 1.55 !important; color: var(--og-ash) !important; }
.ogs-cartpg__meta dl.variation dt{ display: none !important; }
.ogs-cartpg__meta dl.variation dd, .ogs-cartpg__meta dl.variation dd p{ margin: 0 !important; display: inline !important; }
.ogs-cartpg__remove{ font-size: 10px !important; letter-spacing: .14em; text-transform: uppercase; color: var(--og-ash) !important; border-bottom: 1px solid var(--og-rule); padding-bottom: 2px; margin-top: 4px; text-decoration: none; }
.ogs-cartpg__qty, .ogs-qty{
  grid-area: qty; justify-self: start !important; margin: 6px 0 0 !important;
  display: inline-flex !important; align-items: center; border: 1px solid var(--og-rule);
  border-radius: 9999px; background: #fff; overflow: hidden;
}
@media (min-width:1000px){ .ogs-cartpg__qty, .ogs-qty{ justify-self: center !important; margin: 0 !important; } }
.ogs-qty__btn{ width: 38px; height: 40px; font-size: 16px; color: var(--og-ash); background: none; border: 0; cursor: pointer; }
.ogs-qty .qty, .ogs-qty input.qty{
  width: 44px !important; border: 0 !important; background: none !important; text-align: center;
  font: inherit; font-size: 14px !important; padding: 0 !important; -moz-appearance: textfield; appearance: textfield;
}
.ogs-qty .qty::-webkit-inner-spin-button, .ogs-qty .qty::-webkit-outer-spin-button{ -webkit-appearance: none; margin: 0; }
.ogs-cartpg__line{
  grid-area: line; justify-self: start !important; text-align: left !important;
  font-family: var(--og-fd) !important; font-size: 18px !important; white-space: nowrap;
  margin-top: 8px; padding-top: 8px; border-top: 1px dashed var(--og-rule); width: 100%;
}
@media (min-width:1000px){
  .ogs-cartpg__line{ justify-self: end !important; text-align: right !important; margin: 0; padding: 0; border: 0; width: auto; }
}
.ogs-cartpg__actions{ display: flex !important; gap: 12px; align-items: center; flex-wrap: wrap; padding-top: 26px !important; }
.ogs-cartpg__coupon{ display: flex; gap: 10px; flex: 1; min-width: 240px; }
.ogs-cartpg__coupon .input-text{ flex: 1; font: inherit; font-size: 15px; padding: 13px 20px; border: 1px solid var(--og-rule); border-radius: 9999px; background: #fff; outline: none; }
.ogs-cartpg__update{ display: none; }

.ogs-cartpg__totals .cart-collaterals{ padding: 0 !important; background: none !important; border: 0 !important; }
.ogs-cartpg__totals .cart_totals{
  background: var(--og-paper2) !important; border: 1px solid var(--og-rule) !important;
  border-radius: 8px !important; padding: 30px !important; width: 100% !important;
}
.ogs-cartpg__totals h2{ font-family: var(--og-fd) !important; font-weight: 400 !important; font-size: 24px !important; margin: 0 0 18px !important; }
.ogs-cartpg__totals table{ width: 100% !important; border: 0 !important; margin: 0 !important; }
.ogs-cartpg__totals tr{ display: flex !important; justify-content: space-between; align-items: baseline; }
.ogs-cartpg__totals tr:not(:last-child){ border-bottom: 1px solid var(--og-rule); }
.ogs-cartpg__totals th, .ogs-cartpg__totals td{
  border: 0 !important; background: none !important; padding: 12px 0 !important;
  font-size: 14px !important; font-weight: 400 !important; text-align: left !important;
}
.ogs-cartpg__totals .order-total th, .ogs-cartpg__totals .order-total td{ font-family: var(--og-fd) !important; font-size: 24px !important; }
.ogs-cartpg__totals .wc-proceed-to-checkout{ padding: 20px 0 0 !important; }
.ogs-cartpg__totals .checkout-button{
  display: block !important; width: 100% !important; text-align: center !important;
  background: var(--og-seal) !important; border: 1px solid var(--og-seal) !important; color: #fff !important;
  border-radius: 9999px !important; padding: 18px 24px !important;
  font-size: 12px !important; letter-spacing: .18em; text-transform: uppercase; white-space: nowrap;
}
.ogs-cartpg__totals .checkout-button:hover{ background: var(--og-seal2) !important; }

/* ---------- 7) hide floating buttons on cart/checkout ---------- */
.woocommerce-cart .ogsbk-launch, .woocommerce-cart .ogslive-offer,
.woocommerce-checkout .ogsbk-launch, .woocommerce-checkout .ogslive-offer{ display: none !important; }