/**
 * Flavor Theme - Revisão Completa v3.1
 * Academia São Carlos Borromeu
 * Março 2026
 *
 * OBJETIVO: Estilo clássico, elegante, espaçoso
 * PÚBLICO: Adultos 35+ anos (pais de alunos)
 * 
 * Carregado DEPOIS de todos os outros CSS.
 * Usa !important onde necessário para sobrescrever style.css e fixes.css
 */

/* ==========================================================================
   1. VARIÁVEIS - PALETA CLÁSSICA
   ========================================================================== */

:root {
    --flavor-primary: #1B2A4A !important;
    --flavor-primary-hover: #0F1D36 !important;
    --flavor-primary-light: #2C4066 !important;
    --flavor-secondary: #5A6577 !important;
    --flavor-accent: #8B6914 !important;
    --flavor-accent-hover: #725610 !important;
    --flavor-accent-light: #C49B2C !important;

    --flavor-bg-primary: #FDFCFA !important;
    --flavor-bg-secondary: #F5F2ED !important;
    --flavor-bg-tertiary: #EBE6DE !important;
    --flavor-bg-card: #FFFFFF;

    --flavor-text-primary: #1B2A4A !important;
    --flavor-text-secondary: #5A6577 !important;
    --flavor-text-muted: #8E99A8 !important;

    --flavor-border: #DDD6CB !important;
    --flavor-border-hover: #C5BDB0 !important;

    --flavor-success: #2D8A56 !important;
    --flavor-warning: #C49B2C !important;
    --flavor-error: #B83232 !important;

    --flavor-font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    --flavor-font-heading: 'Lora', 'Georgia', 'Times New Roman', serif !important;

    --flavor-radius-sm: 3px;
    --flavor-radius-md: 6px;
    --flavor-radius-lg: 10px;
    --flavor-radius-xl: 14px;

    --flavor-shadow-sm: 0 1px 3px rgba(27, 42, 74, 0.04);
    --flavor-shadow-md: 0 3px 10px rgba(27, 42, 74, 0.06);
    --flavor-shadow-lg: 0 8px 25px rgba(27, 42, 74, 0.08);

    --flavor-container-max: 1200px !important;
    --flavor-header-height: 70px;
}


/* ==========================================================================
   2. BASE & TIPOGRAFIA
   ========================================================================== */

body {
    background-color: #FDFCFA !important;
    color: #1B2A4A !important;
    font-family: 'Inter', -apple-system, sans-serif !important;
    line-height: 1.7 !important;
    min-height: 100vh !important;
}

/* Sticky footer: usar min-height no content para empurrar footer */
.site-content,
#content {
    min-height: calc(100vh - 70px - 150px) !important; /* viewport - header - footer aprox */
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Lora', 'Georgia', serif !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #1B2A4A !important;
}

a {
    color: #8B6914;
}

a:hover {
    color: #725610;
}


/* ==========================================================================
   3. HEADER
   ========================================================================== */

.site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    background: #FDFCFA !important;
    border-bottom: 2px solid #DDD6CB !important;
    padding: 0 !important;
    height: 70px !important;
    display: flex !important;
    align-items: center !important;
    box-shadow: 0 1px 4px rgba(27, 42, 74, 0.05) !important;
}

/* Quando a barra de perfil ABM está ativa (fixed 45px no topo) */
body.has-abm-profile-bar .site-header {
    top: 45px !important;
    margin-top: 0 !important;
}

/* Com admin bar */
.admin-bar .site-header {
    top: 32px !important;
}

body.admin-bar.has-abm-profile-bar .site-header {
    top: 77px !important; /* 32px admin + 45px barra perfil */
    margin-top: 0 !important;
}

@media (max-width: 782px) {
    .admin-bar .site-header {
        top: 46px !important;
    }
    body.admin-bar.has-abm-profile-bar .site-header {
        top: 91px !important; /* 46px admin + 45px barra perfil */
    }
}

.header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 1.5rem !important;
    width: 100% !important;
    gap: 1.5rem !important;
    height: 100% !important;
}

.site-logo a {
    font-family: 'Lora', 'Georgia', serif !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #1B2A4A !important;
}

