.qty-input::-webkit-outer-spin-button,
    .qty-input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }
    .qty-input {
        -moz-appearance: textfield;
    }
    /* Floating contact buttons */
    .fab-wrap {
        position: fixed;
        right: 1rem;
        bottom: 1.25rem;
        z-index: 60;
        display: flex;
        flex-direction: column;
        gap: .6rem;
        align-items: flex-end;
    }
    .fab-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 3rem;
        height: 3rem;
        border-radius: 9999px;
        box-shadow: 0 8px 20px rgba(16,24,40,0.12);
        transition: transform .12s ease, box-shadow .12s ease;
        text-decoration: none;
    }
    .fab-btn:active, .fab-btn:focus { transform: translateY(1px); }
    .fab-whatsapp { background: #25D366; color: #fff; }
    .fab-phone { background: #111827; color: #fff; }
    @media (min-width: 640px) {
        .fab-btn { width: 3.4rem; height: 3.4rem; }
    }
    @media (max-width: 420px) {
        .fab-wrap { right: .5rem; bottom: .9rem; }
        .fab-btn { width: 2.9rem; height: 2.9rem; }
    }

    /* Color system and card styles */
    :root{
        --brand-500: #f43f5e;
        --brand-600: #e11d48;
        --accent-500: #7c3aed;
        --accent-600: #0ea5e9;
        --muted-600: #4b5563;
        --card-grad-from: #fff1f2;
        --card-grad-to: #ffedd5;
        --hero-bg: #fff7f3;
    }

    .card {
        background: linear-gradient(180deg,var(--card-grad-from),var(--card-grad-to));
        border: 1px solid rgba(251,113,133,0.25);
        box-shadow: 0 18px 50px rgba(244,63,94,0.12);
    }

    .card-accent {
        background: linear-gradient(180deg,#dbeafe,#ede9fe);
        border: 1px solid rgba(96,165,250,0.18);
        box-shadow: 0 12px 30px rgba(59,130,246,0.08);
    }

    .feature-card {
        background: linear-gradient(180deg,#fff7ed,#fde68a);
        border: 1px solid rgba(251,146,60,0.18);
    }

    .section-glow {
        background: linear-gradient(180deg,#eef2ff,#fef9c3);
        border: 1px solid rgba(192,132,252,0.18);
    }

    .cta-gradient{ background: linear-gradient(90deg,var(--brand-500),#fb7185); color:#fff; }
    .cta-gradient:hover{ filter:brightness(.94); }

    .carousel-viewport {
        overflow: hidden;
    }
    .carousel-track {
        display: flex;
        gap: 1rem;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .carousel-track::-webkit-scrollbar { display: none; }
    .carousel-item {
        flex: 0 0 auto;
        min-width: 18rem;
        scroll-snap-align: start;
    }
    .carousel-image-card {
        overflow: hidden;
        border-radius: 2rem;
        background: #fff;
        min-width: 20rem;
        box-shadow: 0 18px 40px rgba(15,23,42,0.08);
        border: 1px solid rgba(229,231,235,.8);
    }
    .carousel-image-card img {
        width: 100%;
        height: 14rem;
        object-fit: cover;
        display: block;
    }
    .carousel-image-card .card-body {
        padding: 1rem 1rem 1.2rem;
    }
    .carousel-image-card .card-label {
        display: inline-flex;
        align-items: center;
        gap: .35rem;
        padding: .45rem .85rem;
        border-radius: 999px;
        background: rgba(255,255,255,.92);
        font-size: .7rem;
        font-weight: 700;
        color: #b91c1c;
        letter-spacing: .04em;
    }
    .carousel-image-card .card-title {
        margin-top: .85rem;
        font-size: 1rem;
        font-weight: 800;
        color: #111827;
        line-height: 1.3;
    }
    .carousel-image-card .card-copy {
        margin-top: .75rem;
        color: #4b5563;
        font-size: .9rem;
        line-height: 1.75;
    }
    .carousel-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.75rem;
        height: 2.75rem;
        border-radius: 9999px;
        border: 1px solid rgba(229,231,235,.95);
        background: #fff;
        box-shadow: 0 10px 24px rgba(15,23,42,0.08);
        transition: transform .15s ease, background .15s ease;
    }
    .carousel-btn:hover { transform: translateY(-1px); background: #f9fafb; }