/*
========================================
SM CONSTRUÇÃO
RESPONSIVE CSS
========================================
*/

:root {
    --color-black: #111;
    --color-black-secondary: #222;
    --color-yellow: #F4B400;
    --color-white: #FFF;
    --color-gray: #B8B8B8;
    --color-gray-dark: #707070;
    --font-heading: 'Bebas Neue', sans-serif;
    --font-body: 'Sora', sans-serif;
    --transition-default: .3s ease;
}

/* Dispositivos large (desktops com menos de 1200px) */
@media (max-width: 1199.98px) {
    
body {
    padding-top: 4.5rem;
    }

    .contact-email a {
        font-size: 1.5rem;
    }

    .navbar-brand img {
        max-height: 3rem;
    }

   .navbar-nav .nav-link {
      font-size: .675rem !important;
    }

    .navbar-nav .btn-custom {
        padding: .675rem .75rem;
        font-size: .675rem;
    }

}

/* Dispositivos medios (tablets com menos de 992px) */
@media (max-width: 991.98px) { 
    body {
        padding-top: 4rem;
    }

.section-padding {
        padding: 4rem 0;
    }

    .section-title::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .navbar-brand img {
        max-height: 2em;
    }

    .hero-title {
        font-size: 4rem;
    }

  .navbar-collapse {
        justify-content: flex-end !important;
        height: 100vh;
        padding: 4rem 0;
    }

    .navbar-nav {
        position: relative;
        height: 100%;
    }

    .navbar-nav .nav-link {
      font-size: 1.5rem !important;
    }

    .botao-nav {
        position: absolute;
        bottom: 2rem;
    }

    .section-title,
    .historia-section h2,
    .cta-title,
    .contato-title {
        font-size: 2rem;
    }

    .historia-section {
        padding-bottom: 2rem;
    }

    .historia-image {
        min-height: 480px;
    }

    .location-wrapper {
        padding: 4rem 0;
    }

    .location-title {
        font-size: 2rem;
    }
    .location-map iframe {
        pointer-events: none;
    }

    .contato-video-title {
        font-size: 2rem;
    }
/* BOATO MENU CUSTOMIZADO */
    /* Animando a transição do menu no scroll */
    .nav-menu {
      transition: transform 0.4s cubic-bezier(.4,0,.2,1);
    }

    /* posição inicial (centralizado) */
    .navbar:not(.scrolled) .nav-menu {
      transform: translateX(0);
    }

    /* ao rolar → move pra direita */
    .navbar.scrolled .navbar-collapse {
      justify-content: flex-end !important;
    }

    /* botao collapse customizado */
    /* REMOVE PADRÃO BOOTSTRAP */
    .navbar-toggler {
      border: none;
      box-shadow: none !important;
      padding: 0;
    }

    /* REMOVE ÍCONE PADRÃO */
    .navbar-toggler-icon {
      display: none;
    }

    /* BASE DO BOTÃO */
    .custom-toggler {
      width: 30px;
      height: 24px;
      position: relative;
    }

    /* LINHAS */
    .custom-toggler .toggler-icon,
    .custom-toggler .toggler-icon::before,
    .custom-toggler .toggler-icon::after {
      content: "";
      position: absolute;
      width: 100%;
      height: 3px;
      background-color: #fff;
      left: 0;
      transition: all 0.3s ease;
    }

    /* LINHA CENTRAL */
    .custom-toggler .toggler-icon {
      top: 50%;
      transform: translateY(-50%);
    }

    /* LINHA SUPERIOR */
    .custom-toggler .toggler-icon::before {
      top: -8px;
    }

    /* LINHA INFERIOR */
    .custom-toggler .toggler-icon::after {
      top: 8px;
    }

    /* =========================
       ESTADO ABERTO (X)
    ========================= */
    .navbar-toggler[aria-expanded="true"] .toggler-icon {
      background-color: transparent;
    }

    .navbar-toggler[aria-expanded="true"] .toggler-icon::before {
      transform: rotate(45deg);
      top: 0;
    }

    .navbar-toggler[aria-expanded="true"] .toggler-icon::after {
      transform: rotate(-45deg);
      top: 0;
    }

}

@media (max-width: 767.98px) {
/*--- tirar animacoes responsivo ---*/
* {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
    -ms-transition: none !important;
    transition: none !important;
  }

    .custom-navbar {
        background: rgba(0,0,0,.95);
    }
    .hero-title {
        font-size: 3.5rem;
    }
    .section-title {
        font-size: 2rem;
    }
    .cta-title {
        font-size: 42px;
    }

    .location-wrapper {
        padding: 2rem 0;
    }

    .service-card,
    .diferencial-card {
        min-height: auto;
    }

    .diferencial-card h3 {
        justify-content: center;
        min-height: 2rem;
    }

    .diferencial-card:hover {
        transform: translateY(0px);
    }

    .location-description::after {
        right: 0;
        margin: 0 auto;
    }

    .esg-icon {
        justify-content: center;
    }

    .contact-email a {
        font-size: 1rem;
    }

    .contact-address {
        font-size: 1rem;
    }
    .contato-video-title {
        font-size: 1.5rem;
    }

    .footer-logo {
        max-height: 5rem;
        margin: 1.5rem auto;
    }

    .social-icons {
        justify-content: center;
    }
footer p {
        font-size: .75rem;
        position: relative;
        z-index: 1;
        text-shadow: 1px 1px var(--color-black);
    }
}