.weline-product-fbt{ --wpf-ink:var(--color-text-primary); --wpf-muted:var(--color-text-gray); --wpf-link:var(--color-info); --wpf-border:var(--color-literal-d5d9d9); --wpf-surface:var(--color-bg-primary); --wpf-cta:var(--color-literal-ff8c00); --wpf-cta-hover:var(--color-literal-ff6b00); --wpf-cta-glow:var(--color-literal-rgba-255-107-0-0-42); --wpf-total:var(--color-danger); --wpf-media:var(--token-size-7-25rem);margin:var(--weline-space-5) 0 0;padding:var(--token-size-1-15rem) var(--spacing-0_85) var(--spacing-0_85);border-top:var(--border-width-thin) solid var(--wpf-border);color:var(--wpf-ink);font-family:"Weline Ember",Arial,sans-serif;}.weline-product-fbt .wpf-header{margin:0 0 var(--weline-space-3);padding-inline:var(--token-size-0-35rem);}.weline-product-fbt .wpf-title{margin:0;font-size:var(--weline-space-5);line-height:1.25;font-weight:700;letter-spacing:calc(-1 * var(--token-size-0-01em));}.weline-product-fbt .wpf-subtitle{margin:var(--spacing-0_2) 0 0;color:var(--wpf-muted);font-size:var(--token-size-0-86rem);}.weline-product-fbt .wpf-body{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-0_85) var(--weline-space-4);padding:var(--spacing-0_85) var(--weline-space-4);border:var(--border-width-thin) solid var(--wpf-border);border-radius:var(--spacing-2);background:var(--wpf-surface);}.weline-product-fbt .wpf-products{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:var(--token-size-0-35rem) var(--spacing-0_4);flex:1 1 auto;min-width:0;overflow-x:auto;padding-bottom:var(--token-size-0-1rem); -webkit-overflow-scrolling:touch;scrollbar-width:none;}.weline-product-fbt .wpf-products::-webkit-scrollbar{display:none;}.weline-product-fbt .wpf-plus{flex:0 0 auto;width:var(--token-size-1-1rem);height:var(--wpf-media);display:grid;place-items:center;margin-top:var(--token-size-0-1rem);font-size:var(--token-size-1-1rem);font-weight:700;color:var(--color-literal-6b6b6b);line-height:1;user-select:none;}.weline-product-fbt .wpf-item{position:relative;flex:0 0 var(--token-size-8-75rem);width:var(--token-size-8-75rem);max-width:var(--token-size-8-75rem);padding:0;border:0;background:transparent;}.weline-product-fbt .wpf-item:hover{border:0;box-shadow:none;}.weline-product-fbt .wpf-stage{position:relative;}.weline-product-fbt .wpf-stage .product-actions{position:absolute;top:var(--spacing-0_2);right:var(--token-size-0-15rem);display:flex;gap:var(--spacing-0_2);z-index:3;opacity:0;transform:translateY(-3px);transition:opacity 0.18s ease,transform 0.18s ease;}.weline-product-fbt .wpf-item:hover .product-actions,.weline-product-fbt .wpf-item:focus-within .product-actions{opacity:1;transform:none;}@media (max-width:768px){.weline-product-fbt .wpf-stage .product-actions{opacity:1;transform:none;}}.weline-product-fbt .wpf-check{position:absolute;top:var(--token-size-0-15rem);left:var(--token-size-0-15rem);z-index:2;display:inline-flex;cursor:pointer;}.weline-product-fbt .wpf-checkbox{position:absolute;opacity:0;pointer-events:none;}.weline-product-fbt .wpf-check-ui{width:var(--spacing-1_05);height:var(--spacing-1_05);border:var(--border-width-thin) solid var(--color-literal-888c8c);border-radius:var(--border-width-thick);background:var(--color-bg-primary);box-shadow:inset 0 var(--border-width-thin) 0 var(--color-literal-rgba-255-255-255-0-7);}.weline-product-fbt .wpf-checkbox:checked + .wpf-check-ui{background:var(--color-info);border-color:var(--color-info);background-image:url();background-size:var(--weline-space-3);background-repeat:no-repeat;background-position:center;}.weline-product-fbt .wpf-checkbox:disabled + .wpf-check-ui{opacity:0.75;cursor:default;}.weline-product-fbt .wpf-sr{position:absolute;width:var(--border-width-thin);height:var(--border-width-thin);overflow:hidden;clip:rect(0 0 0 0);}.weline-product-fbt .wpf-media{display:block;width:var(--wpf-media);height:var(--wpf-media);margin:0 auto;border-radius:var(--spacing-1);overflow:hidden;background:var(--color-bg-muted);}.weline-product-fbt .wpf-media img{width:100%;height:100%;object-fit:contain;display:block;background:var(--color-bg-muted);}.weline-product-fbt .wpf-media img[data-failed="1"]{object-fit:cover;}.weline-product-fbt .wpf-meta{display:flex;flex-direction:column;gap:var(--spacing-0_2);padding-top:var(--spacing-0_4);min-height:var(--token-size-4-1rem);}.weline-product-fbt .wpf-name{margin:0;font-size:var(--token-size-0-82rem);line-height:1.3;font-weight:400;min-height:var(--token-size-2-15em);}.weline-product-fbt .wpf-name a{color:var(--wpf-link);text-decoration:none;display: -webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;overflow:hidden;}.weline-product-fbt .wpf-name a:hover{color:var(--color-primary-text-emphasis);text-decoration:underline;}.weline-product-fbt .wpf-price-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--weline-space-1) var(--token-size-0-35rem);}.weline-product-fbt .wpf-price{font-size:var(--spacing-0_95);font-weight:700;color:var(--wpf-ink);}.weline-product-fbt .wpf-badge{display:inline-flex;width:fit-content;padding:var(--token-size-0-05rem) var(--token-size-0-35rem);border-radius:var(--border-width-medium);background:var(--color-bg-secondary);color:var(--color-text-gray);font-size:var(--token-size-0-68rem);font-weight:600;}.weline-product-fbt .wpf-summary{flex:0 0 var(--token-size-11-25rem);display:flex;flex-direction:column;justify-content:center;gap:var(--spacing-0_45);padding:var(--token-size-0-1rem) 0 var(--token-size-0-1rem) var(--spacing-0_85);border-left:var(--border-width-thin) solid var(--color-bg-tertiary);margin-left:auto;}.weline-product-fbt .wpf-total{display:flex;flex-direction:column;gap:var(--token-size-0-1rem);}.weline-product-fbt .wpf-total-label{color:var(--wpf-muted);font-size:var(--spacing-0_8);}.weline-product-fbt .wpf-total-value{font-size:var(--spacing-1_2);font-weight:700;color:var(--wpf-total);}.weline-product-fbt .wpf-cta{position:relative;isolation:isolate;appearance:none;overflow:visible;border:var(--border-width-thin) solid var(--color-literal-e85d04);border-radius:var(--spacing-5);background:url()' stroke-width='1.5'/%3E%3Cpath d='M0 10 Q15 4 30 10 T60 10 T90 10 T120 10' fill='none' stroke='var(--color-literal-rgba-255-255-255-0-16)' stroke-width='1'/%3E%3C/svg%3E") center 78% / 100% var(--spacing-0_55) no-repeat,
    linear-gradient(180deg, var(--color-literal-ffb347) 0%, var(--wpf-cta) 48%, var(--wpf-cta-hover) 100%);
  color: var(--color-bg-primary);
  font-size: var(--token-size-0-84rem);
  font-weight: 700;
  line-height: 1.2;
  padding: var(--token-size-0-52rem) var(--spacing-0_95);
  cursor: pointer;
  width: 100%;
  box-shadow: var(--weline-shadow-lg);
  animation: wpf-cta-wave-bounce 2.6s ease-in-out infinite;
  transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.weline-product-fbt .wpf-cta__label {
  position: relative;
  z-index: 2;
}

.weline-product-fbt .wpf-cta__ripples {
  position: absolute;
  inset: -4px;
  z-index: 0;
  pointer-events: none;
}

.weline-product-fbt .wpf-cta__ripple {
  position: absolute;
  inset: 0;
  border: var(--border-width-medium) solid var(--color-literal-rgba-255-140-0-0-62);
  border-radius: var(--token-size-22px);
  opacity: 0;
  animation: wpf-cta-ripple 2.6s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
}

.weline-product-fbt .wpf-cta__ripple:nth-child(2) {
  animation-delay: 0.85s;
}

.weline-product-fbt .wpf-cta__ripple:nth-child(3) {
  animation-delay: 1.7s;
}

.weline-product-fbt .wpf-cta__waves {
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: var(--token-size-0-18rem);
  height: var(--token-size-0-35rem);
  z-index: 1;
  pointer-events: none;
  opacity: 0.55;
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0,
      transparent var(--size-scrollbar),
      var(--color-literal-rgba-255-255-255-0-22) var(--size-scrollbar),
      var(--color-literal-rgba-255-255-255-0-22) var(--token-size-7px)
    );
  mask-image: url();
  mask-size: var(--token-size-2-4rem) 100%;
  mask-repeat: repeat-x;
  animation: wpf-cta-wave-lines 3.2s linear infinite;
}