.main-navigation a {
    color: #5A6577 !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    padding: 0.5rem 0.75rem !important;
    white-space: nowrap !important;
}

.main-navigation a:hover,
.main-navigation .current-menu-item a {
    color: #1B2A4A !important;
    background: #F5F2ED !important;
    border-radius: 6px !important;
}

.main-navigation a::after {
    display: none !important;
}


/* ==========================================================================
   4. CONTAINER / CONTEÚDO GERAL
   ========================================================================== */

/* ★ FIX: Espaçamento entre header e conteúdo.
   O header é sticky (70px) + barra perfil ABM (45px fixed).
   O titulo da pagina fica atrás do header.
   Precisa de padding-top generoso para compensar. */
.site-content {
    padding-top: 2.5rem !important;
}

/* Quando não tem barra de perfil, menos padding */
body:not(.has-abm-profile-bar) .site-content {
    padding-top: 1.5rem !important;
}

.flavor-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 2rem !important;
}

.entry-title,
.page-title,
.woocommerce-products-header__title {
    font-family: 'Lora', 'Georgia', serif !important;
    font-size: 2rem !important;
    color: #1B2A4A !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ★ Entry header: espaçamento acima do título */
.entry-header {
    padding-top: 1rem !important;
    margin-bottom: 1rem !important;
}

/* Título da loja WooCommerce */
.woocommerce-products-header {
    padding-top: 1rem !important;
    margin-bottom: 1.5rem !important;
    padding-bottom: 1rem !important;
    border-bottom: 2px solid #DDD6CB !important;
}


/* ==========================================================================
   5. ★★★ LOJA (archive-product) — FIX CARDS COMPRIMIDOS ★★★
   ========================================================================== */

/* Força o grid a ter colunas mais largas */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2rem !important;
    padding: 0 !important;
    margin: 2rem 0 !important;
    list-style: none !important;
    width: 100% !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    background: #fff !important;
    border: 1px solid #DDD6CB !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    transition: all 250ms ease !important;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 25px rgba(27, 42, 74, 0.08) !important;
}

/* Imagem do produto — FULL WIDTH dentro do card */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product > a > img,
ul.products li.product a img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    border-bottom: 1px solid #DDD6CB !important;
    border-radius: 0 !important;
}

/* Placeholder de imagem */
.woocommerce ul.products li.product a img[src*="placeholder"],
.woocommerce ul.products li.product a img[src*="woocommerce-placeholder"] {
    object-fit: contain !important;
    padding: 2rem !important;
    background: #F5F2ED !important;
}

/* Título do produto — NÃO truncar, espaço adequado */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Lora', 'Georgia', serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    margin: 1rem 1.25rem 0.5rem !important;
    padding: 0 !important;
    color: #1B2A4A !important;
    line-height: 1.4 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    display: block !important;
    max-width: 100% !important;
}

/* Preço */
.woocommerce ul.products li.product .price,
ul.products li.product .price {
    margin: 0 1.25rem 1rem !important;
    padding: 0 !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    color: #1B2A4A !important;
    display: block !important;
}

/* Botão no card da loja */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
ul.products li.product .button,
ul.products li.product a.button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.product_type_variable {
    display: block !important;
    margin: auto 1.25rem 1.25rem !important;
    padding: 0.7rem 1rem !important;
    background: #1B2A4A !important;
    color: #fff !important;
    border-radius: 6px !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    text-align: center !important;
    border: none !important;
    width: auto !important;
    max-width: calc(100% - 2.5rem) !important;
    white-space: normal !important;
    line-height: 1.4 !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover {
    background: #0F1D36 !important;
    color: #fff !important;
}

/* Before/after shop loop (resultados, ordenação) */
.woocommerce-result-count,
.woocommerce-ordering {
    margin-bottom: 1rem !important;
}

.woocommerce .woocommerce-result-count {
    float: left !important;
}

.woocommerce .woocommerce-ordering {
    float: right !important;
}

.woocommerce .woocommerce-ordering select {
    padding: 0.5rem 0.75rem !important;
    border: 1px solid #DDD6CB !important;
    border-radius: 6px !important;
}


/* ==========================================================================
   6. ★★★ PRODUTO INDIVIDUAL — FIX LAYOUT COMPRIMIDO ★★★
   ========================================================================== */

/* REMOVE o grid 2 colunas que está causando compressão */
.woocommerce div.product,
.woocommerce #content div.product,
.woocommerce-page div.product {
    display: block !important;
    max-width: 960px !important;
    margin: 0 auto !important;
    grid-template-columns: unset !important;
    gap: unset !important;
}

/* Imagem do produto individual */
.woocommerce div.product div.images,
.woocommerce #content div.product div.images {
    width: 100% !important;
    max-width: 480px !important;
    float: none !important;
    margin: 0 auto 2rem !important;
}

