/* ============================================================
   SOUL BRINDERS PRO — Redesign v2
   WooCommerce: Fix Total — produto, loja, categorias
   Usa especificidade máxima + !important para vencer o optimized.css
============================================================ */

/* ================================================================
   FIX GLOBAL: reset de layout na página de produto
================================================================ */

/* A página de produto tem body.single-product */
body.single-product .site-content,
body.single-product #primary,
body.single-product #content,
body.single-product .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    overflow: visible !important;
}

/* ================================================================
   PRODUTO INDIVIDUAL: layout correto galeria | summary
================================================================ */

body.single-product div.product.product {
    display: grid !important;
    grid-template-columns: 480px 1fr !important;
    grid-template-rows: auto !important;
    gap: 3rem !important;
    align-items: start !important;
    width: 100% !important;
    float: none !important;
    overflow: visible !important;
    margin-bottom: 3rem !important;
}

/* Galeria: coluna 1 */
body.single-product div.product .woocommerce-product-gallery {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    max-width: none !important;
}

/* Summary: coluna 2 — contém título, preço, botão */
body.single-product div.product .summary.entry-summary,
body.single-product div.product div.summary {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    clear: none !important;
    min-width: 0 !important;
    overflow: visible !important;
}

/* Tabs (descrição/avaliações): ocupa as 2 colunas */
body.single-product div.product .woocommerce-tabs {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    float: none !important;
    clear: none !important;
}

/* Tudo abaixo das tabs: span 2 colunas */
body.single-product div.product .up-sells,
body.single-product .related.products {
    clear: both !important;
    width: 100% !important;
    float: none !important;
}

/* ================================================================
   TÍTULO DO PRODUTO SINGLE: FIX VERTICAL TEXT
================================================================ */

body.single-product .product_title,
body.single-product h1.product_title,
body.single-product .entry-title,
body.single-product div.product h1 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.8rem !important;
    font-weight: 800 !important;
    color: #734f34 !important;
    line-height: 1.3 !important;
    margin: 0 0 1rem !important;

    /* Reset anti-bug */
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    transform: none !important;
    rotate: none !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    display: block !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
    text-align: left !important;
    position: static !important;
}

/* Preço */
body.single-product div.product p.price,
body.single-product div.product span.price {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #f58634 !important;
    display: block !important;
    margin-bottom: 1.5rem !important;
    writing-mode: horizontal-tb !important;
    transform: none !important;
}

/* ================================================================
   SHOP / ARCHIVE / CATEGORIA — Grid de produtos
================================================================ */

/* Container principal */
body.woocommerce #primary,
body.woocommerce-page #primary,
body.tax-product_cat #primary,
body.post-type-archive-product #primary {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
}

/* Grid de produtos */
body.woocommerce ul.products,
body.woocommerce-page ul.products,
body.tax-product_cat ul.products,
body.post-type-archive-product ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5rem !important;
    list-style: none !important;
    margin: 0 0 2rem !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
}

/* Card do produto */
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product,
body.tax-product_cat ul.products li.product,
body.post-type-archive-product ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border: 1px solid #eee !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    transition: transform .3s, box-shadow .3s !important;
    text-align: left !important;
    position: relative !important;
}
body.woocommerce ul.products li.product:hover,
body.woocommerce-page ul.products li.product:hover,
body.tax-product_cat ul.products li.product:hover,
body.post-type-archive-product ul.products li.product:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 14px 35px rgba(0,0,0,.1) !important;
}

/* Imagem */
body.woocommerce ul.products li.product a.woocommerce-loop-product__link img,
body.woocommerce-page ul.products li.product a img,
body.tax-product_cat ul.products li.product a img,
body.post-type-archive-product ul.products li.product a img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    margin: 0 !important;
    float: none !important;
    display: block !important;
    flex-shrink: 0 !important;
}

/* Título do produto no card — ANTI-TEXTO-VERTICAL */
body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.woocommerce ul.products li.product h2,
body.woocommerce-page ul.products li.product h2,
body.tax-product_cat ul.products li.product h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: #373435 !important;
    line-height: 1.4 !important;
    padding: 0.75rem 0.9rem 0.25rem !important;
    margin: 0 !important;

    /* Limite de 2 linhas com ellipsis */
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;

    /* Anti-bug */
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    transform: none !important;
    white-space: normal !important;
    word-break: normal !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    text-align: left !important;
}

/* Preço no card */
body.woocommerce ul.products li.product .price,
body.woocommerce-page ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.post-type-archive-product ul.products li.product .price {
    color: #f58634 !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    font-family: 'Montserrat', sans-serif !important;
    padding: 0 0.9rem 0.5rem !important;
    margin: 0 !important;
    display: block !important;
    writing-mode: horizontal-tb !important;
    transform: none !important;
}

/* Botão */
body.woocommerce ul.products li.product .button,
body.woocommerce-page ul.products li.product .button,
body.tax-product_cat ul.products li.product .button,
body.post-type-archive-product ul.products li.product .button {
    display: block !important;
    margin: auto 0.9rem 0.9rem !important;
    padding: 0.55rem 1rem !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    font-family: 'Montserrat', sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: .3px !important;
    background: transparent !important;
    border: 2px solid #734f34 !important;
    color: #734f34 !important;
    text-align: center !important;
    transition: all .2s !important;
    text-decoration: none !important;
    writing-mode: horizontal-tb !important;
    transform: none !important;
}
body.woocommerce ul.products li.product .button:hover,
body.woocommerce-page ul.products li.product .button:hover,
body.tax-product_cat ul.products li.product .button:hover,
body.post-type-archive-product ul.products li.product .button:hover {
    background: #734f34 !important;
    color: #fff !important;
}

/* ================================================================
   PRODUTOS RELACIONADOS
================================================================ */
body.single-product .related.products ul.products,
body.single-product .up-sells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5rem !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: 100% !important;
}

/* ================================================================
   RESPONSIVO
================================================================ */
@media (max-width: 1199.98px) {
    body.woocommerce ul.products,
    body.woocommerce-page ul.products,
    body.tax-product_cat ul.products,
    body.post-type-archive-product ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    body.single-product div.product.product {
        grid-template-columns: 380px 1fr !important;
    }
    body.single-product .related.products ul.products,
    body.single-product .up-sells.products ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}
@media (max-width: 991.98px) {
    body.single-product div.product.product {
        grid-template-columns: 1fr !important;
    }
    body.single-product div.product .woocommerce-product-gallery { grid-column: 1 !important; grid-row: 1 !important; }
    body.single-product div.product .summary.entry-summary { grid-column: 1 !important; grid-row: 2 !important; }
    body.single-product div.product .woocommerce-tabs { grid-column: 1 !important; grid-row: 3 !important; }
}
@media (max-width: 767.98px) {
    body.woocommerce ul.products,
    body.woocommerce-page ul.products,
    body.tax-product_cat ul.products,
    body.post-type-archive-product ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1rem !important;
    }
    body.single-product .related.products ul.products,
    body.single-product .up-sells.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 479.98px) {
    body.woocommerce ul.products,
    body.woocommerce-page ul.products,
    body.tax-product_cat ul.products,
    body.post-type-archive-product ul.products {
        grid-template-columns: 1fr !important;
    }
}
