/* ======================================================================
   Product checkout — Cohort 47 (Voice Wave Equalizer)
   Each button has an animated EQ bar at the bottom edge — feels "alive".
   Music / podcast / audio-app vibe.
   ====================================================================== */

.product-checkout-47 { display: flex; flex-direction: column; gap: 10px; }
.product-checkout-47-row { display: flex; align-items: stretch; gap: 10px; }

/* qty stepper */
.product-checkout-47-qty {
    display: inline-flex; align-items: stretch;
    background: #f3f4f6; border: 0; border-radius: 12px;
    overflow: hidden; flex-shrink: 0;
}
.product-checkout-47-qty .qty-down,
.product-checkout-47-qty .qty-up {
    width: 40px; min-height: 48px;
    display: inline-flex; align-items: center; justify-content: center;
    background: transparent; color: #1f2937; border: 0;
    font-size: 18px; font-weight: 600; line-height: 1;
    text-decoration: none; cursor: pointer; user-select: none;
    transition: background 0.18s ease;
}
.product-checkout-47-qty .qty-down:hover,
.product-checkout-47-qty .qty-up:hover { background: rgba(0,0,0,0.06); }
.product-checkout-47-qty .qty-val {
    width: 52px; border: 0; background: transparent;
    text-align: center; font-size: 0.95rem; font-weight: 700;
    color: #1f2937; outline: none; -moz-appearance: textfield;
    padding: 0;
}
.product-checkout-47-qty .qty-val::-webkit-outer-spin-button,
.product-checkout-47-qty .qty-val::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Shared button base with EQ bar at bottom */
.product-checkout-47-cart,
.product-checkout-47-buynow,
.product-checkout-47-whatsapp,
.product-checkout-47-call {
    display: inline-flex; align-items: center; justify-content: center;
    gap: 8px; padding: 13px 22px;
    border: 0; border-radius: 10px;
    font-size: 0.9rem; font-weight: 700; color: #fff;
    text-decoration: none; cursor: pointer;
    position: relative; overflow: hidden;
    transition: transform 0.15s ease;
}
.product-checkout-47-cart:hover,
.product-checkout-47-buynow:hover,
.product-checkout-47-whatsapp:hover,
.product-checkout-47-call:hover { transform: translateY(-1px); color: #fff; }

/* EQ bars via gradient backgrounds layered at bottom */
.product-checkout-47-cart::after,
.product-checkout-47-buynow::after,
.product-checkout-47-whatsapp::after,
.product-checkout-47-call::after {
    content: "";
    position: absolute; left: 50%; bottom: 4px;
    width: 36px; height: 12px;
    transform: translateX(-50%);
    background:
        linear-gradient(currentColor, currentColor) 0 50% / 3px 40% no-repeat,
        linear-gradient(currentColor, currentColor) 8px 50% / 3px 70% no-repeat,
        linear-gradient(currentColor, currentColor) 16px 50% / 3px 100% no-repeat,
        linear-gradient(currentColor, currentColor) 24px 50% / 3px 60% no-repeat,
        linear-gradient(currentColor, currentColor) 32px 50% / 3px 80% no-repeat;
    opacity: 0.6;
    animation: pco47Wave 1.2s ease-in-out infinite;
}
@keyframes pco47Wave {
    0%, 100% { transform: translateX(-50%) scaleY(0.5); }
    50% { transform: translateX(-50%) scaleY(1); }
}

/* Cart — ink */
.product-checkout-47 .btn-primary.product-checkout-47-cart {
    --bs-btn-color: #fff;
    background: #1f2937 !important; border-color: #1f2937 !important; color: #fff !important;
    flex: 1; min-height: 56px;
}

/* Buy Now — orange→red gradient */
.product-checkout-47 .btn-outline-primary.product-checkout-47-buynow {
    --bs-btn-color: #fff;
    background: linear-gradient(135deg, #f97316, #dc2626) !important;
    border: 0 !important; color: #fff !important;
    width: 100%; min-height: 56px;
}

/* WhatsApp + Call */
.product-checkout-47-whatsapp { background: #25D366 !important; flex: 1; min-height: 56px; }
.product-checkout-47-call { background: #2563eb !important; flex: 1; min-height: 56px; }
.product-checkout-47-whatsapp svg, .product-checkout-47-call svg { color: #fff; }

@media (max-width: 575px) {
    .product-checkout-47-row { flex-direction: column; }
    .product-checkout-47-qty { align-self: flex-start; }
}
