
.modal-overlay-warning {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9998;
}
    /* Overlay */
    .modal-header {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 8px;
        text-align: center;
        position: relative;
        flex-direction: row;
        background: linear-gradient(180deg, #ffa50059 0%, #ffa50070 35%, #f2cc88b0 50%, #ffa50070 70%, #ffa500ad 90%, #FFA500 100%);
        padding: 0.8vh 1vh;
        text-shadow: 4px 2px 2px rgba(0,0,0,0.17);
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);    
    }

    .modal-sku {
        color: #333;
        left: 20px;
        font-size: 3vw;
        font-weight: 750;
        padding: 0vh 0vw 0vh 1.5vw;
    }

        .modal-header h2 {
            color: #333;
            font-size: 18px;
            text-shadow: 0px 1px 0px, rgba(83, 76, 25, 0.25) 1px 0px 2px, rgba(82, 75, 24, 0.25) 3px 3px 7px;
        }

        .modal-icon {
            text-shadow: 0px 1px 0px, rgba(83, 76, 25, 0.25) 1px 0px 2px, rgba(82, 75, 24, 0.25) 3px 3px 7px;
        }
    .modal-body {
        display: flex;
        flex-direction: column;
        overflow-y: auto;
        max-height: 100%;
        padding: 2vh 4vw 1vh 4vw;

    }

    .modal-box-warning {
        position: relative;
        background: #fff;
        padding: 0px;
        max-width: 450px;
        width: 90%;
        border-radius: 10px;
        text-align: left;
        box-shadow: 0 5px 15px rgba(0,0,0,0.3);
        z-index: 9999;
    }

        .modal-content,
        .modal-product-content {
            line-height: normal;
            padding: 1rem;
            font-size: 14px;
        }
           .modal-product-content ul,
           .modal-content ul {
                margin: 0 0 1rem 1.6rem;
                padding: 0;
                list-style: disc;
            }

        
            /* Botão fechar */
            .closeModalBtn {
                display: inline-block;
                position: absolute;
                margin: -2vh 0 0 0;
                right: 15px;
                background: #FFD200;
                color: #333;
                font-weight: bold;
                border: none;
                padding: 0.5rem 1.2rem;
                border-radius: 8px;
                box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
                text-shadow: 0 1px 2px rgba(0,0,0,0.1);    
                cursor: pointer;
                transition: background 0.3s ease;
            }
                .closeModalBtn:hover {
                    transform: scale(1.05);
                    background: #e5c000;
                }


