/* app/static/css/produto_detalhes.css */
.product-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 20px;
    background-color: white;
    max-width: 1100px;
    margin: 20px auto;
    border-radius: 8px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    box-sizing: border-box;
}

.image-container {
    width: 700px;
    min-height: 500px;
    display: flex;
    gap: 10px;
    box-sizing: border-box;
}

.aside-precos {
    width: 300px;
}

.product-description-container {
    width: 700px;
    margin-top: 20px;
}

.aside-pagamentos {
    width: 300px;
}

.aside-precos > .aside-pagamentos {
    width: 100%;
    margin-top: 12px;
}

.aside-precos > .aside-pagamentos .aside-container {
    margin-bottom: 0;
}

.carousel-section {
    width: 700px;
}

.aside-container {
    padding: 20px;
    border-radius: 8px;
    border: 2px solid var(--branco-padrão);
    margin-bottom: 20px;
    box-sizing: border-box;
}

.image-container .grup-thumbnail {
    display: flex;
    flex-direction: column;
    width: 74px;
    gap: 10px;
    flex-shrink: 0;
}

/* --- SKELETON LOADING DAS IMAGENS --- */
.thumbnail-wrapper {
    position: relative;
    width: 74px;
    height: 74px;
    border-radius: 5px;
    flex-shrink: 0;
    overflow: hidden;
    box-sizing: border-box;
}

.skeleton-box {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: #e0e0e0;
    z-index: 1;
    border-radius: inherit;
    overflow: hidden;
    pointer-events: none;
    box-sizing: border-box;
}

.skeleton-main-image {
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    border-radius: 8px;
}

.skeleton-thumb {
    width: 100%;
    height: 100%;
    border-radius: 5px;
}

.skeleton-box::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: translateX(-100%);
    background-image: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0,
        rgba(255, 255, 255, 0.2) 20%,
        rgba(255, 255, 255, 0.5) 60%,
        rgba(255, 255, 255, 0)
    );
    animation: shimmer-detalhes 1.5s infinite;
    content: '';
    will-change: transform;
}

@keyframes shimmer-detalhes {
    100% {
        transform: translateX(100%);
    }
}
/* --- FIM SKELETON LOADING --- */

.thumbnail-image {
    position: relative;
    z-index: 2;
    display: block;
    width: 60px;
    height: 60px;
    object-fit: contain;
    cursor: pointer;
    border-radius: 5px;
    transition: transform 0.3s, opacity 0.3s;
    padding: 5px;
    border: 2px solid var(--branco-padrão);
    background-color: white;
    box-sizing: border-box;
}

.thumbnail-image:hover {
    transform: scale(1.05);
    border: 2px solid var(--azul-selecao);
}

/* --- IMAGEM PRINCIPAL --- */
.div-product-image {
    position: relative;
    width: 500px;
    height: 500px;
    min-width: 500px;
    min-height: 500px;
    max-width: 500px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    background: white;
    flex-shrink: 0;
    aspect-ratio: 1 / 1;
    border-radius: 8px;
    box-sizing: border-box;
}

