/* TLF Buy One Get One — works on any theme. Colours come from the settings page. */
:root { --tlf-bogo-bg: #0A0A0A; --tlf-bogo-color: #F4C042; }

/* Ribbon on product photos in lists (themes without their own badge spot) */
li.product.tlf-bogo-item, .product.tlf-bogo-item { position: relative; }
.tlf-bogo-ribbon {
  position: absolute; z-index: 5; left: 10px; bottom: auto; top: 10px;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 10px; border-radius: 6px;
  background: var(--tlf-bogo-bg); color: var(--tlf-bogo-color);
  font-size: 11px; font-weight: 900; line-height: 1; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .18);
  pointer-events: none;
}

/* Offer box on the product page */
.tlf-bogo-box {
  position: relative; margin: 0 0 18px; padding: 16px 18px 14px; border-radius: 14px;
  background: var(--tlf-bogo-bg); color: #fff;
  overflow: hidden;
}
.tlf-bogo-box::after {
  content: '1+1'; position: absolute; right: -6px; bottom: -22px;
  font-size: 84px; font-weight: 900; letter-spacing: -.04em; line-height: 1;
  color: var(--tlf-bogo-color); opacity: .14; pointer-events: none;
}
.tlf-bogo-box__tag {
  display: inline-block; margin-bottom: 8px; padding: 4px 8px; border-radius: 5px;
  background: var(--tlf-bogo-color); color: var(--tlf-bogo-bg);
  font-size: 10.5px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; line-height: 1.2;
}
.tlf-bogo-box__title { display: block; font-size: 20px; font-weight: 900; line-height: 1.15; text-transform: uppercase; color: var(--tlf-bogo-color); }
.tlf-bogo-box__text { margin: 6px 0 0 !important; font-size: 13.5px; line-height: 1.5; color: rgba(255, 255, 255, .85) !important; max-width: 46ch; }
.tlf-bogo-box__hint { margin: 10px 0 0 !important; font-size: 13px; font-weight: 800; color: var(--tlf-bogo-color) !important; }
.tlf-bogo-box__small { margin: 6px 0 0 !important; font-size: 11.5px; color: rgba(255, 255, 255, .6) !important; }

/* Cart / bag drawer nudge */
.tlf-bogo-nudge {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin: 0 0 14px; padding: 12px 14px; border-radius: 12px;
  background: var(--tlf-bogo-bg); color: #fff; font-size: 13px; font-weight: 700; line-height: 1.4;
}
.tlf-bogo-nudge__tag {
  flex: none; padding: 4px 7px; border-radius: 5px;
  background: var(--tlf-bogo-color); color: var(--tlf-bogo-bg);
  font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase;
}
.tlf-bogo-nudge__text { flex: 1 1 180px; color: #fff; }
.tlf-bogo-nudge a { color: var(--tlf-bogo-color) !important; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.tlf-bogo-nudge--done { box-shadow: inset 0 0 0 2px var(--tlf-bogo-color); }
.tlf-bogo-nudge-row td { padding: 0 !important; border: 0 !important; }
.tlf-bogo-nudge-row .tlf-bogo-nudge { margin: 6px 0 10px; }

/* Bag drawer / mini cart: saving + total after the offer */
.tlf-bogo-mini { margin: 0 0 14px; padding: 10px 0 2px; border-top: 1px dashed rgba(127,127,127,.3); }
.tlf-bogo-mini__row { display: flex; justify-content: space-between; gap: 12px; margin: 0 0 6px !important; font-size: 13px; font-weight: 700; }
.tlf-bogo-mini__row--save span:last-child { color: #1D8A4A; font-weight: 900; }
.tlf-bogo-mini__row--total { font-size: 15px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