.woocommerce div.product div.images img {
    border-radius: 10px !important;
    border: 1px solid #DDD6CB !important;
    width: 100% !important;
}

/* Summary do produto */
.woocommerce div.product div.summary,
.woocommerce #content div.product div.summary {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce div.product .product_title {
    font-family: 'Lora', 'Georgia', serif !important;
    font-size: 2rem !important;
    margin-bottom: 1rem !important;
    color: #1B2A4A !important;
}

.woocommerce div.product p.price {
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #8B6914 !important;
    margin-bottom: 1.5rem !important;
    padding-bottom: 1rem !important;
    border-bottom: 1px solid #DDD6CB !important;
}

/* Form add to cart no produto */
.woocommerce div.product form.cart:not(.variations_form) {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    margin: 1.5rem 0 !important;
    padding: 1.25rem !important;
    background: #F5F2ED !important;
    border-radius: 10px !important;
    border: 1px solid #DDD6CB !important;
    flex-wrap: wrap !important;
}

/* Produto variável (com tabela de planos) — não comprimir */
.woocommerce div.product form.variations_form {
    display: block !important;
    margin: 1.5rem 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* Wrapper de add-to-cart dentro do produto variável */
.woocommerce div.product form.variations_form .woocommerce-variation-add-to-cart {
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    padding: 1.25rem !important;
    background: #F5F2ED !important;
    border-radius: 10px !important;
    border: 1px solid #DDD6CB !important;
    flex-wrap: wrap !important;
    margin-top: 1rem !important;
}

.woocommerce div.product form.cart .button {
    flex: 1 !important;
    padding: 0.85rem 2rem !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    background: #8B6914 !important;
    color: #fff !important;
    border-radius: 6px !important;
    border: none !important;
    min-width: 180px !important;
}

.woocommerce div.product form.cart .button:hover {
    background: #725610 !important;
    color: #fff !important;
}

.woocommerce div.product .quantity .qty {
    width: 70px !important;
    text-align: center !important;
    padding: 0.7rem !important;
    border: 1px solid #DDD6CB !important;
    border-radius: 6px !important;
}

/* ★ Tabela comparativa de planos — classe real do plugin */
.abm-plan-comparison {
    width: 100% !important;
    max-width: 100% !important;
    margin: 1.5rem 0 !important;
    box-sizing: border-box !important;
}

/* Grid dos cards de plano (gerado inline pelo plugin como grid 2col) */
.abm-plan-comparison > div[style*="grid"] {
    gap: 20px !important;
}

/* Cada card de plano */
.abm-plan-select-card {
    min-width: 0 !important;
    overflow: hidden !important;
    word-wrap: break-word !important;
}

/* Preço dentro do card */
.abm-plan-select-card .woocommerce-Price-amount {
    font-size: 1.4rem !important;
}

/* Features list dentro do card */
.abm-plan-select-card ul {
    padding: 0 !important;
    margin: 0 !important;
}

.abm-plan-select-card ul li {
    font-size: 0.85rem !important;
    padding: 5px 0 !important;
}

/* Box Cursos Incluídos — classe real do plugin */
.abm-product-courses-box {
    width: 100% !important;
    max-width: 100% !important;
    margin: 1.5rem 0 !important;
    box-sizing: border-box !important;
    clear: both !important;
}

/* Tabs do produto individual */
.woocommerce div.product .woocommerce-tabs {
    margin-top: 3rem !important;
    clear: both !important;
}

/* ★ Produtos Relacionados — FIX COMPRESSÃO */
.woocommerce div.product .related.products,
.related.products {
    clear: both !important;
    margin-top: 3rem !important;
    padding-top: 2rem !important;
    border-top: 1px solid #DDD6CB !important;
}

.related.products ul.products,
.woocommerce div.product .related ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.5rem !important;
}

