/* =====================================================
           PREMIUM SINGLE PRODUCT
        ====================================================== */

        .single-product .site-main,
        .single-product div.product {

            max-width: 1200px;

            margin: 0 auto;

            padding: 30px 24px;

            font-family:
                'Sarabun',
                sans-serif;

        }


        @media (min-width: 769px) {

            .single-product div.product {

                display: grid;

                grid-template-columns:
                    1.1fr 0.9fr;

                gap: 60px;

                align-items: start;

            }


            .single-product
            div.product
            .woocommerce-product-gallery {

                grid-column: 1;

                width: 100% !important;

                float: none !important;

                margin: 0 !important;

                background: #fff;

                padding: 15px;

                border-radius: 12px;

                border:
                    1px solid #e8eaf0;

            }


            .single-product
            div.product
            .summary {

                grid-column: 2;

                width: 100% !important;

                float: none !important;

                margin: 0 !important;

                background: #fff;

                padding: 30px;

                border-radius: 16px;

                border:
                    1px solid #e8eaf0;

                box-shadow:
                    0 4px 24px rgba(
                        13,
                        27,
                        62,
                        0.03
                    );

            }


            .single-product
            div.product
            .woocommerce-tabs,

            .single-product
            .pyro-fbt-wrapper,

            .single-product
            .related.products {

                grid-column:
                    1 / span 2;

                margin-top: 40px;

            }

        }


        .single-product
        .woocommerce-breadcrumb {

            font-family:
                'Kanit',
                sans-serif;

            font-size: 13px;

            color: #888;

            margin-bottom:
                20px !important;

            padding: 0;

        }


        .single-product
        .woocommerce-breadcrumb a {

            color: #0d1b3e;

            text-decoration: none;

            font-weight: 500;

        }


        .single-product
        .woocommerce-breadcrumb a:hover {

            color: #e8560a;

        }


        .single-product
        div.product
        .product_title {

            font-family:
                'Kanit',
                sans-serif;

            font-size: 28px;

            font-weight: 700;

            color: #0d1b3e;

            line-height: 1.35;

            margin-bottom:
                12px !important;

        }


        .single-product
        div.product
        .price {

            font-family:
                'Kanit',
                sans-serif;

            color: #e8560a !important;

            font-size:
                34px !important;

            font-weight: 700;

            margin-bottom:
                20px !important;

            display:
                inline-flex;

            align-items:
                center;

            flex-wrap:
                wrap;

            gap: 12px;

            width: 100%;

        }


        /* =====================================================
           STOCK BADGE
        ====================================================== */

        .pyro-stock-badge {

            font-family:
                'Kanit',
                sans-serif;

            font-size: 13px;

            font-weight: 600;

            padding:
                4px 14px;

            border-radius: 50px;

            display:
                inline-block;

            vertical-align:
                middle;

            line-height:
                1.5;

        }


        .pyro-stock-badge.in-stock {

            background:
                #e8f9ee;

            color:
                #10b981;

        }


        .pyro-stock-badge.out-of-stock {

            background:
                #fee2e2;

            color:
                #ef4444;

        }


        .pyro-loop-stock-badge {

            font-family:
                'Kanit',
                sans-serif;

            font-size: 12px;

            font-weight: 500;

            padding:
                2px 10px;

            border-radius: 4px;

            display: block;

            width: fit-content;

            margin-top: 6px;

            line-height:
                1.4;

        }


        .pyro-loop-stock-badge.in-stock {

            background:
                #e8f9ee;

            color:
                #10b981;

        }


        .pyro-loop-stock-badge.out-of-stock {

            background:
                #fee2e2;

            color:
                #ef4444;

        }


        /* =====================================================
           PRODUCT CART
        ====================================================== */

        .single-product
        div.product
        .cart {

            display: flex;

            align-items: center;

            gap: 12px;

            margin-top: 25px;

            margin-bottom: 25px;

            border-bottom:
                1px solid #f0f1f5;

            padding-bottom:
                25px;

        }


        .single-product
        div.product
        .quantity input.qty {

            height: 52px;

            width:
                65px !important;

            border:
                1.5px solid #e8eaf0;

            border-radius: 8px;

            font-family:
                'Kanit',
                sans-serif;

            font-size: 16px;

            text-align: center;

            background:
                #f8fafc;

        }


        .single-product
        div.product
        .cart .button {

            flex-grow: 1;

            justify-content:
                center;

            display:
                inline-flex;

            align-items:
                center;

            gap: 8px;

            background:
                linear-gradient(
                    90deg,
                    #e8560a 0%,
                    #c94500 100%
                ) !important;

            color:
                #fff !important;

            font-family:
                'Kanit',
                sans-serif;

            font-size: 16px;

            font-weight: 600;

            height: 52px;

            border-radius:
                8px !important;

            border:
                none !important;

            transition:
                all 0.25s ease;

            box-shadow:
                0 4px 16px
                rgba(
                    232,
                    86,
                    10,
                    0.3
                );

            cursor: pointer;

        }


        .single-product
        div.product
        .cart .button:hover {

            transform:
                translateY(-2px);

            box-shadow:
                0 6px 22px
                rgba(
                    232,
                    86,
                    10,
                    0.45
                );

            filter:
                brightness(1.05);

        }


        .single-product
        div.product
        .product_meta {

            font-size: 13px;

            color: #888;

            margin-top: 15px;

        }


        .single-product
        div.product
        .product_meta a {

            color: #0d1b3e;

            text-decoration: none;

            font-weight: 500;

        }


        .single-product
        div.product
        .product_meta a:hover {

            color: #e8560a;

        }


        /* =====================================================
           TRUST
        ====================================================== */

        .pyro-trust-container {

            background:
                #f8fafc;

            border:
                1px dashed #cbd5e1;

            border-radius:
                10px;

            padding:
                18px;

            margin-top:
                5px;

        }


        .pyro-trust-item {

            display:
                flex;

            align-items:
                flex-start;

            gap: 12px;

            margin-bottom:
                12px;

        }


        .pyro-trust-item:last-child {

            margin-bottom:
                0;

        }


        .trust-icon {

            font-size:
                18px;

            line-height:
                1;

            margin-top:
                2px;

        }


        .trust-text strong {

            font-family:
                'Kanit',
                sans-serif;

            font-size:
                14px;

            color:
                #0d1b3e;

            display:
                block;

            margin-bottom:
                1px;

        }


        .trust-text p {

            font-size:
                12px;

            color:
                #64748b;

            margin:
                0;

            line-height:
                1.4;

        }


        /* =====================================================
           FBT
        ====================================================== */

        .pyro-fbt-wrapper {

            background:
                #fff;

            border:
                1px solid #e8eaf0;

            border-radius:
                16px;

            padding:
                30px;

            box-shadow:
                0 4px 20px
                rgba(
                    13,
                    27,
                    62,
                    0.02
                );

            margin-bottom:
                30px;

            width:
                100%;

            box-sizing:
                border-box;

        }


        .pyro-fbt-title {

            font-family:
                'Kanit',
                sans-serif;

            font-size:
                20px;

            font-weight:
                700;

            color:
                #0d1b3e;

            margin:
                0 0 24px 0;

        }


        .pyro-fbt-container {

            display:
                flex;

            gap:
                40px;

            align-items:
                center;

            justify-content:
                space-between;

            flex-wrap:
                wrap;

        }


        .pyro-fbt-products {

            display:
                flex;

            align-items:
                center;

            gap:
                20px;

            flex-grow:
                1;

            flex-wrap:
                wrap;

        }


        .pyro-fbt-item {

            display:
                flex;

            align-items:
                center;

            gap:
                16px;

            background:
                #f8fafc;

            padding:
                16px;

            border-radius:
                12px;

            border:
                1px solid #e8eaf0;

            max-width:
                320px;

            flex:
                1 1 260px;

            transition:
                border-color 0.2s;

        }


        .pyro-fbt-item:hover {

            border-color:
                #cbd5e1;

        }


        .fbt-img-box img {

            width:
                70px !important;

            height:
                70px !important;

            object-fit:
                cover;

            border-radius:
                8px;

            background:
                #fff;

            border:
                1px solid #e8eaf0;

            display:
                block;

        }


        .fbt-info {

            display:
                flex;

            flex-direction:
                column;

            gap:
                4px;

        }


        .fbt-name {

            font-family:
                'Kanit',
                sans-serif;

            font-size:
                14px;

            font-weight:
                500;

            color:
                #0d1b3e;

            text-decoration:
                none;

            display:
                -webkit-box;

            -webkit-line-clamp:
                2;

            -webkit-box-orient:
                vertical;

            overflow:
                hidden;

            line-height:
                1.4;

        }


        .fbt-info a.fbt-name:hover {

            color:
                #e8560a;

        }


        .fbt-price {

            font-family:
                'Kanit',
                sans-serif;

            font-size:
                15px;

            font-weight:
                700;

            color:
                #e8560a;

        }


        .fbt-checkbox-label {

            display:
                flex;

            align-items:
                center;

            gap:
                6px;

            font-size:
                13px;

            color:
                #64748b;

            margin-top:
                4px;

            cursor:
                pointer;

            user-select:
                none;

        }


        .fbt-checkbox-label input[type="checkbox"] {

            accent-color:
                #e8560a;

            width:
                15px;

            height:
                15px;

            margin:
                0;

            cursor:
                pointer;

        }


        .pyro-fbt-plus {

            font-size:
                22px;

            font-weight:
                600;

            color:
                #94a3b8;

            user-select:
                none;

        }


        .pyro-fbt-action-box {

            background:
                #f8fafc;

            border-left:
                4px solid #e8560a;

            padding:
                24px;

            border-radius:
                0 12px 12px 0;

            min-width:
                240px;

            text-align:
                center;

            box-sizing:
                border-box;

        }


        .fbt-total-text {

            font-size:
                14px;

            color:
                #64748b;

            margin-bottom:
                6px;

        }


        .fbt-total-price {

            font-family:
                'Kanit',
                sans-serif;

            font-size:
                26px;

            font-weight:
                800;

            color:
                #0d1b3e;

            margin-bottom:
                16px;

        }


        .pyro-fbt-submit-btn {

            background:
                #0d1b3e;

            color:
                #fff;

            font-family:
                'Kanit',
                sans-serif;

            font-size:
                14px;

            font-weight:
                600;

            width:
                100%;

            border:
                none;

            padding:
                12px 16px;

            border-radius:
                8px;

            cursor:
                pointer;

            transition:
                all 0.2s;

            box-shadow:
                0 4px 12px
                rgba(
                    13,
                    27,
                    62,
                    0.15
                );

        }


        .pyro-fbt-submit-btn:hover:not(:disabled) {

            background:
                #e8560a;

            transform:
                translateY(-1px);

            box-shadow:
                0 6px 16px
                rgba(
                    232,
                    86,
                    10,
                    0.3
                );

        }


        .pyro-fbt-submit-btn:disabled {

            background:
                #cbd5e1;

            color:
                #94a3b8;

            cursor:
                not-allowed;

        }


        /* =====================================================
           RELATED PRODUCTS
        ====================================================== */

        .single-product
        .related.products {

            border-top:
                1px solid #e8eaf0;

            padding-top:
                40px;

            margin-top:
                50px !important;

            width:
                100%;

        }


        .single-product
        .related.products h2 {

            font-family:
                'Kanit',
                sans-serif !important;

            font-size:
                22px !important;

            font-weight:
                700 !important;

            color:
                #0d1b3e !important;

            margin-bottom:
                24px !important;

        }


        .single-product
        .related.products ul.products {

            display:
                grid !important;

            grid-template-columns:
                repeat(
                    auto-fill,
                    minmax(
                        220px,
                        1fr
                    )
                ) !important;

            gap:
                24px !important;

            padding:
                0 !important;

            margin:
                0 !important;

            list-style:
                none !important;

        }


        .single-product
        .related.products
        ul.products
        li.product {

            background:
                #fff !important;

            border:
                1px solid #e8eaf0 !important;

            border-radius:
                12px !important;

            padding:
                16px !important;

            margin:
                0 !important;

            width:
                100% !important;

            float:
                none !important;

            transition:
                all 0.25s ease !important;

            display:
                flex !important;

            flex-direction:
                column !important;

            box-sizing:
                border-box !important;

            position:
                relative;

        }


        .single-product
        .related.products
        ul.products
        li.product:hover {

            transform:
                translateY(-5px);

            box-shadow:
                0 10px 30px
                rgba(
                    13,
                    27,
                    62,
                    0.07
                );

            border-color:
                #cbd5e1 !important;

        }


        .single-product
        .related.products
        ul.products
        li.product img {

            width:
                100% !important;

            height:
                auto !important;

            aspect-ratio:
                1 / 1;

            object-fit:
                cover;

            border-radius:
                8px;

            margin-bottom:
                14px !important;

            display:
                block;

        }


        .single-product
        .related.products
        ul.products
        li.product
        .woocommerce-loop-product__title {

            font-family:
                'Kanit',
                sans-serif !important;

            font-size:
                15px !important;

            font-weight:
                600 !important;

            color:
                #0d1b3e !important;

            margin:
                0 0 8px 0 !important;

            padding:
                0 !important;

            line-height:
                1.4 !important;

            min-height:
                42px;

            display:
                -webkit-box;

            -webkit-line-clamp:
                2;

            -webkit-box-orient:
                vertical;

            overflow:
                hidden;

        }


        .single-product
        .related.products
        ul.products
        li.product
        .price {

            font-family:
                'Kanit',
                sans-serif !important;

            color:
                #e8560a !important;

            font-size:
                18px !important;

            font-weight:
                700 !important;

            margin-bottom:
                12px !important;

            display:
                block !important;

        }


        .single-product
        .related.products
        ul.products
        li.product
        .button {

            background:
                #f1f5f9 !important;

            color:
                #334155 !important;

            font-family:
                'Kanit',
                sans-serif !important;

            font-size:
                13px !important;

            font-weight:
                600 !important;

            padding:
                10px 14px !important;

            border-radius:
                6px !important;

            text-align:
                center !important;

            text-decoration:
                none !important;

            display:
                block !important;

            width:
                100% !important;

            box-sizing:
                border-box !important;

            margin-top:
                auto !important;

            transition:
                all 0.2s;

            border:
                none !important;

        }


        .single-product
        .related.products
        ul.products
        li.product
        .button:hover {

            background:
                #0d1b3e !important;

            color:
                #fff !important;

        }


        /* =====================================================
           TABS
        ====================================================== */

        .woocommerce-tabs ul.tabs {

            border:
                none !important;

            background:
                transparent !important;

            padding:
                0 !important;

            display:
                flex;

            gap:
                8px;

            border-bottom:
                2px solid #e8eaf0 !important;

            margin-bottom:
                30px !important;

        }


        .woocommerce-tabs ul.tabs li {

            background:
                transparent !important;

            border:
                none !important;

            margin:
                0 !important;

            padding:
                0 !important;

        }


        .woocommerce-tabs ul.tabs li a {

            font-family:
                'Kanit',
                sans-serif;

            font-size:
                15px;

            font-weight:
                500;

            color:
                #64748b !important;

            padding:
                12px 24px !important;

            display:
                block;

            text-decoration:
                none;

            position:
                relative;

        }


        .woocommerce-tabs ul.tabs li.active a {

            color:
                #e8560a !important;

            font-weight:
                600;

        }


        .woocommerce-tabs ul.tabs li.active a::after {

            content:
                '';

            position:
                absolute;

            bottom:
                -2px;

            left:
                0;

            width:
                100%;

            height:
                2px;

            background:
                #e8560a;

        }


        .woocommerce-Tabs-panel {

            padding:
                15px 5px;

            line-height:
                1.75;

            color:
                #334155;

            font-size:
                15px;

        }


        .woocommerce-Tabs-panel h2 {

            font-family:
                'Kanit',
                sans-serif;

            font-size:
                22px;

            color:
                #0d1b3e;

            margin-bottom:
                18px;

            font-weight:
                600;

        }


        /* =====================================================
           MOBILE
        ====================================================== */

        @media (max-width: 768px) {


            .navbar {

                padding:
                    14px 20px;

            }


            .nav-links {

                display:
                    none;

            }


            .pyro-custom-logo {

                max-height:
                    38px;

            }


            /* ซ่อน dropdown บนมือถือ
               เพราะเมนูหลักมือถือของธีมจัดการแยกต่างหาก */

            .pyro-category-dropdown {

                display:
                    none !important;

            }


            .single-product
            div.product {

                padding:
                    15px !important;

                gap:
                    20px;

            }


            .single-product
            div.product
            .woocommerce-product-gallery,

            .single-product
            div.product
            .summary {

                padding:
                    15px;

                border-radius:
                    12px;

            }


            .single-product
            div.product
            .product_title {

                font-size:
                    22px;

            }


            .single-product
            div.product
            .price {

                font-size:
                    28px !important;

            }


            .woocommerce-tabs ul.tabs {

                overflow-x:
                    auto;

                white-space:
                    nowrap;

            }


            .pyro-fbt-wrapper {

                padding:
                    20px;

            }


            .pyro-fbt-container {

                gap:
                    20px;

            }


            .pyro-fbt-products {

                flex-direction:
                    column;

                width:
                    100%;

                align-items:
                    stretch;

                gap:
                    12px;

            }


            .pyro-fbt-item {

                max-width:
                    100%;

            }


            .pyro-fbt-plus {

                text-align:
                    center;

                font-size:
                    18px;

                margin:
                    -4px 0;

            }


            .pyro-fbt-action-box {

                width:
                    100%;

                border-left:
                    none;

                border-top:
                    4px solid #e8560a;

                border-radius:
                    0 0 12px 12px;

            }


            .single-product
            .related.products
            ul.products {

                grid-template-columns:
                    repeat(
                        2,
                        1fr
                    ) !important;

                gap:
                    14px !important;

            }


            .single-product
            .related.products
            ul.products
            li.product {

                padding:
                    10px !important;

            }


            .single-product
            .related.products
            ul.products
            li.product
            .woocommerce-loop-product__title {

                font-size:
                    13px !important;

                min-height:
                    36px;

            }

        }
