/* =====================================================================
   Página de produto - VERSÃO RESPONSIVA COMPLETA
   ===================================================================== */

.produto-topo { 
    display: grid; 
    grid-template-columns: 1.1fr 1fr; 
    gap: 56px; 
    padding-bottom: 40px; 
}

/* Galeria */
.galeria { 
    display: flex; 
    flex-direction: column; 
    gap: 14px; 
}

.galeria__principal { 
    aspect-ratio: 4/5; 
    background: var(--areia); 
    border-radius: 3px; 
    overflow: hidden; 
}

.galeria__principal img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
}

.galeria__miniaturas { 
    display: flex; 
    gap: 12px; 
    flex-wrap: wrap;
}

.miniatura { 
    width: 78px; 
    aspect-ratio: 4/5; 
    border: 1px solid var(--linha); 
    border-radius: 2px; 
    overflow: hidden; 
    padding: 0; 
    transition: var(--transicao); 
    cursor: pointer;
}

.miniatura img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
}

.miniatura.ativa { 
    border-color: var(--vinho); 
}

/* Info */
.produto-info__categoria { 
    font-size: 12px; 
    letter-spacing: 3px; 
    text-transform: uppercase; 
    color: var(--texto-suave); 
}

.produto-info__nome { 
    font-size: clamp(28px, 4vw, 42px); 
    margin: 10px 0 14px; 
}

.produto-info__avaliacao { 
    display: flex; 
    align-items: center; 
    gap: 12px; 
    font-size: 13px; 
    color: var(--texto-suave); 
    margin-bottom: 22px; 
    flex-wrap: wrap;
}

.produto-info__avaliacao a:hover { 
    color: var(--bordo); 
}

.produto-info__preco { 
    display: flex; 
    align-items: baseline; 
    flex-wrap: wrap; 
    gap: 12px; 
    margin-bottom: 16px; 
}

.produto-info__preco .preco-atual { 
    font-size: 30px; 
    font-weight: 700; 
    color: #2c0a0d; 
}

.preco-antigo {
    font-size: 18px;
    color: var(--texto-suave);
    text-decoration: line-through;
}

.produto-info__parcela { 
    width: 100%; 
    font-size: 13px; 
    color: var(--texto-suave); 
}

.produto-info__desc { 
    color: var(--texto-suave); 
    line-height: 1.8; 
    margin-bottom: 28px; 
}

/* Opções */
.opcao { 
    margin-bottom: 24px; 
}

.opcao__label { 
    display: block; 
    font-size: 13px; 
    letter-spacing: 1px; 
    text-transform: uppercase; 
    margin-bottom: 12px; 
}

.opcao__label span { 
    color: var(--bordo); 
    font-weight: 600; 
}

.cores { 
    display: flex; 
    gap: 12px; 
    flex-wrap: wrap;
}

.cor { 
    width: 34px; 
    height: 34px; 
    border-radius: 50%; 
    border: 2px solid transparent; 
    box-shadow: 0 0 0 1px var(--linha); 
    transition: var(--transicao); 
    cursor: pointer;
}

.cor.ativa { 
    border-color: #fff; 
    box-shadow: 0 0 0 2px var(--vinho); 
}

.tamanhos { 
    display: flex; 
    gap: 10px; 
    flex-wrap: wrap; 
}

.tamanho {
    min-width: 48px; 
    height: 48px; 
    padding: 0 12px; 
    border: 1px solid var(--linha);
    border-radius: var(--raio); 
    font-size: 14px; 
    letter-spacing: 1px; 
    transition: var(--transicao); 
    background: var(--creme);
    cursor: pointer;
}

.tamanho:hover { 
    border-color: var(--vinho); 
}

.tamanho.ativa { 
    background: var(--vinho-medio); 
    color: #fff; 
    border-color: var(--vinho-medio); 
}

.opcao__aviso { 
    color: #b3261e; 
    font-size: 13px; 
    margin-top: 8px; 
}

/* Ações */
.produto-info__acoes { 
    display: flex; 
    gap: 14px; 
    margin: 28px 0 16px; 
}

