/* ===========================================================================
   OG SCENTS — cart drawer + cart page structure  (register LAST)
   Everything visible, nothing clipped, clear hierarchy.
   =========================================================================== */

/* =======================================================================
   1. THE SLIDE-OUT CART DRAWER
   ======================================================================= */
.ogs-cartd{
  display: flex !important;
  flex-direction: column !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
}
.ogs-cartd__head{
  flex: 0 0 auto !important;
  display: flex !important; align-items: center; justify-content: space-between;
  gap: 14px; padding: 20px 24px !important;
  border-bottom: 1px solid var(--rule, rgba(15,14,12,.12)) !important;
}
.ogs-cartd__eyebrow{
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--ash, #6B665E);
}
.ogs-cartd__close{ font-size: 26px; line-height: 1; background: none; border: 0; color: var(--ash); cursor: pointer; }

/* the scrolling middle */
.ogs-cartd__body{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  padding: 8px 24px 20px !important;
}

/* each line in the drawer */
.ogs-cartd__row, .ogs-cartd__item{
  display: grid !important;
  grid-template-columns: 62px minmax(0,1fr) auto !important;
  gap: 14px !important;
  align-items: start !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid var(--rule, rgba(15,14,12,.1)) !important;
}
.ogs-cartd__row img, .ogs-cartd__item img{
  width: 62px !important; height: 80px !important;
  object-fit: cover !important; border-radius: 6px !important;
  display: block !important; mix-blend-mode: multiply; background: var(--paper-2, #F5F2EC);
}
.ogs-cartd__name{
  font-family: var(--ff-display, "Fraunces", Georgia, serif) !important;
  font-size: 15px !important; line-height: 1.3 !important;
  display: block !important; white-space: normal !important; word-break: normal !important;
}
.ogs-cartd__meta, .ogs-cartd__row dl.variation{
  display: block !important; margin: 6px 0 0 !important;
  font-size: 11.5px !important; line-height: 1.6 !important; color: var(--ash) !important;
  max-height: none !important; overflow: visible !important;
}
.ogs-cartd__row dl.variation dt{
  display: block !important; float: none !important; margin: 6px 0 1px !important;
  font-size: 9px !important; letter-spacing: .16em; text-transform: uppercase;
  color: var(--seal-deep, #C4506A) !important; font-weight: 400 !important;
}
.ogs-cartd__row dl.variation dd,
.ogs-cartd__row dl.variation dd p{
  display: block !important; float: none !important; margin: 0 !important;
  font-size: 11.5px !important; line-height: 1.55 !important;
}
.ogs-cartd__price{
  font-family: var(--ff-display) !important; font-size: 14px !important;
  white-space: nowrap !important; text-align: right !important;
}
.ogs-cartd__qty{
  display: inline-flex !important; align-items: center; margin-top: 8px !important;
  border: 1px solid var(--rule); border-radius: 9999px; background: #fff; overflow: hidden;
}
.ogs-cartd__qty button{ width: 32px; height: 34px; border: 0; background: none; color: var(--ash); cursor: pointer; }
.ogs-cartd__qty span, .ogs-cartd__qty input{ min-width: 32px; text-align: center; font-size: 13px; border: 0; background: none; }
.ogs-cartd__remove{
  display: inline-block !important; margin-top: 6px !important;
  font-size: 10px !important; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ash) !important; border-bottom: 1px solid var(--rule); padding-bottom: 1px;
}

/* the pinned footer */
.ogs-cartd__foot{
  flex: 0 0 auto !important;
  border-top: 1px solid var(--rule) !important;
  background: var(--paper-2, #F5F2EC) !important;
  padding: 18px 24px 22px !important;
}
.ogs-cartd__rows{ display: grid !important; gap: 0 !important; margin: 0 0 6px !important; }
.ogs-cartd__rows > div, .ogs-cartd__line{
  display: flex !important; justify-content: space-between !important; align-items: baseline;
  gap: 14px; padding: 9px 0 !important;
  border-bottom: 1px solid rgba(15,14,12,.08);
  font-size: 13.5px !important;
}
.ogs-cartd__rows > div:last-child, .ogs-cartd__line--total{
  border-bottom: 0 !important; padding-top: 13px !important;
  font-family: var(--ff-display) !important; font-size: 20px !important;
}
.ogs-cartd__note{
  display: block; font-size: 11px; line-height: 1.5;
  color: var(--ash); margin-top: 2px; font-weight: 400;
}
.ogs-cartd__checkout{
  display: block !important; width: 100% !important; box-sizing: border-box !important;
  margin: 14px 0 0 !important; padding: 16px !important;
  background: var(--seal, #E8788E) !important; color: #fff !important;
  border-radius: 9999px !important; text-align: center !important;
  font-size: 11.5px !important; letter-spacing: .16em; text-transform: uppercase;
}
.ogs-cartd__viewcart{
  display: block !important; text-align: center; margin-top: 10px !important;
  font-size: 10.5px !important; letter-spacing: .14em; text-transform: uppercase; color: var(--ash) !important;
}
.ogs-cartd__empty{
  padding: 40px 10px !important; text-align: center;
  font-family: var(--ff-display); font-style: italic; font-size: 16px; color: var(--ash);
}

/* =======================================================================
   2. THE FULL CART PAGE — one tax line, clear notes
   ======================================================================= */

/* only one note per label, never repeated per tax row */
.ogs-tnote{
  display: block !important; margin-top: 4px !important;
  font-size: 11px !important; line-height: 1.5 !important;
  color: var(--ash, #6B665E) !important;
  font-weight: 400 !important; letter-spacing: 0 !important;
  text-transform: none !important; font-family: var(--ff-body) !important;
}
.ogs-tnote ~ .ogs-tnote{ display: none !important; }

/* the kit's contents, fully visible */
.ogs-cartpg__meta dl.variation, .ogs-review__name dl.variation{
  max-height: none !important; overflow: visible !important;
}
.ogs-cartpg__meta dl.variation::after, .ogs-review__name dl.variation::after{ display: none !important; }
.ogs-cartpg__meta dl.variation dt, .ogs-review__name dl.variation dt{
  display: block !important; float: none !important; clear: both !important;
  margin: 8px 0 2px !important;
  font-size: 9.5px !important; letter-spacing: .16em !important; text-transform: uppercase !important;
  color: var(--seal-deep, #C4506A) !important; font-weight: 400 !important;
  font-family: var(--ff-body) !important;
}
.ogs-cartpg__meta dl.variation dd, .ogs-review__name dl.variation dd,
.ogs-cartpg__meta dl.variation dd p, .ogs-review__name dl.variation dd p{
  display: block !important; float: none !important; margin: 0 !important;
  font-size: 12.5px !important; line-height: 1.6 !important; color: var(--ink-2, #2A2723) !important;
}

/* totals: label left with its note, amount right, aligned to the top */
.ogs-cartpg__totals tr, .ogs-review tfoot tr{
  align-items: flex-start !important;
}
.ogs-cartpg__totals th, .ogs-review tfoot th{
  flex: 1 1 auto !important; padding-right: 16px !important;
}
.ogs-cartpg__totals td, .ogs-review tfoot td{
  flex: 0 0 auto !important; white-space: nowrap !important; padding-top: 1px !important;
}
