/* ============================================ */
/* TOP CARNES - ESTILOS RESPONSIVOS GLOBAIS      */
/* ============================================ */
/* Autor: Wellmax Solution                       */
/* Versão: 1.0.0                                 */
/* ============================================ */

/* ============================================ */
/* BREAKPOINTS:                                  */
/* Desktop Grande: >= 1400px                     */
/* Desktop: 1200px - 1399px                      */
/* Laptop: 1024px - 1199px                       */
/* Tablet: 768px - 1023px                        */
/* Mobile Grande: 480px - 767px                  */
/* Mobile: < 480px                               */
/* ============================================ */

/* ============================================ */
/* DESKTOP GRANDE (>= 1400px)                    */
/* ============================================ */
@media (min-width: 1400px) {
    :root {
        --container-max: 1320px;
    }
    
    .hero-titulo {
        font-size: 4.5rem;
    }
    
    .kits-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    
    .desejos-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    
    .recomendados-grid {
        grid-template-columns: repeat(6, 1fr);
    }
    
    .relacionados-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* ============================================ */
/* DESKTOP (1200px - 1399px)                     */
/* ============================================ */
@media (min-width: 1200px) and (max-width: 1399px) {
    :root {
        --container-max: 1140px;
    }
    
    .kits-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .desejos-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ============================================ */
/* LAPTOP / TABLET GRANDE (1024px - 1199px)      */
/* ============================================ */
@media (max-width: 1199px) {
    :root {
        --container-max: 960px;
        --container-padding: 20px;
    }
    
    /* Navbar */
    .navbar-menu {
        gap: 4px;
    }
    
    .nav-item a {
        padding: 8px 14px;
        font-size: 0.85rem;
    }
    
    /* Hero */
    .hero-container {
        gap: 40px;
    }
    
    .hero-titulo {
        font-size: 3.2rem;
    }
    
    .hero-imagem-principal {
        max-width: 450px;
    }
    
    /* Home */
    .kits-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .passos-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .depoimentos-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Checkout */
    .checkout-container {
        grid-template-columns: 1fr 340px;
        gap: 24px;
    }
    
    /* Carrinho */
    .carrinho-container {
        grid-template-columns: 1fr 340px;
    }
    
    /* Produto */
    .produto-detalhe-container {
        gap: 40px;
    }
    
    .produto-nome {
        font-size: 1.8rem;
    }
    
    /* Perfil */
    .perfil-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Footer */
    .footer-container {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 30px;
    }
    
    /* Desejos */
    .desejos-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ============================================ */
/* TABLET (768px - 1023px)                       */
/* ============================================ */
@media (max-width: 1023px) {
    :root {
        --container-max: 720px;
        --container-padding: 18px;
        --navbar-altura: 64px;
    }
    
    /* Navbar - Esconder menu desktop, mostrar hamburguer */
    .navbar-menu {
        display: none;
    }
    
    .btn-hamburguer {
        display: flex;
    }
    
    .btn-entrar {
        display: none;
    }
    
    .logo-text {
        font-size: 1.3rem;
    }
    
    /* Hero */
    .hero {
        min-height: auto;
        padding: 100px 0 60px;
    }
    
    .hero-container {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .hero-conteudo {
        order: 1;
    }
    
    .hero-imagem {
        display: none;
    }
    
    .hero-titulo {
        font-size: 2.8rem;
    }
    
    .hero-descricao {
        max-width: 100%;
        font-size: 1rem;
    }
    
    .hero-botoes {
        justify-content: center;
    }
    
    .hero-stats {
        justify-content: center;
        flex-wrap: wrap;
        gap: 24px;
    }
    
    /* Home */
    .kits-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .section-titulo {
        font-size: 2rem;
    }
    
    .passos-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .depoimentos-grid {
        grid-template-columns: 1fr 1fr;
    }
    
    .cta-titulo {
        font-size: 2.2rem;
    }
    
    /* Produto */
    .produto-detalhe-container {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .produto-galeria {
        position: static;
    }
    
    .produto-imagem-principal img {
        height: 350px;
    }
    
    .produto-nome {
        font-size: 1.8rem;
    }
    
    .avaliacoes-grid {
        grid-template-columns: 1fr 1fr;
    }
    
    .relacionados-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Checkout */
    .checkout-container {
        grid-template-columns: 1fr;
    }
    
    .checkout-resumo {
        position: static;
    }
    
    .pagamento-opcoes {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Carrinho */
    .carrinho-container {
        grid-template-columns: 1fr;
    }
    
    .carrinho-resumo {
        position: static;
    }
    
    .carrinho-item {
        flex-direction: row;
        gap: 16px;
    }
    
    .carrinho-item-imagem {
        width: 100px;
        height: 100px;
    }
    
    /* Perfil */
    .perfil-avatar-area {
        flex-direction: column;
        text-align: center;
    }
    
    .perfil-info-detalhes {
        justify-content: center;
    }
    
    .perfil-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .perfil-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .perfil-tab {
        white-space: nowrap;
        flex: none;
        padding: 12px 16px;
        font-size: 0.85rem;
    }
    
    .perfil-form-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Login */
    .auth-card {
        max-width: 420px;
        padding: 36px 28px;
    }
    
    /* Histórico */
    .pedido-card-header {
        flex-wrap: wrap;
        gap: 10px;
    }
    
    .pedido-info-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Desejos */
    .desejos-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    
    .desejos-header {
        padding: 50px 0 30px;
    }
    
    .desejos-titulo {
        font-size: 1.8rem;
    }
    
    /* Footer */
    .footer-container {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
    
    .footer-coluna:first-child {
        grid-column: 1 / -1;
    }
    
    /* Seções */
    .destaques,
    .como-funciona,
    .depoimentos,
    .cta-section,
    .produto-detalhe,
    .produto-avaliacoes,
    .produtos-relacionados {
        padding: 60px 0;
    }
    
    /* Steps */
    .checkout-step span,
    .carrinho-steps .step span {
        font-size: 0.7rem;
    }
    
    /* Toast */
    .toast {
        min-width: auto;
        max-width: 90vw;
        right: 10px;
    }
    
    .toast-container {
        right: 10px;
        left: 10px;
    }
}

/* ============================================ */
/* MOBILE GRANDE (480px - 767px)                 */
/* ============================================ */
@media (max-width: 767px) {
    :root {
        --container-max: 100%;
        --container-padding: 16px;
        --navbar-altura: 60px;
    }
    
    /* Navbar */
    .logo-text {
        font-size: 1.1rem;
    }
    
    .logo-icon {
        font-size: 1.5rem;
    }
    
    .btn-carrinho-flutuante {
        padding: 8px 12px;
        font-size: 0.8rem;
    }
    
    .carrinho-preview {
        width: 300px;
        right: -60px;
    }
    
    /* Hero */
    .hero {
        padding: 80px 0 40px;
    }
    
    .hero-titulo {
        font-size: 2.2rem;
    }
    
    .hero-descricao {
        font-size: 0.95rem;
    }
    
    .hero-botoes {
        flex-direction: column;
        gap: 12px;
    }
    
    .btn-hero-primario,
    .btn-hero-secundario {
        width: 100%;
        justify-content: center;
        padding: 14px 24px;
        font-size: 1rem;
    }
    
    .hero-stats {
        gap: 16px;
    }
    
    .hero-stat-numero {
        font-size: 1.5rem;
    }
    
    .hero-stat-label {
        font-size: 0.75rem;
    }
    
    /* Home */
    .kits-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    
    .section-titulo {
        font-size: 1.6rem;
    }
    
    .section-descricao {
        font-size: 0.9rem;
    }
    
    .passos-grid {
        grid-template-columns: 1fr;
    }
    
    .depoimentos-grid {
        grid-template-columns: 1fr;
    }
    
    .cta-titulo {
        font-size: 1.8rem;
    }
    
    .cta-botoes {
        flex-direction: column;
    }
    
    .btn-cta,
    .btn-cta-outline {
        width: 100%;
        justify-content: center;
    }
    
    /* Produto */
    .produto-imagem-principal img {
        height: 280px;
    }
    
    .produto-nome {
        font-size: 1.5rem;
    }
    
    .produto-preco-atual {
        font-size: 2rem;
    }
    
    .produto-acoes {
        flex-wrap: wrap;
    }
    
    .produto-quantidade {
        width: 100%;
        justify-content: center;
    }
    
    .btn-favorito {
        width: 100%;
    }
    
    .avaliacoes-grid {
        grid-template-columns: 1fr;
    }
    
    .relacionados-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }
    
    /* Checkout */
    .checkout-titulo {
        font-size: 1.5rem;
    }
    
    .checkout-step span {
        display: none;
    }
    
    .checkout-step-line {
        width: 30px;
    }
    
    .pagamento-opcoes {
        grid-template-columns: 1fr;
    }
    
    .endereco-grid {
        grid-template-columns: 1fr;
    }
    
    .campo-dois-tercos,
    .campo-terco,
    .campo-metade {
        grid-column: 1 / -1;
    }
    
    /* Carrinho */
    .carrinho-titulo {
        font-size: 1.5rem;
    }
    
    .carrinho-item {
        flex-direction: column;
    }
    
    .carrinho-item-imagem {
        width: 100%;
        height: 180px;
    }
    
    .carrinho-step span {
        display: none;
    }
    
    /* Perfil */
    .perfil-nome {
        font-size: 1.5rem;
    }
    
    .perfil-stats {
        grid-template-columns: 1fr 1fr;
    }
    
    .perfil-form-grid {
        grid-template-columns: 1fr;
    }
    
    .campo-metade,
    .campo-dois-tercos,
    .campo-terco {
        grid-column: 1 / -1;
    }
    
    .perfil-card {
        padding: 20px 16px;
    }
    
    /* Login */
    .auth-card {
        max-width: 100%;
        padding: 28px 20px;
    }
    
    .auth-logo .logo-icon {
        font-size: 2.5rem;
    }
    
    .auth-titulo {
        font-size: 1.2rem;
    }
    
    .otp-input {
        width: 42px;
        height: 50px;
        font-size: 1.2rem;
    }
    
    /* Histórico */
    .historico-titulo {
        font-size: 1.6rem;
    }
    
    .pedido-card-header {
        padding: 16px;
    }
    
    .pedido-header-direita {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    .pedido-info-grid {
        grid-template-columns: 1fr;
    }
    
    .pedido-acoes {
        flex-direction: column;
    }
    
    .btn-pedido-acao {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
    
    .pedido-card-body {
        padding: 0 16px 16px;
    }
    
    /* Desejos */
    .desejos-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }
    
    .desejo-imagem {
        height: 150px;
    }
    
    .desejo-info {
        padding: 12px;
    }
    
    .desejo-nome a {
        font-size: 0.85rem;
    }
    
    .btn-desejo-remover-mobile {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .desejo-remover {
        display: none;
    }
    
    .recomendados-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Footer */
    .footer-container {
        grid-template-columns: 1fr;
        gap: 30px;
        text-align: center;
    }
    
    .footer-logo {
        justify-content: center;
    }
    
    .footer-redes {
        justify-content: center;
    }
    
    .footer-bar-container {
        flex-direction: column;
        text-align: center;
        gap: 8px;
    }
    
    /* WhatsApp Flutuante */
    .whatsapp-flutuante {
        width: 50px;
        height: 50px;
        bottom: 16px;
        right: 12px;
        font-size: 1.4rem;
    }
    
    /* Botão Voltar Topo */
    .btn-voltar-topo {
        bottom: 16px;
        left: 12px;
        width: 38px;
        height: 38px;
        font-size: 0.9rem;
    }
    
    /* Filtros horizontais */
    .historico-filtros-container {
        gap: 6px;
    }
    
    .filtro-btn {
        padding: 8px 14px;
        font-size: 0.8rem;
    }
    
    .filtro-contagem {
        padding: 2px 6px;
        font-size: 0.7rem;
    }
    
    /* Breadcrumb */
    .breadcrumb-bar {
        font-size: 0.8rem;
        padding: 10px 0;
    }
    
    /* Toast */
    .toast {
        min-width: auto;
        max-width: calc(100vw - 20px);
        font-size: 0.85rem;
        padding: 12px 16px;
    }
}

/* ============================================ */
/* MOBILE PEQUENO (< 480px)                      */
/* ============================================ */
@media (max-width: 479px) {
    :root {
        --container-padding: 12px;
    }
    
    /* Hero */
    .hero-titulo {
        font-size: 1.8rem;
    }
    
    .hero-badge {
        font-size: 0.75rem;
        padding: 6px 14px;
    }
    
    /* Home */
    .section-titulo {
        font-size: 1.4rem;
    }
    
    .kit-card-imagem {
        height: 200px;
    }
    
    /* Produto */
    .produto-nome {
        font-size: 1.3rem;
    }
    
    .produto-preco-atual {
        font-size: 1.6rem;
    }
    
    /* Perfil */
    .perfil-avatar-wrapper {
        width: 100px;
        height: 100px;
    }
    
    .perfil-stats {
        grid-template-columns: 1fr;
    }
    
    .perfil-tabs {
        flex-direction: column;
    }
    
    .perfil-tab {
        width: 100%;
        justify-content: center;
    }
    
    /* Desejos */
    .desejos-grid {
        grid-template-columns: 1fr;
    }
    
    .desejo-imagem {
        height: 200px;
    }
    
    .recomendados-grid {
        grid-template-columns: 1fr;
    }
    
    /* Checkout */
    .checkout-bloco-header {
        flex-wrap: wrap;
        gap: 8px;
    }
    
    .checkout-bloco-body {
        padding: 16px;
    }
    
    /* Carrinho */
    .carrinho-item-imagem {
        height: 150px;
    }
    
    /* Login */
    .otp-container {
        gap: 6px;
    }
    
    .otp-input {
        width: 36px;
        height: 44px;
        font-size: 1rem;
    }
    
    /* Histórico */
    .pedido-numero {
        font-size: 0.9rem;
    }
    
    .pedido-data {
        font-size: 0.7rem;
    }
    
    /* Menu Mobile */
    .menu-mobile {
        width: 280px;
    }
    
    /* Carrinho Preview */
    .carrinho-preview {
        width: 280px;
        right: -50px;
    }
    
    /* Loading */
    .loading-logo {
        font-size: 1.8rem;
    }
    
    .loading-fire {
        font-size: 3rem;
    }
    
    .loading-bar {
        width: 180px;
    }
}

/* ============================================ */
/* UTILITÁRIOS RESPONSIVOS                       */
/* ============================================ */

/* Esconder em mobile */
@media (max-width: 767px) {
    .hide-mobile {
        display: none !important;
    }
}

/* Esconder em desktop */
@media (min-width: 1024px) {
    .hide-desktop {
        display: none !important;
    }
}

/* Mostrar apenas em mobile */
@media (min-width: 768px) {
    .show-mobile-only {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .show-desktop-only {
        display: none !important;
    }
}

/* Ajustes de touch para mobile */
@media (hover: none) and (pointer: coarse) {
    /* Aumentar área de toque */
    .btn-adicionar-carrinho,
    .btn-favorito,
    .btn-remover-item,
    .desejo-remover,
    .btn-pedido-acao {
        min-height: 44px;
        min-width: 44px;
    }
    
    /* Remover hover effects que não funcionam bem em touch */
    .kit-card:hover .kit-card-imagem img,
    .desejo-card:hover .desejo-imagem img,
    .relacionado-card:hover .relacionado-imagem img {
        transform: none;
    }
    
    /* Scroll mais suave */
    * {
        -webkit-overflow-scrolling: touch;
    }
}

/* Ajustes para orientação paisagem em mobile */
@media (max-width: 900px) and (orientation: landscape) {
    .hero {
        min-height: auto;
        padding: 60px 0 30px;
    }
    
    .hero-titulo {
        font-size: 2rem;
    }
    
    .hero-imagem {
        display: none;
    }
}

/* Ajustes para telas muito grandes */
@media (min-width: 2000px) {
    body {
        font-size: 18px;
    }
    
    :root {
        --container-max: 1600px;
    }
}

/* High DPI / Retina */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    img {
        image-rendering: -webkit-optimize-contrast;
    }
}

/* Preferência de redução de movimento */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Dark mode (preparado para futuro) */
@media (prefers-color-scheme: dark) {
    /* Dark mode será implementado futuramente */
}

/* Impressão */
@media print {
    .navbar,
    .footer,
    .whatsapp-flutuante,
    .btn-voltar-topo,
    .btn-hamburguer,
    .menu-mobile,
    .menu-mobile-overlay,
    .toast-container,
    #loading-screen {
        display: none !important;
    }
    
    body {
        background: white;
        color: black;
    }
    
    .main-content {
        margin-top: 0 !important;
    }
    
    a {
        color: black;
        text-decoration: underline;
    }
    
    .pedido-card,
    .checkout-bloco,
    .perfil-card {
        break-inside: avoid;
        box-shadow: none;
        border: 1px solid #ccc;
    }
}