.related.products ul.products li.product,
.woocommerce div.product .related ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
}


/* ==========================================================================
   7. CADASTRO DE ALUNO — Plugin inline styles
   ========================================================================== */

/* Container principal do shortcode */
#abm-gc {
    max-width: 100% !important;
    width: 100% !important;
}

/* Profile cards grid — forçar 2 colunas (plugin usa minmax(280px) que cria 3 cols e comprime o texto) */
#abm-gc div[style*="grid-template-columns"] {
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)) !important;
}

/* Profile card layout interno */
#abm-gc .profile-card {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px !important;
    min-width: 0 !important;
    width: 100% !important;
}

/* Avatar — tamanho fixo */
#abm-gc .profile-card > div:first-child {
    flex: 0 0 60px !important;
    width: 60px !important;
}

/* Div do texto (nome + cursos) — visível */
#abm-gc .profile-card > div:nth-child(2) {
    flex: 1 1 auto !important;
    min-width: 80px !important;
    overflow: visible !important;
}

#abm-gc .profile-card > div:nth-child(2) strong {
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Botão Gerenciar */
#abm-gc .profile-card .btn-manage {
    flex: 0 0 auto !important;
    background: #1B2A4A !important;
    white-space: nowrap !important;
}


/* ==========================================================================
   8. MINHA CONTA — WOOCOMMERCE
   ========================================================================== */

.woocommerce-account .woocommerce {
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 2rem 1.5rem !important;
}

/* Nav como tabs horizontais */
.woocommerce-account .woocommerce-MyAccount-navigation {
    float: none !important;
    width: 100% !important;
    margin-bottom: 1.5rem !important;
    background: #fff !important;
    border: 1px solid #DDD6CB !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: 0 !important;
    list-style: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    padding: 0.85rem 1.4rem !important;
    color: #5A6577 !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    border-bottom: 2px solid transparent !important;
    transition: all 200ms ease !important;
    background: transparent !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    color: #1B2A4A !important;
    background: #F5F2ED !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    color: #1B2A4A !important;
    border-bottom-color: #8B6914 !important;
    font-weight: 600 !important;
}

/* Conteúdo */
.woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
    background: #fff !important;
    border: 1px solid #DDD6CB !important;
    border-radius: 10px !important;
    padding: 2rem !important;
}

/* Alertas */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
    border-radius: 6px !important;
    margin-bottom: 1.5rem !important;
    padding: 1rem 1.25rem !important;
}

.woocommerce .woocommerce-info {
    background: #F5F2ED !important;
    border-top: none !important;
    border-left: 4px solid #8B6914 !important;
    color: #1B2A4A !important;
}

.woocommerce .woocommerce-info::before {
    color: #8B6914 !important;
}

/* Tabela de pedidos */
.woocommerce-account table.shop_table {
    width: 100% !important;
    border-collapse: collapse !important;
}

.woocommerce-account table.shop_table th {
    background: #F5F2ED !important;
    padding: 0.75rem 1rem !important;
    font-size: 0.8rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #5A6577 !important;
    border-bottom: 2px solid #DDD6CB !important;
}

.woocommerce-account table.shop_table td {
    padding: 0.85rem 1rem !important;
    border-bottom: 1px solid #DDD6CB !important;
}

/* Endereços */
.woocommerce-account .woocommerce-Addresses {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1.5rem !important;
}


/* ==========================================================================
   9. SELETOR DE PERFIL
   ========================================================================== */

.abm-profile-selector h2 {
    font-family: 'Lora', 'Georgia', serif !important;
}


/* ==========================================================================
   10. FOOTER
   ========================================================================== */

.site-footer {
    background: #1B2A4A !important;
    color: rgba(255, 255, 255, 0.7) !important;
    padding: 3rem 0 1.5rem !important;
    margin-top: 3rem !important;
}

.site-footer h4,
.site-footer .widget-title {
    color: #fff !important;
    font-family: 'Lora', 'Georgia', serif !important;
}

.site-footer a {
    color: rgba(255, 255, 255, 0.7) !important;
}