.quantidade { 
    display: flex; 
    align-items: center; 
    border: 1px solid var(--linha); 
    border-radius: var(--raio); 
}

.quantidade button { 
    width: 46px; 
    height: 52px; 
    font-size: 20px; 
    color: var(--texto); 
    cursor: pointer;
    transition: background 0.2s;
}

.quantidade button:hover {
    background: var(--creme-escuro);
}

.quantidade input { 
    width: 48px; 
    height: 52px; 
    text-align: center; 
    border: none; 
    background: transparent; 
    font-family: var(--sans); 
    font-size: 16px; 
    -moz-appearance: textfield; 
}

.quantidade input::-webkit-outer-spin-button, 
.quantidade input::-webkit-inner-spin-button { 
    -webkit-appearance: none; 
}

.produto-info__acoes .btn { 
    height: 52px; 
    flex: 1; 
}

.produto-info__favoritar { 
    display: inline-flex; 
    align-items: center; 
    gap: 8px; 
    color: var(--texto-suave); 
    font-size: 13px; 
    letter-spacing: 1px; 
    padding: 8px 0; 
    transition: var(--transicao); 
    cursor: pointer;
}

.produto-info__favoritar svg { 
    fill: none; 
    stroke: currentColor; 
    stroke-width: 1.6; 
}

.produto-info__favoritar:hover { 
    color: var(--bordo); 
}

.produto-info__favoritar.ativo { 
    color: var(--bordo); 
}

.produto-info__favoritar.ativo svg { 
    fill: var(--bordo); 
    stroke: var(--bordo); 
}

.produto-info__beneficios { 
    margin-top: 28px; 
    border-top: 1px solid var(--linha); 
    padding-top: 22px; 
    display: grid; 
    gap: 12px; 
}

.produto-info__beneficios li { 
    font-size: 13px; 
    color: var(--texto-suave); 
    padding-left: 24px; 
    position: relative; 
}

.produto-info__beneficios li::before { 
    content: '✓'; 
    position: absolute; 
    left: 0; 
    color: var(--dourado); 
    font-weight: 700; 
}

/* Abas */
.produto-abas { 
    margin-top: 32px; 
}

.abas__nav { 
    display: flex; 
    gap: 32px; 
    border-bottom: 1px solid var(--linha); 
}

.aba { 
    padding: 16px 0; 
    font-size: 13px; 
    letter-spacing: 2px; 
    text-transform: uppercase; 
    color: var(--texto-suave); 
    border-bottom: 2px solid transparent; 
    margin-bottom: -1px; 
    transition: var(--transicao); 
    cursor: pointer;
    white-space: nowrap;
}

.aba.ativa { 
    color: var(--vinho); 
    border-color: var(--vinho); 
}

.aba-conteudo { 
    display: none; 
    padding: 32px 0; 
}

.aba-conteudo.ativa { 
    display: block; 
}

.specs-tabela { 
    width: 100%; 
    max-width: 600px; 
    border-collapse: collapse; 
}

.specs-tabela tr { 
    border-bottom: 1px solid var(--linha); 
}

.specs-tabela th { 
    text-align: left; 
    padding: 14px 0; 
    width: 200px; 
    font-weight: 600; 
    font-family: var(--sans); 
    color: var(--texto); 
}

.specs-tabela td { 
    padding: 14px 0; 
    color: var(--texto-suave); 
}

/* Avaliações */
.avaliacoes__resumo { 
    display: flex; 
    align-items: center; 
    gap: 24px; 
    padding-bottom: 28px; 
    margin-bottom: 28px; 
    border-bottom: 1px solid var(--linha); 
}

.avaliacoes__nota { 
    font-family: var(--serif); 
    font-size: 56px; 
    color: var(--vinho); 
}

.avaliacoes__resumo p { 
    font-size: 13px; 
    color: var(--texto-suave); 
    margin-top: 4px; 
}

.avaliacao { 
    padding: 18px 0; 
    border-bottom: 1px solid var(--linha); 
}