/* =====================================================
   FBT UI POLISH + LINE CTA
   ===================================================== */

.single-product .pyro-fbt-wrapper {
    margin-top: 18px !important;
    margin-bottom: 12px !important;
    padding: 24px !important;
}

.single-product .pyro-fbt-header {
    margin-bottom: 16px;
}

.single-product .pyro-fbt-eyebrow {
    font-family: 'Kanit', sans-serif;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 500;
    letter-spacing: .04em;
    color: #e8560a;
    margin: 0 0 3px;
}

.single-product .pyro-fbt-title {
    font-size: 23px !important;
    line-height: 1.25;
    margin: 0 0 5px !important;
}

.single-product .pyro-fbt-description {
    margin: 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.55;
}

.single-product .pyro-fbt-container {
    gap: 18px;
    align-items: stretch;
}

.single-product .pyro-fbt-products {
    gap: 10px;
    align-items: stretch;
    min-width: 0;
}

.single-product .pyro-fbt-item {
    min-width: 0;
    max-width: 330px;
    padding: 12px;
    gap: 12px;
    flex-basis: 270px;
}

.single-product .pyro-fbt-item-main {
    border-color: #dfe4ec;
}

.single-product .fbt-img-box img {
    width: 62px !important;
    height: 62px !important;
}