.product-modal {
    position: fixed;
    inset: 0;
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 7000;
    padding: 2vh 2vw;
}
        .product-modal.active {
            display: flex;
        }

    .product-modal .modal-overlay {
        position: absolute;
        inset: 0;
        background: rgba(0,0,0,0.6);
    }

    .product-modal .modal-content {
        position: relative;
        background: white;
        border-radius: 8px;
        padding: 0vh 0vw;
        width: 95vw;
        max-width: 90vw;
        max-height: 90vh;
        overflow-y: auto;
        z-index: 10000;
        box-sizing: border-box;
    }
    .product-modal .modal-product-content {
        position: relative;
        background-image: url('../images/cardproduct_f.png');
        border-radius: 8px;
        object-fit: cover;
        padding: 0vh 0vw;
        width: 85vw;
        max-width: 78vw;
        overflow-y: hidden;
        z-index: 10000;
        box-sizing: border-box;
        aspect-ratio: 1 / 1.9;
    }


        .modal-close {
            position: absolute;
            right: 17px;
            background: transparent;
            border: none;
            cursor: pointer;
            line-height: 1;
            color: white;
            font-size: 4vw;
        }

                .modal-close:hover {
                    color: #000;
                    transform: scale(1.05);
                    box-shadow: 0px 4px 11px rgba(235, 198, 1, 5.3);
                }

        .btn-primary {
            background: linear-gradient(135deg, #333 0%, #555 100%);
            color: #fff;
            border: none;
            transition: all 0.3s ease;
/*
            padding: 10px 20px;
            border-radius: 8px;
            font-weight: 600;
            cursor: pointer;
            flex: 1;
*/
        }
            .btn-primary:hover {
                transform: translateY(-0.5vh);
                box-shadow: 0 1vh 2vh rgba(0, 0, 0, 0.2);
            }

        /* Galeria de imagens */
        .product-gallery {
            display: flex;
            flex-direction: column;
            gap: 0vh;
        }

        .product-gallery .main-image .modal-item, 
        .modal-item-image {
            border: 2px solid black;
            width: 100%;
            max-height: 40vh;
            object-fit: fill;
            border-radius: 8px;
            transition: all 0.2s ease;
            touch-action: none;
        }

        .thumbnail-gallery {
            padding: 0.5vh 4vw 1vh 3vw;
            display: flex;
            gap: 2vw;
            overflow-x: auto;
        }

        .thumbnail-gallery .thumbnail {
            border: 1px solid black;
            width: 15vw;
            height: 15vw;
            object-fit: cover;
            border-radius: 5px;
            cursor: pointer;
            flex-shrink: 0;
        }

        /* Detalhes do produto */
        .product-details {
            margin: 15px 5px 0vh 5px;
            height: 100%;
        }

        .product-details h3 {
            font-size: 3vw;
            margin-top: 1vh;
            margin-bottom: 0vh;
            text-shadow: 0px 5px 160px, rgba(195, 195, 195, 0.5) 8px 8px 5px, rgba(73, 73, 73, 0.5) 3px 2px 4px;
            padding-left: 1vw;
            font-weight: 500;
        }

        .product-details p,
        .product-details ul {
            font-size: 2.8vw;
            color: var(--subtitle-font-color);
            padding-left: 3vw;
            font-weight: 400;
            text-shadow: 0px 2px 160px, rgba(255, 255, 255, 0.9) 5px 7px 13px, rgba(223, 223, 223, 0.9) 3px 3px 2px;

        }

        .product-details li {
            font-size: 2.8vw;
            color: var(--subtitle-font-color);
            font-weight: 400;
            text-shadow: 0px 2px 160px, rgba(255, 255, 255, 0.9) 5px 7px 13px, rgba(223, 223, 223, 0.9) 3px 3px 2px;

        }

        .modal-product-title {
            text-align: center;
            font-size: 4vw;
            font-weight: 700;            
            background: #F5CA00;
            border-radius: 5px;
            box-shadow: 0px 2px 8px, rgba(195, 195, 195, 0.1) 0px 2px 1px, rgba(73, 73, 73, 0.5) 2px 2px 2px;
        }

    .modal-product-description, .modal-product-specs {
        padding-left: 1vw;
    }


    .hero {
        background-size: cover;
        display: flex;
        padding-top: 0px;
        box-shadow: 0px 4px 11px rgba(235, 198, 1, 5.3);
    }
        .bg_home {
            display: flex;
            position: relative;
            justify-content: center;
            align-items: end;
            width: 100vw;
            height: 100%;
            z-index: -1;
        }
            .hero-img {
                width: 100%;
                height: 100%;
                bottom: 0;
                right: 0;
                object-fit: cover;
            }
        .hero-content {
            max-width: 80vw;
            position: absolute;
            padding: 0vw 0vw 9vh 1vw;
            text-align: center;
            gap: 10px;
        }

            .hero-content h1 {
                font-size: 5.7vw;
                font-weight: 400;
                text-shadow: 0px 5px 160px, rgba(195, 195, 195, 0.9) 8px 5px 5px, rgba(73, 73, 73, 0.9) 3px 4px 3px;
            }

    /* Featured Products Section */
    .featured-products {
        background-image: url('../images/defaultbackground.png');
        background-size: cover;
        box-shadow: 0px -3px 11px rgb(203 186 96);
        width: 100vw;
    }
        .section-header {
            display: flex;
            flex-direction: column;
            text-align: start;
            justify-content: space-between;
            align-items: normal;
            margin-bottom: 1.2vh;
        }
            .section-title {
                font-size: 1.2rem;
                font-weight: 700;
                color: var(--secondary-color);
                position: relative;
                text-decoration: none;
                text-shadow: var(--secondary-color-hover) 2px 2px 3px, rgba(83, 76, 25, 0.25) 1px 0px 2px, rgba(82, 75, 24, 0.25) 3px 3px 9px;
            }
                .section-title::after {
                    content: '';
                    position: absolute;
                    left: 0;
                    bottom: -3px;
                    width: 75vw;
                    height: 4px;
                    background: linear-gradient(135deg, #F5CA00 0%, #FFFFFF 100%);
                    border-radius: 2px;
                }

            .section-btn-all-products {
                text-align-last: end;
            }
                .view-all-btn {
                    color: #FFD200;
                    text-decoration: none;
                    padding: 12px 0px 12px 30px;
                    font-weight: 750;
                    font-size: 1.5vwx;
                    transition: all 0.3s ease;
                    transform-origin: center;
                }

                    .view-all-btn:hover {
                        transform: scale(1.05);
                        letter-spacing: 1px;
                        text-shadow: 1px 5px 5px rgb(255 215 1);
                    }

                    .view-all-btn::after {
                        content: "";
                        position: absolute;
                        left: 0;
                        bottom: -5px; /* ajusta a distância da linha */
                        width: 0%;
                        height: 2px;
                        background-color: var(--primary-color);
                        transition: width 0.3s ease;
                    }

                    /* Ativo ao clicar */
                    .view-all-btn:active::after {
                        width: 100%;
                    }

            .products-grid {
                display: grid;
                justify-content: center;
                grid-template-columns: repeat(2, 1fr);
                /*grid-template-columns: repeat(auto-fit, minmax(186px, 1fr));*/
                gap: 15px;
                padding: 20px 10px 20px 0;
            }
                .product-card {
                    aspect-ratio: 2.94 / 4;
                    background: linear-gradient(135deg, #FFD200 0%, #f8de6b79 52%);
                    border-radius: 15px;
                    overflow: hidden;
                    transition: all 0.1s ease;
                    cursor: pointer;
                    /*position: relative;*/
                    transform-origin: center;
                    max-width: 350px;
                    /*max-width: 186px;
                    max-height: 247px;*/
                }
                    .product-card:hover {
                        transform: translateY(-3px);
                        box-shadow: 7px 7px 5px #ffd70052;
                    }

                    .product-image {
                        position: relative;
                        overflow: hidden;
                        height: 63%;
                    }
                        .product-img {
                            width: 100%;
                            height: 100%;
                            background: white;
                            object-fit: cover;
                            transition: transform 0.3s ease;
                        }
                            .product-card:hover .product-img {
                                transform: scale(1.1);
                            }

                        .product-badge {
                            position: absolute;
                            top: 4px;
                            left: 4px;
                            background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
                            color: #000;
                            padding: 3px 10px;
                            border-radius: 12px 8px 8px 8px;
                            font-size: 12px;
                            font-weight: 600;
                        }

                    .product-info {
                        text-align: center;
                        padding: 3px 3px 5px 3px;
                    }

                    .product-title {
                        height: 32px;
                        font-size: 3.2vw;
                        font-weight: 600;
                        color: #FFFFFF;
                        margin: 0vh 0vw 0.1vh 0vw;
                        line-height: 1.1;
                        text-shadow: 2px 2px 1px #ffd2008c;
                    }

                    .product-description {
                        color: #FFFFFF;
                        font-size: 2.8vw;
                        line-height: 1.2;
                        padding: 0px 4px 0 6px;
                    }


    /* Why Choose Section */
    .why-choose {
        position: relative;
        background-image: url('../images/acoescovado2_bg.png');
        background-size: cover;
        box-shadow: 0px -3px 11px rgb(203 186 96);
        width: 100vw;
    }
        .container-right {
            display: block;
            justify-content: flex-end;
            max-width: 100%;
            margin: 0 auto;
            padding: 10px 20px;
        }
            .section-title-right {
                font-size: 1.2rem;
                font-weight: 700;
                color: #333;
                position: relative;
                text-decoration: none;
                text-shadow: var(--secondary-color-hover) 2px 2px 3px, rgba(83, 76, 25, 0.25) 1px 0px 2px, rgba(82, 75, 24, 0.25) 3px 3px 9px;
                text-align: right;
                display: table;
                margin-left: auto;
                margin-right: 2vw;
            }
                .section-title-right::after {
                    content: '';
                    position: absolute;
                    bottom: -3px;
                    right: 0;
                    width: 75vw;
                    height: 4px;
                    background: linear-gradient(135deg, #e3e3e3 0%, #ffe600 50%, #ffe600 100%);
                    border-radius: 2px;
                }

        .benefits-grid {
            display: grid;
            grid-template-columns: repeat(1, 1fr);
            gap: 1vw;
            margin-top: 4.5vh;
        }
            .benefit-card {
                background: #fff;
                padding: 7px;
                height: 150px;
                border-radius: 10px;
                border: 1px solid black;
                box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
                transition: all 0.3s ease;
                text-align: left;
            }
                .benefit-title {
                    display: flex;
                    flex-direction: row;
                    align-items: flex-start;
                    margin-bottom: 6px;
                    line-height: 1.2;
                }
                    .benefit-icon {
                        width: 7vw;
                        height: 7vw;
                        background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
                        border-radius: 50%;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        margin: 0 1vw auto 0.1vw;
                        padding: 10px;
                        font-size: 4.5vw;
                        color: #000;
                    }
                        .icon-img {
                            width: 3vh;
                            height: 3vh;
                        }

                    .benefit-card h3 {
                        font-size: 1rem;
                        text-align: start;
                        text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
                        font-weight: 600;
                        color: #333;
                    }

                .benefit-card ul {
                    list-style: none;
                    text-align: left;
                    font-size: 0.75rem;
                    margin: 0vh 0.1vw 1vh 2.4vw;
                    line-height: 1.4;
                }
                    .benefit-card li {
                        color: #A97A0D;
                        text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
                        margin: 0px 2px 13px 0px;
                        padding-left: 20px;
                        position: relative;
                    }
                        .benefit-card li::before {
                            content: '✓';
                            position: absolute;
                            left: 0.9vw;
                            color: #FFD700;
                            font-weight: bold;
                        }

        .note {
            position: relative;
            background-color: #fff3cd;
            border-left: 6px solid #ffeeba;
            padding: 0.5vh 0.5vh 0.5vh 0.5vh;
            margin: 3vh 0vh 0vh 0vh;
            bottom: 0;
            left: 0;
            border-radius: 4px;
            color: #856404;
            font-size: 0.7rem;
            box-shadow: #c0c0c0 0px 4px 15px;
        }

@media (min-width: 450px) {
    .product-info {
            padding: 5px 5px 5px 0.75vw;
    }
        .product-image {
            height: 67%;
        }
        .product-title {
            height: 40px;
            font-size: 15px;
        }
        .product-description {
            font-size: 12px;
        }
        
    .product-details {
        margin: 15px 5px 10px 5px;
    }
    .modal-close {
        font-size: 25px;
    }

    .product-modal .modal-content,
    .product-modal .modal-product-content {
        font-size: 15px;
        width: auto;
        max-width: 70vw;
        aspect-ratio: 1 / 1.8;
        overflow-y: hidden;
    }
        .modal-body {
            padding: 9px 7px 4px 5px;
        }
            .product-gallery {
                flex-direction: row;
            }
                .main-image {
                    max-width: 80%;
                }
                    .modal-item-image {
                        height: auto;
                        aspect-ratio: 2.5/3;
                        object-fit: fill;
                    }

            .thumbnail-gallery {
                display: grid;
                grid-template-columns: repeat(1, 1fr);
                grid-template-rows: repeat(3, 1fr);
                padding: 0px 0px 0px 6px;
                gap: 4px;
            }
                .thumbnail-gallery .thumbnail {
                    aspect-ratio: 2.9 / 3;
                    align-self: center;
                    width: 100%;
                    height: 93px;
                }

        .modal-product-title {
            font-size: 15px;
            padding: 6px 5px;
        }
            .product-product-specs h3,
            .product-details h3 {
                font-size: 17px;
                margin: 20px 0 10px 0;
            }
            .product-product-specs p,
            .product-product-specs ul,
            .product-product-specs li,
            .product-details p, 
            .product-details ul, 
            .product-details li {
                font-size: 12px;
            }

        .benefits-grid {
            grid-template-columns: repeat(2, 1fr);
        }
            .benefit-card {
                height: 206px;
            }
                .benefit-card ul {
                    margin: 0vh 0.1vw 0vh 0.1vw;
                }

}

@media (min-width: 575px) {
    .product-modal .modal-content,
    .product-modal .modal-product-content {
        max-width: auto;
        max-height: 87vh;
        aspect-ratio: 1 / 1.8;
        overflow-y: hidden;
    }
        .modal-body {
            padding: 2.5vh 1.5vw 1vh 1.5vw;
        }
            .modal-product-title {
                font-size: 15px;
                margin: 1vh 0vw 3vh 0vw;
                padding: 7px 5px;
            }
            .modal-product-description h3, .modal-product-specs h3 {
                margin: 2vw 0 5px 0;
                font-weight: 680;
            }

            .product-details {
                margin: 15px 5px 4vh 5px;
            }
                .product-product-specs p,
                .product-product-specs ul,
                .product-product-specs li,
                .product-details p, 
                .product-details ul, 
                .product-details li {
                    font-weight: 300;
                    font-size: 14px;
                }

    .products-grid {
        grid-template-columns: repeat(3, 1fr);
        padding: 2vh 2vw 4vh 4vw;
        gap: 15px;
    }
        .product-card {
            border-radius: 12px;
            max-width: 166px;
        }
            .product-info {
                padding: 0.5vh 0.5vw 1vh 0.5vw;
            }
                .product-badge {
                    font-size: 10px;
                }
                .product-image {
                    height: 67%;
                }
                .product-title {
                    font-size: 1.65vw;
                    font-weight: 500;
                    height: 32px;
                    margin: 0vh 0vw 0vh 0vw;
                }

                .product-description {
                    color: #FFFFFF;
                    font-size: 1.3vw;
                    bottom: 1px;
                    line-height: 1.2;
                    padding: 0px 0px 0px 0px;
                }
    .benefits-grid {
        gap: 1vw;
        margin-top: 20px;
    }
        .benefit-card {
            height: 159px;
        }
            .benefit-title {
                align-items: center;
            }
            .benefit-icon {
                width: 5vw;
                height: 5vw;
                font-size: 3vw;
            }
    .modal-sku {
        font-size: 2.7vw;
    }
    

}

@media (min-width: 680px) {
    .container {
        padding: 40px;
    }
    .benefits-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-template-columns: repeat(auto-fit, minmax(186px, 1fr));*/
        justify-content: center;
        margin: 22px 60px 62px 60px;
    }
        .benefit-card {
            height: 203px;
        }

    .products-grid {
        grid-template-columns: repeat(4, 1fr);
        padding: 1vh 1vw 1vh 1vw;
    }
    .product-details p {
        padding-left: 25px;
    }
    .modal-product-description, .modal-product-specs {
        padding-left: 0;
    }
}

@media (min-width: 768px) {
    .hero {
        background-size: cover;
    }
        .hero-content {
            display: inline;
            max-width: 30vw;
            padding: 0vw 0vw 2vh 1vw;
            background-size: cover;
        }

            .hero-content h1 {
                font-size: 1.45rem;
            }

    .products-grid {
        margin-top: 0;
        padding: 1vh 1vw 2vh 1vw;
        gap: 15px;
    }
        .product-image {
            height: 61%;
        }

        .product-description {
            color: #FFFFFF;
            font-size: 0.78rem;
            line-height: 1.3;
            padding: 0px 3px 0 3px;
        }

        .benefit-card {
            padding: 9px 7px 7px 7px ;
        }
            .benefit-icon {
                font-size: 3.5vw;
                width: 5vw;
                height: 5vw;
            }
                .icon-img {
                    width: 35px;
                    height: 35px;
                }

            .benefit-card h3 {
                font-size: 1rem;
                text-align: start;
                text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
                font-weight: 600;
                color: #333;
            }
    .modal-sku {
        font-size: 18px;
    }
    .product-details h3 {
        padding-left: 0;
    }

}

@media (min-width: 850px) {
    .product-card {
        border-radius: 12px;
        max-width: 193px;
    }
        .product-image {
            height: 61%;
        }
        .product-title {
            font-size: 0.86rem;
            font-weight: 500;
            height: 38px;
        }
    .product-details p {
        padding-left: 10px;
    }
}

@media (min-width: 943px) {
    .section-btn-all-products {
        margin: 4vh 2vw 4vh 0;
    }
    .products-grid {
        grid-template-columns: repeat(5, 1fr);
        padding: 1vh 2vw 2vh 2vw;
    }
        .product-card {
            max-width: 100%;
        }
            .product-title {
                font-size: 0.95rem;
                height: 40px;
            }
            .product-description {
                font-size: 0.85rem;
            }

    .modal-body {
        padding: 25px 15px 10px 15px;
    }
    .benefit-card {
        width: 100%;
        justify-self: center;
    }
        .benefit-card ul {
            margin: 0vh 0.1vw 0vh 2.1vw;
        }
    .benefit-icon {
        font-size: 2.5vw;
        width: 4vw;
        height: 4vw;
    }
        .icon-img {
            width: 35px;
            height: 35px;
        }


}

@media (min-width: 1024px) {
    .container-right {
        padding: 6vh 3vw 0 3vw;
    }
    .benefits-grid {
        margin: 8vh 60px 62px 60px;
    }
    .products-grid {
        grid-template-columns: repeat(5, 1fr);
    }

}

@media (min-width: 1470px) {
    .products-grid {
        grid-template-columns: repeat(6, 1fr);
    }
    .product-modal .modal-product-content {
        aspect-ratio: 1 / 1.5;
    }

}