/* ==========================================================================
   Néctar Adventure — ajustes do site (Pacote 1 da auditoria, 2026-10-29)
   Contraste (WCAG AA), alvos de toque de 44px, textos minimos, menu da conta,
   botao do WhatsApp e titulo das secoes.
   ========================================================================== */

/* ---------- Cores com contraste suficiente ---------- */
.btn-success, .badge-success, a.btn-success, .btn-success:not(:disabled):not(.disabled) {
    background-color: #1D7A34 !important; border-color: #1D7A34 !important; color: #fff !important;
}
.btn-success:hover, .btn-success:focus, a.btn-success:hover { background-color: #17652B !important; border-color: #17652B !important; }
.banner-bg .btn-primary, .btn-primary {
    background-color: #C24E15 !important; border-color: #C24E15 !important; color: #fff !important;
}
.btn-primary:hover, .btn-primary:focus { background-color: #A8410F !important; border-color: #A8410F !important; }

/* "Lote promocional": faixa do card e texto da pagina do evento */
.single-product > div[style*="rgb(6, 214, 51)"] { background: #1D7A34 !important; }
span[style*="color: rgb(6, 214, 51)"], label b[style*="color: rgb(6, 214, 51)"] { color: #1D7A34 !important; }

/* Datas e precos riscados nos cards */
.product-details span[style*="#999"] { color: #5C5A52 !important; }
.product-details small.text-muted { color: #5C5A52 !important; font-size: 12.5px !important; }
.product-details .badge-success { font-size: 12px !important; padding: 4px 7px; }

/* Textos corridos */
.section-title p, .tab-pane p, .tab-pane li, .product_count label, .single-product p { color: #555 !important; }
.tab-pane b, .tab-pane strong { color: #A8480C !important; }
footer.footer-area p, footer.footer-area .footer-text { color: #D8D0C4 !important; }

/* Pagina do evento (blocos nx-*) */
.nx-riscado { color: #6B675E !important; }
.nx-pix { background: #1D7A34 !important; }
.nx-valor-obs { color: #1D7A34 !important; }
.nx-info small { color: #6B675E !important; font-size: 11.5px !important; }
.nx-milhas u, .nx-milhas small u { color: #A8480C !important; }

/* Carrinho */
.cart-coupon-toggle-link { color: #C24E15 !important; font-size: 14px !important; min-height: 44px; }
.cart-panel-block a[href*="termo"], .cart-terms a, label[for="aceiteTermo"] a { color: #B4470F !important; }
#aceiteTermo { width: 22px !important; height: 22px !important; }

/* ---------- Alvos de toque (44px) ---------- */
.navbar-toggler { min-height: 44px; min-width: 48px; }
.cart-mobile-toggle { display: inline-flex !important; align-items: center; justify-content: center; min-height: 44px; }
.single-product .btn-sm, .product-details .btn-sm, a.btn.btn-sm { min-height: 44px; display: inline-flex !important; align-items: center; justify-content: center; }
.cart-qty-action, .cart-remove-btn { min-width: 44px !important; min-height: 44px !important; }
#modalCarrinhoConfirmacao .modal-footer { flex-wrap: wrap; }
#modalCarrinhoConfirmacao .modal-footer .btn { min-height: 46px; font-size: 15px !important; flex: 1 1 200px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }

/* Quantidade na pagina do evento: [ - ] [ 1 ] [ + ] */
.product_count { display: flex !important; align-items: center; gap: 8px; flex-wrap: wrap; }
.product_count label { margin: 0 8px 0 0 !important; }
.product_count .reduced { order: 1; }
.product_count input.qty { order: 2; width: 56px !important; height: 44px !important; text-align: center; font-size: 16px !important; padding: 0 !important; margin: 0 !important; }
.product_count .increase { order: 3; }
.product_count .items-count {
    position: static !important; width: 44px !important; height: 44px !important; margin: 0 !important;
    border: 1px solid #ddd !important; border-radius: 10px !important; background: #fff !important;
    display: inline-flex !important; align-items: center; justify-content: center; color: #333 !important;
    top: auto !important; right: auto !important; left: auto !important; bottom: auto !important;
}
.product_count .items-count i { display: none !important; }
.product_count .increase::after { content: "+"; font-size: 22px; line-height: 1; font-weight: 600; }
.product_count .reduced::after { content: "\2212"; font-size: 22px; line-height: 1; font-weight: 600; }

/* Campos com 16px no celular (evita zoom automatico do iPhone) */
@media (max-width: 991px) {
    input:not([type=checkbox]):not([type=radio]), select, textarea { font-size: 16px !important; }
}

/* ---------- Titulo das secoes: tracinho sempre embaixo do texto ---------- */
.section-title h1 { position: relative; height: auto !important; line-height: 1.15 !important; padding-bottom: 18px !important; margin-bottom: 18px !important; }
.section-title h1::before, .section-title h1::after { top: auto !important; }
.section-title h1::before { bottom: 1px !important; }
.section-title h1::after { bottom: 0 !important; }

/* ---------- Menu: Minha conta + milhas ---------- */
.nx-conta { display: inline-flex !important; align-items: center; gap: 6px; }
.nx-conta img { width: 20px; height: 20px; flex: 0 0 20px; }
.header_area .navbar .nav.navbar-nav.navbar-right li span.nx-conta-saldo, .nx-conta-saldo {
    background: rgba(255, 255, 255, .22); border-radius: 20px; padding: 2px 9px; font-size: 12px; font-weight: 700;
    line-height: 1.5 !important; color: #fff !important; margin-left: 4px; white-space: nowrap;
}
.nx-chip-milhas {
    display: inline-flex; align-items: center; gap: 5px; min-height: 36px; padding: 0 10px 0 6px; margin-left: auto;
    background: rgba(0, 0, 0, .16); border-radius: 20px; color: #fff !important; font-weight: 700; font-size: 14px; text-decoration: none !important;
}
.nx-chip-milhas img { width: 24px; height: 24px; }
@media (max-width: 991px) {
    .navbar-collapse .nav-link { min-height: 44px; display: flex !important; align-items: center; }
}

/* ---------- Botao do WhatsApp ---------- */
.whatsapp-float { right: 16px !important; bottom: 20px !important; }
.whatsapp-float a { width: 52px !important; height: 52px !important; font-size: 28px !important; }
@media (max-width: 991px) {
    .whatsapp-float { bottom: 88px !important; }
}
body.nx-digitando .whatsapp-float { display: none !important; }

/* ---------- Rodape: links uteis ---------- */
.nx-rodape-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; margin: 4px 0 14px; width: 100%; }
.nx-rodape-links a { color: #fff !important; font-weight: 600; font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; gap: 6px; }
.nx-rodape-links a:hover { color: #F5A35C !important; }
.nx-rodape-links img { width: 20px; height: 20px; }

/* Carrossel da home: "Saiba mais" branco, destacado sobre a faixa laranja */
.banner-bg .btn-primary { background-color: #fff !important; border-color: #fff !important; color: #A8410F !important; font-weight: 600; }
.header_area .navbar .nav.navbar-right2 .nav-item .nav-link { font-size: 13px !important; }

/* Rodape: links legiveis sobre o fundo escuro */
footer.footer-area a { color: #F2C49B !important; }
footer.footer-area .nx-rodape-links a, footer.footer-area .footer-social a { color: #fff !important; }

/* Carrinho: "Esta compra vai te dar +N Milhas Néctar" */
.nx-ganha { display: flex; gap: 10px; align-items: center; background: #FFF6EC; border: 1px solid #F2B98A; border-radius: 12px; padding: 10px 12px; margin: 6px 0 12px; font-size: 13.5px; line-height: 1.4; color: #3A2A1C !important; text-decoration: none !important; }
.nx-ganha img { width: 36px; height: 36px; flex: 0 0 36px; }
.nx-ganha b { color: #A8480C; }
.nx-ganha small { display: block; color: #6B675E; font-size: 12.5px; }
.nx-ganha u { color: #A8480C; }

/* Selo de milhas na foto dos cards de evento (2026-10-29) */
.single-product { position: relative; }
.nx-selo-milhas { position: absolute; top: 12px; right: 12px; z-index: 10; display: inline-flex; align-items: center; gap: 6px; background: #fff; color: #3A2A1C !important; font-weight: 600; font-size: 13.5px; line-height: 1; padding: 4px 11px 4px 4px; border-radius: 30px; box-shadow: 0 4px 14px rgba(0, 0, 0, .28); pointer-events: none; }
.nx-selo-milhas b { color: #A8480C; font-weight: 800; }
.single-product .nx-selo-milhas img, .nx-selo-milhas img { width: 24px !important; height: 24px !important; max-width: none !important; margin: 0 !important; transform: none !important; }
div[style*="rgb(6, 214, 51)"] { background: #1D7A34 !important; }

/* Carrinho: controle de quantidade alinhado em 44px (PC e celular) - 2026-10-29 */
.cart-quantity { grid-template-columns: 44px 50px 44px !important; height: 44px !important; }
.cart-quantity button, .cart-quantity .cart-qty-action { width: 44px !important; height: 44px !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; }
.cart-quantity input { width: 50px !important; height: 44px !important; font-size: 16px !important; text-align: center; }
.cart-remove-btn { width: 44px !important; height: 44px !important; flex: 0 0 44px !important; min-width: 0 !important; min-height: 0 !important; }
@media (min-width: 768px) {
    .cart-item, .cart-list-head { grid-template-columns: minmax(160px, 1fr) 80px 140px 90px 44px !important; }
}