/* Bold text on pack size buttons and Add to cart */
.loop-bundle-size-selector .loop-btn.loop-bundle-size-selector-btn {
  font-weight: 700 !important;
}

.loop-card .loop-btn.loop-btn-add-product {
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

/* Orange outline around selected pack size button */
.loop-bundle-size-selector .loop-btn.loop-btn-selected.loop-bundle-size-selector-btn {
  border: 1px solid #FF4A03 !important;
}

.loop-bundle-title {
  font-weight: 700 !important;
}

.loop-bundle-size-selector-label,
.loop-bundle-select-product-title-new {
  font-weight: 700 !important;
}
/* Unselected pack size label colour */
.loop-bundle-size-selector .loop-btn.loop-btn-outline.loop-bundle-size-selector-btn {
  color: #070606 !important;
}

/* Product card quantity controls (- number +) */
.loop-card .loop-btn.loop-btn-input-decrease,
.loop-card .loop-btn.loop-btn-input-increase {
  font-weight: 700 !important;
  background-color: #FF4A03 !important;
  color: #ffffff !important;
}

.loop-bundle-product-quantity-controls .loop-form-input {
  background-color: #FEDBCD !important;
  color: #070606 !important;
  -webkit-text-fill-color: #070606 !important;
  font-weight: 700 !important;
  border-top: 1px solid #FF4A03 !important;
  border-bottom: 1px solid #FF4A03 !important;
}

/* Hide main bundle image entirely */
.loop-bundle-image-container {
  display: none !important;
}

/* Page padding top and bottom */
.loop-container.loop-bs-container {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

/* Your bundle: selected item layout */
.loop-selected-variant-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 12px !important;
}

.loop-selected-variant-info-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
}

.loop-selected-variant-info-container img {
  max-width: 150px !important;
  max-height: 150px !important;
  width: auto !important;
  height: auto !important;
}