.single-product .fbt-info {
    min-width: 0;
    gap: 3px;
}

.single-product .fbt-name {
    font-size: 14px;
    line-height: 1.35;
}

.single-product .fbt-price {
    font-size: 15px;
    line-height: 1.35;
}

.single-product .fbt-main-label {
    font-size: 11px;
    line-height: 1.3;
    color: #94a3b8;
    margin: 0;
}

.single-product .pyro-fbt-plus {
    align-self: center;
    margin: 0 1px;
    font-size: 20px;
}

.single-product .pyro-fbt-action-box {
    min-width: 245px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.single-product .fbt-total-text {
    margin-bottom: 3px;
}

.single-product .fbt-total-price {
    margin-bottom: 2px;
    font-size: 27px;
    line-height: 1.2;
}

.single-product .fbt-selected-count {
    font-family: 'Kanit', sans-serif;
    color: #64748b;
    font-size: 12px;
    line-height: 1.4;
    margin: 0 0 12px;
}

.single-product .pyro-fbt-submit-btn {
    min-height: 46px;
    padding: 11px 14px;
    border-radius: 9px;
    background: #06c755;
    color: #fff;
    font-family: 'Kanit', sans-serif;
    font-size: 15px;
    font-weight: 600;
    border: 0;
    box-shadow: 0 4px 12px rgba(6, 199, 85, .18);
}

.single-product .pyro-fbt-submit-btn:hover:not(:disabled) {
    background: #05b84e;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(6, 199, 85, .25);
}

.single-product .pyro-fbt-line-note {
    margin-top: 7px;
    color: #94a3b8;
    font-size: 11px;
    line-height: 1.45;
    text-align: center;
}

/* ลดช่องว่างก่อน Related Products */
.single-product .related.products {
    margin-top: 14px !important;
    padding-top: 24px;
}

@media (max-width: 768px) {

    .single-product .pyro-fbt-wrapper {
        margin-top: 14px !important;
        margin-bottom: 8px !important;
        padding: 17px !important;
    }

    .single-product .pyro-fbt-header {
        margin-bottom: 13px;
    }

    .single-product .pyro-fbt-title {
        font-size: 21px !important;
    }

    .single-product .pyro-fbt-description {
        font-size: 12.5px;
    }

    .single-product .pyro-fbt-container {
        gap: 10px;
    }

    .single-product .pyro-fbt-products {
        gap: 8px;
    }

    .single-product .pyro-fbt-item {
        max-width: 100%;
        flex-basis: auto;
        padding: 11px;
    }

    .single-product .pyro-fbt-plus {
        margin: -2px 0;
        font-size: 18px;
    }

    .single-product .pyro-fbt-action-box {
        min-width: 0;
        padding: 16px;
    }

    .single-product .fbt-total-price {
        font-size: 25px;
    }

    .single-product .related.products {
        margin-top: 8px !important;
        padding-top: 20px;
    }
}


/* =====================================================
   RELATED PRODUCTS GRID FIX
   ป้องกัน WooCommerce clearfix pseudo-elements
   กลายเป็น grid item และดันสินค้าไปทางขวา
   ===================================================== */

.single-product .related.products {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    grid-column: 1 / -1 !important;
}

.single-product .related.products ul.products {
    display: grid !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    float: none !important;
}

/* WooCommerce มักใส่ clearfix ::before / ::after
   ถ้าใช้ร่วมกับ CSS Grid จะกลายเป็นช่องว่าง/ช่องสินค้า */
.single-product .related.products ul.products::before,
.single-product .related.products ul.products::after {
    content: none !important;
    display: none !important;
}

.single-product .related.products ul.products li.product {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
}

/* Desktop */
@media (min-width: 769px) {
    .single-product .related.products ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1100px) {
    .single-product .related.products ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .single-product .related.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
}


/* =====================================================
   FBT — ACTION BOX / LINE BUTTON / QR MODAL
   (ย้ายมาจาก <style> inline ใน functions.php)
   วางท้ายไฟล์เพื่อให้ cascade เหมือนเดิม
===================================================== */

.pyro-fbt-wrapper .pyro-fbt-action-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 24px 18px;
}