.div-product-image picture {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.product-image {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    background-color: white;
    box-sizing: border-box;
}
/* --- FIM IMAGEM PRINCIPAL --- */

.thumbnail-more-button {
    display: none;
    align-items: center;
    justify-content: center;
    flex: 0 0 74px;
    width: 74px;
    height: 74px;
    margin: 0;
    padding: 0;
    border: 1px solid #c9cdd2;
    border-radius: 5px;
    background-color: #e4e7ea;
    color: #374151;
    font: inherit;
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
    cursor: pointer;
    box-sizing: border-box;
    touch-action: manipulation;
}

.thumbnail-more-button:hover {
    background-color: #d7dce1;
}

.thumbnail-more-button:focus-visible {
    outline: 3px solid var(--azul-selecao);
    outline-offset: 2px;
}

.product-thumbnail-extra {
    scroll-margin-top: 90px;
}

.product-description {
    max-height: 300px;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out;
}

.product-description.expanded {
    max-height: none;
}

.toggle-description {
    color: blue;
    background: none;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.toggle-description:hover {
    color: var(--azul-selecao);
}

.seta {
    font-size: 15px;
    color: var(--azul-selecao);
    margin-left: 5px;
    transition: transform 0.3s ease;
    display: inline-flex;
    transform: rotate(90deg);
}

.product-info-basicas {
    display: flex;
    flex-direction: column;
    min-height: 390px;
    box-sizing: border-box;
}

.product-vendidos {
    display: block;
    min-height: 16px;
    font-size: 12px;
    line-height: 16px;
    color: #555;
}

.product-title {
    display: block;
    width: 100%;
    min-height: 56px;
    margin: 0;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 700;
    color: #222d32;
    box-sizing: border-box;
}

.product-rating {
    display: flex;
    align-items: center;
    gap: 5px;
    min-height: 25px;
    font-size: 14px;
    line-height: 20px;
    box-sizing: border-box;
}

.rating-stars {
    display: flex;
    align-items: center;
    min-width: 112px;
    min-height: 25px;
    line-height: 25px;
}

.rating-stars .star {
    display: inline-block;
    width: 20px;
    height: 25px;
    font-size: 20px;
    line-height: 25px;
    color: #ddd;
    margin-bottom: 5px;
    box-sizing: border-box;
}

.rating-value {
    display: inline-block;
    min-height: 20px;
    line-height: 20px;
}

.star.filled {
    color: var(--azul-selecao);
}

.product-old-price {
    display: block;
    min-height: 20px;
    margin-top: 15px;
    font-size: 16px;
    line-height: 20px;
    color: #555;
    text-decoration: line-through;
}

.product-price {
    display: block;
    min-height: 44px;
    font-size: 36px;
    line-height: 44px;
    font-weight: 100;
    color: #222d32;
}

.product-old-price .old-centavos {
    font-size: 11px;
    vertical-align: super;
}

.product-price .centavos {
    font-size: 16px;
    vertical-align: super;
}

.price-entrega,
.devolucao-gratis,
.compra-garantida,
.disponibilidade-estoque {
    margin-top: 10px;
    font-size: 16px;
    color: #2E7D32;
}

.div-quantidade-produto {
    margin-top: 20px;
}

.dropdown {
    position: relative;
    display: inline-block;
}

.dropbtn {
    background-color: transparent;
    color: var(--cinza-claro);
    padding: 3px;
    font-size: 14px;
    border: 1px solid var(--azul-selecao);
    cursor: pointer;
    width: 200px;
    text-align: left;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f1f1f1;
    min-width: 160px;
    box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
    z-index: 1;
}

.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

.dropdown-content a:hover {
    background-color: #ddd;
}

.input-container {
    display: flex;
    justify-content: space-between;
    padding: 10px;
    background-color: #f1f1f1;
}

#quantidade-input {
    width: 60%;
    padding: 5px;
    margin-right: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

#apply-quantity-btn {
    background-color: var(--azul-selecao);
    color: white;
    padding: 5px 10px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

.show {
    display: block;
}

.devolucao-gratis-detalhes,
.compra-garantida-detalhes {
    color: #0000008C;
    font-size: 14px;
}

.div-addcart-comprar {
    min-height: 78px;
    margin: 20px 0 15px 0;
    box-sizing: border-box;
}

.div-addcart-comprar .btn {
    width: 100%;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 2px 0;
    box-sizing: border-box;
}

/* --- ÍCONES DE SEGURANÇA TIPO AMAZON --- */
.security-icons-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    min-height: 67px;
    padding: 15px 5px;
    margin-top: 5px;
    box-sizing: border-box;
}

.security-icon-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 32%;
    min-height: 45px;
    box-sizing: border-box;
    color: inherit;
    text-decoration: none;
    border-radius: 8px;
}

.security-icon-item:hover,
.security-icon-item:focus-visible {
    background: #f3faf6;
}

.product-badge-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    min-height: 24px;
}

.product-featured-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 8px;
    border: 1px solid rgba(0, 86, 179, .18);
    border-radius: 999px;
    background: linear-gradient(135deg, #eef7ff 0%, #f8fbff 100%);
    color: #075b95;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .02em;
    box-shadow: 0 3px 9px rgba(7, 91, 149, .08);
    white-space: nowrap;
}

.product-featured-badge::before {
    content: '✓';
    margin-right: 4px;
    color: #0b6fb8;
    font-size: 10px;
    font-weight: 900;
}

.security-icon-item i {
    font-size: 22px;
    color: #565959;
    margin-bottom: 6px;
}

.security-icon-item span {
    font-size: 12px;
    line-height: 1.2;
    color: #007185;
    font-weight: 500;
}

/* =========================================================================
   SKELETON ESTRUTURAL DA PÁGINA DE PRODUTO
   ========================================================================= */
html.product-structure-loading .product-info-basicas,
html.product-structure-loading .product-description-container,
html.product-structure-loading .aside-pagamentos .aside-container {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

html.product-structure-loading .product-info-basicas > *,
html.product-structure-loading .product-description-container > *,
html.product-structure-loading .aside-pagamentos .aside-container > * {
    visibility: hidden;
}

html.product-structure-loading .product-info-basicas::before,
html.product-structure-loading .product-description-container::before,
html.product-structure-loading .aside-pagamentos .aside-container::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    pointer-events: none;
    border-radius: inherit;
    background-color: #ffffff;
    box-sizing: border-box;
}

html.product-structure-loading .product-info-basicas::after,
html.product-structure-loading .product-description-container::after,
html.product-structure-loading .aside-pagamentos .aside-container::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    pointer-events: none;
    transform: translateX(-100%);
    background-image: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0,
        rgba(255, 255, 255, 0.18) 20%,
        rgba(255, 255, 255, 0.62) 60%,
        rgba(255, 255, 255, 0) 100%
    );
    animation: shimmer-detalhes 1.5s infinite;
    will-change: transform;
}

