/**
 * WooCommerce Single Product Layout - Estilos específicos
 * Tema Kadoche - Design System VIX 2.0
 */

/* ==========================================================================
   OVERRIDE GLOBAL - PLUGIN CFVSW (Color/Image Swatches)
   Estes estilos DEVEM sobrescrever o plugin de swatches
   ========================================================================== */

/* RESET - Remover estilos inline do plugin */
.single-product .cfvsw-swatches-container,
.single-product .cfvsw-swatches-option {
    all: unset !important;
    box-sizing: border-box !important;
}

/* Container principal das variações */
.single-product table.variations {
    width: 100% !important;
    margin-bottom: 20px !important;
    border-collapse: collapse !important;
}

.single-product table.variations tr {
    display: block !important;
    margin-bottom: 20px !important;
}

.single-product table.variations td.label {
    display: block !important;
    padding: 0 0 12px 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #333 !important;
}

.single-product table.variations td.value {
    display: block !important;
    padding: 0 !important;
}

/* SWATCHES DE COR - Estilo Zattini (imagens 72px) */
.single-product .cfvsw-swatches-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.single-product .cfvsw-swatches-option {
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    border-radius: 8px !important;
    border: 2px solid #e5e5e5 !important;
    background: #f5f5f5 !important;
    overflow: hidden !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
}

.single-product .cfvsw-swatches-option .cfvsw-swatch-inner,
.single-product .cfvsw-swatches-option .cfvsw-swatch-span,
.single-product .cfvsw-swatches-option span {
    width: 100% !important;
    height: 100% !important;
    border-radius: 6px !important;
    display: block !important;
}

.single-product .cfvsw-swatches-option img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.single-product .cfvsw-swatches-option.cfvsw-selected {
    border-color: #2C3E50 !important;
    border-width: 3px !important;
}

/* SWATCHES DE TAMANHO - Grid 4 colunas */
.single-product table.variations tr:last-child .cfvsw-swatches-container {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
}

.single-product table.variations tr:last-child .cfvsw-swatches-option {
    width: 100% !important;
    max-width: 100% !important;
    min-width: unset !important;
    height: 48px !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 6px !important;
    background: #fff !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
}

.single-product table.variations tr:last-child .cfvsw-swatches-option .cfvsw-swatch-inner,
.single-product table.variations tr:last-child .cfvsw-swatches-option span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.single-product table.variations tr:last-child .cfvsw-swatches-option.cfvsw-selected {
    border-color: #333 !important;
    border-width: 2px !important;
    font-weight: 600 !important;
}

.single-product table.variations tr:last-child .cfvsw-swatches-option.cfvsw-out-of-stock {
    opacity: 0.35 !important;
    cursor: not-allowed !important;
    border-style: dashed !important;
}

/* Esconder select dropdown original */
.single-product table.variations select {
    display: none !important;
}

/* Botão limpar seleção - OCULTAR */
.single-product .reset_variations {
    display: none !important;
}

/* ==========================================================================
   FIM DO OVERRIDE GLOBAL
   ========================================================================== */

/* ==========================================================================
   QUANTIDADE + BOTÃO - Layout lado a lado
   ========================================================================== */

.quantity-button-row {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.quantity-button-row .quantity {
    flex: 0 0 auto;
}

.quantity-button-row .single_add_to_cart_button {
    flex: 1;
}

/* Prevenir overflow horizontal */
body.single-product,
.single-product #page {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

/* Prevenir scroll automático nas tabs */
html {
    scroll-behavior: auto !important;
}

.woocommerce-tabs {
    scroll-margin-top: 0 !important;
    scroll-padding-top: 0 !important;
}

/* Container principal */
.woocommerce div.product {
    display: block !important;
}

/* Forçar largura total na div summary do WooCommerce */
.woocommerce div.product div.summary {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}

/* Ocultar mensagens de erro de variação no topo */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
    display: none !important;
}

.product-single-container {
    padding: 20px 0 !important;
    overflow-x: hidden !important;
    max-width: 100% !important;
}

