/* Fast Checkout — Buy now button.
   Deliberately minimal: it inherits the theme's button metrics so it sits
   level with Add to cart instead of fighting whatever theme is installed. */

.fast-checkout-buy-now,
.fast-checkout-buy-now--link {
  display: inline-block;
  margin-left: 8px;
  cursor: pointer;
  font-family: inherit;
  vertical-align: middle;
}

.fast-checkout-buy-now--outline {
  background: transparent;
  color: inherit;
  border: 1px solid currentColor;
}

.fast-checkout-buy-now--outline:hover:not(:disabled) {
  background: rgba(0, 0, 0, .05);
}

.fast-checkout-buy-now--solid {
  background: #14161a;
  color: #fff;
  border: 1px solid #14161a;
}

.fast-checkout-buy-now--solid:hover:not(:disabled) {
  background: #2a2e36;
}

.fast-checkout-buy-now:disabled {
  opacity: .6;
  cursor: not-allowed;
}

/* On listings the theme often stacks buttons, so drop the side margin */
ul.products .fast-checkout-buy-now,
ul.products .fast-checkout-buy-now--link {
  margin-left: 0;
  margin-top: 6px;
  display: block;
  text-align: center;
}

@media (max-width: 480px) {
  .fast-checkout-buy-now,
  .fast-checkout-buy-now--link {
    margin-left: 0;
    margin-top: 8px;
    display: block;
    width: 100%;
    text-align: center;
  }
}

/* Cart page: this is a primary action, so it takes the full width above
   the theme's own checkout button rather than sitting beside it. */
.fast-checkout-buy-now--cart {
  display: block;
  width: 100%;
  margin: 0 0 10px;
  text-align: center;
}

/* ---------------------------------------------------------------------------
   Sticky product bar. Pinned to the bottom of the product page so the buy
   action stays reachable however far the shopper has scrolled. Only printed
   when the store owner turns it on.
   --------------------------------------------------------------------------- */

.fastco-sticky {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 14px;
  z-index: 9998;
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: min(680px, calc(100vw - 24px));
  width: max-content;
  padding: 10px 12px;
  border-radius: 16px;
  background: #2e2e2e;
  box-shadow: 0 8px 28px rgba(0, 0, 0, .28);
  font-family: inherit;
  /* Sits above the page but never over the browser's own bottom chrome */
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
}

.fastco-sticky__logo {
  width: 38px;
  height: 38px;
  object-fit: contain;
  border-radius: 10px;
  background: #1c1c1c;
  padding: 5px;
  flex: 0 0 auto;
}

.fastco-sticky__info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.3;
}

.fastco-sticky__name {
  font-size: 12px;
  color: rgba(255, 255, 255, .62);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fastco-sticky__price {
  font-size: 15px;
  font-weight: 600;
  color: #fff;
}

.fastco-sticky__price del { opacity: .5; font-weight: 400; margin-right: 5px; }
.fastco-sticky__price ins { text-decoration: none; }

/* The button keeps whatever look the dashboard set; only its box changes. */
.fastco-sticky .fastco-sticky__btn {
  margin: 0;
  flex: 0 0 auto;
  width: auto;
  padding: 11px 22px;
  white-space: nowrap;
}

@media (max-width: 560px) {
  .fastco-sticky {
    left: 12px;
    right: 12px;
    transform: none;
    width: auto;
    max-width: none;
    border-radius: 14px;
  }
  .fastco-sticky__info { flex: 1 1 auto; }
  .fastco-sticky .fastco-sticky__btn { padding: 11px 18px; }
}

/* The theme's own sticky footers would otherwise sit on top of ours */
body.fastco-has-sticky { padding-bottom: 76px; }