.weline-product-fbt .wpf-cta:hover {
  filter: brightness(1.04);
  box-shadow: var(--weline-shadow-lg);
}

.weline-product-fbt .wpf-cta[data-state="loading"],
.weline-product-fbt .wpf-cta[data-state="saved"],
.weline-product-fbt .wpf-cta:disabled {
  animation: none;
  cursor: wait;
}

.weline-product-fbt .wpf-cta[data-state="loading"] .wpf-cta__ripples,
.weline-product-fbt .wpf-cta[data-state="saved"] .wpf-cta__ripples {
  opacity: 0;
}

.weline-product-fbt .wpf-cta[data-state="saved"] {
  border-color: var(--color-literal-067d62);
  background: linear-gradient(180deg, var(--color-literal-12a87a) 0%, var(--color-literal-067d62) 100%);
  color: var(--color-bg-primary);
  box-shadow: 0 var(--spacing-1) var(--spacing-3) var(--color-literal-rgba-6-125-98-0-35);
}

@keyframes wpf-cta-wave-bounce {
  0%,
  100% {
    transform: translateY(0) rotate(0deg);
  }
  18% {
    transform: translateY(-6px) rotate(-0.6deg);
  }
  36% {
    transform: translateY(0) rotate(0deg);
  }
  54% {
    transform: translateY(-4px) rotate(0.5deg);
  }
  72% {
    transform: translateY(-1px) rotate(0deg);
  }
}