html.product-structure-loading .product-info-basicas::before {
    background:
        linear-gradient(#e3e6e9, #e3e6e9) 0 0 / 82px 12px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 30px / 100% 19px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 58px / 86% 19px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 96px / 132px 18px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 136px / 94px 14px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 164px / 176px 38px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 218px / 154px 14px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 252px / 100% 38px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 310px / 100% 42px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 8% 374px / 24% 12px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 50% 374px / 24% 12px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 92% 374px / 24% 12px no-repeat,
        #ffffff;
}

html.product-structure-loading .product-description-container::before {
    background:
        linear-gradient(#e3e6e9, #e3e6e9) 0 0 / 136px 28px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 54px / 100% 15px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 80px / 94% 15px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 106px / 82% 15px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 154px / 42% 250px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 48% 160px / 52% 20px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 48% 194px / 48% 15px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 48% 220px / 52% 15px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 48% 246px / 44% 15px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 48% 286px / 50% 15px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 48% 312px / 46% 15px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 48% 338px / 51% 15px no-repeat,
        #ffffff;
}

html.product-structure-loading .aside-pagamentos .aside-container::before {
    background:
        linear-gradient(#e3e6e9, #e3e6e9) 0 0 / 176px 24px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 58px / 68px 16px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) right 0 top 50px / 42px 25px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 112px / 132px 16px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) right 0 top 104px / 138px 25px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 166px / 126px 16px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) right 0 top 158px / 42px 25px no-repeat,
        #ffffff;
}

/*
 * Estes dois carrosséis dependem de respostas da API e do histórico local.
 * Eles não ocupam espaço antes de o JavaScript confirmar produtos válidos.
 */
#section-carrossel-ofertas-do-dia,
#section-carrossel-vistos-recentemente {
    height: 0;
    min-height: 0 !important;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

#section-carrossel-ofertas-do-dia[style*='display: block'],
#section-carrossel-vistos-recentemente[style*='display: block'] {
    height: auto;
    min-height: 350px !important;
    margin: 30px auto;
    padding: 20px 0 5px 0;
    overflow: visible;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

/* =========================================================================
   INÍCIO - ESTILOS DOS BLOCOS DINÂMICOS DO CONSTRUTOR (ISOLADOS)
   ========================================================================= */

.title-pagamentos {
    font-size: 18px;
    font-weight: 400;
}

.pix-container,
.cartao-credito-container,
.boleto-container {
    padding: 10px 0;
}

.pix-container:first-of-type {
    border-top: none;
}

.pagamento-pix,
.pagamento-cartao,
.pagamento-boleto {
    margin-bottom: 5px;
    font-size: 15px;
    color: #333;
}

.bandeira-pix,
.bandeiras-cartao-visa,
.bandeiras-cartao-mastercard,
.bandeiras-cartao-hipercard,
.bandeira-boleto {
    height: 25px;
    width: auto;
    margin-right: 8px;
    vertical-align: middle;
}

.analysis-dynamic-content {
    display: flex;
    flex-direction: column;
    gap: 35px;
    margin-bottom: 30px;
}

.margin-top-40 {
    margin-top: 40px;
}

/* Títulos, Parágrafos e Listas */
.builder-titulo {
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 1.8rem;
    color: var(--azul-link);
    font-weight: 700;
}

.builder-paragrafo {
    margin-bottom: 20px;
    line-height: 1.8;
    font-size: 1.15rem;
    color: #333;
}

.builder-lista {
    background-color: #f0f7f8;
    border-left: 5px solid var(--azul-link);
    padding: 25px 30px;
    margin: 30px 0;
    border-radius: 0 12px 12px 0;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
}

.builder-lista h3,
.builder-tabela h3 {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 1.4rem;
    color: var(--azul-link);
}

.builder-lista ul {
    padding-left: 20px;
    margin: 0;
    color: #0f1111;
}

.builder-lista li {
    list-style-type: disc !important;
    display: list-item !important;
    margin-bottom: 12px;
    line-height: 1.7;
    font-size: 1.15rem;
    color: #333;
}

.builder-lista li:last-child {
    margin-bottom: 0;
}

.builder-video {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    background: #000;
}

.builder-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.builder-texto-imagem {
    display: flex;
    gap: 25px;
    align-items: center;
}

.builder-texto-imagem .ti-texto {
    flex: 1;
}

.builder-texto-imagem .ti-texto h3 {
    font-size: 1.6rem;
    color: var(--azul-link);
    margin-bottom: 15px;
    margin-top: 0;
}

.builder-texto-imagem .ti-texto-content {
    line-height: 1.8;
    font-size: 1.15rem;
    color: #333;
}

.builder-texto-imagem .ti-imagem {
    flex: 1;
    text-align: center;
}

.builder-texto-imagem .ti-imagem img {
    display: block;
    width: 100%;
    max-width: 400px;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    object-fit: contain;
    max-height: 400px;
}

.builder-texto-imagem .ti-imagem video {
    max-width: 100%;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    object-fit: contain;
    max-height: 400px;
}

.builder-texto-imagem.pc-esquerda {
    flex-direction: row-reverse;
}

.builder-texto-imagem.pc-direita {
    flex-direction: row;
}

.builder-tabela {
    overflow-x: auto;
    margin: 15px 0;
}

.builder-tabela table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #eaeaea;
}

.builder-tabela th,
.builder-tabela td {
    padding: 10px 15px;
    border-bottom: 1px solid #f0f0f0;
    text-align: left;
    font-size: 14px;
}

.builder-tabela th {
    background-color: #fafafa;
    font-weight: 600;
    width: 35%;
    color: #333;
    border-right: 1px solid #f0f0f0;
}

.builder-tabela td {
    color: #555;
}

.builder-pros-contras {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 20px 0;
}

.pros-box,
.cons-box {
    padding: 20px;
    border-radius: 8px;
}

.pros-box {
    background-color: #f0fdf4;
    border: 1px solid #bbf7d0;
}

.cons-box {
    background-color: #fef2f2;
    border: 1px solid #fecaca;
}

.pros-box h3 {
    color: #166534;
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.pros-box h3::before {
    content: "✅";
}

.cons-box h3 {
    color: #991b1b;
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.cons-box h3::before {
    content: "❌";
}

.pros-box ul,
.cons-box ul {
    padding-left: 20px;
    margin: 0;
}

.pros-box li,
.cons-box li {
    margin-bottom: 8px;
    line-height: 1.4;
    font-size: 14px;
    color: #333;
}

.pros-box li::marker {
    color: #166534;
}

.cons-box li::marker {
    color: #991b1b;
}

.builder-botao a {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.builder-botao a:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

@media (max-width: 768px) {
    .product-container {
        flex-direction: column;
        justify-content: flex-start;
        padding: 10px;
        margin: 0 auto;
        box-shadow: none;
    }

    .image-container,
    .aside-precos,
    .product-description-container,
    .aside-pagamentos,
    .carousel-section {
        width: 100%;
    }

    .image-container {
        order: 1;
        min-height: 444px;
        flex-direction: column-reverse;
        gap: 10px;
        align-items: center;
    }

    .aside-precos {
        order: 2;
    }

    .product-description-container {
        order: 3;
    }

    .carousel-section[id*='ofertas-do-dia'] {
        order: 4;
    }

    .carousel-section[id*='vistos-recentemente'] {
        order: 5;
    }

    .aside-pagamentos {
        order: 6;
    }

    .image-container .grup-thumbnail {
        --mobile-thumbnail-size: clamp(64px, 18vw, 74px);
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        align-content: center;
        width: 100%;
        max-width: 350px;
        min-width: 0;
        min-height: var(--mobile-thumbnail-size);
        height: auto;
        padding: 0 4px;
        margin: 0 auto 40px;
        gap: 8px;
        overflow: visible;
        box-sizing: border-box;
    }

    .image-container .grup-thumbnail:not(.has-thumbnail-overflow),
    .image-container .grup-thumbnail.thumbnails-expanded {
        flex-wrap: wrap;
    }

    .image-container
        .grup-thumbnail.has-thumbnail-overflow:not(.thumbnails-expanded)
        .product-thumbnail-extra {
        display: none;
    }

    .image-container
        .grup-thumbnail.thumbnails-expanded
        .product-thumbnail-extra {
        display: flex;
    }

    .image-container .thumbnail-wrapper,
    .image-container .thumbnail-more-button {
        flex: 0 0 var(--mobile-thumbnail-size);
        width: var(--mobile-thumbnail-size);
        height: var(--mobile-thumbnail-size);
    }

    .image-container .thumbnail-wrapper {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .image-container .thumbnail-image {
        width: calc(var(--mobile-thumbnail-size) - 14px);
        height: calc(var(--mobile-thumbnail-size) - 14px);
        flex-shrink: 0;
        object-fit: contain;
    }

    .image-container .thumbnail-more-button {
        display: flex;
    }

    .image-container
        .grup-thumbnail.thumbnails-expanded
        .thumbnail-more-button {
        display: none;
    }

    .div-product-image {
        width: 100%;
        height: auto;
        min-width: 0;
        min-height: 350px;
        max-width: 350px;
        aspect-ratio: 1 / 1;
        margin-bottom: 20px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .div-product-image picture {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .product-image {
        width: 100%;
        height: 100%;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
    }

    .div-addcart-comprar {
        flex-direction: row;
        gap: 10px;
    }

    .builder-texto-imagem {
        flex-direction: column !important;
    }

    .builder-texto-imagem.mobile-baixo {
        flex-direction: column !important;
    }

    .builder-texto-imagem.mobile-topo {
        flex-direction: column-reverse !important;
    }

    .product-info-basicas {
        min-height: 390px;
    }

    .product-title {
        min-height: 56px;
        font-size: 22px;
        line-height: 1.25;
    }

    html.product-structure-loading .product-info-basicas::before {
        background:
            linear-gradient(#e3e6e9, #e3e6e9) 0 0 / 82px 12px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 0 30px / 100% 19px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 0 58px / 86% 19px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 0 96px / 132px 18px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 0 136px / 94px 14px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 0 164px / 176px 38px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 0 218px / 154px 14px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 0 252px / 100% 38px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 0 310px / 100% 42px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 8% 374px / 24% 12px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 50% 374px / 24% 12px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 92% 374px / 24% 12px no-repeat,
            #ffffff;
    }

    html.product-structure-loading .product-description-container::before {
        background:
            linear-gradient(#e3e6e9, #e3e6e9) 0 0 / 136px 28px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 0 54px / 100% 15px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 0 80px / 94% 15px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 0 106px / 82% 15px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 0 154px / 100% 310px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 0 494px / 92% 18px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 0 526px / 100% 15px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 0 552px / 90% 15px no-repeat,
            linear-gradient(#e3e6e9, #e3e6e9) 0 578px / 74% 15px no-repeat,
            #ffffff;
    }

    .builder-pros-contras {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .skeleton-box::after,
    html.product-structure-loading .product-info-basicas::after,
    html.product-structure-loading .product-description-container::after,
    html.product-structure-loading .aside-pagamentos .aside-container::after {
        animation: none;
        transform: none;
    }

    .thumbnail-image,
    .toggle-description,
    .seta,
    .builder-botao a {
        transition: none;
    }
}
/* =========================================================
   SKELETON DOS BLOCOS DE MÍDIA DO CONSTRUTOR
   ========================================================= */
.builder-media-shell {
    position: relative;
    isolation: isolate;
}

.builder-media-loading > img,
.builder-media-loading > video,
.builder-media-loading > iframe {
    opacity: 0;
}

.builder-media-ready > img,
.builder-media-ready > video,
.builder-media-ready > iframe {
    opacity: 1;
    transition: opacity 180ms ease;
}

.builder-media-loading::before,
.builder-media-error::before {
    content: '';
    position: absolute;
    z-index: 2;
    top: 0;
    left: 50%;
    display: block;
    width: min(100%, 400px);
    height: 100%;
    max-height: 400px;
    transform: translateX(-50%);
    border-radius: 12px;
    background: #e3e6e9;
    pointer-events: none;
}

.builder-media-loading::after {
    content: '';
    position: absolute;
    z-index: 3;
    top: 0;
    left: 50%;
    display: block;
    width: min(100%, 400px);
    height: 100%;
    max-height: 400px;
    transform: translateX(-150%);
    border-radius: 12px;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.72) 50%,
        rgba(255, 255, 255, 0) 100%
    );
    animation: builder-media-shimmer 1.35s ease-in-out infinite;
    pointer-events: none;
}

.builder-imagem.builder-media-loading,
.ti-imagem.builder-media-loading {
    min-height: min(400px, calc(100vw - 40px));
}

.builder-video-local.builder-media-loading {
    min-height: clamp(220px, 42vw, 430px);
}

.builder-video-local.builder-media-loading::before,
.builder-video-local.builder-media-loading::after {
    width: min(100%, 760px);
    max-height: 430px;
}

.builder-video.builder-media-loading::before,
.builder-video.builder-media-loading::after {
    inset: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    transform: none;
    border-radius: inherit;
}

.builder-video.builder-media-loading::after {
    transform: translateX(-100%);
}

.builder-media-error {
    min-height: 180px;
}

.builder-media-error::before {
    max-height: none;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0)),
        #e3e6e9;
}

@keyframes builder-media-shimmer {
    100% {
        transform: translateX(50%);
    }
}

@media (max-width: 600px) {
    .builder-video-local.builder-media-loading {
        min-height: min(56.25vw, 360px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .builder-media-loading::after {
        animation: none;
    }

    .builder-media-ready > img,
    .builder-media-ready > video,
    .builder-media-ready > iframe {
        transition: none;
    }
}

/* Skeleton fiel dos blocos do construtor */
.builder-block{position:relative;display:block;margin:18px 0;isolation:isolate}.builder-block-loading{overflow:hidden;border-radius:12px;background:#fff}.builder-block-loading>*{visibility:hidden}.builder-block-loading::before{content:"";position:absolute;inset:0;z-index:8;border-radius:12px;background-color:#fff;pointer-events:none}.builder-block-loading::after{content:"";position:absolute;inset:0;z-index:9;border-radius:12px;pointer-events:none;background-repeat:no-repeat;background-image:linear-gradient(90deg,#e7eaec 25%,#f5f7f8 45%,#e7eaec 65%),linear-gradient(90deg,#e7eaec 25%,#f5f7f8 45%,#e7eaec 65%),linear-gradient(90deg,#e7eaec 25%,#f5f7f8 45%,#e7eaec 65%);background-size:220% 100%,220% 100%,220% 100%;animation:builderBlockShimmer 1.15s linear infinite}
.builder-block--titulo.builder-block-loading{min-height:52px}.builder-block--titulo.builder-block-loading::after{inset:10px 8%;background-size:70% 28px;background-position:left center}
.builder-block--paragrafo.builder-block-loading,.builder-block--lista.builder-block-loading{min-height:126px}.builder-block--paragrafo.builder-block-loading::after,.builder-block--lista.builder-block-loading::after{inset:18px 4%;background-size:92% 16px,86% 16px,64% 16px;background-position:left 0,left 34px,left 68px}
.builder-block--imagem.builder-block-loading{min-height:min(400px,calc(100vw - 40px))}.builder-block--imagem.builder-block-loading::after{inset:0 calc(50% - min(200px,calc(50vw - 20px)));background-size:100% 100%}
.builder-block--video.builder-block-loading,.builder-block--video_local.builder-block-loading{min-height:clamp(220px,42vw,430px)}.builder-block--video.builder-block-loading::after,.builder-block--video_local.builder-block-loading::after{inset:0;background-size:100% 100%}
.builder-block--texto_imagem.builder-block-loading{min-height:420px}.builder-block--texto_imagem.builder-block-loading::after{inset:10px;background-image:linear-gradient(90deg,#e7eaec 25%,#f5f7f8 45%,#e7eaec 65%),linear-gradient(90deg,#e7eaec 25%,#f5f7f8 45%,#e7eaec 65%),linear-gradient(90deg,#e7eaec 25%,#f5f7f8 45%,#e7eaec 65%),linear-gradient(90deg,#e7eaec 25%,#f5f7f8 45%,#e7eaec 65%);background-size:42% 100%,45% 24px,42% 16px,36% 16px;background-position:left top,right 24px,right 76px,right 110px}
.builder-block--tabela.builder-block-loading,.builder-block--pros_contras.builder-block-loading{min-height:230px}.builder-block--tabela.builder-block-loading::after,.builder-block--pros_contras.builder-block-loading::after{inset:12px;background-size:100% 46px,100% 46px,100% 46px;background-position:0 0,0 66px,0 132px}
.builder-block--botao.builder-block-loading{min-height:64px}.builder-block--botao.builder-block-loading::after{inset:10px 32%;background-size:100% 44px;background-position:center}
.builder-block-ready{animation:builderBlockReveal .18s ease both}@keyframes builderBlockShimmer{to{background-position:-220% 0,-220% 0,-220% 0}}@keyframes builderBlockReveal{from{opacity:.2}to{opacity:1}}
.rating-score{font-weight:700;color:#334047}
@media(max-width:720px){.builder-block--texto_imagem.builder-block-loading{min-height:620px}.builder-block--texto_imagem.builder-block-loading::after{inset:8px;background-size:100% 330px,78% 24px,92% 16px,70% 16px;background-position:center top,left 370px,left 416px,left 450px}.builder-block--imagem.builder-block-loading{min-height:min(400px,calc(100vw - 28px))}}
@media(prefers-reduced-motion:reduce){.builder-block-loading::after,.builder-block-ready{animation:none}}

/* Ajustes finais auditáveis: preço, entrega, estoque, afiliado e skeleton */
.product-price-row {
    align-items: center;
    gap: 8px;
}

.product-detail-discount {
    align-self: center;
    min-height: 20px;
    padding: 3px 7px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 750;
    line-height: 1;
}

.price-entrega {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-top: 10px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #1f2d36 !important;
    font-size: 15px;
    font-weight: 400;
}

.price-entrega__prazo {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 5px 9px;
    border-radius: 8px;
    background: #16814a;
    color: #ffffff;
    line-height: 1;
    font-weight: 600;
}

.price-entrega__valor {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #1f2d36;
    line-height: 1.2;
    font-weight: 400;
}

.price-entrega__por {
    color: #1f2d36;
    font-weight: 400;
}

.price-entrega__preco {
    color: #16814a;
    font-weight: 400;
}

.div-quantidade-produto label {
    color: #273746;
    font-weight: 750;
}

.dropbtn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid #b8d1e4;
    border-radius: 10px;
    background: #ffffff;
    color: #1f3342;
    font-weight: 750;
    box-shadow: 0 3px 10px rgba(31, 54, 71, 0.06);
}

.dropbtn::after {
    content: "";
    flex: 0 0 auto;
    width: 14px;
    height: 14px;
    background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316814a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

.dropbtn:hover,
.dropbtn:focus-visible {
    border-color: #16814a;
    outline: none;
    box-shadow: 0 0 0 3px rgba(22, 129, 74, 0.12);
}

.disponibilidade-estoque {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 27px;
    padding: 5px 9px;
    border-radius: 8px;
    background: #ecfdf3;
    color: #16814a;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 500;
}

.builder-action-form {
    display: inline-block;
    margin: 0;
}

.builder-action-button:hover {
    opacity: .88;
    transform: translateY(-1px);
}

.aside-container--afiliado {
    border: 2px solid var(--branco-padrão);
    background: #ffffff;
    box-shadow: none;
}

.aside-container--afiliado .product-info-basicas {
    min-height: 0;
}

.aside-container--afiliado .product-title {
    min-height: auto;
    margin-top: 6px;
    margin-bottom: 6px;
    font-size: 21px;
    line-height: 1.22;
}

.div-addcart-comprar--afiliado {
    min-height: auto;
    margin: 18px 0 6px;
}

.affiliate-action-area {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.affiliate-redirect-note {
    margin: 0;
    color: #52616d;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 400;
}

.affiliate-action-notes {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.35;
}

.btn-amazon-offer {
    gap: 8px;
    min-height: 44px;
    margin-top: 0 !important;
    border: 0;
    border-radius: 8px;
    background: var(--azul-selecao, #146ecb) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 700;
    box-shadow: none;
}

.btn-amazon-offer:hover,
.btn-amazon-offer:focus-visible {
    background: #0f5eb1 !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

.product-container {
    align-items: flex-start;
    row-gap: 8px;
}

.product-description-container {
    margin-top: 8px;
}

.div-product-image {
    width: 500px;
    height: 500px;
    min-width: 500px;
    min-height: 500px;
    max-width: 500px;
    max-height: 500px;
}

.product-image {
    transform: none !important;
}

.product-page-skeleton__bottom {
    margin-top: 8px;
}

@media (min-width: 769px) {
    .product-container {
        display: grid;
        grid-template-columns: 700px 300px;
        grid-auto-rows: auto;
        column-gap: 60px;
        row-gap: 8px;
        justify-content: center;
        align-items: start;
    }

    .image-container {
        grid-column: 1;
        grid-row: 1;
    }

    .aside-precos {
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    .product-description-container {
        grid-column: 1;
        grid-row: 2;
        margin-top: 0;
    }

    .aside-pagamentos {
        grid-column: 2;
        grid-row: 3;
    }

    .carousel-section {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (max-width: 768px) {
    .product-price-row {
        gap: 7px;
    }

    .product-detail-discount {
        min-height: 19px;
        padding: 3px 6px;
        font-size: 10px;
    }

    .product-description-container {
        margin-top: 8px;
    }

    .image-container .grup-thumbnail {
        margin-bottom: 16px;
    }

    .div-product-image {
        width: 100%;
        height: auto;
        min-width: 0;
        min-height: 350px;
        max-width: 350px;
        max-height: none;
        margin-bottom: 10px;
        aspect-ratio: 1 / 1;
    }

    .product-page-skeleton__bottom {
        margin-top: 12px;
    }

    .product-page-skeleton__gallery {
        min-height: 460px;
    }

    .product-page-skeleton__main-image {
        margin-bottom: 10px;
    }

    .product-page-skeleton__thumbs {
        margin-bottom: 16px;
    }

    .product-page-skeleton__description {
        margin-top: 8px;
    }

    .aside-container--afiliado .product-title {
        font-size: 20px;
    }
}
/* Padronização final dos botões da página de produto */
.product-detail-page .btn-comprar-agora,
.product-detail-page .btn-amazon-offer {
    background: #0056b3 !important;
    color: #ffffff !important;
    border: 0 !important;
}

.product-detail-page .btn-comprar-agora:hover,
.product-detail-page .btn-amazon-offer:hover,
.product-detail-page .btn-comprar-agora:focus-visible,
.product-detail-page .btn-amazon-offer:focus-visible {
    background: #004a9c !important;
    color: #ffffff !important;
}

.product-detail-page .btn-add-carrinho {
    background: #e7f1ff !important;
    color: #0056b3 !important;
    border: 0 !important;
}

.product-detail-page .btn-add-carrinho:hover,
.product-detail-page .btn-add-carrinho:focus-visible {
    background: #d8eaff !important;
    color: #0056b3 !important;
}


/* Ajuste final do aside de afiliado Amazon: mais cor, menos texto e sem moldura extra. */
.aside-container--afiliado .affiliate-action-area {
    gap: 9px;
}

.affiliate-satisfaction {
    width: 100%;
    margin: 2px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-sizing: border-box;
}

.affiliate-satisfaction__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
    color: #4a5964;
    font-size: 11px;
    line-height: 1.2;
}

.affiliate-satisfaction__head span {
    font-weight: 700;
}

.affiliate-satisfaction__head strong {
    color: #0056b3;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.affiliate-satisfaction__meter {
    position: relative;
    display: block;
    width: 100%;
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: linear-gradient(90deg, #f4d4d4 0%, #fff0bf 46%, #d9f1e1 100%);
}

.affiliate-satisfaction__meter span {
    position: absolute;
    inset: 0 auto 0 0;
    display: block;
    min-width: 8%;
    max-width: 100%;
    border-radius: inherit;
    background: #16a34a;
}

.aside-container--afiliado .affiliate-redirect-note {
    color: #4f606d;
    font-size: 12px;
    line-height: 1.4;
}

.aside-container--afiliado .affiliate-action-notes {
    display: block;
    margin: 0;
    color: #5e6d78;
    font-size: 10.5px;
    line-height: 1.35;
}

.product-detail-page .btn-comprar-agora,
.product-detail-page .btn-amazon-offer {
    background: #0056b3 !important;
    color: #ffffff !important;
    border: 0 !important;
}

.product-detail-page .btn-comprar-agora:hover,
.product-detail-page .btn-amazon-offer:hover,
.product-detail-page .btn-comprar-agora:focus-visible,
.product-detail-page .btn-amazon-offer:focus-visible {
    background: #004a9c !important;
    color: #ffffff !important;
}


/* Refinamento final do aside Amazon */
.aside-container--afiliado .affiliate-action-area {
    gap: 8px !important;
}

.aside-container--afiliado .affiliate-satisfaction {
    margin: 3px 0 1px !important;
    padding: 8px 0 2px !important;
}

.aside-container--afiliado .affiliate-satisfaction__head {
    margin-bottom: 6px !important;
    color: #344955 !important;
}

.aside-container--afiliado .affiliate-satisfaction__head span {
    color: #087c41 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

.aside-container--afiliado .affiliate-satisfaction__head strong {
    color: #087c41 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

.aside-container--afiliado .affiliate-satisfaction__meter {
    height: 8px !important;
    border-radius: 999px !important;
    background:
        linear-gradient(90deg, transparent 0 19%, #ffffff 19% 20%, transparent 20% 39%, #ffffff 39% 40%, transparent 40% 59%, #ffffff 59% 60%, transparent 60% 79%, #ffffff 79% 80%, transparent 80% 100%),
        linear-gradient(90deg, #ffd6d6 0%, #ffe8c2 36%, #eff7cd 66%, #14a44d 100%) !important;
}

.aside-container--afiliado .affiliate-satisfaction__meter span {
    background: #13a34f !important;
}

.aside-container--afiliado .affiliate-redirect-note {
    margin-top: 2px !important;
    color: #526270 !important;
    font-size: 12px !important;
    line-height: 1.38 !important;
}

.aside-container--afiliado .affiliate-action-notes {
    color: #66737f !important;
    font-size: 10.5px !important;
    line-height: 1.32 !important;
}


/* Garantia visual do selo quando CSS assíncrono entra depois do skeleton. */
.product-badge-row[data-product-featured="true"] .product-featured-badge {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}


/* =========================================================
   Meios de pagamento - card limpo, alinhado e confiável
   ========================================================= */
.product-detail-page .aside-pagamentos .aside-container {
    padding: 18px 20px !important;
    border: 1px solid #e3e8ee !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .05) !important;
}

.product-detail-page .title-pagamentos {
    margin: 0 0 14px !important;
    color: #1f2d3a !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
}

.payment-method-list {
    display: grid;
    gap: 12px;
}

.payment-method-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    padding: 0 0 12px;
    border-bottom: 1px solid #eef2f6;
}

.payment-method-row:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.payment-method-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.payment-method-copy strong {
    color: #263746;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 500;
}

.payment-method-copy span {
    color: #667789;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 400;
}

.payment-method-flags {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    min-width: 0;
}

.payment-brand {
    display: block !important;
    flex: 0 0 auto;
    width: auto !important;
    max-width: 42px !important;
    height: 24px !important;
    object-fit: contain !important;
    margin: 0 !important;
}

.payment-brand--pix {
    max-width: 54px !important;
}

.payment-brand--boleto {
    max-width: 42px !important;
}

@media (max-width: 768px) {
    .product-detail-page .aside-pagamentos .aside-container {
        padding: 16px !important;
    }

    .payment-method-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
    }
}

/* =========================================================
   Botões da página de produto no padrão global
   ========================================================= */
.product-detail-page .btn-comprar-agora,
.product-detail-page .btn-amazon-offer {
    min-height: 42px !important;
    border: 0 !important;
    border-radius: 5px !important;
    background: #16a34a !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    box-shadow: none !important;
}

.product-detail-page .btn-comprar-agora:hover,
.product-detail-page .btn-amazon-offer:hover,
.product-detail-page .btn-comprar-agora:focus-visible,
.product-detail-page .btn-amazon-offer:focus-visible {
    background: #128a3f !important;
    color: #ffffff !important;
}

.product-detail-page .btn-add-carrinho {
    min-height: 42px !important;
    border: 0 !important;
    border-radius: 5px !important;
    background: #e7f1ff !important;
    color: #0056b3 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    box-shadow: none !important;
}

.product-detail-page .btn-add-carrinho:hover,
.product-detail-page .btn-add-carrinho:focus-visible {
    background: #d8eaff !important;
    color: #0056b3 !important;
}


/* =========================================================
   Botões criados no construtor: padrão real e responsivo
   ========================================================= */
.product-detail-page .builder-action-wrapper,
.product-detail-page .builder-botao {
    max-width: 100%;
}

.product-detail-page .builder-action-form {
    display: inline-flex;
    max-width: 100%;
    margin: 0;
}

.product-detail-page .builder-action-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
    min-height: 42px !important;
    padding: 10px 18px !important;
    border: 0 !important;
    border-radius: 5px !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-wrap: balance;
    cursor: pointer !important;
    box-shadow: none !important;
    transform: none;
    transition: background-color .16s ease, transform .16s ease, opacity .16s ease;
}

.product-detail-page .builder-action-button--buy {
    background: #16a34a !important;
    color: #ffffff !important;
}

.product-detail-page .builder-action-button--primary {
    background: #0056b3 !important;
    color: #ffffff !important;
}

.product-detail-page .builder-action-button--buy:hover,
.product-detail-page .builder-action-button--buy:focus-visible {
    background: #128a3f !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

.product-detail-page .builder-action-button--primary:hover,
.product-detail-page .builder-action-button--primary:focus-visible {
    background: #004a9c !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

@media (max-width: 480px) {
    .product-detail-page .builder-action-button {
        padding: 10px 14px !important;
        font-size: clamp(14px, 3.75vw, 16px) !important;
        line-height: 1.25 !important;
    }
}

/* =========================================================
   Aside de pagamento padronizado para Vida Elite e Amazon
   Mantém a mesma estrutura visual sem alterar o fluxo de compra.
   ========================================================= */
.product-detail-page .aside-pagamentos--inline {
    display: block;
    width: 100%;
    margin-top: 12px;
}

.product-detail-page .payment-confidence-card {
    min-height: 224px;
    padding: 18px 20px !important;
    border: 1px solid #e3e8ee !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .05) !important;
}

.product-detail-page .aside-pagamentos--afiliado .payment-confidence-card {
    min-height: 238px;
}

.product-detail-page .payment-card-heading {
    display: grid;
    gap: 4px;
    margin-bottom: 14px;
}

.product-detail-page .payment-card-heading .title-pagamentos {
    margin: 0 !important;
}

.product-detail-page .payment-card-heading p {
    margin: 0;
    color: #5f6f80;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 400;
}

.product-detail-page .payment-partner-note {
    margin: 14px 0 0;
    padding-top: 12px;
    border-top: 1px solid #eef2f6;
    color: #6b7b8c;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 400;
}

.product-detail-page .aside-pagamentos--afiliado .payment-method-copy span,
.product-detail-page .aside-pagamentos--afiliado .payment-partner-note {
    color: #617386;
}

html.product-structure-loading .aside-pagamentos .payment-confidence-card::before {
    background:
        linear-gradient(#e3e6e9, #e3e6e9) 0 0 / 176px 22px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 34px / 204px 12px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 70px / 68px 16px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) right 0 top 64px / 54px 25px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 118px / 132px 16px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) right 0 top 112px / 138px 25px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 166px / 126px 16px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) right 0 top 160px / 42px 25px no-repeat,
        linear-gradient(#e3e6e9, #e3e6e9) 0 212px / 92% 12px no-repeat,
        #ffffff;
}

@media (max-width: 768px) {
    .product-detail-page .payment-confidence-card,
    .product-detail-page .aside-pagamentos--afiliado .payment-confidence-card {
        min-height: 224px;
        padding: 16px !important;
    }

    .product-detail-page .payment-card-heading {
        margin-bottom: 12px;
    }
}
