/* ==========================================================================
   PÁGINA DE PRODUTO ÚNICO - EPS (COMPLETAMENTE RESPONSIVO)
   ========================================================================== */

/* --- Configurações Gerais e Reset de Layout --- */
body.single-product .eps_single_product_wrapper {
    width: 100% !important;
    background-color: #FFFFFF !important;
    box-sizing: border-box !important;
    padding: 20px 30px !important; /* Mobile padding padrão */
    overflow: hidden !important; /* Evita que o conteúdo transborde horizontalmente */
}

body.single-product .eps_single_product_container {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* Estrutura de Grid: Padrão Mobile (Coluna Única) */
body.single-product .eps_product_grid_layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
    width: 100% !important;
    position: relative !important;
    z-index: 2;
}

/* Garante que mídias e tamanhos fiquem no topo no mobile */
body.single-product .eps_product_col_right {
    display: flex !important;
    flex-direction: column !important;
    gap: 25px !important;
    width: 100% !important;
}

body.single-product .eps_product_col_left {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    padding-right: 0 !important; /* Espaço para o botão flutuante no mobile */
}


/* --- IMAGENS E GALERIA (RESPONSIVO SEGURO) --- */
body.single-product .eps_product_gallery_wrapper {
    width: 100% !important;
    max-width: 100% !important;
}

/* Imagem Principal Responsiva */
body.single-product .eps_product_featured_image {
    width: 100% !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

body.single-product .eps_product_featured_image img {
    width: 100% !important;
    height: auto !important;
    max-height: 350px !important; /* Limite de altura seguro no mobile */
    object-fit: cover !important;
    display: block !important;
}

/* Thumbnails (Grid Estático) */
body.single-product .eps_product_thumbnails_grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    margin-top: 12px !important;
    width: 100% !important;
}

body.single-product .eps_product_thumb_item {
    border-radius: 10px !important;
    overflow: hidden !important;
    width: 100% !important;
}

body.single-product .eps_product_thumb_item img {
    width: 100% !important;
    height: auto !important;
      height: 115px !important;
    object-fit: cover !important;
    display: block !important;
}

/* Slider Swiper */
body.single-product .eps-product-gallery-slider {
    width: 100% !important;
}

body.single-product .swiper {
    padding: 15px 0px 30px !important;
}

/* Dots do Carrossel Adaptados para Mobile */
body.single-product .eps-gallery-pagination {
    bottom: -29px !important;
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
}

body.single-product .eps-gallery-pagination .swiper-pagination-bullet {
    width: 45px !important; /* Menor no mobile para não transbordar */
    height: 5px !important;
    background-color: #D9D9D9 !important;
    opacity: 1 !important;
    border-radius: 10px !important;
    margin: 0 !important;
}

body.single-product .eps-gallery-pagination .swiper-pagination-bullet-active {
    background-color: #000000 !important;
}


/* --- TEXTOS E CONTEÚDO --- */
body.single-product .eps_product_page_title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 22px !important; /* Tamanho mobile */
    line-height: 1.3 !important;
    color: #1E4D8C !important;
    text-transform: uppercase !important;
    margin: 0 0 5px 0 !important;
}

body.single-product .eps_product_long_desc,
body.single-product .eps_desc_section_content {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #1A3A6B !important;
    margin-bottom: 20px !important;
}

body.single-product .eps_desc_section_title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important; /* Tamanho mobile */
    line-height: 24px !important;
    color: #1A3A6B !important;
    text-transform: uppercase !important;
    margin: 0 0 10px 0 !important;
}

body.single-product .eps_desc_section {
    margin-bottom: 25px !important;
}


/* --- CAIXAS DE INFORMAÇÃO --- */

/* Bloco Tamanhos Disponíveis */
body.single-product .eps_product_sizes_box {
    background-color: #1A3A6B !important;
    width: 100% !important;
    border-radius: 10px !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    color: #FFFFFF !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    text-align: center !important;
}

body.single-product .eps_sizes_box_title {
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 600 !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
    color: #FFFFFF !important;
    text-transform: uppercase !important;
    margin: 0 !important;
}

body.single-product .eps_sizes_list {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
}

body.single-product .eps_sizes_list p {
    margin: 0 !important;
}

body.single-product .eps_sizes_footnote {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    color: #FFFFFF !important;
    margin: 0 !important;
}

/* Bloco Normas Atendidas */
body.single-product .eps_product_normas_box {
    margin-top: 5px !important;
    display: flex !important;
    border: 1px solid #BDBDBD !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    width: 100% !important;
    padding: 0;
}

body.single-product .eps_normas_title {

    color: #1E4D8C !important;
    font-family: "Barlow Condensed", sans-serif !important;
    font-weight: 700 !important;
    font-size: 24px !important;
    padding: 15px !important;
    text-align: center !important;
    justify-content: center !important;
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important; /* Evita quebra de linha no título */
}

body.single-product .eps_normas_badge {
    color: #1A3A6B !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 18px !important;
    padding: 12px !important;
    text-align: center !important;
    justify-content: flex-start !important;
    display: flex !important;
    align-items: center !important;
        margin-bottom: -5px;
}

body.single-product .eps_desc_section_content p {
color: #1A3A6B !important;
}


/* ==========================================================================
   MEDIA QUERIES (DESKTOP E TELAS GRANDES)
   ========================================================================== */

