:root {
  --lb-wa-green: #25d366;
  --lb-wa-green-d: #128c7e;
  --lb-wa-gold: #c9a227;
  --lb-wa-gold-2: #f5d76e;
  --lb-wa-ink: #f7f1df;
  --lb-wa-muted: #b8a882;
  --lb-wa-panel: #12100a;
  --lb-wa-bg: #0c0a06;
}

/* Floating action button */
.lb-wa-fab {
  position: fixed;
  left: 1.15rem;
  bottom: 1.15rem;
  z-index: 99970;
  width: 3.35rem;
  height: 3.35rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, var(--lb-wa-green), var(--lb-wa-green-d));
  color: #fff;
  box-shadow: 0 14px 34px rgb(0 0 0 / .38), 0 0 0 1px rgb(255 255 255 / .12);
  text-decoration: none;
  transition: transform .22s ease, box-shadow .22s ease;
}

.lb-wa-fab:hover,
.lb-wa-fab:focus-visible {
  transform: translateY(-2px) scale(1.04);
  box-shadow: 0 18px 40px rgb(0 0 0 / .42), 0 0 0 2px rgb(245 215 110 / .45);
  outline: none;
}

.lb-wa-fab .lb-wa__icon {
  width: 1.55rem;
  height: 1.55rem;
}

.lb-wa-fab__tip {
  position: absolute;
  left: calc(100% + .65rem);
  top: 50%;
  transform: translateY(-50%) translateX(-6px);
  padding: .42rem .65rem;
  border-radius: .45rem;
  background: var(--lb-wa-panel);
  border: 1px solid rgb(201 162 39 / .35);
  color: var(--lb-wa-ink);
  font: 800 .68rem/1.2 "DM Sans", system-ui, sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.lb-wa-fab:hover .lb-wa-fab__tip,
.lb-wa-fab:focus-visible .lb-wa-fab__tip {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

/* Shared icon + button */
.lb-wa__icon {
  width: 1.15rem;
  height: 1.15rem;
  flex-shrink: 0;
}

.lb-wa__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .72rem 1.15rem;
  border-radius: 999px;
  font: 800 .78rem/1 "DM Sans", system-ui, sans-serif;
  letter-spacing: .04em;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.lb-wa__btn--primary {
  background: linear-gradient(135deg, var(--lb-wa-green), var(--lb-wa-green-d));
  color: #fff;
  box-shadow: 0 10px 24px rgb(18 140 126 / .28);
}

.lb-wa__btn--primary:hover,
.lb-wa__btn--primary:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgb(18 140 126 / .38);
  outline: none;
}

.lb-wa__btn--ghost {
  background: rgb(255 255 255 / .04);
  border: 1px solid rgb(37 211 102 / .45);
  color: var(--lb-wa-ink);
  padding: .55rem .85rem;
  font-size: .72rem;
}

.lb-wa__btn--ghost:hover,
.lb-wa__btn--ghost:focus-visible {
  border-color: var(--lb-wa-green);
  background: rgb(37 211 102 / .08);
  outline: none;
}

.lb-wa__btn--lg {
  padding: .9rem 1.35rem;
  font-size: .82rem;
}

/* Cart panel */
.lb-wa--cart,
.lb-wa--thankyou {
  position: relative;
  margin: 1.35rem 0 0;
  padding: 1.35rem 1.25rem 1.4rem;
  border-radius: 1rem;
  background: linear-gradient(145deg, rgb(18 16 10 / .98), rgb(12 10 6 / .98));
  border: 1px solid rgb(201 162 39 / .32);
  color: var(--lb-wa-ink);
  overflow: hidden;
}

.lb-wa__glow {
  position: absolute;
  inset: -40% auto auto 50%;
  width: 70%;
  height: 120%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, rgb(37 211 102 / .12), transparent 70%);
  pointer-events: none;
}

.lb-wa__body {
  position: relative;
  z-index: 1;
}

.lb-wa__kicker {
  margin: 0 0 .35rem;
  font: 800 .65rem/1.2 "DM Sans", system-ui, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--lb-wa-green);
}

.lb-wa__title {
  margin: 0 0 .55rem;
  font: 700 1.35rem/1.2 "Cormorant Garamond", Georgia, serif;
  color: #fff;
  letter-spacing: -.01em;
}

.lb-wa__lead {
  margin: 0 0 1rem;
  max-width: 38rem;
  font: 400 .88rem/1.55 "DM Sans", system-ui, sans-serif;
  color: var(--lb-wa-muted);
}

.lb-wa__lead strong {
  color: var(--lb-wa-ink);
  font-weight: 700;
}

.lb-wa__order {
  margin: 0 0 .25rem;
  font: 600 .78rem/1.3 "DM Sans", system-ui, sans-serif;
  color: var(--lb-wa-gold-2);
  letter-spacing: .04em;
}

.lb-wa__meta {
  margin: .85rem 0 0;
  font: 600 .72rem/1.3 "DM Sans", system-ui, sans-serif;
  color: var(--lb-wa-muted);
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Checkout — compact inline */
.lb-wa--checkout {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1rem;
  margin: 0 0 1rem;
  padding: .85rem 1rem;
  border-radius: .75rem;
  background: rgb(12 10 6 / .85);
  border: 1px solid rgb(37 211 102 / .28);
}

.lb-wa--checkout .lb-wa__line {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  margin: 0;
  flex: 1 1 14rem;
  font: 400 .82rem/1.5 "DM Sans", system-ui, sans-serif;
  color: var(--lb-wa-muted);
}

.lb-wa--checkout .lb-wa__line strong {
  color: var(--lb-wa-ink);
}

.lb-wa--checkout .lb-wa__icon {
  color: var(--lb-wa-green);
  margin-top: .12rem;
}

/* Thank-you page */
.lb-wa--thankyou {
  max-width: 34rem;
  margin: 1.5rem auto 0;
}

/* WooCommerce dark checkout/cart harmony */
.woocommerce-cart .lb-wa--cart,
.woocommerce-checkout .lb-wa--checkout,
.woocommerce-order-received .lb-wa--thankyou {
  font-family: "DM Sans", system-ui, sans-serif;
}

/* Stack above live chat widget when present */
body:has(.lb-lc, #lb-live-chat, .lb-lc-widget) .lb-wa-fab {
  bottom: 5.75rem;
}

@media (max-width: 640px) {
  .lb-wa-fab {
    left: .85rem;
    bottom: .85rem;
    width: 3rem;
    height: 3rem;
  }

  .lb-wa-fab__tip {
    display: none;
  }

  .lb-wa--checkout {
    flex-direction: column;
    align-items: stretch;
  }

  .lb-wa__btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lb-wa-fab,
  .lb-wa__btn,
  .lb-wa-fab__tip {
    transition: none;
  }
}