.loop-selected-variant-info {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

.loop-selected-variant-actions-container {
  position: static !important;
  margin-top: 4px !important;
  width: 100% !important;
}

.loop-selected-variant-actions {
  display: flex !important;
  align-items: center !important;
}

/* Your bundle -/+ buttons: dark orange fill, white icon */
.loop-selected-variant-actions .loop-btn.loop-btn-input-decrease-small,
.loop-selected-variant-actions .loop-btn.loop-btn-input-increase-small {
  background-color: #FF4A03 !important;
  border: none !important;
  color: #ffffff !important;
}

.loop-selected-variant-actions .loop-form-input-small.loop-selected-variant-actions-input {
  background-color: #FEDBCD !important;
  color: #070606 !important;
  -webkit-text-fill-color: #070606 !important;
  font-weight: 700 !important;
  border: 1px solid #FF4A03 !important;
}

input.loop-form-input-small.loop-selected-variant-actions-input {
  color: #070606 !important;
  -webkit-text-fill-color: #070606 !important;
  opacity: 1 !important;
}

.loop-selected-bundle {
  border-color: #FEDBCD !important;
}

.loop-new-progress-bar-container {
  background-color: #FEDBCD !important;
}

/* Frequency selector: larger text, prevent options list being clipped */
.loop-bundle-widget-frequency-dropdown p,
.loop-bundle-widget-frequency-interval-items p {
  font-size: 16px !important;
}

.loop-bundle-widget-frequency-interval-items {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.loop-bundle-widget-selling-plan-container,
.loop-bundle-widget-selling-plan-container.selected,
.loop-bundle-widget-frequency-dropdown-layout,
.loop-bundle-widget-frequency-dropdown-layout .relative {
  overflow: visible !important;
}

.loop-bundle-widget-frequency-dropdown-options {
  z-index: 9999 !important;
  max-height: none !important;
  overflow: visible !important;
  position: absolute !important;
}

.loop-actions-container,
.loop-selected-bundle,
.loop-bundle-widget-container,
.loop-bundle-radio-widget-container {
  overflow: visible !important;
}

.loop-actions-container {
  z-index: auto !important;
  position: sticky !important;
  top: 0px !important;
}

/* Struck-through original prices */
p.strike-through {
  color: #99A1AF !important;
}

.loop-container.loop-bs-container {
  align-items: flex-start !important;
}

.loop-selected-bundle-title {
  font-weight: 700 !important;
}

.loop-bundle-product-card-title {
  font-weight: 700 !important;
}

.loop-product-title {
  margin-bottom: 0 !important;
}

.loop-display-product-price {
  margin-top: 4px !important;
}

.loop-product-card-description-body {
  gap: 4px !important;
}

/* -----------------------------------------------------------------------------
   1. Desktop: lift the "Your bundle" panel so its heading sits on the same line
      as "Choose your bundle size".
      191px is the measured height of the pack-size block + "Choose your
      proteins" heading, with the taller theme-styled buttons from section 4
      applied. Verified identical from 1024px to 1600px wide.
      Re-measure if a 4th pack size is added or the discount line wraps.
      1024px = the breakpoint where Loop switches to the two-column layout.
   -------------------------------------------------------------------------- */
@media (min-width: 64rem) {
  .loop-actions-container {
    margin-top: -191px !important;
  }
}

/* -----------------------------------------------------------------------------
   2. Show "Subscribe & Save" above "One time".
      The container holds exactly two purchase options, so reversing the flex
      direction swaps them without touching anything else. Loop renders
      one-time first and exposes no setting for this order on bundle pages.
   -------------------------------------------------------------------------- */
.loop-bundle-radio-widget-container {
  flex-direction: column-reverse !important;
}

/* -----------------------------------------------------------------------------
   3. Mobile/tablet: make the sticky add-to-cart bar taller so the button clears
      the Podium "Text us" bubble (fixed, bottom-left, 100px tall,
      z-index 2147482997 — it cannot be stacked under, so the button moves up).
      16px (Loop default) + 92px clearance = 108px.
      Scoped to <1024px, which is where Loop swaps the sticky column for this
      bottom sheet.
   -------------------------------------------------------------------------- */
@media (max-width: 63.99rem) {
  .loop-bottom-sheet-footer-container {
    padding-bottom: 108px !important;
  }

  /* Let the sheet grow to fit the taller footer instead of clipping it. */
  .loop-bottom-sheet,
  .react-modal-sheet-container.loop-bottom-sheet {
    height: auto !important;
    max-height: none !important;
  }
}

/* -----------------------------------------------------------------------------
   4. Match buttons to the theme.
      Theme (Horizon) button style: Montserrat 14px/700, UPPERCASE,
      border-radius 100px, #FF4A04 with white text, 12px 24px padding
      (16px 32px and 52px tall for add-to-cart).
   -------------------------------------------------------------------------- */

/* 4a. Pill radii + theme orange, through Loop's own branding variables.
       On :root so the portaled mobile bar inherits them too. */
:root {
  --loop-bundle-outline-button-border-radius: 10px;
  --loop-bundle-selected-button-border-radius: 10px;
  --loop-product-card-add-product-button-border-radius: 100px;
  --loop-bundle-add-to-cart-button-border-radius: 100px;
  --loop-bundle-input-button-border-top-radius: 100px;
  --loop-bundle-input-button-border-bottom-radius: 100px;

  /* theme primary is #FF4A04; Loop was set to #FF4A03 */
  --loop-bundle-add-to-cart-button-bg-color: #ff4a04;
  --loop-product-card-add-product-button-bg-color: #ff4a04;
  --loop-product-card-input-button-bg-color: #ff4a04;
  --loop-bundle-outline-button-text-color: #ff4a04;
  --loop-bundle-progress-bar-bg-color: #ff4a04;
}

/* 4b. Typeface + weight on every button. Loop's stylesheet leaves buttons on
       Arial; the theme uses Montserrat throughout. */
.loop-btn,
.loop-btn *,
button.loop-bundle-widget-frequency-dropdown,
button.loop-bundle-widget-frequency-dropdown * {
  font-family: Montserrat, sans-serif !important;
  letter-spacing: normal !important;
}

.loop-btn {
  font-size: 14px !important;
  font-weight: 700 !important;
}

/* 4c. Theme padding/heights. Quantity steppers are excluded — they are small
       square controls, not text buttons. */
.loop-bundle-size-selector-btn,
.loop-btn-add-product {
  padding: 12px 24px !important;
}

.loop-card .loop-btn.loop-btn-add-product {
  height: auto !important;
  min-height: 44px !important;
  text-transform: uppercase !important;
}

.loop-btn-add-to-cart {
  padding: 16px 32px !important;
  min-height: 52px !important;
  text-transform: uppercase !important;
}

/* The mobile bar's button is height-capped by its flex wrapper, so the wrapper
   has to be released as well for it to reach the theme's 52px. */
.loop-bundle-view-cart-btn,
.loop-bundle-view-cart-btn > .loop-btn-add-to-cart {
  height: auto !important;
  min-height: 52px !important;
}

/* 4d. Pack-size chips: theme pill + orange border, kept in sentence case so
       unit labels stay readable ("3.6kg (4x900g)", not "3.6KG (4X900G)").
       Delete this first rule to make them uppercase like other theme buttons. */
.loop-bundle-size-selector-btn {
  text-transform: none !important;
}

.loop-bundle-size-selector .loop-btn.loop-btn-selected.loop-bundle-size-selector-btn,
.loop-bundle-size-selector .loop-btn.loop-btn-outline.loop-bundle-size-selector-btn {
  border: 1px solid #ff4a04 !important;
}

/* 4e. Quantity steppers keep their size but pick up the theme orange. */
.loop-card .loop-btn.loop-btn-input-decrease,
.loop-card .loop-btn.loop-btn-input-increase,
.loop-selected-variant-actions .loop-btn.loop-btn-input-decrease-small,
.loop-selected-variant-actions .loop-btn.loop-btn-input-increase-small {
  background-color: #ff4a04 !important;
}

/* -----------------------------------------------------------------------------
   5. Match the bundle purchase options to the PDP subscription widget.
      Target values taken from the PDP widget's own stylesheet
      (cdn.loopwork.co/<shop>/widgets/01KJYSSHK144RVQ0WTJ10W1EPB/styles.css)
      and from computed styles on the live product page, so these are the
      widget's real numbers rather than eyeballed approximations.
   -------------------------------------------------------------------------- */

/* 5a. "Purchase Options" heading — the bundle widget has no label element of
       its own, so it is drawn as generated content. Remove this rule if Loop
       ever adds a real heading, to avoid two of them. */
.loop-bundle-widget-container::before {
  content: "Purchase Options";
  display: block;
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  font-weight: 800;
  line-height: 25.6px;
  color: #000;
  margin: 0 0 16px;
}

/* 5b. Card colours: orange border on both options, warm tint + double-weight
       edge on the selected one (PDP uses a 1px border plus a 1px outline). */
:root {
  --loop-bundle-widget-selling-plan-container-border-color: #ff4a04;
  --loop-bundle-widget-selected-selling-plan-background: #fff9f6;
  --loop-bundle-widget-selected-selling-plan-border-color: #ff4a04;
  --loop-bundle-widget-discount-badge-background: #ff4a04;
  --loop-bundle-widget-discount-badge-font-size: 14px;
  --loop-bundle-widget-discount-badge-line-height: 14px;
}

.loop-bundle-widget-selling-plan-container {
  padding: 15.4px !important;
}

.loop-bundle-widget-selling-plan-container.selected {
  outline: 1px solid #ff4a04 !important;
}

.loop-bundle-widget-discount-badge-container {
  padding: 4.2px 11.2px !important;
}

/* 5c. Labels: 16px, 600 on the selected option (PDP bolds label and prices
       together when selected). */
.loop-bundle-widget-selling-plan-text {
  font-size: 16px !important;
  line-height: 19.2px !important;
  color: #000 !important;
}

.loop-bundle-widget-selling-plan-container.selected .loop-bundle-widget-selling-plan-text {
  font-weight: 600 !important;
}

.loop-bundle-widget-selling-plan-info {
  gap: 16px !important;
}

/* 5d. Prices on one line, 16px, black — including the compare-at price, which
       the earlier `p.strike-through` rule had greyed out. */
.loop-bundle-widget-selling-plan-price-subscription {
  flex-direction: row !important;
  align-items: baseline !important;
  gap: 5px !important;
}

.loop-bundle-widget-selling-plan-price-container p,
.loop-bundle-widget-selling-plan-price {
  font-size: 16px !important;
  line-height: 20.8px !important;
  color: #000 !important;
}

.loop-bundle-widget-selling-plan-container p.strike-through {
  color: #000 !important;
  font-size: 16px !important;
  text-decoration-line: line-through !important;
}

.loop-bundle-widget-selling-plan-container.selected .loop-bundle-widget-selling-plan-price-container p {
  font-weight: 600 !important;
}

/* 5e. Radio: 18px with a black ring, matching the PDP's native radio at
       1.3em with accent-color #000. Inner dot scaled to suit (3+8+3 = 14px,
       the inside of an 18px circle with a 2px border). 18px + 10px gap = 28px
       to the label, so the row's own 8px gap is removed. */
.loop-bundle-widget-radio-btn {
  width: 18px !important;
  height: 18px !important;
  border-color: #000 !important;
}

.loop-bundle-widget-radio-btn-inner {
  width: 8px !important;
  height: 8px !important;
  top: 3px !important;
  left: 3px !important;
}

.loop-bundle-widget-radio-btn-container {
  width: 28px !important;
}

.loop-bundle-widget-selling-plan {
  gap: 0 !important;
}

/* 5f. Frequency selector: PDP uses 14px/500 text, 10px padding and a 6px gap
       above. NOTE this drops the frequency text from the 16px set earlier in
       this file back to the PDP's 14px — that is what matching requires. */
.loop-bundle-widget-frequency-dropdown-layout {
  margin-block: 6px 0 !important;
}

.loop-bundle-widget-frequency-dropdown {
  padding: 10px !important;
}

.loop-bundle-widget-frequency-dropdown p,
.loop-bundle-widget-frequency-interval-items p {
  font-size: 14px !important;
  font-weight: 500 !important;
}

.loop-bundle-widget-frequency-dropdown-label {
  font-size: 12.8px !important;
  line-height: 15.36px !important;
  padding: 0 5px !important;
}

.loop-bundle-widget-frequency-dropdown svg {
  color: #000 !important;
  stroke: #000 !important;
}