.site-footer a:hover {
    color: #fff !important;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: rgba(255, 255, 255, 0.5) !important;
}


/* ==========================================================================
   11. BOTÕES GERAIS
   ========================================================================== */

.woocommerce .button,
.woocommerce input[type="submit"],
.woocommerce button[type="submit"] {
    background: #1B2A4A !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    padding: 0.65rem 1.3rem !important;
    transition: background 200ms ease !important;
}

.woocommerce .button:hover,
.woocommerce input[type="submit"]:hover {
    background: #0F1D36 !important;
    color: #fff !important;
}

.woocommerce .button.alt,
.woocommerce button.button.alt {
    background: #8B6914 !important;
}

.woocommerce .button.alt:hover {
    background: #725610 !important;
}


/* ==========================================================================
   12. FORMULÁRIOS
   ========================================================================== */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea,
select {
    border: 1.5px solid #DDD6CB !important;
    border-radius: 6px !important;
    padding: 0.6rem 0.85rem !important;
    background: #FDFCFA !important;
    color: #1B2A4A !important;
}

input:focus,
textarea:focus,
select:focus {
    border-color: #8B6914 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(139, 105, 20, 0.08) !important;
}


/* ==========================================================================
   13. BADGES DE PLANO — Override inline styles
   ========================================================================== */

.plan-badge,
.abm-plan-badge,
[class*="plan-badge"],
span[style*="background"][style*="border-radius"][style*="padding"][style*="font-size"] {
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    padding: 0.2rem 0.55rem !important;
    border-radius: 3px !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    vertical-align: middle !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.2rem !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
}


/* ==========================================================================
   14. RECURSO BLOQUEADO
   ========================================================================== */

.abm-blocked-notice {
    text-align: center !important;
    padding: 2rem !important;
    background: #FFF8F0 !important;
    border: 2px solid #F0D6B0 !important;
    border-radius: 10px !important;
}


/* ==========================================================================
   15. UPGRADE PAGE
   ========================================================================== */

.abm-upgrade-page {
    max-width: 900px !important;
    margin: 0 auto !important;
}


/* ==========================================================================
   16. LEARNDASH — Curso individual (lições)
   ========================================================================== */

/* Lista de lições dentro de curso individual — NÃO é grid, é lista */
.learndash-wrapper .ld-item-list,
#learndash_course_content .ld-item-list {
    display: block !important;
    grid-template-columns: unset !important;
    width: 100% !important;
    max-width: 100% !important;
}

.learndash-wrapper .ld-item-list .ld-item-list-item,
#learndash_course_content .ld-item-list .ld-item-list-item,
.learndash-wrapper .ld-lesson-list .ld-item-list-item {
    display: block !important;
    flex-direction: unset !important;
    border-radius: 0 !important;
    border: none !important;
    border-bottom: 1px solid #DDD6CB !important;
    box-shadow: none !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0.85rem 1.25rem !important;
    background: transparent !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: visible !important;
}

.learndash-wrapper .ld-item-list .ld-item-list-item:hover {
    background: #F5F2ED !important;
    transform: none !important;
    box-shadow: none !important;
}

.learndash-wrapper .ld-item-list .ld-item-list-item:last-child {
    border-bottom: none !important;
}

/* Progress bar elegante */
.learndash-wrapper .ld-progress-bar {
    background: #EBE6DE !important;
    border-radius: 20px !important;
    height: 8px !important;
}

.learndash-wrapper .ld-progress-bar-percentage {
    background: linear-gradient(90deg, #8B6914, #C49B2C) !important;
    border-radius: 20px !important;
}


/* ==========================================================================
   17. MEUS CURSOS — GRID
   ========================================================================== */

.abm-my-courses .courses-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1.5rem !important;
}

.abm-my-courses .course-card {
    background: #fff !important;
    border: 1px solid #DDD6CB !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}

.abm-my-courses .course-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 25px rgba(27, 42, 74, 0.08) !important;
}




/* ==========================================================================
   CHAT FULLPAGE — Mensagens entre aluno e professor
   ========================================================================== */

/* Container principal do chat */
.abm-chat-fullpage {
    min-height: 75vh !important;
    border-radius: 12px !important;
    border: 1px solid #DDD6CB !important;
    overflow: hidden !important;
}