.avaliacao__cabecalho { 
    display: flex; 
    align-items: center; 
    gap: 12px; 
    margin-bottom: 6px; 
    flex-wrap: wrap;
}

.avaliacao p { 
    color: var(--texto-suave); 
}

.estrelas { 
    font-size: 15px; 
}

.relacionados { 
    background: var(--creme-escuro); 
}

/* ============================================================
   STATUS DE ESTOQUE - PÁGINA DO PRODUTO
   ============================================================ */
.produto-info__estoque {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-radius: 8px;
    margin: 12px 0 16px 0;
    font-weight: 500;
    flex-wrap: wrap;
}

.produto-info__estoque.status-disponivel {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.produto-info__estoque.status-encomenda {
    background: #fff3cd;
    color: #856404;
    border: 1px solid #ffeaa7;
}

.produto-info__estoque.status-ultimas {
    background: #fff3cd;
    color: #856404;
    border: 1px solid #ffeaa7;
}

.produto-info__estoque.status-esgotado {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.produto-info__estoque .estoque-icone {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.produto-info__estoque .estoque-texto {
    font-weight: 600;
    font-size: 15px;
}

.produto-info__estoque .estoque-detalhe {
    font-size: 13px;
    font-weight: 400;
    opacity: 0.8;
    margin-left: 4px;
}

.produto-info__estoque .estoque-detalhe::before {
    content: "·";
    margin-right: 6px;
}

/* ============================================================
   SELEÇÃO DE PAGAMENTO: PIX / PARCELADO
   ============================================================ */
.produto-info__pagamento {
    margin: 12px 0 20px;
    padding: 14px 16px;
    background: #f8f6f2;
    border-radius: 6px;
    border: 1px solid #e8e2da;
}

.pagamento-header {
    margin-bottom: 10px;
}

.pagamento-titulo {
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #7a6f64;
}

.pagamento-opcoes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}

.pagamento-opcao {
    border: 1.5px solid #e8e2da;
    border-radius: 6px;
    padding: 8px 12px;
    cursor: pointer;
    transition: all 0.25s ease;
    background: #fff;
}

.pagamento-opcao:hover {
    border-color: #c9a24b;
    background: #faf6f0;
}

.pagamento-opcao.ativo {
    border-color: #c9a24b;
    background: #faf6f0;
    box-shadow: 0 0 0 2px rgba(201, 162, 75, 0.12);
}

.pagamento-opcao input[type="radio"] {
    display: none;
}

.pagamento-opcao label {
    cursor: pointer;
    display: grid;
    grid-template-columns: 28px 1fr auto;
    align-items: center;
    gap: 6px;
    width: 100%;
}

.pagamento-icone {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7a6f64;
}

.pagamento-opcao.ativo .pagamento-icone {
    color: #c9a24b;
}

.pagamento-label {
    font-size: 12px;
    font-weight: 500;
    color: #2c0a0d;
    letter-spacing: 0.3px;
}

.pagamento-valor {
    font-size: 13px;
    font-weight: 600;
    color: #2c0a0d;
    text-align: right;
    white-space: nowrap;
}

.pagamento-opcao.ativo .pagamento-valor {
    color: #c9a24b;
}

.pagamento-detalhe {
    font-size: 9px;
    color: #9a8f84;
    text-align: right;
    grid-column: 3;
    display: block;
    font-weight: 400;
}

/* Parcelas Dropdown */
.parcelas-dropdown {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #e8e2da;
}

.parcelas-dropdown select {
    width: 100%;
    padding: 8px 14px;
    border: 1px solid #e8e2da;
    border-radius: 4px;
    font-size: 13px;
    background: #fff;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237a6f64' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    transition: border-color 0.3s;
}

.parcelas-dropdown select:hover {
    border-color: #c9a24b;
}

.parcelas-dropdown select:focus {
    outline: none;
    border-color: #c9a24b;
    box-shadow: 0 0 0 3px rgba(201, 162, 75, 0.1);
}

/* ============================================================
   RESPONSIVIDADE - TABLET (820px - 1024px)
   ============================================================ */
@media (max-width: 1024px) {
    .produto-topo { 
        gap: 32px; 
    }

    .grid-produtos {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

/* ============================================================
   RESPONSIVIDADE - MOBILE GRANDE (768px - 820px)
   ============================================================ */
@media (max-width: 820px) {
    .produto-topo { 
        grid-template-columns: 1fr; 
        gap: 32px;
        padding: 0 16px 32px;
    }

    /* 🔴 GALERIA - CORREÇÃO PARA OCUPAR 100% DA LARGURA */
    .galeria {
        width: 100%;
        max-width: 100%;
        padding: 0;
    }

    .galeria__principal { 
        aspect-ratio: 4/5; 
        max-height: 480px;
        width: 100%;
        border-radius: 4px;
        overflow: hidden;
    }

    .galeria__principal img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .galeria__miniaturas { 
        gap: 8px; 
        justify-content: center;
        flex-wrap: wrap;
        width: 100%;
    }

    .miniatura { 
        width: 60px; 
        aspect-ratio: 4/5;
        flex-shrink: 0;
    }

    /* Info */
    .produto-info {
        width: 100%;
        padding: 0;
    }

    .produto-info__nome { 
        font-size: 26px; 
        margin: 8px 0 10px; 
    }

    .produto-info__preco .preco-atual { 
        font-size: 26px; 
    }

    .preco-antigo {
        font-size: 16px;
    }

    .produto-info__desc { 
        font-size: 14px; 
        margin-bottom: 20px; 
    }

    /* Pagamento */
    .pagamento-opcoes {
        grid-template-columns: 1fr 1fr;
        gap: 6px;
    }

    .pagamento-opcao {
        padding: 10px 12px;
    }

    .pagamento-opcao label {
        grid-template-columns: 24px 1fr auto;
        gap: 4px;
    }

    .pagamento-icone svg {
        width: 18px;
        height: 18px;
    }

    .pagamento-valor {
        font-size: 12px;
    }

    .pagamento-label {
        font-size: 11px;
    }

    /* Ações */
    .produto-info__acoes {
        flex-direction: column;
        gap: 10px;
        margin: 20px 0 12px;
    }

    .quantidade {
        width: 100%;
        justify-content: center;
    }

    .quantidade button {
        width: 48px;
        height: 48px;
        font-size: 18px;
    }

    .quantidade input {
        width: 56px;
        height: 48px;
        font-size: 16px;
    }

    .produto-info__acoes .btn {
        height: 48px;
        flex: 1;
        font-size: 15px;
    }

    /* Favoritar */
    .produto-info__favoritar {
        font-size: 12px;
        justify-content: center;
        padding: 6px 0;
    }

    /* Benefícios */
    .produto-info__beneficios {
        gap: 8px;
        padding-top: 16px;
        margin-top: 20px;
    }

    .produto-info__beneficios li {
        font-size: 12px;
        padding-left: 20px;
    }

    /* Abas */
    .produto-abas {
        margin-top: 16px;
        padding: 0 16px;
    }

    .abas__nav {
        gap: 16px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 2px;
    }

    .abas__nav::-webkit-scrollbar {
        display: none;
    }

    .aba {
        font-size: 11px;
        letter-spacing: 1.5px;
        padding: 12px 0;
        white-space: nowrap;
        flex-shrink: 0;
    }

    .aba-conteudo {
        padding: 20px 0;
        font-size: 14px;
    }

    /* Tabela de especificações */
    .specs-tabela {
        width: 100%;
        font-size: 13px;
    }

    .specs-tabela th {
        width: 120px;
        padding: 10px 0;
        font-size: 12px;
    }

    .specs-tabela td {
        padding: 10px 0;
        font-size: 13px;
    }

    /* Avaliações */
    .avaliacoes__resumo {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding-bottom: 20px;
        margin-bottom: 20px;
    }

    .avaliacoes__nota {
        font-size: 40px;
    }

    .avaliacao {
        padding: 14px 0;
    }

    .avaliacao__cabecalho {
        flex-wrap: wrap;
        gap: 8px;
    }

    .avaliacao p {
        font-size: 13px;
    }

    /* Migalhas */
    .migalhas {
        font-size: 12px;
        padding: 12px 16px;
        white-space: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .migalhas::-webkit-scrollbar {
        display: none;
    }

    /* Estoque */
    .produto-info__estoque {
        padding: 8px 14px;
        font-size: 13px;
        margin: 8px 0 12px;
        gap: 8px;
    }

    .produto-info__estoque .estoque-texto {
        font-size: 13px;
    }

    .produto-info__estoque .estoque-detalhe {
        font-size: 11px;
    }

    /* Relacionados */
    .relacionados .grid-produtos {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }
}

/* ============================================================
   RESPONSIVIDADE - MOBILE PEQUENO (480px - 767px)
   ============================================================ */
@media (max-width: 768px) {
    .produto-topo {
        padding: 0 16px 24px;
        gap: 24px;
    }

    /* 🔴 GALERIA - CORREÇÃO PARA OCUPAR 100% DA LARGURA */
    .galeria {
        width: 100%;
        padding: 0;
    }

    .galeria__principal {
        max-height: 440px;
        width: 100%;
        border-radius: 4px;
    }

    .galeria__miniaturas {
        justify-content: center;
        gap: 8px;
    }

    .miniatura {
        width: 56px;
    }

    .produto-info__nome {
        font-size: 24px;
        margin: 6px 0 8px;
    }
}

/* ============================================================
   RESPONSIVIDADE - MOBILE PEQUENO (até 480px)
   ============================================================ */
@media (max-width: 480px) {
    .produto-topo {
        padding: 0 12px 20px;
        gap: 16px;
    }

    /* 🔴 GALERIA - 100% DA LARGURA SEM PADDING EXTRA */
    .galeria {
        width: 100%;
        padding: 0;
        margin: 0;
    }

    .galeria__principal {
        aspect-ratio: 4/5;
        max-height: 380px;
        width: 100%;
        border-radius: 3px;
        overflow: hidden;
    }

    .galeria__principal img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .galeria__miniaturas {
        gap: 6px;
        justify-content: center;
        width: 100%;
    }

    .miniatura {
        width: 48px;
        border-radius: 2px;
        flex-shrink: 0;
    }

    .miniatura img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /* 🔴 INFO - GARANTIR QUE OCUPE 100% */
    .produto-info {
        width: 100%;
        padding: 0;
    }

    .produto-info__categoria {
        font-size: 10px;
        letter-spacing: 2px;
    }

    .produto-info__nome {
        font-size: 20px;
        margin: 4px 0 6px;
        line-height: 1.2;
    }

    .produto-info__avaliacao {
        font-size: 12px;
        gap: 8px;
        margin-bottom: 14px;
        flex-wrap: wrap;
    }

    .produto-info__avaliacao .estrelas {
        font-size: 13px;
    }

    .produto-info__preco {
        gap: 8px;
        margin-bottom: 10px;
    }

    .produto-info__preco .preco-atual {
        font-size: 22px;
    }

    .preco-antigo {
        font-size: 14px;
    }

    .produto-info__parcela {
        font-size: 12px;
    }

    .produto-info__desc {
        font-size: 13px;
        line-height: 1.6;
        margin-bottom: 16px;
    }

    /* Opções */
    .opcao {
        margin-bottom: 16px;
    }

    .opcao__label {
        font-size: 11px;
        letter-spacing: 0.5px;
        margin-bottom: 8px;
    }

    .cor {
        width: 28px;
        height: 28px;
    }

    .tamanho {
        min-width: 40px;
        height: 40px;
        padding: 0 8px;
        font-size: 12px;
        border-radius: 4px;
    }

    /* Pagamento */
    .produto-info__pagamento {
        padding: 12px;
        margin: 8px 0 14px;
        border-radius: 4px;
    }

    .pagamento-titulo {
        font-size: 10px;
    }

    .pagamento-opcoes {
        grid-template-columns: 1fr 1fr;
        gap: 4px;
    }

    .pagamento-opcao {
        padding: 8px 10px;
        border-radius: 4px;
    }

    .pagamento-opcao label {
        grid-template-columns: 20px 1fr auto;
        gap: 4px;
    }

    .pagamento-icone svg {
        width: 16px;
        height: 16px;
    }

    .pagamento-label {
        font-size: 10px;
    }

    .pagamento-valor {
        font-size: 11px;
    }

    .parcelas-dropdown select {
        font-size: 12px;
        padding: 6px 10px;
    }

    /* Ações */
    .produto-info__acoes {
        margin: 14px 0 10px;
        gap: 8px;
        flex-direction: column;
    }

    .quantidade {
        width: 100%;
        justify-content: center;
    }

    .quantidade button {
        width: 42px;
        height: 44px;
        font-size: 16px;
    }

    .quantidade input {
        width: 48px;
        height: 44px;
        font-size: 14px;
    }

    .produto-info__acoes .btn {
        height: 44px;
        font-size: 13px;
        width: 100%;
    }

    .produto-info__favoritar {
        font-size: 11px;
        gap: 6px;
        justify-content: center;
    }

    .produto-info__favoritar svg {
        width: 16px;
        height: 16px;
    }

    /* Benefícios */
    .produto-info__beneficios {
        gap: 6px;
        padding-top: 12px;
        margin-top: 14px;
    }

    .produto-info__beneficios li {
        font-size: 11px;
        padding-left: 18px;
    }

    /* Abas */
    .produto-abas {
        margin-top: 8px;
        padding: 0 12px;
    }

    .abas__nav {
        gap: 12px;
    }

    .aba {
        font-size: 10px;
        letter-spacing: 1px;
        padding: 10px 0;
    }

    .aba-conteudo {
        padding: 14px 0;
        font-size: 13px;
    }

    .specs-tabela {
        font-size: 12px;
    }

    .specs-tabela th {
        width: 90px;
        padding: 8px 0;
        font-size: 11px;
    }

    .specs-tabela td {
        padding: 8px 0;
        font-size: 12px;
    }

    /* Avaliações */
    .avaliacoes__nota {
        font-size: 34px;
    }

    .avaliacao {
        padding: 12px 0;
    }

    .avaliacao p {
        font-size: 12px;
    }

    .avaliacao__cabecalho {
        font-size: 13px;
    }

    /* Estoque */
    .produto-info__estoque {
        padding: 6px 12px;
        font-size: 12px;
        margin: 6px 0 10px;
        border-radius: 6px;
        gap: 6px;
        flex-wrap: wrap;
    }

    .produto-info__estoque .estoque-texto {
        font-size: 12px;
    }

    .produto-info__estoque .estoque-detalhe {
        font-size: 10px;
    }

    .produto-info__estoque .estoque-icone svg {
        width: 16px;
        height: 16px;
    }

    /* Relacionados */
    .relacionados .grid-produtos {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
        padding: 0 4px;
    }

    .relacionados .secao-titulo {
        margin-bottom: 24px;
    }

    .relacionados .secao-titulo__nome {
        font-size: 24px;
    }
}

/* ============================================================
   RESPONSIVIDADE - TELA MUITO PEQUENA (até 360px)
   ============================================================ */
@media (max-width: 360px) {
    .produto-topo {
        padding: 0 8px 16px;
        gap: 12px;
    }

    .galeria__principal {
        max-height: 280px;
        width: 100%;
    }

    .galeria__miniaturas {
        gap: 4px;
    }

    .miniatura {
        width: 40px;
    }

    .produto-info__nome {
        font-size: 18px;
    }

    .produto-info__preco .preco-atual {
        font-size: 20px;
    }

    .preco-antigo {
        font-size: 13px;
    }

    .pagamento-opcoes {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .pagamento-opcao {
        padding: 6px 10px;
    }

    .pagamento-opcao label {
        grid-template-columns: 18px 1fr auto;
    }

    .quantidade button {
        width: 36px;
        height: 38px;
        font-size: 14px;
    }

    .quantidade input {
        width: 40px;
        height: 38px;
        font-size: 13px;
    }

    .produto-info__acoes .btn {
        height: 38px;
        font-size: 12px;
        padding: 0 12px;
    }

    .tamanho {
        min-width: 36px;
        height: 36px;
        font-size: 11px;
        padding: 0 6px;
    }

    .cor {
        width: 24px;
        height: 24px;
    }

    .relacionados .grid-produtos {
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }
}

/* ============================================================
   RESPONSIVIDADE - ORIENTAÇÃO PAISAGEM EM MOBILE
   ============================================================ */
@media (max-height: 500px) and (orientation: landscape) {
    .produto-topo {
        gap: 16px;
        padding: 0 16px 16px;
    }

    .galeria__principal {
        max-height: 60vh;
        width: 100%;
    }

    .galeria__miniaturas {
        gap: 6px;
    }

    .miniatura {
        width: 48px;
    }

    .produto-info__nome {
        font-size: 20px;
        margin: 4px 0 6px;
    }

    .produto-info__estoque {
        padding: 4px 10px;
        margin: 4px 0 8px;
        font-size: 11px;
    }

    .produto-info__preco .preco-atual {
        font-size: 20px;
    }

    .produto-info__acoes {
        margin: 12px 0 8px;
        flex-direction: row;
    }

    .quantidade button {
        width: 36px;
        height: 38px;
        font-size: 14px;
    }

    .quantidade input {
        width: 40px;
        height: 38px;
        font-size: 13px;
    }

    .produto-info__acoes .btn {
        height: 38px;
        font-size: 12px;
    }

    .produto-info__favoritar {
        font-size: 10px;
        padding: 4px 0;
    }

    .produto-info__beneficios {
        margin-top: 12px;
        padding-top: 12px;
        gap: 4px;
    }

    .produto-info__beneficios li {
        font-size: 10px;
        padding-left: 16px;
    }

    .opcao {
        margin-bottom: 10px;
    }

    .opcao__label {
        font-size: 10px;
        margin-bottom: 6px;
    }

    .tamanho {
        min-width: 34px;
        height: 34px;
        font-size: 11px;
        padding: 0 6px;
    }

    .cor {
        width: 24px;
        height: 24px;
    }

    .produto-info__pagamento {
        padding: 8px 12px;
        margin: 4px 0 10px;
    }

    .pagamento-opcoes {
        gap: 4px;
    }

    .pagamento-opcao {
        padding: 4px 8px;
    }
}
/* ============================================================
   CUPONS NO PRODUTO
   ============================================================ */
.produto-info__cupons {
    margin: 16px 0 20px;
    padding: 14px 18px;
    background: #e8f5e9;
    border-radius: 8px;
    border-left: 4px solid #28a745;
    transition: all 0.3s ease;
}

.produto-info__cupons:hover {
    background: #d4edda;
    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.15);
}

.produto-info__cupons .cupom-icon {
    font-size: 20px;
    flex-shrink: 0;
}

.produto-info__cupons .cupom-label {
    font-weight: 600;
    color: #2c0a0d;
    font-size: 13px;
    letter-spacing: 0.5px;
}

.produto-info__cupons .cupom-desc {
    color: #155724;
    font-size: 14px;
    font-weight: 500;
    display: block;
    margin-top: 2px;
}

.produto-info__cupons .cupom-detalhe {
    font-size: 12px;
    color: #2c0a0d;
    opacity: 0.7;
    display: block;
    margin-top: 2px;
}

/* ============================================================
   RESPONSIVO - CUPONS
   ============================================================ */
@media (max-width: 480px) {
    .produto-info__cupons {
        padding: 12px 14px;
        margin: 12px 0 16px;
        border-radius: 6px;
    }

    .produto-info__cupons .cupom-icon {
        font-size: 18px;
    }

    .produto-info__cupons .cupom-label {
        font-size: 12px;
    }

    .produto-info__cupons .cupom-desc {
        font-size: 13px;
    }
}