.product-single-layout {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 60px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

/* Coluna da galeria */
.product-gallery-column {
    position: sticky !important;
    top: 0 !important;
    align-self: start !important;
}

/* Coluna de informações */
.product-info-column {
    padding: 0 !important;
    width: 100% !important;
}

.product-info-content {
    max-width: 100% !important;
    width: 100% !important;
}

/* Título do produto */
.product-info-content .product-title {
    font-size: 2rem !important;
    font-weight: 400 !important;
    margin-bottom: 20px !important;
    color: #2C3E50 !important;
    letter-spacing: -0.5px !important;
    line-height: 1.3 !important;
    width: 100% !important;
}

/* Preço */
.product-info-content .product-price {
    font-size: 1.75rem !important;
    font-weight: 600 !important;
    color: #E74C3C !important;
    margin-bottom: 30px !important;
}

.product-info-content .product-price del {
    color: #95A5A6 !important;
    font-size: 1.25rem !important;
    font-weight: 400 !important;
    margin-right: 10px !important;
}

/* Descrição curta */
.product-info-content .product-description {
    margin-bottom: 30px !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
    color: #34495E !important;
}

/* Variações com estilo de botões */
.product-info-content .variations {
    margin-bottom: 20px !important;
}

.product-info-content .variations tbody tr {
    display: block !important;
    margin-bottom: 24px !important;
}

.product-info-content .variations tbody tr td {
    display: block !important;
}

/* Labels de variação (COR, TAMANHO) - VISÍVEIS */
.product-info-content .variations tbody tr td.label,
.woocommerce .variations td.label,
.variations td.label,
table.variations td.label {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    padding: 0 !important;
    margin-bottom: 12px !important;
}

.product-info-content .variations tbody tr td.label label,
.woocommerce .variations td.label label,
.variations td.label label,
table.variations td.label label {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: #2C3E50 !important;
}

.product-info-content .variations tbody tr td.value {
    padding: 0 !important;
}

/* Esconder o select padrão */
.product-info-content .variations select,
.woocommerce .variations select,
table.variations select {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    visibility: hidden !important;
}

/* Container dos botões de variação */
.product-info-content .variations .variation-radios,
.woocommerce .variations .variation-radios,
table.variations .variation-radios {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin-top: 10px !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
}

/* Esconder inputs radio */
.product-info-content .variations .variation-radios input[type="radio"],
.woocommerce .variations .variation-radios input[type="radio"],
table.variations .variation-radios input[type="radio"] {
    display: none !important;
    position: absolute !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Botões de TAMANHO - estilo retangular com fundo cinza */
.product-info-content .variations .variation-radios.variation-size,
.woocommerce .variations .variation-radios.variation-size,
table.variations .variation-radios.variation-size {
    display: flex !important;
    gap: 10px !important;
    visibility: visible !important;
}

.product-info-content .variations .variation-radios.variation-size label,
.woocommerce .variations .variation-radios.variation-size label,
table.variations .variation-radios.variation-size label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 50px !important;
    height: 45px !important;
    padding: 0 20px !important;
    border: 2px solid transparent !important;
    border-radius: 8px !important;
    background: #f5f5f5 !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #666 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-align: center !important;
    box-sizing: border-box !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.product-info-content .variations .variation-radios.variation-size label span,
.woocommerce .variations .variation-radios.variation-size label span,
table.variations .variation-radios.variation-size label span {
    display: inline-block !important;
    color: #666 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.product-info-content .variations .variation-radios.variation-size label:hover,
.woocommerce .variations .variation-radios.variation-size label:hover,
table.variations .variation-radios.variation-size label:hover {
    background: #e8e8e8 !important;
    color: #333 !important;
}

.product-info-content .variations .variation-radios.variation-size label:hover span,
.woocommerce .variations .variation-radios.variation-size label:hover span,
table.variations .variation-radios.variation-size label:hover span {
    color: #333 !important;
}

.product-info-content .variations .variation-radios.variation-size input[type="radio"]:checked + label,
.woocommerce .variations .variation-radios.variation-size input[type="radio"]:checked + label,
table.variations .variation-radios.variation-size input[type="radio"]:checked + label {
    border-color: #000 !important;
    background: #000 !important;
    color: #fff !important;
}

.product-info-content .variations .variation-radios.variation-size input[type="radio"]:checked + label span,
.woocommerce .variations .variation-radios.variation-size input[type="radio"]:checked + label span,
table.variations .variation-radios.variation-size input[type="radio"]:checked + label span {
    color: #fff !important;
}

/* Botões de COR - círculos coloridos */
.product-info-content .variations .variation-radios.variation-color,
.woocommerce .variations .variation-radios.variation-color,
table.variations .variation-radios.variation-color {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.product-info-content .variations .variation-radios.variation-color label,
.woocommerce .variations .variation-radios.variation-color label,
table.variations .variation-radios.variation-color label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 50px !important;
    width: 50px !important;
    height: 50px !important;
    padding: 0 !important;
    border: 3px solid #ddd !important;
    border-radius: 50% !important;
    background: transparent !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    position: relative !important;
    box-sizing: border-box !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
}

.product-info-content .variations .variation-radios.variation-color label .color-circle,
.woocommerce .variations .variation-radios.variation-color label .color-circle,
table.variations .variation-radios.variation-color label .color-circle {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    display: block !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 1 !important;
    visibility: visible !important;
    opacity: 1 !important;
    border: 1px solid rgba(0,0,0,0.1) !important;
}

.product-info-content .variations .variation-radios.variation-color label span:not(.color-circle),
.woocommerce .variations .variation-radios.variation-color label span:not(.color-circle),
table.variations .variation-radios.variation-color label span:not(.color-circle) {
    position: absolute !important;
    left: -9999px !important;
    opacity: 0 !important;
    font-size: 0 !important;
    width: 0 !important;
    height: 0 !important;
    visibility: hidden !important;
}

.product-info-content .variations .variation-radios.variation-color label:hover,
.woocommerce .variations .variation-radios.variation-color label:hover,
table.variations .variation-radios.variation-color label:hover {
    border-color: #999 !important;
    transform: scale(1.05) !important;
}

.product-info-content .variations .variation-radios.variation-color input[type="radio"]:checked + label,
.woocommerce .variations .variation-radios.variation-color input[type="radio"]:checked + label,
table.variations .variation-radios.variation-color input[type="radio"]:checked + label {
    border-color: #000 !important;
    border-width: 3px !important;
    transform: scale(1.1) !important;
}

/* Variações desabilitadas/indisponíveis */
.variation-radios label.disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    position: relative !important;
}

.variation-radios label.disabled:hover {
    transform: none !important;
    border-color: rgba(0,0,0,0.1) !important;
}

.woocommerce .variations .variation-radios.variation-color label span.unavailable-badge,
table.variations .variation-radios.variation-color label span.unavailable-badge,
.woocommerce .variations .variation-radios.variation-size label span.unavailable-badge,
table.variations .variation-radios.variation-size label span.unavailable-badge{
    position: absolute !important;
    top: -5px !important;
    right: -5px !important;
    background: #d32f2f !important;
    color: white !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
    font-weight: bold !important;
    line-height: 1 !important;
    z-index: 10 !important;
    pointer-events: none !important;
    left: initial !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.product-info-content .variation-item {
    margin-bottom: 20px !important;
}

/* Quantidade e botão adicionar ao carrinho */
.quantity-and-add-to-cart {
    display: flex !important;
    gap: 20px !important;
    align-items: center !important;
    margin-bottom: 30px !important;
}

.quantity-and-add-to-cart .quantity {
    flex-shrink: 0 !important;
}

.quantity-and-add-to-cart .quantity input {
    width: 80px !important;
    padding: 12px !important;
    border: 2px solid #ECF0F1 !important;
    border-radius: 8px !important;
    text-align: center !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
}

.quantity-and-add-to-cart .single_add_to_cart_button {
    flex: 1 !important;
    padding: 14px 32px !important;
    background: #2C3E50 !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 30px !important;
    font-weight: 500 !important;
    font-size: 1rem !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.quantity-and-add-to-cart .single_add_to_cart_button:hover {
    background: #E74C3C !important;
    transform: translateY(-2px) !important;
}

/* Galeria de imagens - layout com thumbnails na vertical à esquerda */
.woocommerce-product-gallery,
.woocommerce div.product div.images.woocommerce-product-gallery {
    display: flex !important;
    flex-direction: row-reverse !important;
    gap: 15px !important;
    position: relative !important;
}

.woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    flex: 1 !important;
    margin: 0 !important;
    position: relative !important;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image {
    margin-bottom: 0 !important;
    position: relative !important;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 12px !important;
    transition: none !important;
}

/* Thumbnails na vertical à esquerda */
.woocommerce-product-gallery .flex-control-thumbs,
.woocommerce-product-gallery .gallery-thumbnails {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.woocommerce-product-gallery .flex-control-thumbs li,
.woocommerce-product-gallery .gallery-thumbnails .thumbnail {
    border-radius: 8px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    opacity: 0.6 !important;
    transition: all 0.3s ease !important;
    border: 2px solid transparent !important;
    width: 100% !important;
    margin: 0 !important;
}

.woocommerce-product-gallery .flex-control-thumbs li:hover,
.woocommerce-product-gallery .flex-control-thumbs li.flex-active,
.woocommerce-product-gallery .gallery-thumbnails .thumbnail:hover,
.woocommerce-product-gallery .gallery-thumbnails .thumbnail.active {
    opacity: 1 !important;
    border-color: var(--accent-color, #c5a47e) !important;
}

.woocommerce-product-gallery .flex-control-thumbs li img,
.woocommerce-product-gallery .gallery-thumbnails .thumbnail img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* Product Features (Entrega, Compra Segura, Troca) */
.product-features {
    margin: 30px 0 !important;
    padding: 20px !important;
    background: #F8F9FA !important;
    border-radius: 8px !important;
}

.product-features-content {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
}

.product-features-content .feature-item,
.product-custom-features .feature-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    padding: 20px 15px !important;
    background: #FFFFFF !important;
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
    text-align: center !important;
}

.product-features-content .feature-item:hover,
.product-custom-features .feature-item:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
}

.product-features-content .feature-item svg,
.product-custom-features .feature-item svg {
    flex-shrink: 0 !important;
    color: #E74C3C !important;
}

.product-features-content .feature-item span,
.product-custom-features .feature-item span {
    font-size: 0.9rem !important;
    color: #2C3E50 !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

/* Custom Features (se vier do template) */
.product-custom-features {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    margin: 30px 0 !important;
}

/* Descrição completa */
.product-full-description {
    margin-top: 60px !important;
    padding-top: 60px !important;
    border-top: 1px solid #ECF0F1 !important;
}

.product-full-description h2 {
    font-size: 1.5rem !important;
    font-weight: 400 !important;
    margin-bottom: 20px !important;
}

.product-full-description .description-content {
    line-height: 1.8 !important;
    color: #34495E !important;
}

/* Responsive */
@media (max-width: 1024px) {
    .product-single-layout {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    .product-gallery-column {
        position: static !important;
    }

    .product-info-content {
        max-width: 100% !important;
    }

    .product-features-content {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }
}

/* Responsivo - Tablet */
@media (max-width: 991px) {
    .product-single-layout {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        padding: 0 15px !important;
    }

    .product-gallery-column {
        position: relative !important;
        top: 0 !important;
    }
}

/* Responsivo - Mobile (98% do tráfego) */
@media (max-width: 768px) {
    /* ================================================
       SINGLE PRODUCT MOBILE - EXPERIÊNCIA OTIMIZADA
       ================================================ */

    .product-single-container {
        padding: 0 !important;
    }

    .product-single-layout {
        display: block !important;
        gap: 0 !important;
        padding: 0 !important;
    }

    /* Breadcrumb Mobile */
    .woocommerce-breadcrumb {
        padding: 12px 16px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    .woocommerce-breadcrumb::-webkit-scrollbar {
        display: none !important;
    }

    /* Galeria Mobile - Full width */
    .product-gallery-column {
        position: relative !important;
        top: 0 !important;
        margin: 0 !important;
        width: 100% !important;
    }

    .woocommerce-product-gallery {
        margin-bottom: 0 !important;
    }

    .woocommerce-product-gallery .woocommerce-product-gallery__image img,
    .woocommerce-product-gallery .flex-viewport img {
        width: 100% !important;
        height: auto !important;
        border-radius: 0 !important;
        aspect-ratio: 3 / 4 !important;
        object-fit: cover !important;
    }

    /* Setas da galeria - maior área de toque */
    .woocommerce-product-gallery .flex-direction-nav a {
        width: 44px !important;
        height: 44px !important;
        background: rgba(255,255,255,0.9) !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .woocommerce-product-gallery .gallery-thumbnails {
        display: flex !important;
        gap: 8px !important;
        padding: 12px 16px !important;
        margin: 0 !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    .woocommerce-product-gallery .gallery-thumbnails::-webkit-scrollbar {
        display: none !important;
    }

    .woocommerce-product-gallery .gallery-thumbnails .thumbnail {
        flex: 0 0 64px !important;
        width: 64px !important;
        height: 80px !important;
        overflow: hidden !important;
        border-radius: 4px !important;
        border: 2px solid transparent !important;
    }

    .woocommerce-product-gallery .gallery-thumbnails .thumbnail.active,
    .woocommerce-product-gallery .gallery-thumbnails .thumbnail:focus {
        border-color: #C9A961 !important;
    }

    .woocommerce-product-gallery .gallery-thumbnails .thumbnail img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    /* ================================================
       INFO DO PRODUTO MOBILE
       ================================================ */
    .product-info-column {
        padding: 20px 16px !important;
    }

    /* Título */
    .product-info-content .product-title {
        font-size: 1.375rem !important;
        font-weight: 500 !important;
        margin-bottom: 16px !important;
        line-height: 1.3 !important;
        color: #1A1A1A !important;
    }

    /* ================================================
       PREÇOS - HIERARQUIA CLARA
       ================================================ */
    .product-info-content .product-price {
        margin-bottom: 20px !important;
        padding: 16px !important;
        background: #f8f8f8 !important;
        border-radius: 8px !important;
    }

    /* Preço original riscado */
    .product-info-content .product-price del {
        display: block !important;
        font-size: 14px !important;
        color: #999 !important;
        margin-bottom: 4px !important;
    }

    /* Preço atual / à vista */
    .product-info-content .product-price ins,
    .product-info-content .product-price > .woocommerce-Price-amount {
        font-size: 1.5rem !important;
        font-weight: 700 !important;
        color: #1A1A1A !important;
        text-decoration: none !important;
        display: block !important;
    }

    /* Preço PIX com destaque */
    .product-info-content .pix-price,
    .product-info-content .price-pix {
        display: block !important;
        margin-top: 8px !important;
        padding: 12px !important;
        background: #e8f5e9 !important;
        border-radius: 6px !important;
        font-size: 13px !important;
        color: #2e7d32 !important;
    }

    .product-info-content .pix-price strong,
    .product-info-content .price-pix strong {
        font-size: 1.25rem !important;
        display: block !important;
        margin-top: 4px !important;
    }

    /* Parcelamento */
    .product-info-content .installments,
    .product-info-content .price-installments {
        display: block !important;
        margin-top: 8px !important;
        font-size: 13px !important;
        color: #666 !important;
    }

    /* Descrição curta */
    .product-info-content .product-description,
    .product-info-content .woocommerce-product-details__short-description {
        font-size: 14px !important;
        line-height: 1.6 !important;
        margin-bottom: 20px !important;
    }

    /* Variações Mobile - Touch Friendly */
    .product-info-content .variations {
        margin-bottom: 20px !important;
    }

    .product-info-content .variations tbody tr {
        display: block !important;
        margin-bottom: 16px !important;
    }

    .product-info-content .variations tbody tr td.label {
        display: block !important;
        margin-bottom: 8px !important;
        padding: 0 !important;
    }

    .product-info-content .variations tbody tr td.label label {
        font-size: 12px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        color: #666 !important;
    }

    .product-info-content .variations tbody tr td.value {
        display: block !important;
        padding: 0 !important;
    }

    .product-info-content .variations select,
    .variations select {
        width: 100% !important;
        min-height: 48px !important;
        padding: 12px 40px 12px 16px !important;
        font-size: 16px !important;
        border: 1px solid #ddd !important;
        border-radius: 4px !important;
        background-color: #fff !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: right 12px center !important;
        background-size: 16px !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    /* Botões de cor/tamanho se existirem */
    .product-info-content .variation-buttons,
    .product-info-content .color-swatches,
    .product-info-content .size-swatches {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .product-info-content .variation-button,
    .product-info-content .color-swatch,
    .product-info-content .size-swatch {
        min-width: 44px !important;
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Quantidade e Add to Cart Mobile */
    .quantity-and-add-to-cart {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
        margin-top: 20px !important;
    }

    .quantity-and-add-to-cart .quantity {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        border: 1px solid #ddd !important;
        border-radius: 4px !important;
        overflow: hidden !important;
    }

    .quantity-and-add-to-cart .quantity button,
    .quantity-and-add-to-cart .quantity .qty-btn {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        border: none !important;
        background: #f5f5f5 !important;
        font-size: 20px !important;
        font-weight: 500 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
    }

    .quantity-and-add-to-cart .quantity input {
        width: 100% !important;
        flex: 1 !important;
        min-height: 48px !important;
        border: none !important;
        border-left: 1px solid #ddd !important;
        border-right: 1px solid #ddd !important;
        text-align: center !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        -moz-appearance: textfield !important;
    }

    .quantity-and-add-to-cart .quantity input::-webkit-outer-spin-button,
    .quantity-and-add-to-cart .quantity input::-webkit-inner-spin-button {
        -webkit-appearance: none !important;
        margin: 0 !important;
    }

    /* Botão Comprar Mobile - Full Width e Touch Friendly */
    .quantity-and-add-to-cart .single_add_to_cart_button,
    .single_add_to_cart_button {
        width: 100% !important;
        min-height: 52px !important;
        padding: 16px 24px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        border-radius: 4px !important;
    }

    /* Meta do produto */
    .product-meta,
    .product_meta {
        margin-top: 24px !important;
        padding-top: 20px !important;
        border-top: 1px solid #eee !important;
    }

    .product-meta > span,
    .product_meta > span {
        display: block !important;
        font-size: 13px !important;
        margin-bottom: 8px !important;
    }

    /* Compartilhar */
    .product-share {
        margin-top: 20px !important;
        padding-top: 20px !important;
        border-top: 1px solid #eee !important;
    }

    .product-share a {
        min-width: 44px !important;
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Features */
    .product-features-content {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .product-features-content .feature-item {
        justify-content: flex-start !important;
        text-align: left !important;
        padding: 12px 16px !important;
        background: #f9f9f9 !important;
        border-radius: 4px !important;
    }

    /* Tabs Mobile */
    .woocommerce-tabs {
        margin-top: 32px !important;
    }

    .woocommerce-tabs ul.tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid #eee !important;
        margin-bottom: 20px !important;
    }

    .woocommerce-tabs ul.tabs li {
        flex-shrink: 0 !important;
    }

    .woocommerce-tabs ul.tabs li a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 48px !important;
        padding: 12px 20px !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        white-space: nowrap !important;
        border-bottom: 2px solid transparent !important;
    }

    .woocommerce-tabs ul.tabs li.active a {
        border-bottom-color: #c5a47e !important;
        color: #c5a47e !important;
    }

    .woocommerce-tabs .panel {
        padding: 0 16px 24px !important;
    }

    .woocommerce-tabs .panel h2 {
        font-size: 1.125rem !important;
        margin-bottom: 16px !important;
    }

    .woocommerce-tabs .panel p,
    .woocommerce-tabs .panel li {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    /* Produtos relacionados mobile */
    .related.products,
    .upsells.products {
        padding: 32px 0 !important;
    }

    .related.products > h2,
    .upsells.products > h2 {
        font-size: 1.25rem !important;
        margin-bottom: 20px !important;
        padding: 0 16px !important;
    }

    .related.products ul.products,
    .upsells.products ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
        padding: 0 16px !important;
    }
}

/* Small Mobile - 480px */
@media (max-width: 480px) {
    .product-info-content .product-title {
        font-size: 1.125rem !important;
    }

    .product-info-content .product-price {
        font-size: 1.25rem !important;
    }

    .woocommerce-product-gallery .gallery-thumbnails {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 4px !important;
        padding: 8px 12px !important;
    }

    .woocommerce-tabs ul.tabs li a {
        padding: 12px 16px !important;
        font-size: 12px !important;
    }
}

/* Preços na página de produto individual - um embaixo do outro */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 5px !important;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
    display: block !important;
    font-size: 1rem !important;
    color: #999 !important;
    text-decoration: line-through !important;
    order: 1 !important;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
    display: block !important;
    text-decoration: none !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #000 !important;
    order: 2 !important;
}

.woocommerce div.product p.price .amount,
.woocommerce div.product span.price .amount {
    display: inline !important;
}

/* Vídeos na galeria de produtos */
.woocommerce-product-gallery__video {
    position: relative !important;
}

.woocommerce-product-gallery__video .video-container {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    cursor: pointer !important;
}

.woocommerce-product-gallery__video .video-container img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

.woocommerce-product-gallery__video .video-container video {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

.woocommerce-product-gallery__video .video-play-button {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 80px !important;
    height: 80px !important;
    background: rgba(0, 0, 0, 0.7) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: white !important;
    font-size: 32px !important;
    transition: all 0.3s ease !important;
    pointer-events: none !important;
}

.woocommerce-product-gallery__video .video-container:hover .video-play-button {
    background: rgba(211, 47, 47, 0.9) !important;
    transform: translate(-50%, -50%) scale(1.1) !important;
}

.woocommerce-product-gallery__video .video-container.playing .video-play-button {
    display: none !important;
}

.woocommerce-product-gallery__video .video-container iframe {
    width: 100% !important;
    height: 500px !important;
    border: none !important;
}

/* Thumb do vídeo na galeria lateral */
.woocommerce-product-gallery .flex-control-thumbs li img[src*="youtube"],
.woocommerce-product-gallery .flex-control-thumbs li img[src*="vimeo"],
.woocommerce-product-gallery .gallery-thumbnails .thumbnail img[src*="youtube"],
.woocommerce-product-gallery .gallery-thumbnails .thumbnail img[src*="vimeo"] {
    position: relative !important;
}

.woocommerce-product-gallery .flex-control-thumbs li img[src*="youtube"]::after,
.woocommerce-product-gallery .flex-control-thumbs li img[src*="vimeo"]::after {
    content: '▶' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: white !important;
    font-size: 20px !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5) !important;
}

/* ==========================================================================
   REFINAMENTOS DESIGN SYSTEM VIX - PADRÃO INSTITUCIONAL
   ========================================================================== */

/* Estilos de botão e quantidade movidos para o final do arquivo */

/* ==========================================================================
   COMPRE JUNTO - DESIGN SYSTEM VIX HERO
   ========================================================================== */

/* Container Principal */
.buy-together-section {
    margin: 20px 0 40px 0 !important;
    padding: 40px !important;
    background: #f0ebe4 !important;
    border: none !important;
    border-radius: 0 !important;
}

/* Header */
.buy-together-header {
    margin-bottom: 25px !important;
}

/* Título "Compre Junto" */
.buy-together-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 1.75rem !important;
    font-weight: 500 !important;
    font-style: italic !important;
    color: #2C3E50 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    border: none !important;
    display: inline-block !important;
}

/* Badge de desconto */
.buy-together-badge {
    display: inline-block !important;
    font-family: 'Montserrat', 'Helvetica Neue', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    color: #c5a47e !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-left: 0 !important;
    background: none !important;
    padding: 0 !important;
    vertical-align: middle !important;
}

/* Grid de produtos */
.buy-together-products {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-bottom: 30px !important;
}

/* Card de produto individual */
.buy-together-item {
    position: relative !important;
    flex: 1 1 200px !important;
    max-width: 220px !important;
    text-align: center !important;
    padding: 15px 10px !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
}

.buy-together-item:hover {
    background: rgba(255,255,255,0.5) !important;
}

/* Sinal de + entre produtos */
.buy-together-plus {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 25px !important;
    flex-shrink: 0 !important;
    font-size: 1.75rem !important;
    font-weight: 300 !important;
    color: #ccc !important;
    align-self: center !important;
    margin-top: 0 !important;
    padding-top: 50px !important;
}

/* Checkbox container */
.buy-together-checkbox {
    margin-bottom: 12px !important;
}

/* Checkbox customizado */
.buy-together-product-checkbox,
.buy-together-item input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    width: 20px !important;
    height: 20px !important;
    border: 2px solid #c5a47e !important;
    border-radius: 3px !important;
    background: #fff !important;
    cursor: pointer !important;
    position: relative !important;
    margin: 0 auto !important;
    display: block !important;
    transition: all 0.2s ease !important;
}

.buy-together-product-checkbox:checked,
.buy-together-item input[type="checkbox"]:checked {
    background: #c5a47e !important;
    border-color: #c5a47e !important;
}

.buy-together-product-checkbox:checked::after,
.buy-together-item input[type="checkbox"]:checked::after {
    content: "✓" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.buy-together-product-checkbox:disabled {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
}

/* Imagem do produto */
.buy-together-image {
    margin-bottom: 15px !important;
    overflow: hidden !important;
}

.buy-together-image img {
    width: 100% !important;
    max-width: 200px !important;
    height: auto !important;
    aspect-ratio: 3/4 !important;
    margin: 0 auto !important;
    display: block !important;
    border-radius: 0 !important;
    object-fit: cover !important;
    transition: transform 0.3s ease !important;
}

.buy-together-item:hover .buy-together-image img {
    transform: scale(1.03) !important;
}

/* Detalhes do produto */
.buy-together-details {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}

.buy-together-details h4 {
    font-family: 'Montserrat', 'Helvetica Neue', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    color: #2C3E50 !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.4 !important;
    min-height: 48px !important;
}

.buy-together-details h4 a {
    color: #2C3E50 !important;
    text-decoration: none !important;
}

.buy-together-details h4 a:hover {
    color: #c5a47e !important;
}

/* Preço */
.buy-together-details .price {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    margin-bottom: 0 !important;
    height: 55px !important;
}

.buy-together-details .price del {
    display: block !important;
    font-size: 0.75rem !important;
    color: #999 !important;
    text-decoration: line-through !important;
    margin-bottom: 2px !important;
}

.buy-together-details .price ins,
.buy-together-details .price > .woocommerce-Price-amount,
.buy-together-details .price > .amount {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #2C3E50 !important;
    text-decoration: none !important;
    background: none !important;
}

/* Container das variações (selects) */
.buy-together-variations {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    justify-content: center !important;
    margin-top: 15px !important;
    padding-top: 0 !important;
}

/* Selects de variação - Design System VIX */
.buy-together-variation-select,
.buy-together-variations select {
    width: auto !important;
    min-width: 80px !important;
    max-width: 100px !important;
    height: 34px !important;
    padding: 0 28px 0 10px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    font-family: 'Montserrat', 'Helvetica Neue', sans-serif !important;
    font-size: 0.7rem !important;
    font-weight: 500 !important;
    color: #2C3E50 !important;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%232C3E50' d='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 8px center !important;
    background-size: 8px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.buy-together-variation-select:hover,
.buy-together-variations select:hover {
    border-color: #c5a47e !important;
}

.buy-together-variation-select:focus,
.buy-together-variations select:focus {
    outline: none !important;
    border-color: #c5a47e !important;
    box-shadow: 0 0 0 2px rgba(197, 164, 126, 0.15) !important;
}

/* Summary / Total */
.buy-together-summary {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding-top: 25px !important;
    border-top: 1px solid #e8e8e8 !important;
    margin-top: 20px !important;
}

.buy-together-total {
    margin-bottom: 20px !important;
}

.price-breakdown {
    margin-bottom: 8px !important;
}

.buy-together-total .original-total {
    display: block !important;
    font-size: 0.9rem !important;
    color: #888 !important;
    font-weight: 400 !important;
}

.buy-together-total .discount-info {
    display: block !important;
    font-size: 0.8rem !important;
    color: #888 !important;
    font-weight: 400 !important;
    margin-top: 2px !important;
}

.buy-together-total .final-price {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.buy-together-total .total-label {
    font-size: 0.95rem !important;
    color: #2C3E50 !important;
    font-weight: 400 !important;
}

.buy-together-total .total-price {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #2C3E50 !important;
}

/* Botão Adicionar - Design System VIX */
.buy-together-btn,
button.buy-together-btn,
.buy-together-section .button.alt {
    display: inline-block !important;
    padding: 16px 40px !important;
    background: #2C3E50 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-family: 'Montserrat', 'Helvetica Neue', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.buy-together-btn:hover,
button.buy-together-btn:hover,
.buy-together-section .button.alt:hover {
    background: #1a252f !important;
    color: #fff !important;
}

.buy-together-btn:disabled,
button.buy-together-btn:disabled {
    background: #ccc !important;
    cursor: not-allowed !important;
}

/* Responsivo para Compre Junto */
@media (max-width: 1200px) {
    .buy-together-item {
        flex: 1 1 180px !important;
        max-width: 200px !important;
    }

    .buy-together-image img {
        max-width: 180px !important;
    }
}

@media (max-width: 992px) {
    .buy-together-item {
        flex: 1 1 150px !important;
        max-width: 170px !important;
    }

    .buy-together-image img {
        max-width: 150px !important;
    }

    .buy-together-plus {
        width: 20px !important;
        font-size: 1.5rem !important;
    }
}

@media (max-width: 768px) {
    .buy-together-section {
        padding: 20px 16px !important;
        margin: 24px -16px 32px !important;
        width: calc(100% + 32px) !important;
    }

    .buy-together-header {
        margin-bottom: 16px !important;
    }

    .buy-together-title {
        font-size: 1.25rem !important;
    }

    .buy-together-products {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: flex-start !important;
        gap: 12px !important;
    }

    .buy-together-item {
        flex: 0 0 calc(50% - 20px) !important;
        width: calc(50% - 20px) !important;
        max-width: none !important;
        min-width: 130px !important;
    }

    .buy-together-checkbox {
        top: 6px !important;
        left: 6px !important;
    }

    .buy-together-product-checkbox,
    .buy-together-item input[type="checkbox"] {
        width: 24px !important;
        height: 24px !important;
    }

    .buy-together-image {
        margin-bottom: 8px !important;
    }

    .buy-together-image img {
        max-width: 100% !important;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 3 / 4 !important;
        object-fit: cover !important;
    }

    .buy-together-details h4 {
        font-size: 12px !important;
        margin-bottom: 4px !important;
        line-height: 1.3 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    .buy-together-details .price {
        height: auto !important;
        margin-bottom: 8px !important;
    }

    .buy-together-details .price del {
        font-size: 10px !important;
    }

    .buy-together-details .price ins,
    .buy-together-details .price > .woocommerce-Price-amount,
    .buy-together-details .price > .amount {
        font-size: 13px !important;
    }

    .buy-together-variations {
        gap: 6px !important;
    }

    .buy-together-variation-select,
    .buy-together-variations select {
        min-height: 40px !important;
        padding: 8px 28px 8px 10px !important;
        font-size: 12px !important;
        background-position: right 6px center !important;
        background-size: 12px !important;
    }

    .buy-together-plus {
        flex: 0 0 20px !important;
        width: 20px !important;
        font-size: 1.25rem !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        align-self: center !important;
    }

    .buy-together-summary {
        margin-top: 20px !important;
        padding-top: 16px !important;
        gap: 12px !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }

    .buy-together-total {
        text-align: center !important;
    }

    .buy-together-total .total-label {
        font-size: 12px !important;
    }

    .buy-together-total .total-price {
        font-size: 1.25rem !important;
    }

    .buy-together-btn {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 48px !important;
        font-size: 13px !important;
        padding: 14px 24px !important;
    }
}

/* Small Mobile - Compre Junto */
@media (max-width: 480px) {
    .buy-together-section {
        padding: 16px 12px !important;
    }

    .buy-together-item {
        flex: 0 0 calc(50% - 8px) !important;
        width: calc(50% - 8px) !important;
        min-width: 110px !important;
    }

    .buy-together-details h4 {
        font-size: 11px !important;
        -webkit-line-clamp: 1 !important;
    }

    .buy-together-details .price ins,
    .buy-together-details .price > .woocommerce-Price-amount {
        font-size: 12px !important;
    }

    .buy-together-variation-select,
    .buy-together-variations select {
        min-height: 36px !important;
        padding: 6px 24px 6px 8px !important;
        font-size: 11px !important;
    }

    .buy-together-plus {
        display: none !important;
    }
}

/* Legacy classes fallback */
.wcsb-wrapper,
[class*="compre-junto"],
.frequently-bought-together,
.wpc-bundle-wrapper {
    margin: 60px 0 !important;
    padding: 40px !important;
    background: #faf9f7 !important;
    border: none !important;
    border-radius: 0 !important;
}

/* Título Compre Junto */
.wcsb-wrapper > h2,
.wcsb-wrapper > h3,
[class*="compre-junto"] > h2,
[class*="compre-junto"] > h3,
.wcsb-wrapper > .wcsb-title,
[class*="compre-junto"] .wcsb-title,
.wpc-bundle-wrapper > h2 {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 1.75rem !important;
    font-weight: 500 !important;
    font-style: italic !important;
    color: #2C3E50 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    border: none !important;
    letter-spacing: 0 !important;
}

/* Badge de desconto no topo */
.wcsb-wrapper .wcsb-discount,
[class*="compre-junto"] .discount-label,
.wcsb-discount-badge {
    display: inline-block !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    color: #c5a47e !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 25px !important;
    background: none !important;
    padding: 0 !important;
}

/* Grid de produtos - 4 colunas com separadores */
.wcsb-products,
.wcsb-wrapper .products,
.wcsb-wrapper .wcsb-products,
[class*="compre-junto"] .products,
.wpc-bundle-products {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 0 !important;
    margin-bottom: 30px !important;
}

/* Card de produto individual */
.wcsb-product,
.wcsb-wrapper .product-item,
.wcsb-wrapper .wcsb-product,
[class*="compre-junto"] .product-item,
.wpc-bundle-product {
    position: relative !important;
    flex: 0 0 auto !important;
    width: 180px !important;
    text-align: center !important;
    padding: 20px 15px !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    transition: all 0.3s ease !important;
}

/* Separador "+" entre produtos */
.wcsb-product + .wcsb-product::before,
.wcsb-wrapper .wcsb-product + .wcsb-product::before,
.wcsb-product-plus,
.wcsb-plus {
    content: "+" !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    font-size: 1.25rem !important;
    font-weight: 300 !important;
    color: #999 !important;
    position: absolute !important;
    left: -15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.wcsb-product:hover,
.wpc-bundle-product:hover {
    background: rgba(255,255,255,0.5) !important;
}

/* Checkbox customizado */
.wcsb-product input[type="checkbox"],
.wcsb-wrapper input[type="checkbox"],
.wpc-bundle-product input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #c5a47e !important;
    border-radius: 3px !important;
    background: #fff !important;
    cursor: pointer !important;
    position: relative !important;
    margin: 0 auto 12px auto !important;
    display: block !important;
    transition: all 0.2s ease !important;
}

.wcsb-product input[type="checkbox"]:checked,
.wcsb-wrapper input[type="checkbox"]:checked,
.wpc-bundle-product input[type="checkbox"]:checked {
    background: #c5a47e !important;
    border-color: #c5a47e !important;
}

.wcsb-product input[type="checkbox"]:checked::after,
.wcsb-wrapper input[type="checkbox"]:checked::after,
.wpc-bundle-product input[type="checkbox"]:checked::after {
    content: "✓" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

/* Imagem do produto */
.wcsb-product img,
.wcsb-wrapper .wcsb-product img,
.wpc-bundle-product img {
    max-width: 140px !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto 15px !important;
    display: block !important;
    border-radius: 0 !important;
    object-fit: cover !important;
}

/* Título do produto */
.wcsb-product .product-title,
.wcsb-product .wcsb-product-name,
.wcsb-wrapper .wcsb-product-name,
.wpc-bundle-product .wpc-product-name {
    font-family: 'Montserrat', 'Helvetica Neue', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    color: #2C3E50 !important;
    margin-bottom: 8px !important;
    line-height: 1.4 !important;
    display: block !important;
    min-height: 40px !important;
}

/* Preço no compre junto */
.wcsb-product .price,
.wcsb-wrapper .wcsb-product .wcsb-product-price,
.wpc-bundle-product .price {
    font-size: 0.85rem !important;
    margin-bottom: 12px !important;
}

.wcsb-product .price del,
.wcsb-wrapper .wcsb-product-price del {
    display: block !important;
    font-size: 0.75rem !important;
    color: #999 !important;
    text-decoration: line-through !important;
    margin-bottom: 2px !important;
}

.wcsb-product .price ins,
.wcsb-product .price > .amount,
.wcsb-wrapper .wcsb-product-price ins,
.wcsb-wrapper .wcsb-product-price > .woocommerce-Price-amount {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #2C3E50 !important;
    text-decoration: none !important;
    background: none !important;
}

/* Selects de variação - Design System VIX */
.wcsb-product select,
.wcsb-wrapper select,
.wcsb-wrapper .wcsb-product select,
.wpc-bundle-product select {
    width: 100% !important;
    max-width: 150px !important;
    height: 36px !important;
    padding: 0 30px 0 12px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    font-family: 'Montserrat', 'Helvetica Neue', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    color: #2C3E50 !important;
    margin: 4px auto !important;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232C3E50' d='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 10px center !important;
    background-size: 10px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: block !important;
}

.wcsb-product select:hover,
.wcsb-wrapper select:hover,
.wpc-bundle-product select:hover {
    border-color: #c5a47e !important;
}

.wcsb-product select:focus,
.wcsb-wrapper select:focus,
.wpc-bundle-product select:focus {
    outline: none !important;
    border-color: #c5a47e !important;
    box-shadow: 0 0 0 2px rgba(197, 164, 126, 0.15) !important;
}

/* Total section */
.wcsb-total,
.wcsb-wrapper .bundle-total,
.wcsb-wrapper .wcsb-total,
.wpc-bundle-total {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: 30px !important;
    border-top: 1px solid #e8e8e8 !important;
    margin-top: 20px !important;
    gap: 8px !important;
}

/* Preço "De" */
.wcsb-total .wcsb-total-ori,
.wcsb-wrapper .wcsb-total-ori {
    font-size: 0.9rem !important;
    color: #888 !important;
    font-weight: 400 !important;
}

.wcsb-total .wcsb-total-ori del,
.wcsb-wrapper .wcsb-total-ori del {
    text-decoration: line-through !important;
}

/* Desconto percentual */
.wcsb-total .wcsb-total-discount,
.wcsb-wrapper .wcsb-total-discount {
    font-size: 0.8rem !important;
    color: #888 !important;
    font-weight: 400 !important;
}

/* Preço total */
.wcsb-total .total-price,
.wcsb-total .wcsb-total-new,
.wcsb-wrapper .wcsb-total-new,
.wpc-bundle-total .price {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    color: #2C3E50 !important;
    margin-bottom: 15px !important;
}

.wcsb-total .wcsb-total-new .woocommerce-Price-amount,
.wcsb-wrapper .wcsb-total-new .woocommerce-Price-amount {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #2C3E50 !important;
}

/* Badge de desconto inline */
.wcsb-wrapper .discount-badge,
.wcsb-total .discount,
.wpc-bundle-discount {
    display: inline-block !important;
    padding: 4px 12px !important;
    background: #27ae60 !important;
    color: #fff !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    border-radius: 4px !important;
    margin-left: 10px !important;
    text-transform: uppercase !important;
}

/* Botão adicionar selecionados - Design System VIX */
.wcsb-add-to-cart,
.wcsb-wrapper .add-to-cart-button,
.wcsb-wrapper .wcsb-btn,
.wcsb-wrapper button[type="submit"],
[class*="compre-junto"] button[type="submit"],
.wpc-bundle-add-to-cart {
    display: inline-block !important;
    padding: 16px 50px !important;
    background: #2C3E50 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-family: 'Montserrat', 'Helvetica Neue', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: 10px !important;
}

.wcsb-add-to-cart:hover,
.wcsb-wrapper .wcsb-btn:hover,
.wcsb-wrapper button[type="submit"]:hover,
[class*="compre-junto"] button[type="submit"]:hover,
.wpc-bundle-add-to-cart:hover {
    background: #1a252f !important;
}

/* Sinal de + entre os cards */
.wcsb-wrapper .wcsb-plus,
[class*="compre-junto"] .plus-sign {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.5rem !important;
    font-weight: 300 !important;
    color: #ccc !important;
    padding: 0 5px !important;
    align-self: center !important;
}

/* ==========================================================================
   TABS - DESCRIÇÃO E INFORMAÇÃO ADICIONAL
   ========================================================================== */

.woocommerce-tabs {
    margin-top: 50px !important;
    clear: both !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 0 0 0 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #ddd !important;
    overflow: visible !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    position: relative !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: inline-block !important;
    padding: 12px 25px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #777 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -1px !important;
    transition: all 0.3s ease !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: #2C3E50 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: #2C3E50 !important;
    border-bottom-color: #c5a47e !important;
    background: transparent !important;
}

/* Conteúdo das tabs */
.woocommerce div.product .woocommerce-tabs .panel {
    padding: 30px 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
    font-size: 1.3rem !important;
    font-weight: 600 !important;
    color: #2C3E50 !important;
    margin: 0 0 20px 0 !important;
}

.woocommerce div.product .woocommerce-tabs .panel p {
    font-size: 0.95rem !important;
    line-height: 1.8 !important;
    color: #555 !important;
}

/* ==========================================================================
   PRODUTOS RELACIONADOS - GRID PREMIUM
   ========================================================================== */

.related.products,
.upsells.products {
    margin-top: 60px !important;
    padding-top: 50px !important;
    border-top: 1px solid #eee !important;
}

.related.products > h2,
.upsells.products > h2 {
    font-size: 1.5rem !important;
    font-weight: 400 !important;
    color: #2C3E50 !important;
    text-align: center !important;
    margin: 0 0 40px 0 !important;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
}

.related.products ul.products,
.upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 25px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.related.products ul.products li.product,
.upsells.products ul.products li.product {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    width: 100% !important;
    float: none !important;
}

.related.products ul.products li.product a img {
    border-radius: 6px !important;
    margin-bottom: 12px !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.related.products ul.products li.product:hover a img {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1) !important;
}

.related.products ul.products li.product .woocommerce-loop-product__title,
.related.products ul.products li.product h2 {
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    color: #2C3E50 !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.4 !important;
}

.related.products ul.products li.product .price {
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #2C3E50 !important;
}

.related.products ul.products li.product .price del {
    color: #999 !important;
    font-size: 0.85rem !important;
}

.related.products ul.products li.product .price ins {
    text-decoration: none !important;
    font-weight: 700 !important;
}

/* Badge nos produtos relacionados */
.related.products ul.products li.product .onsale {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    background: #27ae60 !important;
    color: #fff !important;
    padding: 4px 10px !important;
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    border-radius: 3px !important;
    text-transform: uppercase !important;
}

/* ==========================================================================
   TRUST BADGES - REFINAMENTO
   ========================================================================== */

.product-trust-badges {
    margin-top: 25px !important;
    padding-top: 20px !important;
    border-top: 1px solid #eee !important;
}

.product-trust-badges .trust-badge {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 15px !important;
    background: #f9f9f9 !important;
    border-radius: 5px !important;
    margin-bottom: 8px !important;
    transition: background 0.3s ease !important;
}

.product-trust-badges .trust-badge:hover {
    background: #f0f0f0 !important;
}

.product-trust-badges .trust-badge svg {
    width: 18px !important;
    height: 18px !important;
    color: #c5a47e !important;
    flex-shrink: 0 !important;
}

.product-trust-badges .trust-badge span {
    font-size: 0.8rem !important;
    color: #555 !important;
    font-weight: 500 !important;
}

/* ==========================================================================
   CALCULADOR DE FRETE - LIMPO
   ========================================================================== */

.shipping-calculator-wrapper,
[class*="frete"],
[class*="shipping-calc"] {
    margin-top: 25px !important;
    padding: 20px !important;
    background: #f9f9f9 !important;
    border-radius: 6px !important;
    border: 1px solid #eee !important;
}

[class*="frete"] input[type="text"],
input[placeholder*="CEP"] {
    width: 100% !important;
    height: 45px !important;
    padding: 0 15px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    font-size: 0.9rem !important;
}

[class*="frete"] input:focus {
    border-color: #c5a47e !important;
    outline: none !important;
}

[class*="frete"] button,
[class*="frete"] input[type="submit"] {
    width: 100% !important;
    height: 42px !important;
    margin-top: 10px !important;
    background: #2C3E50 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.3s ease !important;
}

[class*="frete"] button:hover {
    background: #1a252f !important;
}

/* Mensagem de frete */
[class*="frete"] .mensagem,
[class*="frete"] .info {
    margin-top: 12px !important;
    padding: 12px !important;
    background: #fff8e1 !important;
    border-radius: 4px !important;
    font-size: 0.8rem !important;
    color: #856404 !important;
    border-left: 3px solid #ffc107 !important;
}

/* ==========================================================================
   RESPONSIVO - REFINAMENTOS
   ========================================================================== */

@media (max-width: 1200px) {
    .wcsb-products,
    .wcsb-wrapper .wcsb-products,
    [class*="compre-junto"] .products,
    .wpc-bundle-products {
        flex-wrap: wrap !important;
        justify-content: center !important;
    }

    .wcsb-product,
    .wcsb-wrapper .wcsb-product {
        width: 160px !important;
    }

    .related.products ul.products,
    .upsells.products ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 991px) {
    .wcsb-product,
    .wcsb-wrapper .wcsb-product {
        width: 140px !important;
    }

    .related.products ul.products,
    .upsells.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .wcsb-wrapper,
    [class*="compre-junto"] {
        padding: 25px 15px !important;
    }

    .wcsb-products,
    .wcsb-wrapper .wcsb-products,
    [class*="compre-junto"] .products,
    .wpc-bundle-products {
        flex-direction: column !important;
        align-items: center !important;
    }

    .wcsb-product,
    .wcsb-wrapper .wcsb-product {
        width: 100% !important;
        max-width: 250px !important;
    }

    .wcsb-wrapper .wcsb-plus,
    .wcsb-product + .wcsb-product::before {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        margin: 10px 0 !important;
    }

    .wcsb-total,
    .wcsb-wrapper .wcsb-total,
    .wpc-bundle-total {
        flex-direction: column !important;
        gap: 10px !important;
        text-align: center !important;
    }

    .wcsb-wrapper .wcsb-btn,
    .wcsb-wrapper button[type="submit"] {
        width: 100% !important;
        max-width: 300px !important;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li a {
        padding: 10px 15px !important;
        font-size: 0.7rem !important;
    }

    .related.products ul.products,
    .upsells.products ul.products {
        grid-template-columns: 1fr 1fr !important;
        gap: 15px !important;
    }
}

@media (max-width: 480px) {
    .wcsb-product,
    .wcsb-wrapper .wcsb-product {
        max-width: 200px !important;
    }

    .wcsb-wrapper select {
        max-width: 120px !important;
    }

    .related.products ul.products,
    .upsells.products ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================================
   REFINAMENTOS EXTRAS - PADRÃO INSTITUCIONAL PREMIUM
   ========================================================================== */

/* Título do produto - Elegância */
.product-summary .product_title,
.woocommerce div.product .product_title,
.entry-summary .product_title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 2rem !important;
    font-weight: 500 !important;
    color: #2C3E50 !important;
    letter-spacing: -0.5px !important;
    line-height: 1.25 !important;
    margin-bottom: 15px !important;
}

/* Categoria do produto */
.product-single-category {
    display: inline-block !important;
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #c5a47e !important;
    margin-bottom: 10px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

/* Preço principal - Destaque elegante */
.product-summary .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    color: #2C3E50 !important;
    margin-bottom: 20px !important;
}

.product-summary .price del,
.woocommerce div.product p.price del {
    color: #aaa !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    margin-right: 10px !important;
}

.product-summary .price ins,
.woocommerce div.product p.price ins {
    text-decoration: none !important;
    font-weight: 700 !important;
    color: #2C3E50 !important;
}

/* Parcelamento - Estilo discreto */
.woocommerce-product-details__short-description p,
.product-summary .woocommerce-product-details__short-description {
    font-size: 0.9rem !important;
    line-height: 1.7 !important;
    color: #555 !important;
    margin-bottom: 20px !important;
}

/* Seletor de variações - Labels refinados */
.variations_form .label,
.variations td.label {
    padding-bottom: 8px !important;
}

.variations_form .label label,
.variations td.label label {
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: #2C3E50 !important;
}

/* Swatches de variação - Visual limpo */
.variation-radios label,
.cfvsw-swatches-container .cfvsw-swatches-option {
    transition: all 0.25s ease !important;
}

/* Regras de form.cart movidas para final do arquivo */

/* Breadcrumb - Refinado */
.breadcrumb-nav {
    padding: 20px 0 !important;
    background: #fafafa !important;
    border-bottom: 1px solid #eee !important;
}

.breadcrumb-list {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0.75rem !important;
}

.breadcrumb-list a {
    color: #777 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.breadcrumb-list a:hover {
    color: #c5a47e !important;
}

.breadcrumb-separator {
    color: #ccc !important;
    margin: 0 5px !important;
}

/* Seção de produto - Padding refinado */
.product-single-section {
    padding: 40px 0 60px !important;
    background: #fff !important;
}

/* Galeria - Sombra suave nas imagens */
.woocommerce-product-gallery__image img,
.woocommerce div.product div.images img {
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.06) !important;
}

/* Thumbnails - Hover sutil */
.gallery-thumbnails .thumbnail:hover img,
.flex-control-thumbs li:hover img {
    opacity: 0.85 !important;
}

/* Estoque disponível */
.stock.in-stock {
    color: #27ae60 !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.stock.in-stock::before {
    content: '✓' !important;
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    background: #27ae60 !important;
    color: #fff !important;
    border-radius: 50% !important;
    font-size: 10px !important;
    line-height: 16px !important;
    text-align: center !important;
}

.stock.out-of-stock {
    color: #e74c3c !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
}

/* Meta do produto - SKU, categorias */
.product_meta {
    margin-top: 25px !important;
    padding-top: 20px !important;
    border-top: 1px solid #eee !important;
    font-size: 0.8rem !important;
    color: #777 !important;
}

.product_meta > span {
    display: block !important;
    margin-bottom: 6px !important;
}

.product_meta a {
    color: #555 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.product_meta a:hover {
    color: #c5a47e !important;
}

/* Animação suave para elementos interativos */
.product-summary a,
.product-summary button,
.trust-badge,
.related.products li.product {
    transition: all 0.3s ease !important;
}

/* Container máximo refinado */
.product-single-section .container {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 30px !important;
}

/* ==========================================================================
   DESIGN SYSTEM VIX - REFINAMENTO VISUAL HERO
   Mantendo estrutura e posicionamento original
   ========================================================================== */

/* ----- TIPOGRAFIA E HIERARQUIA ----- */

/* Título do produto - Elegante e sofisticado */
.product-summary .product_title,
.woocommerce div.product .product_title,
h1.product_title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 1.75rem !important;
    font-weight: 500 !important;
    color: #2C3E50 !important;
    letter-spacing: 0 !important;
    line-height: 1.3 !important;
    margin: 0 0 12px 0 !important;
}

/* SKU e Categoria - Discretos e elegantes */
.product_meta .sku_wrapper,
.product_meta .posted_in {
    display: block !important;
    font-size: 0.75rem !important;
    color: #888 !important;
    margin-bottom: 4px !important;
    font-weight: 400 !important;
}

.product_meta .sku_wrapper .sku,
.product_meta .posted_in a {
    color: #666 !important;
    text-decoration: none !important;
}

/* ----- LINK TABELA DE MEDIDAS ----- */
.size-guide-link,
a[href*="medidas"],
a[href*="size-guide"],
.tabela-medidas {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 0.8rem !important;
    color: #2C3E50 !important;
    text-decoration: none !important;
    margin-bottom: 15px !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid transparent !important;
    transition: all 0.2s ease !important;
}

.size-guide-link:hover,
a[href*="medidas"]:hover {
    color: #c5a47e !important;
    border-bottom-color: #c5a47e !important;
}

/* ----- SWATCHES DE COR - PREMIUM ----- */
.variation-radios.variation-color,
.cfvsw-swatches-container[data-attribute*="cor"] {
    display: flex !important;
    gap: 10px !important;
    margin-bottom: 8px !important;
}

.variation-radios.variation-color label,
.cfvsw-swatches-option.cfvsw-color-option {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 50% !important;
    border: 2px solid #e0e0e0 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    position: relative !important;
    box-shadow: inset 0 0 0 2px #fff !important;
}

.variation-radios.variation-color label:hover,
.cfvsw-swatches-option.cfvsw-color-option:hover {
    border-color: #999 !important;
    transform: scale(1.08) !important;
}

.variation-radios.variation-color input:checked + label,
.cfvsw-swatches-option.cfvsw-color-option.cfvsw-selected {
    border-color: #2C3E50 !important;
    box-shadow: inset 0 0 0 2px #fff, 0 0 0 1px #2C3E50 !important;
    transform: scale(1.1) !important;
}

/* Botão limpar variação */
.reset_variations,
a.reset_variations {
    font-size: 0.7rem !important;
    color: #999 !important;
    text-decoration: none !important;
    margin-left: 10px !important;
    padding: 4px 8px !important;
    border: 1px solid #ddd !important;
    border-radius: 3px !important;
    transition: all 0.2s ease !important;
    display: inline-block !important;
}

.reset_variations:hover {
    color: #2C3E50 !important;
    border-color: #2C3E50 !important;
}

/* ----- SWATCHES DE TAMANHO - CLEAN ----- */
.variation-radios.variation-size,
.cfvsw-swatches-container[data-attribute*="tamanho"] {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 20px !important;
}

.variation-radios.variation-size label,
.cfvsw-swatches-option.cfvsw-text-option {
    min-width: 44px !important;
    height: 40px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    background: #fff !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    color: #444 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.variation-radios.variation-size label:hover,
.cfvsw-swatches-option.cfvsw-text-option:hover {
    border-color: #2C3E50 !important;
    color: #2C3E50 !important;
}

.variation-radios.variation-size input:checked + label,
.cfvsw-swatches-option.cfvsw-text-option.cfvsw-selected {
    background: #2C3E50 !important;
    border-color: #2C3E50 !important;
    color: #fff !important;
}

/* Tamanho indisponível */
.variation-radios.variation-size label.disabled,
.cfvsw-swatches-option.cfvsw-out-of-stock {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
    text-decoration: line-through !important;
}

/* ----- PREÇO - HIERARQUIA VISUAL ----- */
.product-summary .price,
.woocommerce div.product .entry-summary .price {
    margin: 20px 0 !important;
    line-height: 1.4 !important;
}

/* Preço original riscado */
.product-summary .price del,
.woocommerce div.product .price del {
    display: block !important;
    font-size: 0.9rem !important;
    color: #999 !important;
    font-weight: 400 !important;
    text-decoration: line-through !important;
    margin-bottom: 2px !important;
}

/* Preço atual */
.product-summary .price ins,
.product-summary .price > .amount,
.woocommerce div.product .price ins,
.woocommerce div.product .price > .woocommerce-Price-amount {
    display: block !important;
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    color: #2C3E50 !important;
    text-decoration: none !important;
}

/* Desconto PIX */
.price-pix,
.discount-pix,
[class*="pix-price"],
.woocommerce-variation-price .price ins {
    display: block !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #27ae60 !important;
    margin-top: 4px !important;
}

.price-pix-label,
.discount-label {
    display: block !important;
    font-size: 0.75rem !important;
    color: #666 !important;
    font-weight: 400 !important;
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    margin-left: 0 !important;
    margin-top: 3px !important;
    text-align: left !important;
}

/* Parcelamento */
.installment-info,
[class*="parcela"],
.product-summary small {
    display: block !important;
    font-size: 0.8rem !important;
    color: #666 !important;
    margin-top: 6px !important;
}

/* ----- QUANTIDADE E BOTÃO - REGRAS NO FINAL DO ARQUIVO ----- */

/* ----- CALCULADOR DE FRETE - CLEAN ----- */
.shipping-calculator,
.calculo-frete,
[class*="shipping-calc"],
[class*="frete-calc"] {
    margin-top: 25px !important;
    padding: 20px !important;
    background: #f9f9f9 !important;
    border: 1px solid #eee !important;
    border-radius: 8px !important;
}

/* Input CEP */
.shipping-calculator input[type="text"],
[class*="frete"] input[type="text"],
input[placeholder*="CEP"],
input[placeholder*="cep"] {
    width: 100% !important;
    height: 44px !important;
    padding: 0 15px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    font-size: 0.9rem !important;
    color: #333 !important;
    background: #fff !important;
    transition: border-color 0.2s ease !important;
}

[class*="frete"] input:focus,
input[placeholder*="CEP"]:focus {
    border-color: #2C3E50 !important;
    outline: none !important;
}

/* Label/Placeholder do CEP */
.shipping-calculator label,
[class*="frete"] label {
    display: block !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    color: #666 !important;
    margin-bottom: 8px !important;
}

/* Texto de instrução */
.shipping-calculator .helper-text,
[class*="frete"] .info-text,
[class*="frete"] small {
    display: block !important;
    font-size: 0.7rem !important;
    color: #e74c3c !important;
    margin-top: 8px !important;
}

/* ----- ESPAÇAMENTOS PADRONIZADOS ----- */
.product-summary > *,
.entry-summary > * {
    margin-bottom: 0 !important;
}

.product-summary .product_title { margin-bottom: 8px !important; }
.product-summary .product_meta { margin-bottom: 15px !important; }
.product-summary .variations_form { margin-bottom: 0 !important; }
.product-summary .variations { margin-bottom: 0 !important; }
.product-summary .variations tr { margin-bottom: 15px !important; }
.product-summary .single_variation_wrap { margin-top: 0 !important; }
.product-summary .price { margin: 15px 0 20px 0 !important; }
.product-summary form.cart { margin: 20px 0 !important; }

/* ----- GALERIA THUMBNAILS ----- */
.woocommerce-product-gallery .flex-control-thumbs li,
.gallery-thumbnails .thumbnail {
    border: 2px solid transparent !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

.woocommerce-product-gallery .flex-control-thumbs li:hover,
.gallery-thumbnails .thumbnail:hover {
    border-color: #ddd !important;
}

.woocommerce-product-gallery .flex-control-thumbs li.active,
.gallery-thumbnails .thumbnail.active {
    border-color: #2C3E50 !important;
}

/* Thumbnail de vídeo */
.gallery-thumbnails .thumbnail.video-thumb,
.flex-control-thumbs li.video-thumb {
    position: relative !important;
}

.gallery-thumbnails .thumbnail.video-thumb::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 12px solid #fff !important;
    border-top: 8px solid transparent !important;
    border-bottom: 8px solid transparent !important;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.3)) !important;
}

/* Badge 25% OFF */
.onsale,
.product-badge,
span.onsale {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    background: #c5a47e !important;
    color: #fff !important;
    padding: 5px 10px !important;
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-radius: 4px !important;
    z-index: 10 !important;
}

/* ==========================================================================
   CORREÇÕES DE LAYOUT - ALINHAMENTO E ESTRUTURA
   ========================================================================== */

/* Labels COR/TAMANHO - Alinhados à esquerda */
.variations td.label,
.variations th.label,
.woocommerce table.variations td.label,
.woocommerce table.variations th.label {
    text-align: left !important;
    padding: 0 0 10px 0 !important;
}

.variations td.label label,
.woocommerce table.variations td.label label {
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: #2C3E50 !important;
    display: block !important;
    text-align: left !important;
}

/* Variações - Layout vertical correto */
.woocommerce div.product form.cart .variations {
    width: 100% !important;
    margin-bottom: 20px !important;
}

.woocommerce div.product form.cart .variations tbody {
    display: block !important;
}

.woocommerce div.product form.cart .variations tr {
    display: block !important;
    margin-bottom: 20px !important;
}

.woocommerce div.product form.cart .variations td {
    display: block !important;
    padding: 0 !important;
    text-align: left !important;
}

.woocommerce div.product form.cart .variations td.value {
    padding-top: 10px !important;
}

/* Botão Limpar - Estilo discreto inline */
.reset_variations,
a.reset_variations {
    display: inline-block !important;
    font-size: 0.7rem !important;
    color: #888 !important;
    text-decoration: none !important;
    padding: 6px 12px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    background: #f9f9f9 !important;
    transition: all 0.2s ease !important;
    margin-left: 0 !important;
    vertical-align: middle !important;
}

.reset_variations:hover {
    color: #2C3E50 !important;
    border-color: #ccc !important;
    background: #f0f0f0 !important;
}

/* Swatches de tamanho - Ajuste fino */
.variation-radios.variation-size label,
.cfvsw-swatches-option {
    min-width: 48px !important;
    height: 42px !important;
    padding: 0 16px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 6px !important;
    background: #fff !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    color: #333 !important;
}

.variation-radios.variation-size label:hover,
.cfvsw-swatches-option:hover {
    border-color: #2C3E50 !important;
}

.variation-radios.variation-size input:checked + label,
.cfvsw-swatches-option.cfvsw-selected {
    background: #2C3E50 !important;
    border-color: #2C3E50 !important;
    color: #fff !important;
}

/* Swatches de cor - Círculos refinados */
.variation-radios.variation-color label,
.cfvsw-swatches-option.cfvsw-color-option {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border: 2px solid #e0e0e0 !important;
    box-shadow: inset 0 0 0 3px #fff !important;
}

.variation-radios.variation-color input:checked + label,
.cfvsw-swatches-option.cfvsw-color-option.cfvsw-selected {
    border-color: #2C3E50 !important;
    border-width: 3px !important;
}

/* ----- PREÇOS - HIERARQUIA CLARA ----- */

/* Preço riscado original */
.woocommerce div.product p.price del,
.woocommerce div.product span.price del,
.summary .price del {
    display: block !important;
    font-size: 0.95rem !important;
    color: #999 !important;
    font-weight: 400 !important;
    text-decoration: line-through !important;
    margin-bottom: 5px !important;
}

/* Preço principal */
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins,
.summary .price ins,
.woocommerce div.product p.price > .amount,
.woocommerce div.product span.price > .amount {
    display: block !important;
    font-size: 1.6rem !important;
    font-weight: 700 !important;
    color: #2C3E50 !important;
    text-decoration: none !important;
    margin-bottom: 5px !important;
}

/* Preço com desconto PIX - Verde destacado */
.price-pix,
.pix-price,
[class*="price-pix"],
[class*="pix-discount"] {
    display: block !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    color: #27ae60 !important;
    margin-bottom: 3px !important;
}

/* Label "Com 5% OFF no PIX" */
.pix-label,
[class*="pix"] span,
.price-pix + span,
.discount-info {
    display: block !important;
    font-size: 0.75rem !important;
    color: #27ae60 !important;
    font-weight: 500 !important;
    margin-bottom: 12px !important;
}

/* Parcelamento */
.installment,
[class*="parcela"],
.price-installment {
    display: block !important;
    font-size: 0.8rem !important;
    color: #666 !important;
    margin-top: 8px !important;
}

/* ----- QUANTIDADE E BOTÃO CARRINHO (regras no final do arquivo) ----- */

/* Botão adicionar - regras no final do arquivo */

/* ----- CALCULADOR DE FRETE REFINADO ----- */

/* Container principal */
.cfwc-shipping-calculator,
.shipping-calculator-wrapper,
[class*="calculo-frete"],
[class*="shipping-calc"],
.product-shipping-calculator {
    margin-top: 30px !important;
    padding: 25px !important;
    background: #fafafa !important;
    border: 1px solid #eee !important;
    border-radius: 10px !important;
}

/* Elementos internos vazios - esconder */
.cfwc-shipping-calculator > div:empty,
[class*="frete"] > div:empty {
    display: none !important;
}

/* Input do CEP */
.cfwc-shipping-calculator input[type="text"],
[class*="frete"] input[type="text"],
input#calc_shipping_postcode,
input[name*="postcode"],
input[placeholder*="CEP"] {
    width: 100% !important;
    height: 48px !important;
    padding: 0 16px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    font-size: 0.95rem !important;
    color: #333 !important;
    background: #fff !important;
    transition: border-color 0.2s ease !important;
}

.cfwc-shipping-calculator input:focus,
[class*="frete"] input:focus {
    border-color: #2C3E50 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(44, 62, 80, 0.1) !important;
}

/* Mensagem de instrução */
.cfwc-shipping-calculator .message,
[class*="frete"] .aviso,
[class*="frete"] p,
.shipping-helper-text {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin-top: 15px !important;
    padding: 12px 15px !important;
    background: #fff8e1 !important;
    border-radius: 6px !important;
    border-left: 3px solid #f9a825 !important;
    font-size: 0.8rem !important;
    line-height: 1.5 !important;
    color: #5d4037 !important;
}

/* Ícone de aviso */
.cfwc-shipping-calculator .message::before,
[class*="frete"] .aviso::before {
    content: '💡' !important;
    flex-shrink: 0 !important;
}

/* Trust badges - Frete grátis */
.product-trust-badges,
.trust-badges-wrapper {
    margin-top: 25px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

.product-trust-badges .trust-badge,
.trust-badge-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 15px 20px !important;
    background: #f8f9fa !important;
    border: 1px solid #eee !important;
    border-radius: 8px !important;
    margin-bottom: 10px !important;
    transition: all 0.2s ease !important;
}

.product-trust-badges .trust-badge:hover {
    background: #f0f0f0 !important;
    border-color: #ddd !important;
}

.product-trust-badges .trust-badge svg,
.trust-badge-item svg {
    width: 22px !important;
    height: 22px !important;
    color: #c5a47e !important;
    flex-shrink: 0 !important;
}

.product-trust-badges .trust-badge span,
.trust-badge-item span {
    font-size: 0.85rem !important;
    color: #444 !important;
    font-weight: 500 !important;
}

/* ==========================================================================
   REMOÇÃO COMPLETA - CATEGORIA E TABELA DE MEDIDAS
   ========================================================================== */

/* Ocultar Categoria: Vestidos completamente */
.product_meta .posted_in,
.product_meta .tagged_as,
.posted_in,
span.posted_in {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Ocultar Tabela de Medidas completamente */
a[href*="medidas"],
a[href*="size-guide"],
a[href*="tabela"],
.size-guide-link,
.tabela-medidas,
[class*="size-guide"],
[class*="tabela-medidas"],
[class*="guia-tamanho"],
.kwtsg-trigger,
.kwtsg-btn,
[data-action*="size-guide"],
button[class*="size"],
a[class*="size-guide"],
/* Plugin WPCSC - WooCommerce Product Size Chart */
.wpcsc-btn,
.wpcsc-button,
.wpcsc-trigger,
.wpcsc-link,
[class*="wpcsc"],
a[class*="wpcsc"],
button[class*="wpcsc"],
.wpcsc-size-chart-button,
.wpcsc-size-guide,
/* Seletores genéricos adicionais */
a[href*="size-chart"],
a[href*="sizechart"],
a[href*="size_chart"],
.single-product .size-chart-btn,
.single-product [class*="chart"],
.product-summary [class*="medida"],
.entry-summary [class*="medida"],
.summary [class*="medida"],
/* Link com ícone de régua/medidas */
a[title*="Medida"],
a[title*="medida"],
a[title*="Tamanho"],
button[title*="Medida"],
/* Qualquer elemento com texto "Tabela de Medidas" */
.product-info-column a[href*="#"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}

/* Ocultar por posição - elemento entre SKU/Categoria e COR */
.product-summary > a,
.entry-summary > a,
.summary > a,
.product-info-column > a,
.variations_form > a,
form.cart > a,
/* Ocultar links órfãos no summary */
.woocommerce div.product .summary > a:not(.button),
.woocommerce div.product .entry-summary > a:not(.button),
/* Elementos específicos que aparecem antes das variações */
.woocommerce div.product form.cart ~ a,
.woocommerce div.product .product_meta ~ a,
table.variations ~ a,
/* Forçar ocultar qualquer link com ícone de régua */
a svg[class*="ruler"],
a img[alt*="medida"],
a img[alt*="Medida"],
/* Ocultar container pai se existir */
.size-chart-wrapper,
.size-guide-wrapper,
.wpcsc-wrapper,
div[class*="size-chart"],
div[class*="size-guide"],
p:has(a[href*="medida"]),
span:has(a[href*="medida"]) {
    display: none !important;
    visibility: hidden !important;
}

/* ==========================================================================
   DESIGN SYSTEM VIX - LAYOUT CONFORME IMAGEM REFERÊNCIA
   ========================================================================== */

/* Seção do produto */
.product-single-section {
    padding: 0 !important;
}

/* Layout principal */
.product-single-layout {
    gap: 25px !important;
}

/* 1. Título */
.woocommerce div.product .product_title,
h1.product_title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: 1.5rem !important;
    font-weight: 400 !important;
    font-style: italic !important;
    color: #2C3E50 !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.3 !important;
}

/* 2. SKU e Categoria */
.product_meta {
    font-size: 0.7rem !important;
    color: #777 !important;
    margin-bottom: 5px !important;
    line-height: 1.5 !important;
}

.product_meta .sku_wrapper,
.product_meta .posted_in {
    display: block !important;
}

/* 3. Tabela de Medidas */
a[href*="medidas"],
.size-guide-link,
[class*="size-guide"],
[class*="tabela"] {
    font-size: 0.7rem !important;
    color: #555 !important;
    margin-bottom: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    text-decoration: none !important;
}

/* 4-6. Variações */
.woocommerce div.product form.cart .variations {
    margin-bottom: 10px !important;
}

.woocommerce div.product form.cart .variations tr {
    margin-bottom: 10px !important;
}

.woocommerce div.product form.cart .variations td.label {
    padding-bottom: 5px !important;
}

/* Labels COR/TAMANHO */
.variations td.label label {
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: #2C3E50 !important;
}

/* Swatches de cor */
.variation-radios.variation-color label {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border: 2px solid #ccc !important;
    border-radius: 50% !important;
    box-shadow: inset 0 0 0 2px #fff !important;
}

.variation-radios.variation-color label:hover {
    border-color: #999 !important;
}

.variation-radios.variation-color input:checked + label {
    border-color: #2C3E50 !important;
    border-width: 3px !important;
    transform: scale(1.05) !important;
}

/* Botão Limpar */
.reset_variations {
    font-size: 0.6rem !important;
    color: #888 !important;
    padding: 3px 8px !important;
    border: 1px solid #ddd !important;
    border-radius: 3px !important;
    background: #f9f9f9 !important;
    margin-top: 5px !important;
    display: inline-block !important;
}

/* Swatches de tamanho */
.variation-radios.variation-size label {
    min-width: 42px !important;
    height: 38px !important;
    padding: 0 14px !important;
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #444 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.variation-radios.variation-size label:hover {
    border-color: #2C3E50 !important;
    color: #2C3E50 !important;
}

.variation-radios.variation-size input:checked + label {
    background: #2C3E50 !important;
    border-color: #2C3E50 !important;
    color: #fff !important;
}

.variation-radios.variation-size,
.variation-radios.variation-color {
    gap: 8px !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

/* ============================================
   LAYOUT HERO - DESIGN SYSTEM VIX PREMIUM
   ============================================ */

/* Summary container */
.woocommerce div.product .summary,
.woocommerce div.product div.summary,
.product-summary,
.product-info-column .summary {
    display: flex !important;
    flex-direction: column !important;
    text-align: left !important;
}

/* ============================================
   PREÇOS - ALINHADOS À ESQUERDA
   ============================================ */

/* Container de preços */
.woocommerce div.product .price,
.product-summary .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    display: block !important;
    width: 100% !important;
    margin: 0 0 5px 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

/* Preço DE (riscado) */
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
    display: block !important;
    font-size: 0.9rem !important;
    color: #999 !important;
    text-decoration: line-through !important;
    font-weight: 400 !important;
    margin-bottom: 0 !important;
    text-align: left !important;
}

/* Preço POR (principal) */
.woocommerce div.product p.price ins,
.woocommerce div.product p.price > .amount,
.woocommerce div.product span.price ins,
.woocommerce div.product span.price > .amount {
    display: block !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #2C3E50 !important;
    text-decoration: none !important;
    background: none !important;
    line-height: 1.3 !important;
    margin-bottom: 10px !important;
    text-align: left !important;
}

/* ============================================
   PIX - VERDE ALINHADO À ESQUERDA
   ============================================ */

[class*="pix-price"],
[class*="price-pix"],
.price-pix,
.pix-discount-wrapper {
    display: block !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 5px 0 !important;
    text-align: left !important;
}

/* Valor PIX inline e verde */
[class*="pix-price"] .woocommerce-Price-amount,
[class*="price-pix"] .woocommerce-Price-amount,
[class*="pix"] .woocommerce-Price-amount,
[class*="pix"] .woocommerce-Price-currencySymbol,
[class*="pix"] bdi,
[class*="pix-price"] bdi,
[class*="price-pix"] bdi {
    display: inline !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #27ae60 !important;
    text-align: left !important;
}

/* Label "Com 5% OFF no PIX" - ABAIXO e à ESQUERDA */
[class*="pix"] small,
[class*="pix-price"] small,
[class*="price-pix"] small,
.pix-label,
.discount-info {
    display: block !important;
    width: 100% !important;
    color: #666 !important;
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    margin-top: 3px !important;
    text-align: left !important;
}

/* ============================================
   PARCELAMENTO - ALINHADO À ESQUERDA
   ============================================ */

[class*="parcela"],
.installment-info,
.product-installments {
    display: block !important;
    width: 100% !important;
    font-size: 0.8rem !important;
    color: #666 !important;
    margin: 8px 0 15px 0 !important;
    padding: 8px 0 !important;
    border-top: 1px solid #eee !important;
    text-align: left !important;
}

[class*="parcela"] *,
.installment-info * {
    text-align: left !important;
}

[class*="parcela"] strong,
[class*="parcela"] b {
    color: #c5a47e !important;
    font-weight: 600 !important;
}

/* ============================================
   FORM CART - LAYOUT HERO
   ============================================ */

/* Form principal */
.woocommerce div.product form.cart,
.woocommerce div.product form.cart.variations_form {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Variações */
.woocommerce div.product form.cart .variations {
    width: 100% !important;
    display: block !important;
    margin-bottom: 10px !important;
}

/* Single variation wrap */
.woocommerce div.product form.cart .single_variation_wrap {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

/* Preço da variação */
.woocommerce div.product form.cart .woocommerce-variation-price {
    display: block !important;
    width: 100% !important;
    margin-bottom: 15px !important;
}

/* ============================================
   QUANTIDADE + BOTÃO NA MESMA LINHA
   ============================================ */

/* Wrapper principal */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart.variations_button {
    display: block !important;
    width: 100% !important;
}

/* Wrapper quantidade + botão - FORÇAR FLEX ROW */
.quantity-button-wrapper,
.woocommerce div.product form.cart .quantity-button-wrapper {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 10px !important;
}

/* QUANTIDADE */
.quantity-button-wrapper .quantity,
.woocommerce div.product .quantity-button-wrapper .quantity {
    flex: 0 0 auto !important;
    margin: 0 !important;
    width: auto !important;
    float: none !important;
}

.quantity-button-wrapper .quantity .qty,
.woocommerce div.product .quantity-button-wrapper .quantity .qty {
    width: 60px !important;
    height: 48px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    text-align: center !important;
    color: #2C3E50 !important;
    background: #fff !important;
    padding: 0 !important;
}

/* BOTÃO - ao lado da quantidade */
.quantity-button-wrapper .single_add_to_cart_button,
.woocommerce div.product .quantity-button-wrapper .single_add_to_cart_button {
    flex: 1 1 auto !important;
    height: 50px !important;
    min-width: auto !important;
    width: auto !important;
    background: #2C3E50 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 0 40px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    transform: none !important;
    box-shadow: none !important;
    float: none !important;
}

.quantity-button-wrapper .single_add_to_cart_button:hover,
.woocommerce div.product .quantity-button-wrapper .single_add_to_cart_button:hover {
    background: #1a252f !important;
}

/* Fallback para form.cart sem wrapper */
.woocommerce div.product form.cart .quantity {
    margin: 0 !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .button.single_add_to_cart_button,
button.single_add_to_cart_button {
    height: 50px !important;
    background: #2C3E50 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 0 40px !important;
    cursor: pointer !important;
    min-width: auto !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover,
button.single_add_to_cart_button:hover {
    background: #1a252f !important;
}

/* ============================================
   CALCULADOR DE FRETE - DESIGN SYSTEM VIX
   ============================================ */

[class*="frete"],
[class*="shipping-calc"],
[class*="calculo"],
.woocommerce-shipping-calculator,
.cfwc-shipping-calculator,
.shipping-calculator-wrapper {
    margin-top: 25px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Containers internos */
[class*="frete"] > div,
[class*="frete"] > section,
[class*="frete"] > fieldset,
[class*="frete"] form,
[class*="shipping-calc"] > div,
.cfwc-shipping-calculator > div {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

/* Input CEP */
[class*="frete"] input[type="text"],
[class*="calculo"] input[type="text"],
.cfwc-shipping-calculator input[type="text"],
input[placeholder*="CEP"],
input[placeholder*="cep"] {
    height: 50px !important;
    font-size: 0.9rem !important;
    padding: 0 18px !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    width: 100% !important;
    color: #2C3E50 !important;
    background: #fff !important;
    box-shadow: none !important;
}

[class*="frete"] input[type="text"]::placeholder {
    color: #aaa !important;
}

[class*="frete"] input[type="text"]:focus {
    border-color: #c5a47e !important;
    outline: none !important;
}

/* Mensagem do frete */
[class*="frete"] p,
.shipping-helper-text {
    font-size: 0.8rem !important;
    color: #c5a47e !important;
    background: #fdf8f3 !important;
    padding: 12px 15px !important;
    border-left: 3px solid #c5a47e !important;
    border-radius: 0 6px 6px 0 !important;
    margin-top: 15px !important;
    line-height: 1.5 !important;
}

/* Trust badges - Ocultar */
.product-trust-badges {
    display: none !important;
}

/* Thumbnails */
.gallery-thumbnails .thumbnail,
.woocommerce-product-gallery .flex-control-thumbs li {
    width: 55px !important;
    height: 55px !important;
    margin-bottom: 5px !important;
}

/* Remover elementos vazios */
div:empty:not(input):not(button),
section:empty,
fieldset:empty {
    display: none !important;
}

/* ============================================
   FORÇAR ALINHAMENTO À ESQUERDA - PREÇOS E PIX
   Regras de alta especificidade no final do arquivo
   ============================================ */

/* Wrapper de preço de variação */
.woocommerce div.product form.cart .woocommerce-variation-price,
.woocommerce-variation-price,
.single_variation .woocommerce-variation-price {
    text-align: left !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* Todos os elementos dentro do bloco de preço */
.woocommerce-variation-price *,
.single_variation .woocommerce-variation-price * {
    text-align: left !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
}

/* PIX Price - Forçar alinhamento esquerdo */
.woocommerce div.product [class*="pix"],
.woocommerce div.product .pix-price,
.woocommerce div.product .price-pix,
.woocommerce div.product [class*="pix-price"],
.product-summary [class*="pix"],
.single_variation [class*="pix"] {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* Valor PIX - R$ junto com número */
.woocommerce div.product [class*="pix"] .woocommerce-Price-amount,
.woocommerce div.product [class*="pix"] .woocommerce-Price-currencySymbol,
.woocommerce div.product [class*="pix"] bdi,
.woocommerce div.product [class*="pix"] span {
    display: inline !important;
    text-align: left !important;
    color: #27ae60 !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
}

/* Label "Com 5% OFF no PIX" - bloco abaixo */
.woocommerce div.product [class*="pix"] small,
.woocommerce div.product [class*="pix"] .pix-label,
.woocommerce div.product [class*="pix"] .discount-info,
.product-summary [class*="pix"] small,
.single_variation [class*="pix"] small {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    color: #666 !important;
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 3px 0 0 0 !important;
    border: none !important;
    border-radius: 0 !important;
}

/* Parcelamento - alinhado à esquerda */
.woocommerce div.product [class*="parcela"],
.woocommerce div.product .installment-info,
.woocommerce div.product .product-installments,
.product-summary [class*="parcela"],
.single_variation [class*="parcela"] {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    font-size: 0.85rem !important;
    color: #666 !important;
}

.woocommerce div.product [class*="parcela"] *,
.single_variation [class*="parcela"] * {
    text-align: left !important;
}

/* Preço DE (riscado) - esquerda */
.woocommerce-variation-price .price del,
.single_variation .price del {
    display: block !important;
    text-align: left !important;
    margin-left: 0 !important;
    color: #999 !important;
    font-size: 0.9rem !important;
}

/* Preço POR (principal) - esquerda */
.woocommerce-variation-price .price ins,
.woocommerce-variation-price .price > .amount,
.single_variation .price ins,
.single_variation .price > .amount {
    display: block !important;
    text-align: left !important;
    margin-left: 0 !important;
    color: #2C3E50 !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    background: transparent !important;
}

/* ============================================
   EC PAYMENT DISPLAY PLUGIN - ALINHAMENTO ESQUERDO
   ============================================ */

/* Container principal do plugin */
.ec-payment-display {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* PIX Highlight - Container do preço PIX */
.pix-price-highlight {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 8px 0 !important;
    background: transparent !important;
    border: none !important;
}

/* Valor PIX grande - R$ 284,99 */
.pix-amount-big {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 !important;
}

.pix-amount-big .woocommerce-Price-amount,
.pix-amount-big .woocommerce-Price-currencySymbol,
.pix-amount-big bdi,
.pix-amount-big span {
    display: inline !important;
    color: #27ae60 !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
}

/* Texto do desconto PIX - "Com 5% OFF no PIX" */
.pix-discount-text {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    color: #666 !important;
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    padding: 0 !important;
    margin: 3px 0 0 0 !important;
    background: transparent !important;
    border: none !important;
}

/* Linha de parcelamento */
.installment-price-line {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    font-size: 0.85rem !important;
    color: #666 !important;
    padding: 0 !important;
    margin: 8px 0 15px 0 !important;
    border-top: 1px solid #eee !important;
    padding-top: 8px !important;
}

.installment-price-line * {
    text-align: left !important;
}

.installment-price-line strong,
.installment-price-line b {
    color: #c5a47e !important;
    font-weight: 600 !important;
}

/* ============================================
   SKU - EXIBIÇÃO ABAIXO DO TÍTULO
   ============================================ */

/* Container do SKU */
.woocommerce div.product .product_meta,
.product-summary .product_meta {
    display: block !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
}

/* SKU Wrapper - Visível */
.woocommerce div.product .product_meta .sku_wrapper,
.product_meta .sku_wrapper {
    display: block !important;
    font-size: 0.8rem !important;
    color: #888 !important;
    font-weight: 400 !important;
    margin: 0 !important;
}

/* SKU Label */
.product_meta .sku_wrapper::before {
    content: none !important;
}

/* SKU Value */
.woocommerce div.product .product_meta .sku,
.product_meta .sku_wrapper .sku {
    color: #666 !important;
    font-weight: 500 !important;
}

/* Ocultar categoria e tags (mantemos apenas SKU) */
.woocommerce div.product .product_meta .posted_in,
.woocommerce div.product .product_meta .tagged_as,
.product_meta .posted_in,
.product_meta .tagged_as {
    display: none !important;
}

/* ==========================================================================
   MOBILE HERO EXPERIENCE - DESIGN SYSTEM VIX 2.0
   Inspirado em referências premium (Zattini, Netshoes)
   ========================================================================== */

@media (max-width: 768px) {

    /* ============================================
       RESET MOBILE - BASE LIMPA
       ============================================ */

    .woocommerce div.product,
    .product-single-section {
        padding: 0 !important;
        margin: 0 !important;
        background: #fff !important;
    }

    .product-single-section .container,
    .woocommerce div.product .container {
        padding: 0 !important;
        max-width: 100% !important;
    }

    /* ============================================
       BREADCRUMB - ESTILO ZATTINI
       ============================================ */

    .woocommerce-breadcrumb,
    .breadcrumb-nav,
    nav.woocommerce-breadcrumb {
        padding: 10px 16px !important;
        font-size: 11px !important;
        white-space: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        background: #fff !important;
        border-bottom: none !important;
        margin: 0 !important;
        color: #666 !important;
    }

    .woocommerce-breadcrumb::-webkit-scrollbar {
        display: none !important;
    }

    .woocommerce-breadcrumb a {
        color: #666 !important;
        text-decoration: none !important;
    }

    .woocommerce-breadcrumb span,
    .breadcrumb-separator {
        color: #999 !important;
        margin: 0 4px !important;
    }

    /* ============================================
       GALERIA MOBILE - Imagem + Thumbnails
       ============================================ */

    .woocommerce div.product div.images,
    .product-gallery-column {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #f8f8f8 !important;
    }

    .woocommerce div.product div.images .woocommerce-product-gallery__image,
    .woocommerce-product-gallery__wrapper {
        background: #f8f8f8 !important;
    }

    .woocommerce div.product div.images .woocommerce-product-gallery__image img,
    .woocommerce div.product div.images img.wp-post-image {
        width: 100% !important;
        height: auto !important;
        max-height: 450px !important;
        object-fit: contain !important;
        background: #f8f8f8 !important;
    }

    /* Thumbnails - Scroll horizontal */
    .woocommerce-product-gallery .flex-control-thumbs,
    .gallery-thumbnails {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 10px !important;
        padding: 12px 16px !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        background: #fff !important;
    }

    .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar {
        display: none !important;
    }

    .woocommerce-product-gallery .flex-control-thumbs li {
        flex: 0 0 60px !important;
        width: 60px !important;
        height: 60px !important;
        border-radius: 4px !important;
        overflow: hidden !important;
        border: 2px solid #e5e5e5 !important;
    }

    .woocommerce-product-gallery .flex-control-thumbs li.flex-active {
        border-color: #2C3E50 !important;
    }

    .woocommerce-product-gallery .flex-control-thumbs li img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    /* ============================================
       INFORMAÇÕES DO PRODUTO - ESTILO ZATTINI
       ============================================ */

    .woocommerce div.product .summary,
    .woocommerce div.product div.summary,
    .product-info-column,
    .product-summary {
        width: 100% !important;
        padding: 20px 16px 0 !important;
        margin: 0 !important;
        background: #fff !important;
    }

    /* Título do produto - Grande e claro */
    .woocommerce div.product .product_title,
    h1.product_title,
    .product-summary .product_title {
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
        font-size: 1.25rem !important;
        font-weight: 600 !important;
        line-height: 1.4 !important;
        color: #333 !important;
        margin: 0 0 16px 0 !important;
    }

    /* Ocultar SKU e categoria no mobile */
    .product_meta,
    .product-single-category {
        display: none !important;
    }

    /* ============================================
       PREÇOS - ESTILO ZATTINI
       Hierarquia: Riscado → À vista → Parcelamento
       ============================================ */

    .woocommerce div.product .price,
    .woocommerce div.product p.price,
    .product-summary .price,
    .woocommerce-variation-price .price {
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
        padding: 0 !important;
        background: transparent !important;
        margin: 0 0 24px 0 !important;
    }

    /* Preço DE (riscado) - Pequeno, cinza */
    .woocommerce div.product p.price del,
    .woocommerce div.product span.price del,
    .woocommerce-variation-price del {
        display: block !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        color: #999 !important;
        text-decoration: line-through !important;
        margin-bottom: 0 !important;
        order: 1 !important;
    }

    /* Preço À VISTA - Grande e em destaque */
    .woocommerce div.product p.price ins,
    .woocommerce div.product p.price > .amount,
    .woocommerce div.product span.price ins,
    .woocommerce-variation-price ins,
    .woocommerce-variation-price > .amount {
        display: inline-flex !important;
        align-items: baseline !important;
        gap: 8px !important;
        font-size: 1.75rem !important;
        font-weight: 700 !important;
        color: #333 !important;
        text-decoration: none !important;
        background: none !important;
        line-height: 1.2 !important;
        order: 2 !important;
    }

    /* Label "à vista" após o preço */
    .woocommerce div.product p.price ins::after,
    .woocommerce div.product span.price ins::after {
        content: "à vista" !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        color: #666 !important;
    }

    /* ===== PREÇO PIX - Verde discreto ===== */
    .pix-price-highlight,
    [class*="pix-price"],
    [class*="price-pix"],
    .ec-pix-price {
        display: block !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin: 8px 0 !important;
        order: 3 !important;
    }

    .pix-amount-big,
    [class*="pix-price"] .woocommerce-Price-amount,
    [class*="price-pix"] .woocommerce-Price-amount,
    [class*="pix"] bdi {
        display: inline !important;
        font-size: 1.1rem !important;
        font-weight: 600 !important;
        color: #2e7d32 !important;
    }

    .pix-discount-text,
    [class*="pix"] small,
    [class*="pix-price"] small,
    .ec-pix-label {
        display: inline !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        color: #2e7d32 !important;
        margin-left: 4px !important;
    }

    /* ===== PARCELAMENTO - Linha separada ===== */
    .installment-price-line,
    [class*="parcela"],
    .ec-installment-price,
    .product-installments {
        display: block !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        color: #666 !important;
        padding: 12px 0 !important;
        margin: 8px 0 16px 0 !important;
        border-top: 1px solid #eee !important;
        order: 4 !important;
    }

    [class*="parcela"] strong,
    .installment-price-line strong {
        color: #2C3E50 !important;
        font-weight: 600 !important;
    }

    /* ============================================
       VARIAÇÕES - ESTILO ZATTINI
       Cor como imagens + Tamanho em grid 4 colunas
       ============================================ */

    .woocommerce div.product form.cart .variations {
        margin-bottom: 24px !important;
        padding: 0 16px !important;
    }

    .woocommerce div.product form.cart .variations tr {
        display: block !important;
        margin-bottom: 20px !important;
    }

    .variations td.label,
    .woocommerce div.product form.cart .variations td.label {
        display: block !important;
        padding: 0 0 12px 0 !important;
    }

    /* Label: "Cor:" ou "Escolha o tamanho:" */
    .variations td.label label {
        font-size: 14px !important;
        font-weight: 600 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        color: #333 !important;
        display: block !important;
    }

    .variations td.value,
    .woocommerce div.product form.cart .variations td.value {
        display: block !important;
        padding: 0 !important;
    }

    /* ===== COR - SWATCHES COMO IMAGEM DO PRODUTO ===== */
    /* Estilo Zattini: Imagens quadradas com borda */

    /* Container de swatches de cor */
    .variation-radios.variation-color,
    .cfvsw-swatches-container.cfvsw-color-swatches,
    [class*="color-swatches"],
    .variations .variation-color,
    .woocommerce .cfvsw-swatches-container,
    table.variations td.value .cfvsw-swatches-container,
    .single-product .cfvsw-swatches-container {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
        padding: 0 !important;
    }

    /* Cada swatch de cor - círculo 40px com imagem */
    .variation-radios.variation-color label,
    .cfvsw-swatches-option.cfvsw-color-option,
    .cfvsw-swatches-option[data-attribute_name="attribute_pa_cor"],
    [class*="color-swatch"],
    .color-variable-item,
    .woocommerce .cfvsw-swatches-option,
    table.variations .cfvsw-swatches-option,
    .single-product .cfvsw-swatches-option {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        border-radius: 50% !important;
        border: 2px solid #e5e5e5 !important;
        background: #f5f5f5 !important;
        overflow: hidden !important;
        cursor: pointer !important;
        transition: border-color 0.2s ease !important;
        -webkit-tap-highlight-color: transparent !important;
        box-shadow: none !important;
        padding: 2px !important;
        margin: 0 !important;
    }

    /* Forçar span interno do swatch a ser invisível */
    .cfvsw-swatches-option .cfvsw-swatch-inner,
    .cfvsw-swatches-option span.cfvsw-swatch-span {
        width: 100% !important;
        height: 100% !important;
        border-radius: 6px !important;
    }

    .variation-radios.variation-color label img,
    .cfvsw-swatches-option.cfvsw-color-option img,
    .cfvsw-swatches-option img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        border-radius: 50% !important;
    }

    /* Cor selecionada */
    .variation-radios.variation-color input:checked + label,
    .cfvsw-swatches-option.cfvsw-color-option.cfvsw-selected,
    .cfvsw-swatches-option.cfvsw-selected,
    .color-variable-item.selected,
    .woocommerce .cfvsw-swatches-option.cfvsw-selected {
        border-color: #2C3E50 !important;
        border-width: 3px !important;
        box-shadow: none !important;
        transform: none !important;
    }

    /* ===== TAMANHO - GRID 4 COLUNAS ZATTINI ===== */

    /* Container de tamanhos - FORÇAR GRID 4 COLUNAS */
    .variation-radios.variation-size,
    .cfvsw-swatches-container:not(.cfvsw-color-swatches),
    [class*="size-swatches"],
    .variations .variation-size,
    table.variations tr:last-child .cfvsw-swatches-container,
    .woocommerce table.variations tr:last-child td.value .cfvsw-swatches-container,
    .variations tr[data-attribute_name*="tamanho"] .cfvsw-swatches-container,
    .variations tr[data-attribute_name*="size"] .cfvsw-swatches-container {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 6px !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 240px !important;
    }

    /* Cada botão de tamanho - compacto 36px */
    .variation-radios.variation-size label,
    .cfvsw-swatches-option:not(.cfvsw-color-option),
    .cfvsw-swatches-option[data-attribute_name*="tamanho"],
    .cfvsw-swatches-option[data-attribute_name*="size"],
    [class*="size-swatch"],
    .size-variable-item,
    table.variations tr:last-child .cfvsw-swatches-option {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        padding: 0 !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        color: #333 !important;
        background: #fff !important;
        border: 1px solid #ddd !important;
        border-radius: 4px !important;
        cursor: pointer !important;
        transition: all 0.15s ease !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .variation-radios.variation-size label:active,
    .cfvsw-swatches-option:not(.cfvsw-color-option):active,
    table.variations tr:last-child .cfvsw-swatches-option:active {
        background: #f5f5f5 !important;
    }

    /* Tamanho selecionado */
    .variation-radios.variation-size input:checked + label,
    .cfvsw-swatches-option:not(.cfvsw-color-option).cfvsw-selected,
    .size-variable-item.selected,
    table.variations tr:last-child .cfvsw-swatches-option.cfvsw-selected {
        background: #fff !important;
        border-color: #333 !important;
        border-width: 2px !important;
        color: #333 !important;
        font-weight: 600 !important;
    }

    /* Tamanho indisponível - estilo Zattini */
    .variation-radios.variation-size label.disabled,
    .cfvsw-swatches-option.cfvsw-out-of-stock,
    table.variations .cfvsw-swatches-option.cfvsw-out-of-stock {
        opacity: 0.35 !important;
        cursor: not-allowed !important;
        background: #f5f5f5 !important;
        border-style: dashed !important;
    }

    /* Ocultar botão limpar */
    .reset_variations,
    a.reset_variations {
        display: none !important;
    }

    /* Link tabela de medidas - discreto */
    a[href*="medidas"],
    a[href*="size-guide"],
    .size-guide-link {
        display: none !important;
    }

    /* ============================================
       QUANTIDADE + BOTÃO MOBILE
       ============================================ */

    .woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
    .woocommerce-variation-add-to-cart.variations_button {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .quantity-button-wrapper {
        display: flex !important;
        flex-direction: row !important;
        gap: 12px !important;
        width: 100% !important;
    }

    /* Input quantidade mobile */
    .woocommerce div.product form.cart .quantity,
    .quantity-button-wrapper .quantity {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    .woocommerce div.product form.cart .quantity .qty,
    .quantity-button-wrapper .qty {
        width: 70px !important;
        height: 54px !important;
        font-size: 1.1rem !important;
        border-radius: 10px !important;
        border: 2px solid #ddd !important;
        text-align: center !important;
    }

    .woocommerce div.product form.cart .quantity .qty:focus {
        border-color: #2C3E50 !important;
        outline: none !important;
    }

    /* Botão Adicionar mobile - FULL WIDTH */
    .woocommerce div.product form.cart .single_add_to_cart_button,
    .quantity-button-wrapper .single_add_to_cart_button,
    button.single_add_to_cart_button {
        flex: 1 !important;
        width: 100% !important;
        height: 54px !important;
        font-size: 0.95rem !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        border-radius: 10px !important;
        background: #2C3E50 !important;
        color: #fff !important;
        border: none !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .woocommerce div.product form.cart .single_add_to_cart_button:active,
    button.single_add_to_cart_button:active {
        transform: scale(0.98) !important;
        background: #1a252f !important;
    }

    /* ============================================
       CALCULADOR DE FRETE MOBILE
       ============================================ */

    [class*="frete"],
    [class*="shipping-calc"],
    [class*="calculo"],
    .cfwc-shipping-calculator,
    .shipping-calculator-wrapper {
        margin: 24px 0 !important;
        padding: 20px !important;
        background: #f8f9fa !important;
        border-radius: 12px !important;
        border: 1px solid #eee !important;
    }

    /* Título do calculador */
    [class*="frete"] h4,
    [class*="frete"] .title,
    .cfwc-shipping-calculator h4 {
        font-size: 14px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        margin-bottom: 16px !important;
        color: #2C3E50 !important;
    }

    /* Input CEP mobile */
    [class*="frete"] input[type="text"],
    input#calc_shipping_postcode,
    input[name*="postcode"],
    input[placeholder*="CEP"],
    .cfwc-shipping-calculator input {
        width: 100% !important;
        height: 52px !important;
        padding: 0 16px !important;
        font-size: 1rem !important;
        border: 2px solid #ddd !important;
        border-radius: 10px !important;
        background: #fff !important;
        margin-bottom: 12px !important;
        -webkit-appearance: none !important;
    }

    [class*="frete"] input:focus,
    .cfwc-shipping-calculator input:focus {
        border-color: #2C3E50 !important;
        outline: none !important;
    }

    /* Botão Calcular frete mobile */
    [class*="frete"] button,
    [class*="frete"] input[type="submit"],
    .cfwc-shipping-calculator button,
    button[name="calc_shipping"] {
        width: 100% !important;
        height: 48px !important;
        background: #c5a47e !important;
        color: #fff !important;
        border: none !important;
        border-radius: 10px !important;
        font-size: 0.9rem !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    [class*="frete"] button:active,
    .cfwc-shipping-calculator button:active {
        transform: scale(0.98) !important;
    }

    /* Link "Não sei meu CEP" */
    a[href*="correios"],
    .cfwc-shipping-calculator a {
        display: inline-block !important;
        font-size: 12px !important;
        color: #666 !important;
        text-decoration: underline !important;
        margin-top: 10px !important;
        padding: 4px 0 !important;
    }

    /* Resultados do frete */
    [class*="frete"] .shipping-methods,
    [class*="frete"] .resultado,
    .cfwc-shipping-calculator .results {
        margin-top: 16px !important;
        padding-top: 16px !important;
        border-top: 1px solid #eee !important;
    }

    [class*="frete"] .shipping-method,
    [class*="frete"] li {
        padding: 12px !important;
        margin-bottom: 8px !important;
        background: #fff !important;
        border-radius: 8px !important;
        border: 1px solid #eee !important;
        font-size: 14px !important;
    }

    /* ============================================
       TRUST BADGES MOBILE
       ============================================ */

    .trust-badges,
    .product-trust-badges {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 12px !important;
        margin: 24px 0 !important;
        padding: 20px !important;
        background: #f8f9fa !important;
        border-radius: 12px !important;
    }

    .trust-badge {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex: 1 1 calc(50% - 6px) !important;
        min-width: calc(50% - 6px) !important;
        padding: 12px !important;
        background: #fff !important;
        border-radius: 8px !important;
        font-size: 11px !important;
        color: #555 !important;
    }

    .trust-badge svg,
    .trust-badge img {
        flex-shrink: 0 !important;
        width: 20px !important;
        height: 20px !important;
        color: #c5a47e !important;
    }

    /* ============================================
       DESCRIÇÃO E TABS MOBILE - UX Premium
       ============================================ */

    .woocommerce div.product .woocommerce-tabs {
        margin-top: 40px !important;
        padding: 0 !important;
        background: #fff !important;
    }

    /* Container das tabs - scroll horizontal suave */
    .woocommerce div.product .woocommerce-tabs ul.tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        gap: 0 !important;
        padding: 0 16px !important;
        margin: 0 !important;
        background: #f8f9fa !important;
        border-bottom: none !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
        display: none !important;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li {
        flex: 1 1 auto !important;
        background: none !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        min-width: 0 !important;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 16px 12px !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        color: #888 !important;
        background: transparent !important;
        border: none !important;
        border-bottom: 3px solid transparent !important;
        white-space: nowrap !important;
        min-height: 52px !important;
        -webkit-tap-highlight-color: transparent !important;
        transition: all 0.2s ease !important;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
        color: #2C3E50 !important;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
        color: #2C3E50 !important;
        background: #fff !important;
        border-bottom-color: #c5a47e !important;
    }

    /* Conteúdo do painel */
    .woocommerce div.product .woocommerce-tabs .panel {
        padding: 24px 16px !important;
        font-size: 15px !important;
        line-height: 1.8 !important;
        color: #444 !important;
        background: #fff !important;
    }

    .woocommerce div.product .woocommerce-tabs .panel h2 {
        font-size: 1.1rem !important;
        font-weight: 600 !important;
        color: #2C3E50 !important;
        margin-bottom: 16px !important;
    }

    .woocommerce div.product .woocommerce-tabs .panel p {
        margin-bottom: 16px !important;
    }

    .woocommerce div.product .woocommerce-tabs .panel ul,
    .woocommerce div.product .woocommerce-tabs .panel ol {
        padding-left: 20px !important;
        margin-bottom: 16px !important;
    }

    .woocommerce div.product .woocommerce-tabs .panel li {
        margin-bottom: 8px !important;
    }

    /* ============================================
       PRODUTOS RELACIONADOS MOBILE
       ============================================ */

    .related.products,
    .upsells.products {
        margin-top: 40px !important;
        padding: 0 16px !important;
    }

    .related.products > h2,
    .upsells.products > h2 {
        font-size: 1.2rem !important;
        font-weight: 600 !important;
        margin-bottom: 20px !important;
        color: #2C3E50 !important;
    }

    .related.products ul.products,
    .upsells.products ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }

    .related.products ul.products li.product,
    .upsells.products ul.products li.product {
        padding: 0 !important;
        margin: 0 !important;
    }

    .related.products ul.products li.product a img,
    .upsells.products ul.products li.product a img {
        border-radius: 8px !important;
    }

    .related.products ul.products li.product .woocommerce-loop-product__title,
    .upsells.products ul.products li.product .woocommerce-loop-product__title {
        font-size: 0.85rem !important;
        line-height: 1.3 !important;
        margin: 10px 0 6px !important;
    }

    .related.products ul.products li.product .price,
    .upsells.products ul.products li.product .price {
        font-size: 0.9rem !important;
        padding: 0 !important;
        background: none !important;
    }
}

/* ==========================================================================
   MOBILE EXTRA SMALL - 480px
   ========================================================================== */

@media (max-width: 480px) {

    /* Título menor */
    .woocommerce div.product .product_title,
    h1.product_title {
        font-size: 1.25rem !important;
    }

    /* Preço PIX menor */
    .pix-amount-big .woocommerce-Price-amount,
    [class*="pix"] .woocommerce-Price-amount {
        font-size: 1.25rem !important;
    }

    /* Grid de tamanhos - 4 colunas */
    .variation-radios.variation-size {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 8px !important;
    }

    .variation-radios.variation-size label {
        min-width: unset !important;
        width: 100% !important;
        padding: 0 !important;
        justify-content: center !important;
    }

    /* Trust badges 1 coluna */
    .trust-badge {
        flex: 1 1 100% !important;
        min-width: 100% !important;
    }

    /* Produtos relacionados - scroll horizontal */
    .related.products ul.products,
    .upsells.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
}

/* ==========================================================================
   COMPRE JUNTO / BUNDLE MOBILE - Design System VIX
   ========================================================================== */

@media (max-width: 768px) {

    /* Container principal */
    .wcsb-wrapper,
    [class*="compre-junto"],
    [class*="bundle"],
    .wpc-bundle-wrapper,
    .woosb-wrap {
        margin: 32px 0 !important;
        padding: 24px 16px !important;
        background: #fff !important;
        border: 1px solid #eee !important;
        border-radius: 16px !important;
        box-shadow: 0 2px 12px rgba(0,0,0,0.04) !important;
    }

    /* Título "Compre Junto" */
    .wcsb-wrapper h3,
    [class*="compre-junto"] h2,
    [class*="compre-junto"] h3,
    .woosb-title {
        font-family: 'Cormorant Garamond', Georgia, serif !important;
        font-size: 1.25rem !important;
        font-weight: 500 !important;
        margin-bottom: 24px !important;
        padding-bottom: 16px !important;
        text-align: center !important;
        color: #2C3E50 !important;
        border-bottom: 1px solid #f0f0f0 !important;
    }

    /* Grid de produtos - 2 colunas no mobile */
    .wcsb-products,
    [class*="compre-junto"] .products,
    .wpc-bundle-products,
    .woosb-products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
        margin-bottom: 20px !important;
    }

    /* Cada card de produto */
    .wcsb-product,
    [class*="compre-junto"] .product,
    .wpc-bundle-product,
    .woosb-product {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: none !important;
        padding: 12px !important;
        background: #fafafa !important;
        border-radius: 12px !important;
        text-align: center !important;
        border: 1px solid #eee !important;
    }

    /* Imagem do produto */
    .wcsb-product img,
    [class*="compre-junto"] .product img,
    .woosb-product img {
        width: 100% !important;
        max-width: 100px !important;
        height: auto !important;
        border-radius: 8px !important;
        margin: 0 auto 10px !important;
    }

    /* Nome do produto */
    .wcsb-product .title,
    .wcsb-product-title,
    [class*="compre-junto"] .product .title,
    .woosb-product .woosb-title {
        font-size: 13px !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;
        margin-bottom: 8px !important;
        color: #333 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        min-height: 36px !important;
    }

    /* Preço do produto no bundle */
    .wcsb-product .price,
    [class*="compre-junto"] .product .price,
    .woosb-product .woosb-price {
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #2C3E50 !important;
        background: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .wcsb-product .price del,
    [class*="compre-junto"] .product .price del {
        font-size: 12px !important;
        color: #999 !important;
        display: block !important;
        margin-bottom: 2px !important;
    }

    /* Selects de variação (Cor/Tamanho) */
    .wcsb-product select,
    .wcsb-wrapper select,
    [class*="compre-junto"] select,
    .woosb-product select {
        width: 100% !important;
        height: 44px !important;
        padding: 0 32px 0 12px !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: #333 !important;
        border: 2px solid #e0e0e0 !important;
        border-radius: 8px !important;
        background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center !important;
        background-size: 12px !important;
        margin-top: 8px !important;
        -webkit-appearance: none !important;
        appearance: none !important;
        cursor: pointer !important;
    }

    .wcsb-product select:focus,
    [class*="compre-junto"] select:focus {
        border-color: #2C3E50 !important;
        outline: none !important;
    }

    /* Labels das variações no bundle */
    .wcsb-product label,
    [class*="compre-junto"] .product label,
    .woosb-product label {
        display: block !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        color: #666 !important;
        margin-top: 10px !important;
        margin-bottom: 4px !important;
        text-align: left !important;
    }

    /* Símbolo + entre produtos - Ocultar no grid */
    .wcsb-plus,
    [class*="compre-junto"] .plus {
        display: none !important;
    }

    /* Checkbox do bundle */
    .wcsb-product input[type="checkbox"],
    [class*="compre-junto"] input[type="checkbox"],
    .woosb-product input[type="checkbox"] {
        width: 24px !important;
        height: 24px !important;
        margin: 0 auto 8px !important;
        accent-color: #c5a47e !important;
        cursor: pointer !important;
    }

    /* ===== ÁREA DE TOTAL ===== */
    .wcsb-total,
    [class*="compre-junto"] .total,
    .wpc-bundle-total,
    .woosb-total {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 12px !important;
        margin-top: 20px !important;
        padding: 20px 16px !important;
        background: #f8f9fa !important;
        border-radius: 12px !important;
        border: none !important;
    }

    /* Preço do pacote */
    .wcsb-total .price,
    .wcsb-total-price,
    [class*="compre-junto"] .total-price,
    .woosb-total .woosb-price {
        text-align: center !important;
    }

    .wcsb-total del,
    .wcsb-total-price del {
        display: block !important;
        font-size: 14px !important;
        color: #999 !important;
        text-decoration: line-through !important;
        margin-bottom: 4px !important;
    }

    .wcsb-total ins,
    .wcsb-total-price ins,
    .wcsb-total .amount {
        display: block !important;
        font-size: 1.5rem !important;
        font-weight: 700 !important;
        color: #2C3E50 !important;
        text-decoration: none !important;
    }

    /* Badge de economia */
    .wcsb-savings,
    [class*="compre-junto"] .savings,
    .bundle-savings,
    .woosb-savings {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%) !important;
        color: #2e7d32 !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        padding: 8px 16px !important;
        border-radius: 24px !important;
        border: 1px solid #a5d6a7 !important;
    }

    /* Botão Adicionar ao Carrinho */
    .wcsb-btn,
    .wcsb-wrapper button[type="submit"],
    [class*="compre-junto"] button,
    .wpc-bundle-btn,
    .woosb-btn {
        width: 100% !important;
        max-width: none !important;
        height: 56px !important;
        background: #c5a47e !important;
        color: #fff !important;
        border: none !important;
        border-radius: 12px !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        cursor: pointer !important;
        margin-top: 16px !important;
        -webkit-tap-highlight-color: transparent !important;
        transition: all 0.2s ease !important;
    }

    .wcsb-btn:active,
    [class*="compre-junto"] button:active,
    .woosb-btn:active {
        transform: scale(0.98) !important;
        background: #b8956d !important;
    }
}

/* ==========================================================================
   BOTÕES DE AÇÃO - ESTILO ZATTINI
   Dois botões: COMPRAR (destaque) + ADICIONAR À SACOLA (outline)
   ========================================================================== */

@media (max-width: 768px) {

    /* Container dos botões - empilhados verticalmente */
    .woocommerce div.product form.cart .woocommerce-variation-add-to-cart,
    .woocommerce div.product form.cart .single_variation_wrap {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
        padding: 0 !important;
    }

    /* Ocultar seletor de quantidade por padrão (simplificar UX) */
    .woocommerce div.product form.cart .quantity {
        display: none !important;
    }

    /* ===== BOTÃO PRINCIPAL - COMPRAR (Design System VIX - Navy) ===== */
    .woocommerce div.product form.cart .single_add_to_cart_button,
    button.single_add_to_cart_button {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        width: 100% !important;
        height: 56px !important;
        background: linear-gradient(135deg, #2C3E50 0%, #1a252f 100%) !important;
        color: #fff !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 1.5px !important;
        border: none !important;
        border-radius: 8px !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent !important;
        transition: all 0.2s ease !important;
        box-shadow: 0 4px 15px rgba(44, 62, 80, 0.3) !important;
    }

    .woocommerce div.product form.cart .single_add_to_cart_button:hover,
    button.single_add_to_cart_button:hover {
        background: linear-gradient(135deg, #1a252f 0%, #0f171f 100%) !important;
        box-shadow: 0 6px 20px rgba(44, 62, 80, 0.4) !important;
        transform: translateY(-1px) !important;
    }

    .woocommerce div.product form.cart .single_add_to_cart_button:active,
    button.single_add_to_cart_button:active {
        transform: scale(0.98) translateY(0) !important;
        box-shadow: 0 2px 10px rgba(44, 62, 80, 0.3) !important;
    }

    /* ===== BOTÃO SECUNDÁRIO - ADICIONAR À SACOLA (Outline) ===== */
    .woocommerce div.product form.cart .btn-add-bag,
    .btn-add-to-bag,
    .single-product .add-to-bag-secondary {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        width: 100% !important;
        height: 52px !important;
        background: transparent !important;
        color: #333 !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        border: 2px solid #333 !important;
        border-radius: 8px !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent !important;
        transition: all 0.2s ease !important;
    }

    .btn-add-bag:hover,
    .btn-add-to-bag:hover,
    .add-to-bag-secondary:hover {
        background: #333 !important;
        color: #fff !important;
    }

    .btn-add-bag:active,
    .btn-add-to-bag:active,
    .add-to-bag-secondary:active {
        transform: scale(0.98) !important;
    }

    /* ===== ESTADO DE LOADING DO BOTÃO ===== */
    .woocommerce div.product form.cart .single_add_to_cart_button.loading,
    button.single_add_to_cart_button.loading {
        pointer-events: none !important;
        opacity: 0.8 !important;
    }

    .woocommerce div.product form.cart .single_add_to_cart_button.loading::after,
    button.single_add_to_cart_button.loading::after {
        content: "" !important;
        width: 20px !important;
        height: 20px !important;
        border: 2px solid rgba(255,255,255,0.3) !important;
        border-top-color: #fff !important;
        border-radius: 50% !important;
        animation: spin 0.8s linear infinite !important;
        margin-left: 8px !important;
    }

    @keyframes spin {
        to { transform: rotate(360deg); }
    }

    /* ===== ESTADO ADICIONADO AO CARRINHO ===== */
    .woocommerce div.product form.cart .single_add_to_cart_button.added,
    button.single_add_to_cart_button.added {
        background: linear-gradient(135deg, #4caf50 0%, #388e3c 100%) !important;
        box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3) !important;
    }

    .woocommerce div.product form.cart .single_add_to_cart_button.added::before,
    button.single_add_to_cart_button.added::before {
        content: "✓ " !important;
    }

    /* ===== BOTÃO DESABILITADO ===== */
    .woocommerce div.product form.cart .single_add_to_cart_button:disabled,
    .woocommerce div.product form.cart .single_add_to_cart_button.disabled,
    button.single_add_to_cart_button:disabled {
        background: #ccc !important;
        color: #888 !important;
        cursor: not-allowed !important;
        box-shadow: none !important;
        transform: none !important;
    }
}

/* ==========================================================================
   CART SIDEBAR - Estilos movidos para /assets/css/components/_mini-cart.css
   ========================================================================== */

/* ==========================================================================
   SAFE AREA SUPPORT - iPHONE X+
   ========================================================================== */

@supports (padding-bottom: env(safe-area-inset-bottom)) {
    @media (max-width: 768px) {
        .woocommerce div.product form.cart {
            padding-bottom: env(safe-area-inset-bottom) !important;
        }

        .product-single-section {
            padding-bottom: calc(20px + env(safe-area-inset-bottom)) !important;
        }

        /* Safe area para botões do carrinho */
        .cart-sidebar .woocommerce-mini-cart__buttons,
        .widget_shopping_cart_content .buttons {
            padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
        }
    }
}

/* ==========================================================================
   PHOTOSWIPE LIGHTBOX - Correção de estilos
   ========================================================================== */

.pswp {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 999999 !important;
    background: rgba(0, 0, 0, 0.95) !important;
    display: none;
}

.pswp.pswp--open {
    display: block !important;
}

.pswp__bg {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.95) !important;
    opacity: 1 !important;
    z-index: 1 !important;
}

.pswp__scroll-wrap {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 2 !important;
    overflow: hidden !important;
}

.pswp__container {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pswp__item {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pswp__img {
    max-width: 90% !important;
    max-height: 90% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin: auto !important;
}

.pswp__zoom-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

/* Barra superior com botões */
.pswp__top-bar {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding: 0 20px !important;
    z-index: 10 !important;
    background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%, transparent 100%) !important;
}

/* Botões do lightbox */
.pswp__button {
    width: 44px !important;
    height: 44px !important;
    background: rgba(255,255,255,0.1) !important;
    border: none !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    margin-left: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s ease !important;
}

.pswp__button:hover {
    background: rgba(255,255,255,0.2) !important;
}

.pswp__button--close {
    background: rgba(255,255,255,0.15) !important;
}

.pswp__button--close:hover {
    background: rgba(255,100,100,0.3) !important;
}

/* Setas de navegação */
.pswp__button--arrow--left,
.pswp__button--arrow--right {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 50px !important;
    height: 50px !important;
    background: rgba(255,255,255,0.1) !important;
    border-radius: 50% !important;
    z-index: 10 !important;
}

.pswp__button--arrow--left {
    left: 20px !important;
}

.pswp__button--arrow--right {
    right: 20px !important;
}

/* Contador de imagens */
.pswp__counter {
    position: absolute !important;
    top: 20px !important;
    left: 20px !important;
    color: #fff !important;
    font-size: 14px !important;
    z-index: 10 !important;
}

/* Caption */
.pswp__caption {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    padding: 20px !important;
    background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 100%) !important;
    z-index: 10 !important;
}

.pswp__caption__center {
    color: #fff !important;
    text-align: center !important;
    font-size: 14px !important;
}
