/* ============================================
   CORREÇÕES MOBILE - RESPONSIVIDADE
   
   Arquivo de correções para problemas de
   responsividade mobile identificados na auditoria.
   
   IMPORTANTE: Inclua este arquivo DEPOIS dos outros CSS
   ============================================ */

/* ─────────────────────────────────────────
   1. OWL CAROUSEL - PLAY ICON RESPONSIVO
   ───────────────────────────────────────── */

/* Corrige a sintaxe incorreta e adiciona responsividade */
.owl-carousel .owl-video-play-icon {
    transition: transform 0.3s ease;
}

.owl-carousel .owl-video-play-icon:hover {
    transform: scale(1.15);
}

/* Tablet (992px e abaixo) */
@media (max-width: 992px) {
    .owl-carousel .owl-video-play-icon {
        height: 70px !important;
        width: 70px !important;
        margin-left: -35px !important;
        margin-top: -35px !important;
    }
}

/* Mobile (768px e abaixo) */
@media (max-width: 768px) {
    .owl-carousel .owl-video-play-icon {
        height: 60px !important;
        width: 60px !important;
        margin-left: -30px !important;
        margin-top: -30px !important;
    }
}

/* Smartphone (480px e abaixo) */
@media (max-width: 480px) {
    .owl-carousel .owl-video-play-icon {
        height: 50px !important;
        width: 50px !important;
        margin-left: -25px !important;
        margin-top: -25px !important;
    }
}

/* Ultra pequeno (320px e abaixo) */
@media (max-width: 320px) {
    .owl-carousel .owl-video-play-icon {
        height: 40px !important;
        width: 40px !important;
        margin-left: -20px !important;
        margin-top: -20px !important;
    }
}

/* ─────────────────────────────────────────
   2. RESET.CSS - PADDING/MARGIN MÓVEL
   ───────────────────────────────────────── */