.pyro-fbt-wrapper .pyro-fbt-line-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 253px;
    min-height: 56px;
    padding: 0 20px;
    border: 0;
    border-radius: 10px;
    background: #07183d;
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
    box-shadow: 0 8px 18px rgba(7, 24, 61, .16);
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.pyro-fbt-wrapper .pyro-fbt-line-button:hover {
    background: #0b2354;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(7, 24, 61, .22);
}

.pyro-fbt-wrapper .fbt-total-text {
    margin: 0;
    font-size: 16px;
    line-height: 1.4;
}

.pyro-fbt-wrapper .fbt-total-price {
    margin: 0;
}

.pyro-fbt-line-qr-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, .55);
}

.pyro-fbt-line-qr-modal.is-open {
    display: flex;
}

.pyro-fbt-line-qr-card {
    position: relative;
    width: min(360px, 100%);
    padding: 28px 24px 24px;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
    text-align: center;
}

.pyro-fbt-line-qr-title {
    margin: 0 0 8px;
    color: #07183d;
    font-size: 21px;
    font-weight: 800;
}

.pyro-fbt-line-qr-desc {
    margin: 0 0 18px;
    color: #687586;
    font-size: 14px;
    line-height: 1.6;
}

.pyro-fbt-line-qr-image {
    display: block;
    width: 240px;
    height: 240px;
    max-width: 100%;
    margin: 0 auto 16px;
    object-fit: contain;
}

.pyro-fbt-line-qr-id {
    margin: 0;
    color: #07183d;
    font-size: 16px;
    font-weight: 800;
}

.pyro-fbt-line-qr-close {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f1f3f6;
    color: #07183d;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

@media (max-width: 767px) {
    .pyro-fbt-wrapper .pyro-fbt-line-button {
        max-width: none;
    }
}