/**
 * Responsive CSS - DirectaLog
 * Media queries unificadas
 * Breakpoints padronizados: 768px (mobile), 992px (tablet), 1200px (desktop)
 */

/* ========== RESPONSIVE - ANALYSIS MARKET ========== */
@media (max-width: 991px) {
    .analysis_market .analysis_text {
        margin-top: 40px;
    }
}

/* ========== RESPONSIVE - GOOGLE MAPS ========== */
@media (max-width: 639px) {
    .gm-style .gm-style-iw {
        transform: none;
        width: 260px !important;
    }
    
    .gm-style .gm-style-iw:after {
        left: 50%;
        transform: translateX(-50%);
    }
}

/* ========== MOBILE (max-width: 768px) ========== */
@media (max-width: 768px) {
    /* Prevenir overflow horizontal */
    html, body {
        overflow-x: hidden;
        max-width: 100vw;
    }

    .container {
        max-width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }

    /* ========== TIPOGRAFIA RESPONSIVA ========== */
    /* Corpo do texto */
    body {
        font-size: var(--font-size-mobile-base);
    }

    /* Parágrafos e listas */
    p, ul, ol, li {
        font-size: var(--font-size-mobile-sm);
        line-height: var(--line-height-normal);
    }

    /* Hierarquia de títulos */
    h1 {
        font-size: var(--font-size-mobile-4xl) !important;
        line-height: var(--line-height-tight);
    }

    h2 {
        font-size: var(--font-size-mobile-3xl) !important;
        line-height: var(--line-height-tight);
    }

    h3 {
        font-size: var(--font-size-mobile-2xl) !important;
        line-height: var(--line-height-tight);
    }

    h4 {
        font-size: var(--font-size-mobile-xl) !important;
        line-height: var(--line-height-normal);
    }

    h5 {
        font-size: var(--font-size-mobile-lg) !important;
        line-height: var(--line-height-normal);
    }

    h6 {
        font-size: var(--font-size-mobile-base) !important;
        line-height: var(--line-height-normal);
    }

    /* Textos especiais */
    .lead {
        font-size: var(--font-size-mobile-lg) !important;
    }

    .small, small {
        font-size: var(--font-size-mobile-xs) !important;
    }

    /* Seções de serviço */
    .service_details_inner h1 {
        font-size: var(--font-size-mobile-3xl) !important;
    }

    .service_details_inner h2 {
        font-size: var(--font-size-mobile-2xl) !important;
    }

    .service_details_inner p {
        font-size: var(--font-size-mobile-sm);
    }

    /* SLA boxes */
    .sla-box h4 {
        font-size: var(--font-size-mobile-xl) !important;
    }

    .sla-box p {
        font-size: var(--font-size-mobile-xs);
    }

    /* Media items (diferenciais) */
    .media-body h5 {
        font-size: var(--font-size-mobile-base) !important;
    }

    .media-body p {
        font-size: var(--font-size-mobile-xs);
    }

    /* CTA */
    .cta-avaliacao h3 {
        font-size: var(--font-size-mobile-2xl) !important;
    }

    .cta-avaliacao p {
        font-size: var(--font-size-mobile-sm);
    }

    /* Itens de serviço */
    .itens-servico h4 {
        font-size: var(--font-size-mobile-base) !important;
    }

    .itens-servico p {
        font-size: var(--font-size-mobile-xs);
    }

    /* Banner */
    .banner .box-texto h1 {
        font-size: var(--font-size-mobile-4xl) !important;
    }
    
    .banner .box-texto span {
        font-size: var(--font-size-lg);
        letter-spacing: 2px;
    }
    
    .banner .box-texto p {
        width: 90%;
        font-size: var(--font-size-base);
        margin-bottom: 30px;
        margin-top: 20px;
    }

    /* Títulos de seção */
    .titulo-secao h2 {
        font-size: var(--font-size-2xl);
    }

    /* Ícones */
    .itens-servico img {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
        padding-top: 15px;
    }

    .global_text_area.itens-servico img {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
        padding-top: 15px;
        padding-bottom: 8px;
    }

    #servicos .feature_s_item .icone img {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
    }

    .desafio-icon img {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
    }

    /* Cards */
    .desafio-item {
        padding: 20px 15px;
        margin-bottom: 20px;
    }

    .sla-box {
        margin-bottom: 20px;
    }

    .cta-avaliacao {
        padding: 30px 20px !important;
    }

    /* Swiper */
    .swiper-container {
        height: 400px;
    }

    /* Home */
    #sobre-home ul li img {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
    }

    /* Contact */
    .contact_details_area {
        padding-top: var(--space-section-mobile);
    }

    .contact_form_area {
        min-height: 550px;
    }

    .contact_form_area2 .contact_details_inner {
        padding: 55px 15px;
    }

    /* Header: esconder contatos no mobile (estão no footer) */
    .header_top .col-md-9.ps-md-5 {
        display: none;
    }
    
    .header_top .col-md-3 {
        width: 100%;
        margin: 0 auto;
        text-align: center;
        padding-left: 15px;
        padding-right: 15px;
    }
    
    .header_top .col-md-3 a {
        display: inline-block;
        max-width: 200px;
        width: auto;
    }
    
    .header_top .col-md-3 img {
        width: 100%;
        max-width: 200px;
        height: auto;
        object-fit: contain;
    }
    
    .header_top {
        padding: 13px 0px;
        overflow-x: hidden;
    }
    
    .header_top .container {
        max-width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }
    
    .header_top .row {
        margin-left: 0;
        margin-right: 0;
        flex-wrap: nowrap;
    }
    
    nav .input-group {
        display: none;
    }
    
    .swiper-container {
        width: 100%;
        min-height: 320px;
        height: 50vh;
        max-height: 480px;
    }

    /* Botão "Obter Cotação" no mobile */
    .btns-topo {
        display: none;
    }
    
    .cotacao-topo {
        position: static;
        display: inline-block;
        margin-top: 10px;
        font-size: 12px;
        padding: 4px 15px;
    }

    /* Banner desktop (dentro do mobile para sobrescrever) */
    .banner .box-texto span {
        letter-spacing: 2px;
        font-size: var(--font-size-sm);
    }
    
    .banner .box-texto h1 {
        font-size: var(--font-size-4xl);
    }
    
    .banner .box-texto p {
        color: var(--color-text-white);
        width: 75%;
        margin: 0 auto;
        line-height: var(--line-height-relaxed);
        margin-bottom: 40px;
        margin-top: 20px;
        text-shadow: 0 0 5px #00000030;
        font-size: var(--font-size-sm);
    }
    
    .swiper-button-next:after, 
    .swiper-button-prev:after {
        display: none;
    }
    
    .quote_btn, 
    .quote_btn_outline, 
    .quote_btn_outline_2 {
        font-size: var(--font-size-sm);
    }
    
    .titulo-secao {
        margin-bottom: 40px;
    }
    
    .titulo-secao h2 {
        font-size: var(--font-size-2xl);
        line-height: var(--line-height-normal);
        padding: 0 15px;
    }
    
    .titulo-secao p {
        width: 90%;
        margin: 15px auto 0;
        padding: 0 15px;
    }
    
    p, ul {
        font-size: var(--font-size-sm);
        line-height: var(--line-height-normal);
    }
    
    .padding-secao {
        padding: var(--space-section-mobile) 0;
    }
    
    .service_details_area,
    .contact_form_area2 {
        padding: var(--space-section-mobile) 0;
    }
    
    /* Seções - espaçamento consistente */
    section {
        overflow-x: hidden;
    }
    
    section .container {
        padding-left: 15px;
        padding-right: 15px;
    }
    
    section .row {
        margin-left: -10px;
        margin-right: -10px;
    }
    
    section .row > [class*="col-"] {
        padding-left: 10px;
        padding-right: 10px;
    }
    
    /* Home - CTA */
    #chamada-para-acao h2 {
        text-align: center;
        color: var(--color-text-white);
        font-weight: var(--font-weight-normal);
        font-size: var(--font-size-2xl);
        margin-bottom: 30px;
    }
    
    #chamada-para-acao h2 span {
        text-transform: uppercase;
        font-weight: var(--font-weight-bold);
        color: var(--color-secondary);
        font-size: var(--font-size-2xl);
    }
    
    .quote_btn_outline_2 {
        display: inline-block;
        padding: 0px 26px;
    }
    
    /* Seções - organização mobile */
    #servicos .row {
        margin-left: -10px;
        margin-right: -10px;
    }
    
    #servicos .col-md-4 {
        padding-left: 10px;
        padding-right: 10px;
        margin-bottom: 30px;
    }
    
    #servicos .col-md-4 .feature_s_item {
        margin-bottom: 0;
    }
    
    #servicos .col-md-4:last-child {
        margin-bottom: 0;
    }
    
    /* Seções com imagens - organização mobile */
    #esquema-ecommerce .col-md-10 {
        padding-left: 15px;
        padding-right: 15px;
    }
    
    /* CTA - organização mobile */
    #chamada-para-acao .row {
        flex-direction: column;
        text-align: center;
    }
    
    #chamada-para-acao .col-md-8,
    #chamada-para-acao .col-md-4 {
        width: 100%;
        margin-bottom: 20px;
    }
    
    #chamada-para-acao .col-md-4:last-child {
        margin-bottom: 0;
    }
    
    /* Home - Sobre */
    #sobre-home h2 {
        text-align: center;
        font-size: var(--font-size-xl);
        margin-top: 60px;
    }
    
    #sobre-home span {
        color: var(--color-primary);
        letter-spacing: 3px;
        font-size: var(--font-size-13);
        text-align: center;
        margin-bottom: 30px;
        margin-top: 5px;
        display: block;
        text-transform: uppercase;
        font-weight: var(--font-weight-semibold);
    }
    
    #equipe-estrutura {
        padding: var(--space-section-sm) 0 var(--space-block);
    }
    
    #sobre-home a.quote_btn {
        display: block;
        width: 60%;
        margin: 0 auto;
    }
    
    /* Footer */
    .footer_area {
        padding: var(--space-section-mobile) 0;
        overflow-x: hidden;
    }
    
    .footer_area .container {
        max-width: 100%;
        padding-left: 15px;
        padding-right: 15px;
    }
    
    .footer_area .row {
        margin-left: 0;
        margin-right: 0;
    }
    
    .footer_area .col-md-4,
    .footer_area .col-md-2 {
        width: 100%;
        max-width: 100%;
        padding-left: 15px;
        padding-right: 15px;
        margin-bottom: 30px;
    }
    
    .f_title h3 {
        margin-top: 50px;
        text-align: center;
        font-size: var(--font-size-lg);
    }
    
    .info_widget .contact_details p a {
        padding-left: 0;
    }
    
    .footer_area .col-md-4.pe-md-5 ul {
        width: fit-content;
        margin: 0 auto;
    }
    
    .about_widget img {
        display: block;
        width: fit-content;
        margin: 0 auto;
        max-width: 100%;
    }
    
    .footer_area .col-md-2 h3 {
        text-align: center;
    }
    
    .f_title {
        padding-bottom: 25px;
    }
    
    .info_widget .contact_details p {
        width: 100%;
        margin: 0 auto;
        padding-left: 15px;
        padding-right: 15px;
        word-wrap: break-word;
        overflow-wrap: break-word;
        box-sizing: border-box;
    }
    
    .footer_copy_right {
        padding-left: 15px;
        padding-right: 15px;
        overflow-x: hidden;
    }
    
    .footer_copy_right p {
        font-size: 13.5px;
        font-family: var(--font-primary);
        color: var(--color-text-white);
        font-weight: 500;
        line-height: 1.5;
        word-wrap: break-word;
        overflow-wrap: break-word;
        max-width: 100%;
    }
    
    /* Navbar */
    .navbar {
        padding: 0.5rem 0.8rem;
        background: var(--color-secondary);
        overflow-x: hidden;
        position: relative;
    }
    
    .navbar .container {
        max-width: 100%;
        padding-left: 15px;
        padding-right: 15px;
        position: relative;
    }
    
    .navbar-toggler {
        padding: .4rem .6rem;
        border: 1px solid rgba(255, 255, 255, 0.3);
        border-radius: 4px;
        position: relative;
        z-index: 10;
        background: transparent;
        cursor: pointer;
    }
    
    .navbar-toggler:focus {
        box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.25);
        outline: none;
    }
    
    .navbar-toggler[aria-expanded="true"] {
        border-color: var(--color-primary);
    }
    
    .navbar-toggler .flaticon-menu {
        display: block;
        font-size: var(--font-size-xl);
        color: var(--color-text-white);
        line-height: 1;
        width: var(--icon-size-xs);
        height: var(--icon-size-xs);
    }
    
    .btns-topo {
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 5;
    }
    
    .navbar-collapse {
        max-width: 100%;
        overflow-x: hidden;
        margin-top: 10px;
        background: var(--color-secondary);
        border-radius: 4px;
        padding: 15px 0;
        position: relative;
        z-index: 100;
    }
    
    .navbar-collapse.show {
        display: block !important;
    }
    
    .navbar-nav {
        width: 100%;
        max-width: 100%;
        padding-top: 0;
        margin: 0;
    }
    
    .navbar-nav .nav-item {
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    .navbar-nav .nav-item:last-child {
        border-bottom: none;
    }
    
    .navbar-nav .nav-link {
        white-space: normal;
        word-wrap: break-word;
        padding: 0.75rem 1rem;
        display: block;
        width: 100%;
    }
    
    .navbar-nav .nav-link:hover,
    .navbar-nav .nav-link.active {
        background: rgba(255, 140, 0, 0.1);
    }
    
    .navbar-nav .dropdown-menu {
        position: static;
        float: none;
        width: 100%;
        margin-top: 0;
        background: rgba(0, 0, 0, 0.2);
        border: none;
        border-radius: 0;
        padding: 0;
    }
    
    .navbar-nav .dropdown-item {
        padding: 0.5rem 1.5rem;
        color: rgba(255, 255, 255, 0.8);
    }
    
    .navbar-nav .dropdown-item:hover {
        background: rgba(255, 140, 0, 0.2);
        color: var(--color-text-white);
    }
    
    .flaticon-menu {
        display: block;
        vertical-align: middle;
        line-height: 1;
        padding: 0;
    }
    
    .navbar-expand-lg .navbar-nav .nav-item:first-child {
        padding-top: 0.85rem;
        padding-left: 0.85rem;
    }

    /* Ícones - desafio-icon mobile */
    .desafio-icon img {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
    }

    /* Service details - ícones mobile */
    .service_details_area .global_text_area.itens-servico img,
    .service_details_inner .global_text_area.itens-servico img {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
        object-position: center !important;
    }
}

