/* Responsive Desktop - Telas Grandes (1200px+) */

@media (min-width: 1200px) {
  /* Container global */
  .container {
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Hero Section */
  .hero-section {
    min-height: calc(100vh - var(--header-height)) !important;
  }
  .hero-carousel-wrap,
  .hero-section .carousel-inner,
  .hero-section .carousel-item,
  .hero-section .size-img {
    min-height: calc(100vh - var(--header-height)) !important;
  }
  .carrossel {
    padding-top: var(--header-height) !important;
  }
  .carousel-title {
    font-size: 3rem !important;
  }
  .carousel-subtitle {
    font-size: 1.35rem !important;
  }

  /* Seções com container maior */
  section {
    padding: 100px 0 !important;
  }

  /* Títulos maiores */
  .section-title {
    font-size: 3rem !important;
    margin-bottom: 2rem !important;
  }

  /* Cards e valores */
  .value-card {
    padding: 32px !important;
  }
  .value-card-title {
    font-size: 1.35rem !important;
  }

  /* Footer */
  .site-footer .footer-content {
    max-width: 1400px !important;
  }
  
  /* Header Desktop - Logo esquerda, Menu direita */
  header .menu-row .logo-wrap {
    margin-right: 20px !important;
  }
  
  header .menu-row .header-dropdown-menu {
    justify-content: flex-end !important;
    padding-right: 20px !important;
  }
  
  header .menu-row {
    min-height: 80px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  
  header .menu-row .logo-wrap img {
    width: 220px !important;
    max-height: 70px !important;
  }
  
  #header-nav .main-menu-list > li a {
    padding: 10px 28px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
  }
  
  .button.wpp-button {
    font-size: 16px !important;
    padding: 14px 24px !important;
  }
}

@media (min-width: 1600px) {
  .container {
    max-width: 1600px !important;
  }
  header .menu-row {
    max-width: 1600px !important;
  }
  .site-footer .footer-content {
    max-width: 1600px !important;
  }
  
  .section-title {
    font-size: 3.5rem !important;
  }
  
  .carousel-title {
    font-size: 3.5rem !important;
  }
  
  .carousel-subtitle {
    font-size: 1.5rem !important;
  }
  
  .value-card {
    padding: 40px !important;
  }
  
  .value-card-title {
    font-size: 1.5rem !important;
  }
}

@media (min-width: 1920px) {
  .container {
    max-width: 1800px !important;
  }
  header .menu-row {
    max-width: 1800px !important;
  }
  section {
    padding: 120px 0 !important;
  }
  
  .section-title {
    font-size: 4rem !important;
  }
  
  :root {
    --header-height: 85px;
  }
  
  .value-card {
    padding: 48px !important;
  }
  
  .value-card-title {
    font-size: 1.65rem !important;
  }
  
  body {
    font-size: 18px !important;
  }
}

/* Telas Ultra Wide - 2560px+ (4K e maiores) */
@media (min-width: 2560px) {
  :root {
    --header-height: 90px;
  }
  .container {
    max-width: 2200px !important;
  }
  
  header .menu-row {
    max-width: 2200px !important;
  }
  
  section {
    padding: 140px 0 !important;
  }
  
  .section-title {
    font-size: 5rem !important;
  }
  
  .carousel-title {
    font-size: 4.5rem !important;
  }
  
  .carousel-subtitle {
    font-size: 2rem !important;
  }
  
  .value-card {
    padding: 56px !important;
  }
  
  .value-card-title {
    font-size: 2rem !important;
  }
  
  body {
    font-size: 20px !important;
  }
  
  /* Cards de valores maiores */
  .row-values > [class*="col-"] {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
  
  /* Header maior */
  header .menu-row .logo-wrap {
    margin-right: 25px !important;
  }
  
  header .menu-row .logo-wrap img {
    width: 280px !important;
    max-height: 90px !important;
  }
  
  header .menu-row .header-dropdown-menu {
    justify-content: flex-end !important;
    padding-right: 25px !important;
  }
  
  header .menu-row {
    min-height: 90px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  
  header .menu-row .logo-wrap img {
    width: 280px !important;
    max-height: 90px !important;
  }
  
  #header-nav .main-menu-list > li a {
    padding: 11px 30px !important;
    font-size: 20px !important;
    font-weight: 700 !important;
  }
  
  .button.wpp-button {
    font-size: 18px !important;
    padding: 16px 32px !important;
  }
  
  /* Carrossel de clientes ainda maior */
  .client-logo-wrap {
    min-width: 220px !important;
    height: 140px !important;
    padding: 28px 32px !important;
  }
  
  .client-logo-wrap img {
    max-height: 90px !important;
    max-width: 180px !important;
  }
  
  .clients-marquee-inner {
    gap: 80px !important;
    padding: 0 60px !important;
  }
}

/* Telas Gigantes - 3840px+ (8K e maiores) */
@media (min-width: 3840px) {
  :root {
    --header-height: 110px;
  }
  /* Container centralizado e limitado */
  .container {
    max-width: 3000px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  
  /* Header fixo e responsivo */
  header .container {
    max-width: 100% !important;
  }
  
  header .menu-row {
    max-width: 3000px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  
  /* Logo à esquerda em 8K também */
  header .menu-row .logo-wrap {
    flex: 0 0 auto !important;
    position: relative !important;
    left: auto !important;
    transform: none !important;
    order: 1 !important;
    margin-right: 30px !important;
  }
  
  header .menu-row .header-dropdown-menu {
    order: 2 !important;
    justify-content: flex-end !important;
    padding-right: 30px !important;
  }
  
  #header-nav .main-menu-list > li a {
    padding: 14px 32px !important;
    font-size: 22px !important;
    font-weight: 700 !important;
  }
  
  header .menu-row .menu-wrap {
    order: 3 !important;
  }
  
  header .menu-row .logo-wrap img {
    width: 300px !important;
    height: auto !important;
    max-height: 95px !important;
  }
  
  header .menu-row .header-dropdown-menu {
    flex: 1 !important;
    max-width: none !important;
  }
  
  #header-nav .main-menu-list {
    display: flex !important;
    gap: 16px !important;
    justify-content: center !important;
  }
  
  #header-nav .main-menu-list > li a {
    padding: 14px 32px !important;
    font-size: 22px !important;
    font-weight: 500 !important;
  }
  
  header .menu-row .menu-wrap {
    flex: 0 0 auto !important;
  }
  
  .button.wpp-button {
    font-size: 24px !important;
    padding: 20px 40px !important;
  }
  
  /* Botões "Saiba mais" maiores */
  .btn-saiba-mais,
  .service-block-inner .button-tecnology {
    font-size: 24px !important;
    padding: 18px 36px !important;
  }
  
  /* Seções */
  section {
    padding: 140px 0 !important;
  }
  
  .section-title {
    font-size: 4.5rem !important;
    margin-bottom: 2.5rem !important;
  }
  
  /* Texto de parágrafos MAIOR em 8K */
  p, .letter-color {
    font-size: 28px !important;
    line-height: 1.8 !important;
  }
  
  body {
    font-size: 28px !important;
  }
  
  /* Títulos de serviços maiores */
  .service-title .aboutUs,
  h3.service-title .aboutUs {
    font-size: 3.5rem !important;
  }
  
  /* Imagens dos serviços controladas */
  .page-image-div {
    max-height: 600px !important;
    overflow: hidden !important;
  }
  
  .page-image {
    width: 100% !important;
    height: 600px !important;
    object-fit: cover !important;
  }
  
  /* Quem Somos - estatísticas */
  .about .statistic .number-wrap {
    max-width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    gap: 40px !important;
  }
  
  .about .statistic .number-wrap > div {
    flex: 1 !important;
  }
  
  .about .statistic .number-wrap > div h2 {
    font-size: 90px !important;
  }
  
  .about .statistic .number-wrap > div p {
    font-size: 20px !important;
  }
  
  /* Cards de valores */
  .value-card {
    padding: 56px !important;
  }
  
  .value-card-title {
    font-size: 2.2rem !important;
  }
  
  /* Carrossel de clientes - CORRIGIDO */
  .clients-marquee-section {
    padding: 60px 0 !important;
  }
  
  .clients-marquee-wrap {
    padding: 40px 0 !important;
  }
  
  .clients-marquee-track {
    animation: clients-marquee 25s linear infinite !important;
    -webkit-animation: clients-marquee 25s linear infinite !important;
  }
  
  .clients-marquee-inner {
    gap: 80px !important;
    padding: 0 60px !important;
  }
  
  .client-logo-wrap {
    min-width: 240px !important;
    max-width: 240px !important;
    height: 150px !important;
    padding: 32px 36px !important;
  }
  
  .client-logo-wrap img {
    max-height: 100px !important;
    max-width: 200px !important;
  }
  
  /* Carousel hero 8K */
  .carousel-title {
    font-size: 4.5rem !important;
  }
  
  .carousel-subtitle {
    font-size: 2rem !important;
  }
  
  /* Footer */
  .site-footer .footer-content {
    max-width: 3000px !important;
  }
  
  .site-footer .footer-logo {
    max-width: 200px !important;
  }
}

/* ========== RESPONSIVO (MOBILE) – Menu lateral ========== */
@media (max-width: 1199px) {
  /* Painel do menu: sem scroll desnecessário */
  header .menu-row .header-dropdown-menu,
  header .menu-row #header-nav,
  #header-nav {
    overflow-y: hidden !important;
    overflow-x: hidden !important;
    max-height: none !important;
    height: auto !important;
    min-height: 100vh !important;
    padding: 0 20px 24px !important;
  }
  #header-nav .nav {
    flex: 0 0 auto !important;
  }
  /* Fale conosco e Sociais: mesma alinhamento vertical que os itens do menu */
  .header-dropdown-menu .menu-extra.mobile-only {
    padding-left: 12px !important;
    padding-right: 0 !important;
  }
  .header-dropdown-menu .menu-block-title,
  .header-dropdown-menu .menu-fale-conosco,
  .header-dropdown-menu .menu-sociais {
    padding-left: 0 !important;
  }
  .header-dropdown-menu .menu-portal-btn {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 991px) {
  /* Garantir que o menu mobile não tenha padding zerado nem scroll */
  header .menu-row .header-dropdown-menu,
  header .menu-row #header-nav,
  #header-nav {
    padding: 0 20px 24px !important;
    overflow-y: hidden !important;
    max-height: none !important;
  }
  .header-dropdown-menu .menu-extra.mobile-only {
    padding-left: 12px !important;
    padding-top: 16px !important;
  }
}