/* Area principal do chat */
.abm-chat-main {
    display: flex !important;
    flex-direction: column !important;
}

/* Container de mensagens — ocupa espaço disponível */
.abm-messages-container {
    flex: 1 !important;
    min-height: 400px !important;
    overflow-y: auto !important;
}

/* Active chat — flex column para empurrar input para baixo */
.abm-chat-active {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* Área de input — textarea maior e botão visível */
.abm-chat-input-area {
    display: flex !important;
    align-items: flex-end !important;
    gap: 10px !important;
    padding: 12px 16px !important;
    background: #F5F2ED !important;
    border-top: 1px solid #DDD6CB !important;
}

/* Botões de anexo */
.abm-chat-input-area .abm-chat-attachments {
    display: flex !important;
    gap: 6px !important;
    flex-shrink: 0 !important;
}

.abm-chat-input-area .abm-chat-attachments button {
    width: 40px !important;
    height: 40px !important;
    border-radius: 8px !important;
    background: #fff !important;
    border: 1px solid #DDD6CB !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 0 !important;
    font-size: 18px !important;
}

/* Textarea — maior, multilinha */
.abm-chat-input-area textarea {
    flex: 1 !important;
    min-height: 80px !important;
    max-height: 200px !important;
    padding: 12px 16px !important;
    border: 1px solid #DDD6CB !important;
    border-radius: 10px !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    resize: vertical !important;
    font-family: inherit !important;
    background: #fff !important;
    width: auto !important;
}

.abm-chat-input-area textarea:focus {
    border-color: #8B6914 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(139, 105, 20, 0.08) !important;
}

/* Botão Enviar — destaque */
.abm-chat-input-area button[type="submit"],
.abm-chat-input-area > button:last-child {
    flex-shrink: 0 !important;
    padding: 12px 32px !important;
    background: #1B2A4A !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    min-height: 48px !important;
    width: auto !important;
    white-space: nowrap !important;
}

.abm-chat-input-area button[type="submit"]:hover,
.abm-chat-input-area > button:last-child:hover {
    background: #0F1D36 !important;
}



/* ==========================================================================
   ELEMENTOR — NÃO sobrescrever estilos do Elementor
   ========================================================================== */

/* Páginas construídas com Elementor: permitir que o Elementor controle fonts/cores */
.elementor-page h1,
.elementor-page h2,
.elementor-page h3,
.elementor-page h4,
.elementor-page h5,
.elementor-page h6,
.elementor-page .elementor-heading-title,
.elementor-page .elementor-widget-heading .elementor-heading-title {
    font-family: inherit !important;
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

.elementor-page .elementor-widget-text-editor,
.elementor-page .elementor-widget-text-editor p,
.elementor-page .elementor-widget-text-editor span {
    font-family: inherit !important;
    color: inherit !important;
    font-size: inherit !important;
}

.elementor-page .elementor-button {
    font-family: inherit !important;
}

/* Fix header sobrepondo conteúdo em páginas Elementor */
.elementor-page .site-content {
    padding-top: 2rem !important;
}

body.has-abm-profile-bar.elementor-page .site-content {
    padding-top: 2.5rem !important;
}

/* Elementor sections precisam de width 100% */
.elementor-page .elementor-section,
.elementor-page .elementor-container,
.elementor-page .e-con {
    max-width: 100% !important;
}


/* ==========================================================================
   PRODUTO INDIVIDUAL — LIMPEZA (esconder via CSS como backup)
   ========================================================================== */

/* SKU, Categorias, Tags */
.woocommerce div.product .product_meta {
    display: none !important;
}

/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb {
    display: none !important;
}

/* Produtos relacionados (backup do remove_action no PHP) */
.woocommerce div.product .related.products,
.related.products {
    display: none !important;
}

/* Upsells (backup) */
.woocommerce div.product .upsells.products,
.upsells.products {
    display: none !important;
}

/* Tab "Informação adicional" — esconder se o PHP não removeu */
.woocommerce div.product .woocommerce-tabs ul.tabs li.additional_information_tab {
    display: none !important;
}

/* Se sobrou a seção vazia de tabs após remoção */
.woocommerce div.product .woocommerce-tabs:empty {
    display: none !important;
}



/* ==========================================================================
   CARRINHO — Esconder "Novo na loja" quando vazio
   ========================================================================== */

.wp-block-woocommerce-empty-cart-block .wc-block-grid {
    display: none !important;
}

/* Esconde o título "Novo na loja" e os produtos sugeridos */
.wp-block-woocommerce-empty-cart-block h2:not(:first-child),
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    display: none !important;
}


/* ==========================================================================
   TABELA COMPARATIVA — Banner PDF + Badge "Recomendado" fix
   ========================================================================== */

/* Badge "Recomendado" — não cortar, mais espaço no topo */
.abm-plan-select-card {
    padding-top: 35px !important;
    position: relative !important;
    overflow: visible !important;
}

.abm-plan-select-card div[style*="Recomendado"],
.abm-plan-select-card div[style*="position:absolute"][style*="top:-12px"] {
    top: -14px !important;
    z-index: 2 !important;
    white-space: nowrap !important;
}

/* Wrapper da comparação — espaço extra no topo para o badge não cortar */
.abm-plan-comparison {
    padding-top: 20px !important;
    overflow: visible !important;
}

/* Grid dos cards — overflow visible para badge não cortar */
.abm-plan-comparison > div[style*="grid"] {
    overflow: visible !important;
}

/* Banner "PDF Completo do Material" acima da tabela de planos */
.abm-plan-comparison::before {
    content: "📖 Acompanha PDF Completo do Material Didático";
    display: block !important;
    text-align: center !important;
    padding: 12px 20px !important;
    background: linear-gradient(135deg, #B83232 0%, #D44444 100%) !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    border-radius: 10px 10px 0 0 !important;
    margin: 0 0 -1px 0 !important;
    letter-spacing: 0.02em !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Ajustar o container da comparação para "grudar" com o banner */
.abm-plan-comparison {
    border: 2px solid #E8E0D4 !important;
    border-radius: 10px !important;
    background: #FDFCFA !important;
}

/* O h3 "Escolha seu plano" */
.abm-plan-comparison > h3 {
    margin-top: 15px !important;
}


/* ==========================================================================
   18. RESPONSIVO
   ========================================================================== */

@media (max-width: 1024px) {
    .woocommerce ul.products,
    ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .related.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .abm-my-courses .courses-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    h1 { font-size: 1.75rem !important; }
    h2 { font-size: 1.4rem !important; }
    h3 { font-size: 1.15rem !important; }
    
    .flavor-container {
        padding: 0 1rem !important;
    }

    .woocommerce ul.products,
    ul.products {
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
    }
    
    .related.products ul.products {
        grid-template-columns: 1fr !important;
    }
    
    .abm-my-courses .courses-grid {
        grid-template-columns: 1fr !important;
    }

    /* Minha Conta — nav empilhada */
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        flex-direction: column !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        border-bottom: 1px solid #DDD6CB !important;
        border-left: 3px solid transparent !important;
        border-bottom-width: 1px !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
        border-left-color: #8B6914 !important;
        border-bottom-color: #DDD6CB !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 1.25rem !important;
    }

    .woocommerce-account .woocommerce-Addresses {
        grid-template-columns: 1fr !important;
    }

    /* Tabela comparativa no produto */
    .abm-plan-comparison > div[style*="grid"] {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 480px) {
    .header-inner {
        padding: 0 0.75rem !important;
    }
    
    .woocommerce ul.products li.product a img {
        height: 160px !important;
    }
}




/* ==========================================================================
   LEARNDASH FOCUS MODE — RESPONSIVO MOBILE
   ========================================================================== */

/* Video containers — responsivo em qualquer contexto */
.abm-video-container,
.abm-video-container iframe,
.ld-tab-bar__panel iframe,
.ld-focus-content iframe,
.learndash-wrapper iframe[src*="mediadelivery"],
.learndash-wrapper iframe[src*="bunny"],
.learndash-wrapper iframe[src*="vimeo"],
.learndash-wrapper iframe[src*="youtube"],
.entry-content iframe {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9 !important;
}

.abm-video-container {
    max-width: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Focus Mode — mobile: sidebar esconde, conteúdo full width */
@media (max-width: 768px) {
    .ld-focus {
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
    }
    
    .ld-focus-sidebar {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 250px !important;
        overflow-y: auto !important;
        border-right: none !important;
        border-bottom: 1px solid #DDD6CB !important;
    }
    
    .ld-focus-main,
    .ld-focus-content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 16px !important;
        box-sizing: border-box !important;
    }
    
    /* Conteúdo da lição — full width */
    .ld-focus-content .learndash-wrapper,
    .ld-focus-content .learndash,
    .ld-focus-content .ld-layout__content,
    .ld-focus-content .ld-tab-bar,
    .ld-focus-content .ld-tab-bar__panel {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
    
    /* Header do Focus Mode */
    .ld-focus-header {
        flex-wrap: wrap !important;
        padding: 10px !important;
    }
    
    .ld-focus-header .ld-course-navigation {
        width: 100% !important;
    }
    
    /* Botões de navegação (Back to Course, Mark Complete, Next) */
    .learndash-wrapper .ld-content-actions,
    .ld-focus-content .ld-content-actions {
        flex-wrap: wrap !important;
        gap: 10px !important;
    }
    
    .learndash-wrapper .ld-content-actions a,
    .learndash-wrapper .ld-content-actions button,
    .learndash-wrapper .ld-content-actions .ld-button {
        font-size: 0.85rem !important;
        padding: 8px 14px !important;
    }
}

/* Focus Mode — tablets */
@media (max-width: 1024px) and (min-width: 769px) {
    .ld-focus-sidebar {
        width: 250px !important;
        min-width: 250px !important;
    }
    
    .ld-focus-content {
        max-width: calc(100% - 250px) !important;
    }
}

/* ==========================================================================
   19. FIX OVERFLOW E CONFLITOS
   ========================================================================== */

html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

/* ★★★ FIX CRÍTICO: Forçar containers a usar largura total ★★★ */
/* O conteúdo de várias páginas está sendo comprimido.
   Garantir que containers de conteúdo usem 100% width. */
.site-main,
.site-content,
#content,
#primary,
.entry-content,
.flavor-container,
.woocommerce-main {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Conteúdo de páginas do LearnDash */
.learndash-wrapper,
.learndash-wrapper .ld-focus-content,
#learndash_course_content,
.sfwd-courses,
.sfwd-lessons,
.sfwd-topic {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Elementos inline do plugin ABM que estão dentro do content */
#abm-gc,
.abm-plan-comparison,
.abm-product-courses-box,
.abm-blocked-notice,
.abm-live-class-widget,
[id^="abm-"],
.abm-upgrade-page {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Garantir que divs com inline style dentro de .entry-content
   respeitem a largura do container pai */
.entry-content > div {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

img, video, iframe {
    max-width: 100% !important;
    height: auto;
}

/* Esconde MSL bar */
.msl-profile-bar,
#msl-profile-bar {
    display: none !important;
}

/* Fix WooCommerce notices */
.woocommerce .woocommerce-notices-wrapper {
    max-width: 960px !important;
    margin: 1rem auto !important;
}

/* Fix variation form dentro do produto variável */
.woocommerce div.product form.cart .variations {
    margin-bottom: 1rem !important;
}

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
    padding: 0.5rem !important;
}

.woocommerce div.product form.cart .variations select {
    min-width: 200px !important;
}

/* WooCommerce single product addtional info table */
.woocommerce div.product .woocommerce-product-attributes {
    width: 100% !important;
}

.woocommerce div.product .woocommerce-product-attributes th,
.woocommerce div.product .woocommerce-product-attributes td {
    padding: 0.75rem 1rem !important;
    border-bottom: 1px solid #DDD6CB !important;
}

/* Star rating */
.woocommerce .star-rating {
    color: #C49B2C !important;
}

/* Sale badge */
.woocommerce span.onsale {
    background: #8B6914 !important;
    color: #fff !important;
    border-radius: 3px !important;
    padding: 0.25rem 0.5rem !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    min-width: auto !important;
    min-height: auto !important;
    line-height: 1.4 !important;
}

/* Remove clear both issues */
.woocommerce::before,
.woocommerce::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}


