/* ==========================================================================
   MÓDULO: EVENTOS FRONT-END (Template Evento)
   ========================================================================== */
   .market-a3-evt-main { font-family: 'Inter', sans-serif; color: #111; width: 100%; box-sizing: border-box;}
   .market-a3-evt-main * { box-sizing: border-box; }
   .a3-evt-card { background: #fff; border-radius: 12px; border: 1px solid #eaeaea; padding: 30px; margin-bottom: 25px; width: 100%; }
   .a3-evt-title { font-size: 20px; font-weight: 800; border-left: 5px solid #199618; padding-left: 15px; margin-top: 0; margin-bottom: 25px; color: #000;}
   .a3-evt-info-box { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-bottom: 25px; width: 100%; }
   .a3-evt-info-item { background: #fff; padding: 15px; border-radius: 8px; display: flex; align-items: center; gap: 15px; border: 1px solid #eaeaea; }
   .a3-evt-info-icon { width: 55px; height: 55px; min-width: 55px; background: #fff; color: #000; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 20px; border: 1px solid #000;}
   .a3-evt-info-text strong { display: block; font-size: 11px; color: #777; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom:2px;}
   .a3-evt-info-text span { font-size: 14px; font-weight: 800; color: #000; line-height: 1.2; word-break: break-word;}
   .a3-mod-row { margin-bottom: 25px; }
   .a3-mod-title { font-weight: 800; font-size: 18px; margin-bottom: 12px; color: #000; }
   .a3-tag-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
   .a3-tag-switch { background: #f4f4f4; border: 1px solid #ccc; padding: 6px 15px; border-radius: 20px; font-size: 14px; font-weight: 700; color: #333; }
   .a3-mod-sep { font-weight: 900; color: #fff; font-size: 16px; margin: 0 2px;}
   .a3-kit-desc { color: #555; line-height: 1.6; margin: 0; }
   .a3-kit-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top:15px;}
   .a3-kit-item { background: #fff; border: 1px dashed #ccc; padding: 10px 15px; border-radius: 8px; display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 14px; }
   .a3-kit-item::before { content: '✓'; color: #000; font-weight: 900; background: #fff; border-radius: 50%; width: 20px; height: 20px; min-width: 20px; display: flex; justify-content: center; align-items: center; font-size: 12px;}
   
   /* Lotes */
   .a3-lote-card { padding: 0; overflow: hidden; }
   .a3-lote-header { padding: 25px 30px 0; }
   .a3-lote-header .a3-evt-title { margin-bottom: 15px; }
   .a3-lote-table-wrapper { width: 100%; overflow-x: auto; }
   .a3-lote-table { width: 100%; border-collapse: collapse; min-width: 500px; }
   .a3-lote-table th { background: #f4f4f4; color: #000; padding: 15px; text-align: left; font-size: 12px; text-transform: uppercase; font-weight: 800; border-bottom: 2px solid #000;}
   .a3-lote-table td { padding: 15px; border-bottom: 1px solid #eee; font-weight: 600; font-size: 14px;}
   .a3-lote-valor { color: #199618; font-weight: 900; }
   
   /* Botões e Utilitários */
   .a3-btn-download { background: #b7bbb9; color: #000; padding: 15px 25px; border-radius: 8px; text-decoration: none; font-weight: 800; display: inline-flex; align-items: center; border: 1px solid #000; transition: 0.2s; font-size: 14px; text-transform: uppercase; justify-content: center;}
   .a3-btn-download:hover { background: #199618; color: #fff; border-color: #199618; }
   .a3-btn-lista { background-color: rgb(77, 183, 121); }
   .a3-btn-wpp { background: #25D366; border-color: #25D366; font-size: 18px; }
   
   .a3-card-center { text-align: center; }
   .a3-title-center { border-left: none; justify-content: center; display: flex; }
   .a3-doc-desc { color: #555; font-size: 14px; margin-bottom: 20px; }
   .a3-mt-15 { margin-top: 15px; }
   
   /* Organizador */
   .a3-card-org { background: #dfebd1; color: #000; border: none; }
   .a3-title-org { color: #000; border-left-color: #199618; }
   .a3-org-desc { color: #000; font-size: 14px; margin-bottom: 15px; }
   .a3-org-box { background: #dfebd1; border: 1px dashed #333; padding: 15px; border-radius: 8px; margin-bottom: 20px; display: inline-block; }
   .a3-org-box span { color: #000; font-size: 12px; text-transform: uppercase; font-weight: bold; }
   .a3-org-box strong { font-size: 18px; color: #000; }
   .a3-org-actions { display: flex; gap: 15px; flex-wrap: wrap; }
   
   @media (max-width: 850px) {
       .a3-evt-info-box { grid-template-columns: 1fr; }
       .a3-kit-list { grid-template-columns: 1fr; }
       .a3-evt-card { padding: 20px 15px; }
   }

   /* ==========================================================================
   MÓDULO: EVENTOS FRONT-END (Widget de Compra / Carrinho)
   ========================================================================== */
.market-a3-comprar-wrap { font-family: 'Inter', sans-serif; position: relative; }

/* Oclusão programática de lixos visuais nativos ou de terceiros dentro do modal */
#a3-cart-modal .ct-wishlist-button, #a3-cart-modal .ct-compare-button, 
#a3-cart-modal [data-ct-wishlist], #a3-cart-modal [class*="wishlist"], 
#a3-cart-modal [class*="compare"] { display: none !important; }
#a3-cart-modal .stock:not(.out-of-stock) { display: none !important; }

.a3-trigger-box {
    background: #fff;
    padding: 25px;
    border-radius: 12px;
    border: 2px solid #000;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    margin-bottom: 20px;
}

.market-a3-msg-alert {
    padding: 12px;
    border-radius: 6px;
    text-align: center;
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 15px;
    border: 1px solid transparent;
}
.market-a3-msg-alert.status-aberto { background: #d4edda; color: #155724; border-color: #c3e6cb; }
.market-a3-msg-alert.status-breve { background: #fff3cd; color: #856404; border-color: #ffeeba; }
.market-a3-msg-alert.status-encerrado { background: #fff3cd; color: #155724; border-color: #c3e6cb; }
.market-a3-msg-alert.status-vagas { background: #fff3cd; color: #155724; border-color: #c3e6cb; font-size: 13px; padding: 10px; }

.a3-btn-trigger { width: 100%; padding: 18px; font-size: 16px; font-weight: 900; text-transform: uppercase; border: 2px solid #000; border-radius: 8px; cursor: pointer; transition: 0.2s; display: block; text-align: center; text-decoration: none; box-shadow: 0 4px 0 #000; }
.a3-btn-trigger:hover { transform: translateY(-2px); box-shadow: 0 6px 0 #000; }
.a3-btn-trigger:active { transform: translateY(2px); box-shadow: 0 2px 0 #000; }
.a3-btn-aberto { background: rgb(41, 188, 41) !important; color: #000; }
.a3-btn-cinza { background: #e0e0e0 !important; color: #777 !important; border-color: #ccc !important; cursor: not-allowed !important; box-shadow: none !important; transform: none !important; }

/* Modal Box Styles */
#a3-cart-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 9995; backdrop-filter: blur(3px); opacity: 0; visibility: hidden; transition: 0.3s; }
#a3-cart-overlay.ativo { opacity: 1; visibility: visible; }

#a3-cart-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -40%); width: 90%; max-width: 500px; background: #fff; border-radius: 12px; z-index: 9999; padding: 30px; box-shadow: 0 10px 40px rgba(0,0,0,0.2); opacity: 0; visibility: hidden; transition: 0.3s; max-height: 90vh; overflow-y: auto; border: 2px solid #000; }
#a3-cart-modal.ativo { transform: translate(-50%, -50%); opacity: 1; visibility: visible; }

.a3-modal-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #eee; padding-bottom: 15px; margin-bottom: 20px; }
.a3-modal-header h3 { font-size: 22px; margin: 0; font-weight: 900; color: #000; }
.a3-close-modal { font-size: 28px; font-weight: bold; cursor: pointer; line-height: 1; color: #000; }
.a3-close-modal:hover { color: #dc3545; }

/* Customizações internas do WooCommerce dentro do modal */
#a3-cart-modal .woocommerce-variation-price .price { font-size: 26px; color: #199618 !important; font-weight: 900; margin-bottom: 15px; display: block; text-align: center; }
#a3-cart-modal div.quantity { display: none !important; } 

#a3-cart-modal button.single_add_to_cart_button { background-color: #199618 !important; color: #000 !important; border: 2px solid #000 !important; border-radius: 8px !important; font-weight: 900 !important; width: 100% !important; text-transform: uppercase !important; padding: 18px !important; margin-top: 10px !important; font-size: 16px !important; transition: 0.2s !important; display: block; box-shadow: 0 4px 0 #000; }
#a3-cart-modal button.single_add_to_cart_button:hover { background-color: #158014 !important; transform: translateY(-2px) !important; box-shadow: 0 6px 0 #000 !important; }

#a3-cart-modal table.variations { width: 100%; border: none; margin-bottom: 15px; }
#a3-cart-modal table.variations td, #a3-cart-modal table.variations th { display: block; padding: 0; border: none; text-align: left; }
#a3-cart-modal table.variations label { font-weight: 800; color: #111; margin-bottom: 8px; display: block; font-size: 14px; text-transform: uppercase; }

#a3-cart-modal table.variations td.value ul, #a3-cart-modal table.variations td.value li,
#a3-cart-modal table.variations td.value .variable-items-wrapper, #a3-cart-modal table.variations td.value a:not(.reset_variations) { display: none !important; }

/* Swatches Layout */
.a3-swatches { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.a3-swatch { border: 2px solid #ccc; border-radius: 8px; padding: 10px 15px; font-size: 14px; font-weight: 700; cursor: pointer; transition: 0.2s; background: #fff; color: #444; text-align: center; user-select: none; }
.a3-swatch:hover { border-color: #111; color: #111; }
.a3-swatch.ativo { border-color: #199618 !important; background: #f4f9f4 !important; color: #199618 !important; box-shadow: inset 0 0 0 1px #199618; }

#a3-cart-modal a.reset_variations { color: #dc3545 !important; font-size: 12px !important; text-decoration: none !important; margin-top:-10px; margin-bottom:15px; display:inline-block !important; font-weight:bold; padding: 5px 10px; border: 1px solid #dc3545; border-radius: 4px; visibility: visible !important;}

.market-a3-login-modal-padding { padding: 10px 0; }
.market-a3-error-msg { color:red; font-weight:bold; border: 1px dashed red; padding: 15px; border-radius:6px; text-align:center; }

@media (max-width: 750px) {
    .a3-mobile-sticky-bar { display: flex; position: fixed; bottom: 0; left: 0; width: 100%; background: #fff; padding: 10px 10px; box-shadow: 0 -5px 20px rgba(0,0,0,0.15); z-index: 9990; border-top: 1px solid #eaeaea; }
    .a3-btn-trigger-inline { display: none; } 
    
    #a3-cart-modal { transform: translate(0, 100%); top: auto; bottom: 0; left: 0; width: 100%; max-width: 100%; border-radius: 20px 20px 0 0; border: none; border-top: 3px solid #000; }
    #a3-cart-modal.ativo { transform: translate(0, 0); }
}


/* ==========================================================================
   MÓDULO: EVENTOS FRONT-END (Widget de Ajuda Sidebar)
   ========================================================================== */
   .market-a3-sidebar-box { background: #fff; padding: 25px; border-radius: 12px; border: 2px solid #000; box-shadow: 0 5px 20px rgba(0,0,0,0.05); font-family: 'Inter', sans-serif;}
   .a3-sidebar-title { margin-top: 0; font-weight: 900; border-bottom: 2px solid #eee; padding-bottom: 10px; margin-bottom: 15px; font-size: 18px; text-align: center; }
   .a3-sidebar-desc { font-size: 13px; color: #555; margin-bottom: 15px; }
   
   .a3-btn-sidebar-sec { background: #000 !important; color: #fff; border: 2px solid #000; width: 100%; padding: 15px; border-radius: 8px; font-weight: 800; text-transform: uppercase; cursor: pointer; transition: 0.2s; font-size: 14px; display: block; text-align: center; }
   .a3-btn-sidebar-sec:hover { background: #f4f4f4; color: #199618; }
   
   .a3-sidebar-alerta-login { background: #fff3cd; padding: 15px; border-radius: 6px; border: 1px solid #eaeaea; text-align: center; }
   .a3-sidebar-alerta-login p { font-size: 12px; margin-top: 0; color: #333; margin-bottom: 10px; }
   
   /* Modais Específicos do Contato */
   .a3-modal-box { background:#fff; width:90%; max-width:450px; padding:30px; border-radius:12px; border:2px solid #000; position:relative; font-family: 'Inter', sans-serif; max-height: 90vh; overflow-y: auto;}
   
   .a3-modal-padding { padding: 20px; }
   .a3-modal-title { margin-top: 0; border-bottom: 2px solid #199618; padding-bottom: 10px; font-weight: 900; text-transform: uppercase; }
   .a3-modal-desc { font-size: 13px; color: #555; margin-bottom: 15px; }
   
   .a3-input-modal { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 6px; margin-bottom: 15px; font-size: 14px; background: #f9f9f9; box-sizing: border-box; font-family: 'Inter', sans-serif;}
   .a3-btn-modal-submit { background: #199618 !important ; color: #000; border: 2px solid #000; width: 100%; padding: 15px; border-radius: 8px; font-weight: 900; cursor: pointer; text-transform: uppercase; transition: 0.2s; }
   .a3-btn-modal-submit:hover { background: #158014 !important; transform: translateY(-2px); box-shadow: 0 4px 0 #000; }
   
   .a3-msg-retorno { margin-top: 10px; font-weight: bold; font-size: 13px; text-align: center; }
   .a3-msg-retorno.sucesso { color: green; }
   .a3-msg-retorno.erro { color: red; }


   /* ==========================================================================
   CORREÇÃO: SEPARAÇÃO DESKTOP VS MOBILE (COMPRA E AJUDA)
   ========================================================================== */

/* 1. REGRA BASE (DESKTOP) - Oculta a barra mobile nativamente */
.a3-mobile-sticky-bar { 
    display: none; 
}

/* --------------------------------------------------------------------------
   MODAIS DE AJUDA / LOGIN (OVERLAY E FECHAR)
   -------------------------------------------------------------------------- */
   .a3-modal-overlay {
    display: none; /* Controlado via JS inline (muda para flex) */
    position: fixed;
    z-index: 999999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(3px);
}

.a3-modal-close { 
    position: absolute; 
    top: 15px; 
    right: 20px; 
    font-size: 28px; 
    cursor: pointer; 
    font-weight: bold; 
    color: #000; 
    line-height: 1;
}

.a3-modal-close:hover { 
    color: #dc3545; 
}

/* 2. REGRAS MOBILE (Telas menores que 850px) */
@media (max-width: 850px) {
    
    /* --- WIDGET DE COMPRA --- */
    
    /* Exibe a barra fixa no rodapé do celular */
    .a3-mobile-sticky-bar { 
        display: flex; 
        position: fixed; 
        bottom: 0; 
        left: 0; 
        width: 100%; 
        background: #fff; 
        padding: 10px 10px; 
        box-shadow: 0 -5px 20px rgba(0,0,0,0.15); 
        z-index: 9990; 
        border-top: 1px solid #eaeaea; 
    }
    
    /* Esconde o botão de dentro da caixa para forçar o clique apenas na barra fixa */
    .a3-btn-trigger-inline { 
        display: none !important; 
    } 
    
    /* Transforma o Modal do Carrinho num "Bottom Sheet" (Sobe da base) */
    #a3-cart-modal { 
        transform: translate(0, 100%); 
        top: auto; 
        bottom: 0; 
        left: 0; 
        width: 100%; 
        max-width: 100%; 
        border-radius: 20px 20px 0 0; 
        border: none; 
        border-top: 3px solid #000; 
    }
    
    #a3-cart-modal.ativo { 
        transform: translate(0, 0); 
    }


    /* --- WIDGET DE AJUDA E SIDEBAR --- */
    
    /* Transforma os Modais de Ajuda em "Bottom Sheet" (Sobe da base) igual ao Carrinho */
    .a3-modal-overlay {
        align-items: flex-end; /* Joga a caixa de ajuda para o fundo da tela */
    }
    
    .a3-modal-box {
        width: 100%;
        max-width: 100%;
        border-radius: 20px 20px 0 0;
        border: none;
        border-top: 3px solid #000;
        margin: 0;
        padding: 30px 20px;
        animation: a3SlideUpModal 0.3s ease-out; /* Injeta animação de subida */
    }
    
    /* Reduz o espaçamento interno da caixa de dúvidas na lateral */
    .market-a3-sidebar-box {
        padding: 20px 15px;
    }
}

