/* ===========================================================
   HERO SECTION - ESTILOS BASE
   ===========================================================
   Regras principais da área Hero (seção com imagem, logo e textos).
----------------------------------------------------------- */
.hero-section {
    background-color: #006891;
    color: white;
    position: relative;
    overflow: hidden;
}
  
/* Logo styles moved to site_header.css to avoid conflicts */
  
.hero-content {
    display: flex;
    align-items: center;
    /*justify-content: center;*/
    min-height: 400px;
    padding: 2rem 0;
}

.highlight-marker {
    background: #89c931;
    padding: 0 4px;
    border-radius: 3px;
    color: #ffffff;
    font-weight: 500;
}
  
.hero-img-container {
    position: absolute;
    right: 0;
    bottom: 0;
    height: 100%;
    display: flex;
    align-items: flex-end;
}
  
.hero-img {
    max-height: 400px;
    width: auto;
}
  
/* Regra base para .hero-disclaimer */
.hero-section .hero-disclaimer {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
}

.subtitle {
    font-size: 1.1rem;
}
  
/* ===========================================================
   MEDIA QUERIES - HERO SECTION
   ===========================================================
   Ajustes responsivos específicos para os elementos da Hero.
----------------------------------------------------------- */
  
/* ----- Tablets e desktops pequenos (min-width: 768px) and (max-width: 1199px) ----- */
@media (min-width: 768px) and (max-width: 1199px) {
    .hero-img-container {
        right: -30px; /* Move a imagem para a esquerda em tablets/desktops pequenos */
    }
}
  
/* ----- Desktops grandes (min-width: 1200px) ----- */
@media (min-width: 1200px) {
    .hero-img-container {
        right: auto;
        left: 60%;
    }
}
  
/* ----- Dispositivos com max-width: 1200px ----- */
@media (max-width: 1200px) {
    .hero-section .hero-disclaimer {
        font-size: 2.0rem;
    }
    .subtitle {
        font-size: 1.1rem;
    }
}
  
/* ----- Dispositivos com max-width: 992px ----- */
@media (max-width: 992px) {
    .hero-section .hero-disclaimer {
        font-size: 1.8rem;
    }
    .subtitle {
        font-size: 1.05rem;
    }
}
  
/* ----- Mobile (max-width: 768px) ----- */
@media (max-width: 768px) {
    .hero-content {
        flex-direction: row; /* Altera de column para row para manter layout similar ao desktop */
        padding: 1rem 0;
        min-height: 300px; /* Reduzido para melhor ajuste */
        position: relative;
    }
    
    .hero-section .hero-disclaimer {
        font-size: 1.3rem !important;
        margin-bottom: 0.8rem !important;
        text-align: center !important;
        max-width: 70% !important;
        margin-left: 15px !important;
        margin-right: auto !important;
        
        /* Propriedades para garantir que o texto quebre corretamente */
        word-wrap: break-word;
        overflow-wrap: break-word;
        white-space: normal;
    }
    
    .hero-img-container {
        right: -20%; /* 20% da imagem vazando para a direita */
        transform: none; /* Remove a transformação anterior */
        bottom: 0;
        justify-content: flex-end; /* Alinha a imagem à direita */
        position: absolute;
        z-index: 1;
    }
    
    .hero-img {
        max-height: 270px; /* Mantém o tamanho atual */
    }
    
    /* Logo mobile styles moved to site_header.css to avoid conflicts */
}
  
/* ----- Mobile (max-width: 576px) ----- */
@media (max-width: 576px) {
    .hero-content {
        padding: 0.5rem 0;
        min-height: 240px;
    }
    
    .hero-section .hero-disclaimer {
        font-size: 1.0rem !important;
        margin-bottom: 0.5rem !important;
        max-width: 76% !important;
        text-align: center !important;
        margin-left: 5px !important;
    }
    
    .hero-img-container {
        right: -25%; /* Mais vazamento para dispositivos menores */
    }
    
    .hero-img {
        max-height: 240px;
    }
}
  