

body {
    
    font-family: 'Poppins', sans-serif;
}



.hero-section {
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.3), transparent), url('https://cogimfotos.blob.core.windows.net/cogim-gallery/header.jpg');
    background-size: cover;
    background-position: center right;
}


.btn-primary {
  background-color: #4a89dc;
  color: white;
  font-weight: 500;
  padding: 12px 24px;
  border-radius: 8px;
  transition: all 0.3s ease;
}


.btn-secondary {
  background-color: transparent;
  border: 2px solid #d4af37;
  color: #d4af37;
  font-weight: 500;
  padding: 12px 24px;
  border-radius: 8px;
  transition: all 0.3s ease;
}

/* Estilo de card com sombra */

.card {
  background-color: white;
  border-radius: 12px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.3s ease;
  overflow: hidden;
}

/* Espaçamento padrão de seções */

.section-padding {
  padding-top: 64px;
  padding-bottom: 64px;
}



.container-custom {
  
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}

        /* Estilos responsivos aprimorados */
        @media (max-width: 640px) {
            /* Mobile extra pequeno */
            .hero h1 {
                font-size: 1.75rem !important;
                line-height: 1.2 !important;
            }
            
            .hero p {
                font-size: 0.875rem !important;
                line-height: 1.4 !important;
            }
            
            .container {
                padding-left: 1rem !important;
                padding-right: 1rem !important;
            }
        }

        @media (min-width: 641px) and (max-width: 768px) {
            /* Tablets pequenos */
            .hero h1 {
                font-size: 2rem !important;
                line-height: 1.3 !important;
            }
        }

        @media (min-width: 769px) and (max-width: 1024px) {
            /* Tablets e laptops pequenos */
            .hero h1 {
                font-size: 2.5rem !important;
            }
        }

        @media (min-width: 1025px) and (max-width: 1440px) {
            /* Laptops e desktops */
            .hero h1 {
                font-size: 3rem !important;
            }
        }

        @media (min-width: 1441px) {
            /* Telas grandes */
            .hero h1 {
                font-size: 3.5rem !important;
            }
            
            .container {
                max-width: 1400px !important;
            }
        }

        /* Touch-friendly para dispositivos móveis */
        @media (hover: none) and (pointer: coarse) {
            button, a, .category-card {
                min-height: 44px;
                min-width: 44px;
            }
        }

        /* Otimizações para diferentes orientações */
        @media (orientation: landscape) and (max-height: 500px) {
            .hero {
                min-height: 400px !important;
            }
        }

        @media (min-width: 768px) {
            /* Esta media query estava vazia e aberta, causando problemas. */
            /* Fechando-a corretamente. */
        }

 .chatbot-hidden {
            transform: scale(0.5);
            opacity: 0;
            pointer-events: none;
            transition: transform 0.3s ease-out, opacity 0.3s ease-out;
        }
        .chatbot-visible {
            transform: scale(1);
            opacity: 1;
            pointer-events: auto;
        }