/* ========== MOBILE PEQUENO (max-width: 480px) ========== */
@media (max-width: 480px) {
    /* Tipografia ainda menor para telas muito pequenas */
    h1 {
        font-size: var(--font-size-mobile-3xl) !important;
    }

    h2 {
        font-size: var(--font-size-mobile-2xl) !important;
    }

    h3 {
        font-size: var(--font-size-mobile-xl) !important;
    }

    h4 {
        font-size: var(--font-size-mobile-lg) !important;
    }

    .banner .box-texto h1 {
        font-size: var(--font-size-mobile-3xl) !important;
    }

    .banner .box-texto span {
        font-size: var(--font-size-mobile-xs);
        letter-spacing: 1px;
    }

    .banner .box-texto p {
        font-size: var(--font-size-mobile-xs);
        width: 95%;
    }

    .titulo-secao h2 {
        font-size: var(--font-size-mobile-xl) !important;
        padding: 0 10px;
    }

    .service_details_inner h1 {
        font-size: var(--font-size-mobile-2xl) !important;
    }

    /* Botões menores */
    .quote_btn,
    .quote_btn_outline {
        font-size: var(--font-size-mobile-xs);
        padding: 10px 20px;
    }

    /* SLA boxes compactos */
    .sla-box {
        padding: 15px !important;
    }

    .sla-box h4 {
        font-size: var(--font-size-mobile-lg) !important;
    }

    /* CTA compacto */
    .cta-avaliacao {
        padding: 25px 15px !important;
    }

    .cta-avaliacao h3 {
        font-size: var(--font-size-mobile-xl) !important;
    }
}

/* ========== TABLET (max-width: 992px) ========== */
@media (max-width: 992px) {
    /* Ajustes específicos para tablet se necessário */
}

/* ========== DESKTOP (max-width: 1200px) ========== */
@media (max-width: 1200px) {
    /* Ajustes específicos para desktop médio se necessário */
}