/* Reduz padding excessivo em mobile */
@media (max-width: 480px) {
    .padding-left-100,
    .padding-right-100 {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    
    .padding-left-50,
    .padding-right-50 {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    
    .padding-top-100,
    .padding-bottom-100 {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
    
    .padding-top-50,
    .padding-bottom-50 {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }
    
    /* Margins excessivas */
    .margin-bottom-100,
    .margin-bottom-150,
    .margin-bottom-200,
    .margin-bottom-250,
    .margin-bottom-295 {
        margin-bottom: 30px !important;
    }
    
    .margin-top-100,
    .margin-top-150,
    .margin-top-200,
    .margin-top-250 {
        margin-top: 30px !important;
    }
}

@media (max-width: 320px) {
    .padding-left-50,
    .padding-right-50 {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    
    .padding-top-50,
    .padding-bottom-50 {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
}

/* ─────────────────────────────────────────
   3. RESET.CSS - DECORADORES DE SEÇÃO
   ───────────────────────────────────────── */

/* Redimensiona linhas decorativas em mobile */
@media (max-width: 480px) {
    .section_title.nice_title > h4::before {
        width: 60px !important;
        margin-right: 5px !important;
    }
    
    .section_title.nice_title > h4::after {
        width: 15px !important;
    }
}

@media (max-width: 320px) {
    .section_title.nice_title > h4::before {
        width: 30px !important;
        margin-right: 3px !important;
    }
    
    .section_title.nice_title > h4::after {
        display: none !important;
    }
    
    .section_title.nice_title > h4 {
        text-align: center;
    }
}

/* ─────────────────────────────────────────
   4. UIKIT - GRID RESPONSIVO (OTIMIZADO)
   ───────────────────────────────────────── */

/* Reduz gaps em mobile (opcional, para ultra-small) */
@media (max-width: 480px) {
    .uk-grid {
        margin-left: -15px !important;
    }
    
    .uk-grid > * {
        padding-left: 15px !important;
    }
    
    .uk-grid + .uk-grid,
    .uk-grid-margin,
    .uk-grid > * > .uk-panel + .uk-panel {
        margin-top: 15px !important;
    }
    
    .uk-grid-small {
        margin-left: -8px !important;
    }
    
    .uk-grid-small > * {
        padding-left: 8px !important;
    }
}

@media (max-width: 320px) {
    .uk-grid {
        margin-left: -10px !important;
    }
    
    .uk-grid > * {
        padding-left: 10px !important;
    }
    
    .uk-grid + .uk-grid,
    .uk-grid-margin,
    .uk-grid > * > .uk-panel + .uk-panel {
        margin-top: 10px !important;
    }
}

/* ─────────────────────────────────────────
   5. CONTAINER RESPONSIVO - OPTIMIZAÇÃO
   ───────────────────────────────────────── */

/* Reduz padding em dispositivos muito pequenos */
@media (max-width: 320px) {
    .uk-container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    
    .container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* ─────────────────────────────────────────
   6. ANIMAÇÕES - OTIMIZAÇÃO MOBILE
   ───────────────────────────────────────── */

/* Reduz velocidade de animações em mobile (melhor performance) */
@media (max-width: 768px) {
    .fa-spin {
        animation-duration: 1.5s !important;
    }
    
    [class*="bounceIn"],
    [class*="bounceOut"],
    [class*="fadeIn"],
    [class*="fadeOut"],
    [class*="slideIn"],
    [class*="slideOut"],
    [class*="zoomIn"],
    [class*="zoomOut"] {
        animation-duration: 0.8s !important;
    }
    
    .bounce,
    .flash,
    .pulse,
    .rubberBand,
    .shake,
    .swing,
    .tada,
    .wobble,
    .jello {
        animation-duration: 0.8s !important;
    }
}

@media (max-width: 480px) {
    [class*="bounceIn"],
    [class*="bounceOut"],
    [class*="fadeIn"],
    [class*="fadeOut"],
    [class*="slideIn"],
    [class*="slideOut"],
    [class*="zoomIn"],
    [class*="zoomOut"] {
        animation-duration: 0.6s !important;
    }
}

/* ─────────────────────────────────────────
   7. RESPEITAR PREFERÊNCIA DE REDUÇÃO MOVIMENTO
   ───────────────────────────────────────── */

/* Para usuários que preferem menos movimento */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ─────────────────────────────────────────
   8. FONTS E TEXTO - OTIMIZAÇÃO MOBILE
   ───────────────────────────────────────── */

/* Reduz tamanho de fonte em títulos em mobile para melhor legibilidade */
@media (max-width: 768px) {
    h1 {
        font-size: 36px !important;
    }
    
    h2 {
        font-size: 28px !important;
    }
    
    h3 {
        font-size: 22px !important;
    }
    
    h4 {
        font-size: 18px !important;
    }
}

@media (max-width: 480px) {
    h1 {
        font-size: 28px !important;
    }
    
    h2 {
        font-size: 22px !important;
    }
    
    h3 {
        font-size: 18px !important;
    }
    
    h4 {
        font-size: 16px !important;
    }
}

/* ─────────────────────────────────────────
   10. CABEÇALHO - LAYOUT COMPACTO MOBILE
   ───────────────────────────────────────── */

/* Em celular apenas - cabeçalho em uma linha */
@media (max-width: 768px) {
    /* Reduz altura do cabeçalho para uma linha */
    .header_logo {
        margin: 10px 0 !important;
        min-height: auto !important;
    }

    .header_top_service {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 5px;
    }

    .header_we_are {
        display: flex;
        align-items: center;
        min-height: auto;
        flex-shrink: 0;
    }

    .header_we_are > dl {
        margin: 0 !important;
        line-height: 1.2;
    }

    .header_we_are dt {
        font-size: 10px !important;
        line-height: 1 !important;
        margin-bottom: 2px;
    }

    .header_we_are dd {
        font-size: 10px !important;
        line-height: 1 !important;
        margin: 0 !important;
    }

    .header_we_are i {
        height: 36px !important;
        line-height: 36px !important;
        min-width: 36px;
    }
}

/* ─────────────────────────────────────────
   FOOTER - ESTRUTURA E POSICIONAMENTO HARMÔNICO
   ───────────────────────────────────────── */

/* Container principal do footer - proporções equilibradas */
.footer_top_up {
    padding: 60px 0 40px 0;
}

/* Layout responsivo das colunas de footer */
.footer_widgets {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0;
    padding: 0;
    gap: 0;
}

/* Coluna padrão do footer - mantém proporção visual */
.footer_widgets > .col-md-3 {
    display: flex;
    flex-direction: column;
    min-height: auto;
    position: relative;
    z-index: 1;
    padding: 0 15px;
    margin-bottom: 30px;
}

/* Seção individual de conteúdo dentro das colunas */
.single_footer_widgets {
    padding: 0;
    margin: 0;
}

.single_footer_widgets h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 18px;
    line-height: 1.4;
}

.single_footer_widgets p,
.single_footer_widgets ul,
.single_footer_widgets li {
    font-size: 13px;
    line-height: 1.8;
    margin-bottom: 12px;
}

/* Previne sobreposição entre colunas */
.footer_widgets > .col-md-3 + .col-md-3 {
    margin-left: 0 !important;
}

/* Garante espaço adequado para texto do botão não ser cortado */
.footer_widgets > .col-md-3.hidden-sm .single_footer_widgets {
    position: relative;
    z-index: 2;
    overflow: visible !important;
}

.footer_widgets > .col-md-3.hidden-sm .single_footer_widgets a.btn {
    position: relative;
    z-index: 2;
    box-shadow: none;
}

/* Coluna da imagem (portfolio) com z-index apropriado */
.footer_widgets > .col-md-3.hidden-sm.hidden-xs {
    position: relative;
    z-index: 0;
    padding: 0;
}

/* Ajustes proporcionais em tablets (992px e abaixo) */
@media (max-width: 992px) {
    .footer_top_up {
        padding: 50px 0 35px 0;
    }
    
    .footer_widgets {
        display: block;
    }
    
    .footer_widgets > .col-md-3 {
        width: 50%;
        float: left;
        display: block;
        padding: 0 12px;
        margin-bottom: 25px;
    }
    
    .single_footer_widgets h4 {
        font-size: 15px;
        margin-bottom: 16px;
    }
    
    .single_footer_widgets p,
    .single_footer_widgets ul,
    .single_footer_widgets li {
        font-size: 12px;
        margin-bottom: 10px;
    }
}

/* Ajustes para tablets médios (768px e abaixo) */
@media (max-width: 768px) {
    .footer_top_up {
        padding: 45px 0 30px 0;
    }
    
    .footer_widgets > .col-md-3 {
        width: 100%;
        float: none;
        padding: 0 10px;
        margin-bottom: 20px;
    }
    
    .single_footer_widgets h4 {
        font-size: 14px;
        margin-bottom: 14px;
    }
    
    .single_footer_widgets p,
    .single_footer_widgets ul,
    .single_footer_widgets li {
        font-size: 12px;
        margin-bottom: 9px;
    }
}

/* Ajustes para smartphones (480px e abaixo) */
@media (max-width: 480px) {
    .footer_top_up {
        padding: 35px 0 25px 0;
    }
    
    .footer_widgets > .col-md-3 {
        width: 100%;
        padding: 0 8px;
        margin-bottom: 18px;
    }
    
    .single_footer_widgets h4 {
        font-size: 13px;
        margin-bottom: 12px;
    }
    
    .single_footer_widgets p,
    .single_footer_widgets ul,
    .single_footer_widgets li {
        font-size: 11px;
        margin-bottom: 8px;
    }
}

/* Telas muito pequenas (320px e abaixo) */
@media (max-width: 320px) {
    .footer_top_up {
        padding: 30px 0 20px 0;
    }
    
    .footer_widgets > .col-md-3 {
        width: 100%;
        padding: 0 5px;
        margin-bottom: 15px;
    }
    
    .single_footer_widgets h4 {
        font-size: 12px;
        margin-bottom: 10px;
    }
    
    .single_footer_widgets p,
    .single_footer_widgets ul,
    .single_footer_widgets li {
        font-size: 10px;
        margin-bottom: 6px;
    }
}

/* Define transições consistentes para botões (desktop e mobile) */
.btn,
a.btn,
input[type="submit"],
button {
    transition: all 0.3s ease !important;
    -webkit-transition: all 0.3s ease !important;
    -moz-transition: all 0.3s ease !important;
    -o-transition: all 0.3s ease !important;
}

/* Garante que hover não sobrescreva o estado anterior */
.btn:focus,
a.btn:focus,
input[type="submit"]:focus,
button:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 114, 165, 0.25) !important;
    transition: box-shadow 0.2s ease !important;
}

/* Evita múltiplas animações simultâneas em botões aninhados */
.btn.btn-see,
.about_transport .btn.btn-see {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease !important;
}

.btn.btn-see:hover,
.about_transport .btn.btn-see:hover {
    text-decoration: none !important;
}

/* ─────────────────────────────────────────
   BOTÕES EM FOOTER - PROPORCIONALIDADE HARMÔNICA
   ───────────────────────────────────────── */

/* Botões em rodapé - espaçamento e tamanho harmônico */
.footer_top_up .footer_widgets > .col-md-3.hidden-sm .single_footer_widgets a.btn {
    transition: all 0.3s ease !important;
    -webkit-transition: all 0.3s ease !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 14px 12px !important;
    text-align: center !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    font-size: 14px !important;
    line-height: 1.5;
    margin-bottom: 10px;
    min-height: 44px;
}

.footer_top_up .footer_widgets > .col-md-3.hidden-sm .single_footer_widgets a.btn:last-child {
    margin-bottom: 0;
}

/* Desktop - botões com tamanho padrão (992px+) */
@media (min-width: 992px) {
    .footer_top_up .footer_widgets > .col-md-3.hidden-sm .single_footer_widgets a.btn {
        padding: 16px 14px !important;
        font-size: 15px !important;
        min-height: 48px;
    }
}

/* Tablet - redução proporcional (768px-991px) */
@media (max-width: 991px) {
    .footer_top_up .footer_widgets > .col-md-3.hidden-sm .single_footer_widgets a.btn {
        padding: 13px 11px !important;
        font-size: 13px !important;
        min-height: 44px;
    }
}

/* Aumenta area de toque de botões em mobile - proporção mobile-friendly */
@media (max-width: 768px) {
    .btn {
        padding: 12px 20px !important;
        min-height: 44px;
        line-height: 1.5;
    }
    
    a.btn,
    input[type="submit"],
    button {
        min-height: 44px;
        font-size: 14px !important;
    }
    
    .uk-button {
        padding: 0 12px !important;
        min-height: 44px;
        line-height: 44px !important;
    }
    
    /* Footer button em mobile - altura acessível e proporcionada */
    .footer_top_up .footer_widgets > .col-md-3.hidden-sm .single_footer_widgets a.btn {
        min-height: 46px !important;
        padding: 12px 10px !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
    }
    
    /* Reduz transição em mobile para melhor performance */
    .btn,
    a.btn,
    input[type="submit"],
    button {
        transition: all 0.2s ease !important;
    }
}

/* Smartphones pequenos (480px e abaixo) - otimização */
@media (max-width: 480px) {
    .footer_top_up .footer_widgets > .col-md-3.hidden-sm .single_footer_widgets a.btn {
        min-height: 44px !important;
        padding: 10px 8px !important;
        font-size: 11px !important;
        line-height: 1.3 !important;
        margin-bottom: 8px;
    }
}

/* Garante espaço adequado entre botões múltiplos */
.btn + .btn,
a.btn + a.btn,
button + button {
    margin-left: 0;
    margin-top: 8px;
}

/* ─────────────────────────────────────────
   10. OVERFLOW HIDDEN - SEGURANÇA
   ───────────────────────────────────────── */

/* Previne horizontal scroll acidental */
@media (max-width: 768px) {
    body {
        overflow-x: hidden;
    }
    
    main,
    section,
    article {
        overflow-x: hidden;
    }
}

/* ─────────────────────────────────────────
   11. FOOTER FIXED IMAGE - POSICIONAMENTO HARMÔNICO
   ───────────────────────────────────────── */

/* Imagem fixa no rodapé com posicionamento otimizado e proporcional */
.footer_fixed_img {
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 10;
    max-width: 180px;
    height: auto;
    opacity: 0.9;
    display: block;
}

/* Garante que não interfira com elementos interativos */
.footer_fixed_img:hover {
    opacity: 1;
}

/* Desktop - proporção padrão */
@media (min-width: 1200px) {
    .footer_fixed_img {
        max-width: 200px;
    }
}

/* XLarge (992px-1199px) - redução proporcional */
@media (max-width: 1199px) and (min-width: 993px) {
    .footer_fixed_img {
        max-width: 170px;
    }
}

/* Large (768px-991px) - tablet grande */
@media (max-width: 992px) {
    .footer_fixed_img {
        max-width: 150px;
        opacity: 0.85;
    }
}

/* Medium (480px-767px) - tablet pequeno */
@media (max-width: 768px) {
    .footer_fixed_img {
        max-width: 110px;
        opacity: 0.8;
    }
}

/* Small (320px-479px) - smartphone */
@media (max-width: 480px) {
    .footer_fixed_img {
        max-width: 85px;
        opacity: 0.75;
    }
}

/* Extra Small (<320px) - telefones muito pequenos */
@media (max-width: 320px) {
    .footer_fixed_img {
        max-width: 70px;
        opacity: 0.7;
    }
}

/* ─────────────────────────────────────────
   12. HARMONIA VISUAL FOOTER COMPLETO
   ───────────────────────────────────────── */

/* Garante que o footer como um todo mantém proporções harmônicas */
.footer_top_up {
    background: linear-gradient(to bottom, rgba(0,0,0,0.02), rgba(0,0,0,0.05));
    border-top: 1px solid #e8e8e8;
    position: relative;
    z-index: 5;
}

/* Espaçamento dinâmico baseado na resolução - sem saltos visuais */
.single_footer_widgets {
    transition: padding 0.3s ease, font-size 0.3s ease;
}

/* Proporcionalidade de imagens dentro do footer */
.single_footer_widgets img {
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
}

/* Mantém links alinhados em footer visualmente balanceados */
.single_footer_widgets a {
    display: inline-block;
    transition: color 0.3s ease;
}

.single_footer_widgets a:hover {
    text-decoration: underline;
}

/* Listas do footer com espaçamento proporcional */
.single_footer_widgets ul {
    padding-left: 0;
    list-style: none;
}

.single_footer_widgets ul li {
    padding-left: 0;
    margin-left: 0;
    position: relative;
    padding-bottom: 2px;
}

.single_footer_widgets ul li:before {
    content: "•";
    margin-right: 8px;
    color: #017cc0;
}

/* ─────────────────────────────────────────
   AJUSTES DO SLIDER - POSICIONAMENTO RESPONSIVO
   ───────────────────────────────────────── */

/* Ajuste do posicionamento dos textos do slider em dispositivos móveis */
@media (max-width: 768px) {
    /* Reduz o tamanho da fonte no mobile para evitar cortes */
    .tp-caption.black_heavy_70 {
        font-size: 28px !important;
    }
    
    /* Ajusta o texto "Mix premium, logística..." para mais à esquerda */
    .tp-caption[style*="font-size: 30px"] {
        left: -50px !important;
        padding-left: 20px !important;
        max-width: 90% !important;
    }
}

@media (max-width: 480px) {
    /* Mobile pequeno - ajustes mais agressivos */
    .tp-caption.black_heavy_70 {
        font-size: 22px !important;
    }
    
    /* Ajusta o texto descrição para mais à esquerda em mobile */
    .tp-caption[style*="font-size: 30px"] {
        left: -80px !important;
        padding-left: 25px !important;
        font-size: 16px !important;
        max-width: 100% !important;
    }
}

/* ─────────────────────────────────────────
   ESTILO DO BOTÃO VERDE COM HOVER MARROM
   ───────────────────────────────────────── */

/* Botão teal (cor primária) com hover marrom */
.btn-green {
    background-color: #009d94 !important;
    transition: background-color 0.3s ease !important;
}

.btn-green:hover {
    background-color: #8B4513 !important;
    color: #fff !important;
}

/* ─────────────────────────────────────────
   AJUSTE DAS IMAGENS DE MARCAS - OUR CLIENTS
   ───────────────────────────────────────── */

/* Ajusta o tamanho e posicionamento das imagens de marcas */
.about_client_area .client_box {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 20px;
    min-height: 150px;
}

.about_client_area .client_box img {
    max-width: 100%;
    max-height: 120px;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* Responsividade das imagens de marcas */
@media (max-width: 768px) {
    .about_client_area .client_box {
        padding: 20px 15px;
        min-height: 120px;
    }
    
    .about_client_area .client_box img {
        max-height: 100px;
    }
}

@media (max-width: 480px) {
    .about_client_area .client_box {
        padding: 15px 10px;
        min-height: 100px;
    }
    
    .about_client_area .client_box img {
        max-height: 80px;
    }
}

/* ─────────────────────────────────────────
   PRODUTOS DESTAQUE - ESPAÇAMENTO MOBILE
   ───────────────────────────────────────── */

/* Adiciona margem de respiro entre imagem central e seções de produtos */
@media (max-width: 768px) {
    .weare_best_img_service {
        margin-top: 30px;
        margin-bottom: 30px;
    }
}

@media (max-width: 480px) {
    .weare_best_img_service {
        margin-top: 40px;
        margin-bottom: 40px;
    }
}

/* ─────────────────────────────────────────
   BREAKPOINTS RECOMENDADOS
   ───────────────────────────────────────── */

/*
   Ao criar CSS customizado, use esses breakpoints
   para manter consistência com esta auditoria:
   
   Extra Small: < 320px
   Small: 320px - 479px
   Medium: 480px - 767px
   Large: 768px - 991px
   XLarge: 992px - 1199px
   XXLarge: 1200px+
   
   Exemplo:
   @media (max-width: 320px) { }      // Extra Small
   @media (max-width: 480px) { }      // Small
   @media (max-width: 768px) { }      // Medium
   @media (max-width: 992px) { }      // Large
   @media (max-width: 1200px) { }     // XLarge
*/

/* ─────────────────────────────────────────
   FIX: Bootstrap Navbar Collapse Overflow
   - Remove overflow-x: visible on mobile
   - Prevent horizontal scrolling from navbar menu
   ───────────────────────────────────────── */

@media (max-width: 767px) {
    .navbar-collapse {
        overflow-x: hidden !important;
        max-width: 100vw;
    }
    
    .navbar-nav {
        overflow-x: hidden !important;
    }
    
    .navbar-nav > li {
        width: 100% !important;
    }
    
    .navbar-nav > li > a {
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
}

/* ─────────────────────────────────────────
   Additional Mobile Width Constraint Rules
   ───────────────────────────────────────── */

@media (max-width: 767px) {
    /* Ensure all major containers respect viewport width */
    .container,
    .container-fluid {
        overflow-x: hidden;
        width: 100%;
    }
    
    /* Prevent image overflow */
    img {
        max-width: 100%;
        height: auto;
        display: block;
    }
    
    /* Button and link text wrapping */
    button,
    a,
    .btn {
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    
    /* Form elements responsive */
    input,
    textarea,
    select {
        max-width: 100%;
    }
}