@media (min-width: 992px) {
    body.single-product .eps_single_product_wrapper {
        padding: 60px 0px !important;

    }   

    body.single-product .eps_single_product_container {
        position: relative !important;
        z-index: 2 !important;
    }

    /* Divide o Grid em duas colunas idênticas e perfeitamente alinhadas */
    body.single-product .eps_product_grid_layout {
        flex-direction: row !important;
        display: grid !important;
        grid-template-columns: 1.1fr 0.9fr !important;
        gap: 60px !important;
    }

    /* Coluna Direita (Fotos e Bloco Azul) */
    body.single-product .eps_product_col_right {
        order: 1 !important; /* Retorna à posição original direita */
    }

    /* Força os tamanhos exatos exigidos pelo layout desktop */
    body.single-product .eps_product_gallery_wrapper {
        width: 531px !important;

    }

    body.single-product .eps_product_featured_image img {
        width: 531px !important;
        height: 531px !important; /* Altura original exata */
        max-height: none !important;
    }

    body.single-product .eps_product_thumb_item img {
        width: 100% !important;
        height: 221px !important; /* Proporção original exata */
        max-height: none !important;
    }

    body.single-product .eps-gallery-pagination .swiper-pagination-bullet {
        width: 95px !important; /* Dots longos originais de 95px */
    }

    /* Bloco Azul com tamanhos exatos do Desktop */
    body.single-product .eps_product_sizes_box {

    }

    /* Ajustes Finos de Texto para Desktop */
    body.single-product .eps_product_page_title {
        font-size: 26px !important;
        margin-bottom: 0px !important;
    }

    body.single-product .eps_desc_section_title {
        font-size: 16px !important;
        margin-bottom: 0px !important;
    }

body.single-product .eps_desc_section_content p {
    margin: 5px 0px !important;
}

    body.single-product .eps_sizes_box_title {
        font-size: 23px !important;
    }

    body.single-product .eps_sizes_list {
        font-size: 16px !important;
    }

    body.single-product .eps_sizes_footnote {
        font-size: 14px !important;
    }

    /* Bloco Normas Estilo Inline */
   body.single-product .eps_product_normas_box {
        display: inline-flex !important;
        flex-direction: row !important;
        width: fit-content !important;
        max-width: 100% !important;
        min-height: 65px !important;
        height: auto !important;
        padding: 0 !important;
        align-self: flex-start !important;
        align-items: center !important;
    }

    body.single-product .eps_normas_title {
        flex: 0 0 auto !important;
        padding: 0 20px 0 20px !important;
    }

    body.single-product .eps_normas_badge {
        display: block !important;
        flex: 0 1 auto !important;
        padding: 0 20px 0 0 !important;
        margin: 0 auto -3px !important;
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;

    }

    body.single-product .eps_product_col_left {
        padding-right: 6rem !important; /* Remove o padding extra do mobile */
    }
}


/* ==========================================================================
   Seção de Ondas Decorativas (Sobreposição Perfeita)
   ========================================================================== */

.eps_waves_transition_container {
    position: relative !important;
    width: 100% !important;
    height: 536px !important; /* Altura da transição no desktop */
    background-color: #FFFFFF !important;
    z-index: 1 !important;
}

/* Força as duas imagens a ocupar exatamente o mesmo espaço, uma em cima da outra */
.eps_wave_bg {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important; /* Preenche o espaço sem distorcer as ondas */
    pointer-events: none !important; /* Evita que bloqueie cliques do usuário */
    mix-blend-mode: multiply; /* Opcional: mescla as cores das ondas onde elas se cruzam */
}

/* Ajustes finos de prioridade se você quiser que uma específica fique por cima (z-index) */
.eps_wave_left {
    z-index: 1 !important;
    top: -10rem !important;
}

.eps_wave_right {
z-index: 1 !important;
    top: 76px !important;
}


/* ==========================================================================
   Responsividade para a Transição de Ondas
   ========================================================================== */

/* Tablets */
@media (max-width: 991px) {
    .eps_waves_transition_container {
        height: 130px !important; /* Reduz a altura da seção no tablet */
            width: 220% !important;
    margin-left: -3rem;
    }
}




/* ==========================================================================
   Seção do Banner ISO 9001 (100% Responsivo)
   ========================================================================== */

.eps_iso_banner_section {
    width: 100% !important;
    background-color: #FFFFFF !important;
    padding: 20px 15px 0px 15px !important; /* Respiro confortável em relação ao rodapé */
    box-sizing: border-box !important;
    margin-top: -27rem !important; /* Espaço entre a seção de normas e o banner */
}

.eps_iso_banner_container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* Moldura e Limites do Banner */
.eps_iso_banner_wrapper {
    width: 100% !important;
    max-width: 1000px !important; /* Limite elegante para o banner no Desktop */
    border-radius: 4px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important; /* Sombra sutil nas bordas */
}

/* Imagem Fluida e Proporcional */
.eps_iso_banner_img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important; /* Mantém a proporção perfeita em qualquer tela */
    position: relative !important;
    z-index: 2;
}


/* ==========================================================================
   Responsividade para o Banner ISO
   ========================================================================== */

/* Ajustes para Smartphones */
@media (max-width: 991px) {
    .eps_iso_banner_section {
        padding: 0px !important; /* Reduz o espaçamento interno no celular */
        margin-top: -6rem !important; /* Ajusta a sobreposição com a seção de normas */
    }
}