@keyframes wpf-cta-ripple {
  0% {
    transform: scale(1);
    opacity: 0.72;
  }
  100% {
    transform: scale(1.42);
    opacity: 0;
  }
}

@keyframes wpf-cta-wave-lines {
  0% {
    mask-position: 0 0;
  }
  100% {
    mask-position: var(--token-size-2-4rem) 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .weline-product-fbt .wpf-cta,
  .weline-product-fbt .wpf-cta__ripple,
  .weline-product-fbt .wpf-cta__waves {
    animation: none;
  }
}

.weline-product-fbt .wpf-status {
  min-height: var(--token-size-1-1em);
  font-size: var(--token-size-0-78rem);
  color: var(--wpf-muted);
}

.weline-product-fbt .wpf-status.is-warning {
  color: var(--wpf-total);
}

.weline-product-fbt .wpf-status.is-success {
  color: var(--color-literal-067d62);
}

@media (max-width: 1023px) {
  .weline-product-fbt .wpf-summary {
    border-left: 0;
    border-top: var(--border-width-thin) solid var(--color-bg-tertiary);
    margin-left: 0;
    flex-basis: 100%;
    padding: var(--weline-space-3) 0 0;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--spacing-0_65) var(--weline-space-4);
  }

  .weline-product-fbt .wpf-cta {
    width: auto;
    min-width: var(--token-size-10rem);
  }
}

@media (max-width: 767px) {
  .weline-product-fbt {
    padding-inline: var(--spacing-0_65);
  }

  .weline-product-fbt .wpf-header {
    padding-inline: var(--token-size-0-15rem);
  }

  .weline-product-fbt .wpf-body {
    padding: var(--weline-space-3);
  }

  .weline-product-fbt .wpf-item {
    flex-basis: var(--token-size-7-4rem);
    width: var(--token-size-7-4rem);
    max-width: var(--token-size-7-4rem);
  }

  .weline-product-fbt .wpf-title {
    font-size: var(--token-size-1-1rem);
  }

  .weline-product-fbt .wpf-summary {
    flex-direction: column;
    align-items: stretch;
  }

  .weline-product-fbt .wpf-cta {
    width: 100%;
    overflow: hidden;
  }
}