   /* =======================
       BASE / TOKENS
    ======================= */
    :root{
      --verde:#82b109;
      --azul:#075a98;
      --preto:#1A1A1A;
      --cinza:#f5f7fa;
      --verde-ativo: #81b00b;
      --verde-hover: #739817;
      --azul-navbar: #065999;
      --azul-hover: #1170c0;
      --fonte-menu: 16px;
    }

    html, body { overflow-x: hidden; }
    body{ color:var(--preto); }
    a{ color: inherit; }

    /* Container site (não sobrescreve o Bootstrap inteiro) */
    .container-site{
      width: 100%;
      max-width: 1360px;
      margin: 0 auto;
      padding: 0 clamp(16px, 2vw, 32px);
    }

    /* =======================
       FONTES
    ======================= */
    @font-face {
      font-family: 'Gilroy-Regular';
      src: url('../fonts/Gilroy-Regular.ttf') format('truetype');
      font-display: swap;
    }
    @font-face {
      font-family: 'Gilroy-Medium';
      src: url('../fonts/Gilroy-Medium.ttf') format('truetype');
      font-display: swap;
    }
    @font-face {
      font-family: 'Gilroy-Bold';
      src: url('../fonts/Gilroy-Bold.ttf') format('truetype');
      font-display: swap;
    }
    @font-face {
      font-family: 'Gilroy-ExtraBold';
      src: url('../fonts/Gilroy-ExtraBold.ttf') format('truetype');
      font-display: swap;
    }
    @font-face {
      font-family: 'Gilroy-Light';
      src: url('../fonts/Gilroy-Light.ttf') format('truetype');
      font-display: swap;
    }
    @font-face {
      font-family: 'Gilroy-Heavy';
      src: url('../fonts/Gilroy-Heavy.ttf') format('truetype');
      font-display: swap;
    }
    
    
    .font-regular { font-family: 'Gilroy-Regular', sans-serif; }
    .font-medium { font-family: 'Gilroy-Medium', sans-serif; }
    .font-bold { font-family: 'Gilroy-Bold', sans-serif; }
    .font-extrabold { font-family: 'Gilroy-ExtraBold', sans-serif; }
    .font-heavy { font-family: 'Gilroy-Heavy', sans-serif; }
    .font-light { font-family: 'Gilroy-Light', sans-serif; }

    /* =======================
       TOP BAR (LOGO + CONTATOS)
    ======================= */
    .logo-bar { background:#fff; }
    .logo-img{
      max-height: 70px;
      width: auto;
      height: auto;
    }

    /* SVGs em branco */
    .contact-icon-svg {
      width: 32px; height: 32px;
      filter: brightness(0) invert(1);
      flex: 0 0 auto;
    }

    .contact-btn{
      text-decoration:none;
      display:flex;
      align-items:center;
      gap: 8px;
      padding: 10px 12px;
      border-radius: 8px;
      transition: all .2s ease;
      color:#fff !important;
      min-width: 0;
      justify-content: center;
    }

    .btn-tel{
      background-color: #47871c;
    }
    .btn-tel:hover{ background-color: var(--verde-hover); }

    .btn-contact-blue{ background-color: var(--azul-navbar); }
    .btn-contact-blue:hover{ background-color: var(--azul-hover); }

    .contact-text{ line-height: 1.1; font-family: 'Gilroy-Medium', sans-serif; text-transform:uppercase; }
    .contact-label{ display:block; font-size: 0.80rem;}
    .contact-value{
        display: block;
        font-size: 1.2rem;
        font-family: 'Gilroy-Medium', sans-serif;
        white-space: nowrap;
        text-transform: capitalize;
    }

    @media (max-width: 991.98px){
      .top-actions{ width:100%; }
      .top-actions .contact-btn{ width:100%; }
      .contact-value{ font-size: 1.6rem; }
      .contact-label{font-size:1rem}
      .btn-tel .contact-value{ font-family: "Gilroy-Bold"; }
    }
    

    /* =======================
       NAVBAR (AZUL)
    ======================= */
    .nav-main-wrap{
      background-color: var(--azul-navbar);
      position: sticky;
      top: 0;
      z-index: 1000;
      padding: 8px 0;
    }

    /* Estado fixo ao rolar */
    .nav-main-wrap.scrolled{
      position: fixed !important;
      top:0;
      width:100%;
      z-index: 1050;
      padding: 6px 0 !important;
      background-color: var(--azul-navbar) !important;
      box-shadow: 0 4px 15px rgba(0,0,0,0.3);
      animation: slideInNav .25s ease;
    }
    @keyframes slideInNav{
      from{ transform: translateY(-100%); }
      to{ transform: translateY(0); }
    }

    .nav-main-wrap.scrolled .sticky-logo-container,
    .nav-main-wrap.scrolled .sticky-phone-container{
      display:block !important;
    }

    .navbar-nav{
      width: 100%;
      justify-content: center;
    }

    .navbar-nav .nav-link{
      color:#fff !important;
      font-family:'Gilroy-Medium', sans-serif;
      font-size: var(--fonte-menu);
      padding: 8px 14px !important;
      margin: 0 4px;
      border-radius: 8px !important;
      transition: background .2s ease;
      display: inline-flex;
      justify-content: center;
    }

    .nav-link.active{ background-color: var(--verde-ativo) !important; }
    .nav-link:hover{ background-color: var(--azul-hover) !important; }

    /* Toggler (mobile) */
    .navbar-toggler{
      border: 1px solid rgba(255,255,255,.35);
    }
    .navbar-toggler:focus{
      box-shadow: 0 0 0 .15rem rgba(255,255,255,.25);
    }
    .navbar-toggler-icon{
      filter: brightness(0) invert(1);
    }

    /* Dropdown (Bootstrap controla) */
    .dropdown-menu{
      background-color: var(--azul-hover) !important;
      border: none !important;
      border-radius: 0 0 8px 8px !important;
      
    }
    .dropdown-item{
      color:#fff !important;
      font-family: 'Gilroy-Medium', sans-serif;
      border-radius: 6px !important;
    }
    .dropdown-item:hover{
      background-color:#fff !important;
      color: var(--azul-navbar) !important;
    }

    /* Hover desktop (opcional) - o JS também ajuda */
    @media (min-width: 992px){
      .nav-item.dropdown:hover > .dropdown-menu{ display:block;}
      .nav-item.dropdown:hover > .nav-link{ border-radius: 8px 8px 0 0 !important; }
    }

    /* Telefone compacto */
    .btn-tel-mini{
      background-color: var(--verde-ativo) !important;
      color:#fff !important;
      padding: 6px 14px;
      border-radius: 8px;
      text-decoration:none;
      font-family:'Gilroy-Medium', sans-serif;
      font-size: 1rem;
      white-space: nowrap;
      display:inline-flex;
      align-items:center;
      gap: 8px;
    }
    .btn-tel-mini:hover{ background-color: var(--verde-hover) !important; }

    /* =======================
       HERO
    ======================= */
    .hero-section{
      min-height: 520px;
      width: 100%;
    }

    .hero-bg-image{
      position:absolute;
      inset:0;
      background-size: cover;
      background-position: center;
      z-index:0;
      animation: zoomEffect 20s infinite alternate;
    }
    @keyframes zoomEffect{
      0%{ transform: scale(1); }
      100%{ transform: scale(1.15); }
    }

    .hero-shredder-img{
      max-width: 460px;
      position: relative;
      z-index: 1;
      transform: translate3d(9px, 61px, 0);
    }
    .hero-badge-png{
      position:absolute;
      z-index: 10;
      width: 200px;
      height:auto;
      bottom: 16%;
      left: 5%;
      filter: drop-shadow(0px 10px 20px rgba(0,0,0,0.4));
      animation: pulse-gentle 3s infinite ease-in-out;
    }
    @keyframes pulse-gentle{
      0%,100%{ transform: scale(1); }
      50%{ transform: scale(1.06); }
    }

    @media (max-width: 991.98px){
      .hero-section{ min-height: 520px; }
      .hero-badge-png{ display:none; }
    }

    .btn-brand{
      background: var(--verde-ativo);
      border-color: var(--verde-ativo);
      color:#fff;
      font-weight: 600;
    }
    .btn-brand:hover{
      background: #6b970a;
      color:#fff;
    }

    /* =======================
       SECTIONS / COMPONENTS
    ======================= */
    .section-title{
      color: var(--azul);
      font-weight: 800;
      letter-spacing: -0.02em;
    }
    .section-subtitle{
      color:#1a1a1a;
      font-size: 27px;
      line-height: 1;
      margin-bottom: 19px;
    }

    .text-success{ color: var(--verde-ativo) !important; }

    .custom-feature-list li span{
      font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
      color: #2c3e50 !important;
      font-weight: 500;
    }

    .divisor-simples{
      border:0;
      height:2px;
      background-image: linear-gradient(to right, transparent, #141414, transparent);
      width: 80%;
      opacity: .9;
      margin: 0 auto;
    }

    .btn-catalogo{ margin-bottom: 50px; }

    /* Card produto */
    .product-header{
      background: radial-gradient(circle, #f0f0f0 0%, #d9d9d9 100%);
      padding: 0;
      display:flex;
      justify-content:center;
      align-items:flex-end;
      min-height: 260px;
      overflow:hidden;
    }
    .product-header img{
      width:100%;
      height:100%;
      object-fit: cover;
      display:block;
    }
    .product-card-v2{
      border-radius: 8px;
      overflow:hidden;
      transition: transform .2s;
    }
    .product-card-v2:hover{ transform: translateY(-5px); }
    .product-title{
      color:#0a5998;
      font-weight: 700;
      font-size: 1.5rem;
    }
    .badge-category{
      display:inline-block;
      background-color:#e3e3e3;
      color:#333;
      padding: 1px 6px;
      font-size: .8rem;
      font-weight: 600;
      width: fit-content;
      margin: 0 auto;
      border-radius: 6px;
    }
    .product-info{ color:#666; font-size: .9rem; }

    .btn-outline-primary-custom{
      border: 1.5px solid #3b82f6;
      color: #3b82f6;
      background: transparent;
      padding: 10px 12px;
      font-weight: 500;
      border-radius: 6px;
      text-decoration:none;
      transition: all .2s;
    }
    .btn-outline-primary-custom:hover{
      background-color:#3b82f6;
      color:#fff;
    }

    /* Botões de marca (unificado) */
    .btn-verde{
      background-color: var(--verde) !important;
      border-color: var(--verde) !important;
      color:#fff !important;
      border-radius: 12px;
      padding: 12px 30px;
      transition: transform .15s;
    }
    .btn-verde:hover{ transform: scale(1.03); }

    .btn-azul{
      background: var(--azul);
      border-color: var(--azul);
      color:#fff;
    }
    .btn-azul:hover{ filter: brightness(.95); color:#fff; }

    /* Flexpack benefícios */
    .border-dashed-green{
      position: relative;
      background-color: rgba(130, 177, 9, 0.02);
    }

    /* Serviços */
    #servicos-locacao{ background-color:#efefef !important; }
    .card-overflow-wrapper{
      position: relative;
      padding-top: 100px;
      overflow: visible;
    }
    .img-vazada{
      position:absolute;
      top:0;
      left:50%;
      transform: translateX(-50%);
      z-index:10;
      max-height: 220px;
      filter: drop-shadow(0 15px 20px rgba(0,0,0,0.15));
      max-width: 92%;
      height: auto;
    }
    .service-card-body{
      background-color: #0A5998;
      border-radius: 35px;
      box-shadow: 0 10px 16px rgba(0,0,0,0.3);
      position: relative;
      z-index:1;
      border: 3px #fff solid;
    }
    .service-header-blue{ padding: 110px 20px 30px 20px; }
    .service-inner-content{
      border-radius: 0 0 30px 30px;
      padding: 40px 30px;
    }

    .custom-list-aligned{
      display:inline-block;
      text-align:left;
      margin-bottom: 1.5rem;
      padding:0;
    }
    .custom-list-aligned .bi-check2::before{
      color: var(--verde) !important;
      font-size: 1.4rem;
      -webkit-text-stroke: 1.5px var(--verde);
    }

    @media (max-width: 767.98px){
      .service-header-blue{ padding-top: 120px; }
      .service-inner-content{ padding: 28px 22px; }
    }



    /* Modal close */
    .modal-close-x{
      position: absolute;
    top: .75rem;
    right: .75rem;
    z-index: 2;
    background: #5a5a5a;
    color: WHITE;
    }
    .catalog-frame{
      width:100%;
      height:min(70vh, 740px);
      border:0;
      border-radius: 14px;
      background:#f3f5f7;
    }
    /* ===== FIX: borda/outline aleatória no "Fragmentadoras" ===== */
    .navbar-nav .nav-link:focus,
    .navbar-nav .nav-link:focus-visible,
    .navbar-nav .nav-link:active {
      outline: 0 !important;
      box-shadow: none !important;
    }
    
    /* quando o dropdown está aberto (Bootstrap coloca .show) */
    .navbar-nav .nav-item.dropdown.show > .nav-link {
      box-shadow: none !important;
      outline: 0 !important;
    }
    /* ===== FIX: alinhamento vertical da seta do dropdown ===== */
    .navbar-nav .dropdown-toggle::after{
      vertical-align: middle !important;
      transform: translateY(10px); /* ajuste fino (1px a 2px) */
      margin-left: .35rem;
    }
    /* ===== LAYOUT: quando a barra está no modo "scrolled" ===== */
@media (min-width: 992px) {

  /* garante alinhamento correto do trio: logo | menu | telefone */
  .nav-main-wrap.scrolled .container-site{
    justify-content: space-between !important;
  }

  /* menu “encolhe” e vai para a direita */
  .nav-main-wrap.scrolled .navbar{
    width: auto !important;
    flex: 1 1 auto !important;
  }

  .nav-main-wrap.scrolled .navbar-collapse{
    justify-content: flex-end !important;
  }

  /* remove a causa principal da quebra: 100% + wrap */
  .nav-main-wrap.scrolled .navbar-nav{
    width: auto !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    gap: .25rem !important;
  }

  .nav-main-wrap.scrolled .navbar-nav .nav-link{
    font-size: 14px !important;     /* menor */
    padding: 6px 10px !important;   /* menos “gordo” */
    margin: 0 2px !important;       /* menos espaçamento */
    white-space: nowrap !important; /* evita quebrar em 2 linhas */
  }

  /* deixa o botão do telefone mais “compacto” no scrolled */
  .nav-main-wrap.scrolled .btn-tel-mini{
    font-size: 14px !important;
    padding: 6px 12px !important;
  }
}

/* ===== FIX: borda/outline “aleatório” em links (dropdown/foco) ===== */
.navbar-nav .nav-link:focus,
.navbar-nav .nav-link:focus-visible,
.navbar-nav .nav-link:active{
  outline: 0 !important;
  box-shadow: none !important;
}

/* evita aparência “travada” quando o dropdown fica com estado show */
.navbar-nav .nav-item.dropdown.show > .nav-link{
  box-shadow: none !important;
  outline: 0 !important;
}

/* ===== FIX: seta do dropdown alinhada no centro vertical ===== */

/* ===== navbar-toggler visível no fundo azul (mobile) ===== */
.navbar-toggler{
  color: #fff;
}
.navbar-toggler-icon{
  filter: brightness(0) invert(1);
}

/* ===== comportamento padrão do menu (topo e geral) ===== */
.nav-main-wrap .navbar-nav{
  gap: .35rem;
}
.nav-main-wrap .navbar-nav .nav-link{
  white-space: nowrap;
}

/* ===== TABLET (>=768px): manter aberto e reduzir tamanho se apertar ===== */
@media (min-width: 768px) and (max-width: 991.98px){
  .nav-main-wrap .navbar-collapse{
    display: flex !important;     /* garante aberto */
    flex-basis: auto !important;
  }

  /* Se couber: 1 linha; se não couber: quebra compacta (sem espaçamento gigante) */
  .nav-main-wrap .navbar-nav{
    width: auto !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;    /* permite “plano B” */
    row-gap: .25rem !important;
    column-gap: .35rem !important;
  }

  .nav-main-wrap .navbar-nav .nav-link{
    font-size: 13px !important;
    padding: 6px 9px !important;
    margin: 0 !important;
    line-height: 1.05 !important;
  }
}

/* ===== DESKTOP (>=992px): sempre 1 linha ===== */
@media (min-width: 992px){
  .nav-main-wrap .navbar-nav{
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    gap: .25rem !important;
  }
  .nav-main-wrap .navbar-nav .nav-link{
    font-size: var(--fonte-menu) !important;
    padding: 5px 13px !important;
  }
}

/* ===== MODO SCROLLED: logo esquerda, menus+fone direita, mais compacto ===== */
@media (min-width: 768px){
  .nav-main-wrap.scrolled .nav-inner{
    justify-content: space-between !important;
  }

  .nav-main-wrap.scrolled .navbar{
    justify-content: flex-end !important;
  }

  .nav-main-wrap.scrolled .navbar-nav{
    justify-content: flex-end !important;
  }

  .nav-main-wrap.scrolled .navbar-nav .nav-link{
    font-size: 14px !important;      /* menor no scrolled */
    padding: 6px 10px !important;
    margin: 0 !important;
  }

  .nav-main-wrap.scrolled .btn-tel-mini{
    font-size: 14px !important;
    padding: 6px 12px !important;
  }
}

/* =========================
   NAV: NORMAL (topo) centralizado
   NAV: SCROLLED alinhado à direita
   ========================= */

/* NORMAL (sem scroll): centraliza o menu na barra azul */
.nav-main-wrap:not(.scrolled) .nav-inner{
  justify-content: center !important;
}
.nav-main-wrap:not(.scrolled) .navbar{
  justify-content: center !important;
  flex-grow: 0 !important; /* evita “puxar” para a direita */
}
.nav-main-wrap:not(.scrolled) .navbar-collapse{
  justify-content: center !important;
}
.nav-main-wrap:not(.scrolled) .navbar-nav{
  justify-content: center !important;
}

/* SCROLLED: logo esquerda, menu + telefone direita */
.nav-main-wrap.scrolled .nav-inner{
  justify-content: space-between !important;
}
.nav-main-wrap.scrolled .navbar{
  flex: 1 1 auto !important;
  justify-content: flex-end !important;
}
.nav-main-wrap.scrolled .navbar-collapse{
  justify-content: flex-end !important;
}
.nav-main-wrap.scrolled .navbar-nav{
  justify-content: flex-end !important;
}
/* =========================
   TABLET: topo aberto, scrolled vira hambúrguer
   ========================= */
/* =========================
   TABLET (768–991): TOPO em linha (igual antes)
   SCROLLED: hambúrguer
   ========================= */
@media (min-width: 768px) and (max-width: 991.98px){

  /* ===== TOPO (normal): menu ABERTO, EM LINHA, CENTRALIZADO ===== */
  .nav-main-wrap:not(.scrolled) .navbar-toggler{
    display: none !important;
  }

  .nav-main-wrap:not(.scrolled) .navbar-collapse{
    display: flex !important;
    flex-basis: auto !important;
    justify-content: center !important;
  }

  /* evita virar coluna */
  .nav-main-wrap:not(.scrolled) .navbar-nav{
    width: auto !important;            /* <- CRÍTICO */
    flex-direction: row !important;    /* <- CRÍTICO */
    flex-wrap: nowrap !important;      /* 1 linha (se não couber, reduzimos fonte) */
    justify-content: center !important;
    align-items: center !important;
    gap: .35rem !important;
  }

  /* reduz um pouco para caber melhor no tablet */
  .nav-main-wrap:not(.scrolled) .navbar-nav .nav-link{
    font-size: 13px !important;
    padding: 6px 9px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    margin: 0 !important;
  }

  /* se ainda apertar, diminuímos mais um pouco */
  .nav-main-wrap:not(.scrolled) .navbar-nav .nav-link.long{
    font-size: 12px !important;
    padding: 6px 8px !important;
  }

  /* ===== SCROLLED (tablet): vira HAMBÚRGUER ===== */
  .nav-main-wrap.scrolled .navbar-toggler{
    display: inline-flex !important;
  }

  .nav-main-wrap.scrolled .navbar-collapse{
    display: none !important;
  }

  .nav-main-wrap.scrolled .navbar-collapse.show{
    display: block !important;
    background: var(--azul-navbar);
    padding: 8px 0;
    border-radius: 10px;
  }

  .nav-main-wrap.scrolled .navbar-nav{
    width: 100% !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: .35rem !important;
  }

  .nav-main-wrap.scrolled .navbar-nav .nav-link{
    font-size: 14px !important;
    padding: 8px 12px !important;
  }
}/* =========================
   TABLET (768–991): TOPO em linha (igual antes)
   SCROLLED: hambúrguer
   ========================= */
@media (min-width: 768px) and (max-width: 991.98px){

  /* ===== TOPO (normal): menu ABERTO, EM LINHA, CENTRALIZADO ===== */
  .nav-main-wrap:not(.scrolled) .navbar-toggler{
    display: none !important;
  }

  .nav-main-wrap:not(.scrolled) .navbar-collapse{
    display: flex !important;
    flex-basis: auto !important;
    justify-content: center !important;
  }

  /* evita virar coluna */
  .nav-main-wrap:not(.scrolled) .navbar-nav{
    width: auto !important;            /* <- CRÍTICO */
    flex-direction: row !important;    /* <- CRÍTICO */
    flex-wrap: nowrap !important;      /* 1 linha (se não couber, reduzimos fonte) */
    justify-content: center !important;
    align-items: center !important;
    gap: .35rem !important;
  }

  /* reduz um pouco para caber melhor no tablet */
  .nav-main-wrap:not(.scrolled) .navbar-nav .nav-link{
    font-size: 13px !important;
    padding: 6px 9px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    margin: 0 !important;
  }

  /* se ainda apertar, diminuímos mais um pouco */
  .nav-main-wrap:not(.scrolled) .navbar-nav .nav-link.long{
    font-size: 12px !important;
    padding: 6px 8px !important;
  }

  /* ===== SCROLLED (tablet): vira HAMBÚRGUER ===== */
  .nav-main-wrap.scrolled .navbar-toggler{
    display: inline-flex !important;
  }

  .nav-main-wrap.scrolled .navbar-collapse{
    display: none !important;
  }

  .nav-main-wrap.scrolled .navbar-collapse.show{
    display: block !important;
    background: var(--azul-navbar);
    padding: 8px 0;
    border-radius: 10px;
  }

  .nav-main-wrap.scrolled .navbar-nav{
    width: 100% !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: .35rem !important;
  }

  .nav-main-wrap.scrolled .navbar-nav .nav-link{
    font-size: 14px !important;
    padding: 8px 12px !important;
  }
}
/* ===== DROPDOWN: no tablet/mobile (hambúrguer) usar padrão Bootstrap (clique) ===== */
@media (max-width: 991.98px){

  /* desfaz o seu dropdown “forçado” (display:block + invisível) no mobile */
  .nav-main-wrap .dropdown-menu{
    display: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: none !important;
    overflow: visible !important;
    transform: none !important;
    left: auto !important;
    min-width: auto !important;
    padding: .5rem 0 !important;
    border-radius: 10px !important;
    margin-top: .25rem !important;
  }

  /* quando o Bootstrap abrir, ele adiciona .show */
  .nav-main-wrap .dropdown-menu.show{
    display: block !important;
  }

  /* itens sem animação (no hambúrguer fica mais estável) */
  .nav-main-wrap .dropdown-item{
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    margin-top: 0 !important;
  }
}
/* =========================
   Mantém o botão "Fragmentadoras" ATIVO enquanto submenu estiver ativo
   ========================= */

/* 1) Enquanto o dropdown estiver aberto via Bootstrap (clique) */
.navbar-nav .nav-item.dropdown.show > .nav-link{
  background-color: var(--azul-hover) !important;
  border-radius: 8px 8px 0 0 !important;
}

/* 2) Enquanto estiver no hover (desktop) */
@media (min-width: 992px){
  .navbar-nav .nav-item.dropdown:hover > .nav-link{
    background-color: var(--azul-hover) !important;
    border-radius: 8px 8px 0 0 !important;
  }
}

/* 3) Enquanto o mouse estiver SOBRE o submenu (garante que não “apague”) */
@media (min-width: 992px){
  .navbar-nav .nav-item.dropdown:has(.dropdown-menu:hover) > .nav-link{
    background-color: var(--azul-hover) !important;
    border-radius: 8px 8px 0 0 !important;
  }
}

/* 4) Fallback caso :has() não esteja disponível: use sua classe .expanding */
.navbar-nav .nav-item.dropdown.expanding > .nav-link{
  background-color: var(--azul-hover) !important;
  border-radius: 8px 8px 0 0 !important;
}
/* ===== Submenu do Fragmentadoras com largura EXACT do botão ===== */
:root { --fragDropW: 180px; } /* fallback */

#dropFrag + .dropdown-menu{
  width: var(--fragDropW) !important;
  min-width: var(--fragDropW) !important;
  max-width: var(--fragDropW) !important;

  left: 0 !important;
  right: auto !important;
  transform: none !important;
}
/* NORMAL (topo): dropdown do Fragmentadoras */
.nav-main-wrap:not(.scrolled) #dropFrag + .dropdown-menu{
  left: 4px !important;
}


/* =========================
   BANNER GARANTIA - IMAGEM ÚNICA
========================= */
.banner-garantia-img {
  background: #10a494;
  overflow: hidden;
}

.banner-garantia-img__link {
  display: block;
  width: 100%;
  text-decoration: none;
}

.banner-garantia-img__wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 180px;
}

.banner-garantia-img__image {
  display: block;
  width: 100%;
  max-width: 672px;
  height: auto;
  opacity: 0;
  transform: translateY(20px);
  animation: bannerGarantiaFadeUp .9s ease forwards;
}

@keyframes bannerGarantiaFadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* responsivo */
@media (max-width: 991.98px) {
  .banner-garantia-img__wrap {
    min-height: auto;
    padding: 0;
  }

  .banner-garantia-img__image {
    max-width: 100%;
  }
}




/* =========================
   BANNER SERVIÇOS HOME
   imagens prontas
========================= */
.servicos-home {
  width: 100%;
  overflow: hidden;
  background: #fff;
}

.servicos-home__grid {
  display: grid;
  grid-template-columns: 663fr 419fr 419fr 419fr;
  width: 100%;
  align-items: start;
  background: #fff;
  gap: 0;
  font-size: 0;
  line-height: 0;
}

/* CARD / LINK */
.servico-img {
  position: relative;
  display: block;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  isolation: isolate;
  line-height: 0;
  margin: 0;
  padding: 0;
  background: transparent;
}

/* remove qualquer overlay de cor */
.servico-img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  opacity: 0;
  transition: none;
  z-index: 2;
  pointer-events: none;
}


/* imagem */
.servico-img img {
  display: block;
  width: calc(100% + 2px);
  height: auto !important;
  max-width: none;
  margin-left: -1px;
  margin-right: -1px;
  padding: 0;
  border: 0;
  filter: none !important;
  transition: transform .35s ease;
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* hover sem mudar cor */
.servico-img:hover img {
  transform: scale(1.015);
}

/* acessibilidade */
.servico-img:focus-visible {
  outline: 3px solid #81b00b;
  outline-offset: -3px;
}

/* texto invisível SEO */
.seo-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.servicos-home__seo {
  position: relative;
}

/* responsivo */
@media (max-width: 1199.98px) {
  .servicos-home__grid {
    grid-template-columns: 1fr 1fr;
  }

  .servico-img:nth-child(2)::after,
  .servico-img:nth-child(4)::after {
    display: none;
  }
}

@media (max-width: 767.98px) {
  .servicos-home__grid {
    grid-template-columns: 1fr;
  }

  .servico-img::after {
    display: none;
  }
}

/* =========================
   CATÁLOGO HOME - PROFISSIONAIS
========================= */
.catalogo-pro-home {
  background: #efefef;
  padding: 40px 0 60px;
  border-top: 1px solid #e2e2e2;
  border-bottom: 1px solid #e2e2e2;
}

.catalogo-pro-home__topo {
  max-width: 980px;
  margin: 0 auto 28px;
  text-align: center;
}

.catalogo-pro-home__titulo {
  margin: 0 0 14px;
  font-family: 'Gilroy-ExtraBold', sans-serif;
  font-size: clamp(2rem, 2.8vw, 3.25rem);
  line-height: 1;
  color: #101010;
  letter-spacing: -0.02em;
}

.catalogo-pro-home__checks {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 930px;
  text-align: left;
}

.catalogo-pro-home__checks li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 8px;
  font-family: 'Gilroy-Medium', sans-serif;
  font-size: clamp(1rem, 1.1vw, 1.25rem);
  line-height: 1.3;
  color: #173f69;
}

.catalogo-pro-home__checks li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 1px;
  font-size: 15px;
  color: #82b109;
  font-weight: 700;
}

/* GRID */
.catalogo-pro-home__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

/* CARD */
.catalogo-card {
  min-width: 0;
}

.catalogo-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  background: #ffffff;
  border: 1px solid #cfcfcf;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 0 rgba(0,0,0,.03);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.catalogo-card__link:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
  border-color: #b9c6d3;
}

.catalogo-card__imgbox {
  background: #ffffff;
  padding: 8px;
}

.catalogo-card__img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.catalogo-card__body {
  display: flex;
  flex-direction: column;
  text-align: center;
  padding: 16px 12px 14px;
  flex: 1 1 auto;
}

.catalogo-card__categoria {
  font-family: 'Gilroy-Medium', sans-serif;
  font-size: 12px;
  line-height: 1.15;
  color: #255784;
  margin-bottom: 2px;
}

.catalogo-card__titulo {
  margin: 0 0 4px;
  font-family: 'Gilroy-ExtraBold', sans-serif;
  font-size: clamp(1.75rem, 2vw, 1.5rem);
  line-height: .95;
  color: #0a5998;
  letter-spacing: -0.02em;
}

.catalogo-card__descricao {
  margin: 0 0 14px;
  font-family: 'Gilroy-Medium', sans-serif;
  font-size: 13px;
  line-height: 1.15;
  color: #4f5d6c;
  min-height: 30px;
}

.catalogo-card__btn {
  margin-top: auto;
  align-self: center;
  min-width: 118px;
  background: #154c78;
  color: #fff;
  border-radius: 4px;
  padding: 10px 18px;
  font-family: 'Gilroy-ExtraBold', sans-serif;
  font-size: 14px;
  line-height: 1;
  transition: background .18s ease, transform .18s ease;
}

.catalogo-card__link:hover .catalogo-card__btn {
  background: #82b109;
  transform: translateY(-1px);
}

/* CTA */
.catalogo-pro-home__cta {
  text-align: center;
  margin-top: 30px;
}

.catalogo-pro-home__btn-catalogo {
  border: 0;
  background: #82b109;
  color: #fff;
  border-radius: 6px;
  padding: 14px 30px;
  font-family: 'Gilroy-ExtraBold', sans-serif;
  font-size: clamp(1rem, 1vw, 1.1rem);
  line-height: 1;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  transition: background .18s ease, transform .18s ease;
}

.catalogo-pro-home__btn-catalogo:hover {
  background: #739817;
  transform: translateY(-1px);
}

/* RESPONSIVO */
@media (max-width: 1199.98px) {
  .catalogo-pro-home__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .catalogo-pro-home {
    padding: 30px 0 40px;
  }

  .catalogo-pro-home__topo {
    margin-bottom: 22px;
  }

  .catalogo-pro-home__checks li {
    font-size: 1rem;
    padding-left: 24px;
  }

  .catalogo-pro-home__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .catalogo-card__body {
    padding: 14px 12px 14px;
  }

  .catalogo-card__titulo {
    font-size: 1.9rem;
  }

  .catalogo-pro-home__btn-catalogo {
    width: 100%;
    justify-content: center;
  }
}

.catalogo-pro-home__subtexto {
  margin: 0 0 22px;
  font-family: 'Gilroy-Medium', sans-serif;
  font-size: clamp(1rem, 1.05vw, 1.25rem);
  line-height: 1.25;
  color: #101010;
  text-align: center;
}

/* =========================
   DARK BAND HOME
========================= */
.dark-band-home {
  position: relative;
  overflow: hidden;
  padding: 56px 0;
  background:
    linear-gradient(90deg, rgba(0, 8, 30, 0) 0%, rgba(0, 22, 56, 0) 45%, rgba(0, 28, 68, 0) 100%),
    url('../img/banner.jpg') center center / cover no-repeat;
}

.dark-band-home__grid {
  display: grid;
  grid-template-columns: fit-content(640px) minmax(0, 1fr);
  gap: 56px;
  align-items: center;
}

.dark-band-home__left {
  color: #fff;
  width: 100%;
  max-width: 640px;
  padding-right: 0;
}

.dark-band-home__title {
  margin: 0 0 18px;
  font-family: 'Gilroy-Bold', sans-serif;
  font-size: clamp(2rem, 2.2vw, 3rem);
  line-height: 1.1;
  color: #9ad400;
  letter-spacing: -0.02em;
}

.dark-band-home__text {
  margin: 0;
  max-width: 100%;
  font-family: 'Gilroy-Medium', sans-serif;
  font-size: clamp(1rem, 1vw, 1.18rem);
  line-height: 1.45;
  color: #ffffff;
}

.dark-band-home__divider {
  width: 100%;
  max-width: 520px;
  height: 1px;
  background: rgba(154, 212, 0, 0.85);
  margin: 26px 0 28px;
}

/* CONTADORES */
.dark-band-home__stats {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
}

.dark-band-home__stat {
  flex: 0 0 200px;
  width: 200px;
  min-width: 200px;
}

.dark-band-home__number {
  display: flex;
  align-items: baseline;
  gap: 0;
  margin-bottom: 8px;
  white-space: nowrap;
  color: #9ad400;
  line-height: 1;
}

.dark-band-home__prefix {
  display: inline-block;
  width: 0.8ch;
  font-family: 'Gilroy-Bold', sans-serif;
  font-size: clamp(2.2rem, 2.6vw, 3.4rem);
  line-height: 1;
  color: #9ad400;
  letter-spacing: -0.03em;
  text-align: left;
}

.dark-band-home__number .count-up {
  display: inline-block;
  min-width: 4.5ch;
  font-family: 'Gilroy-Bold', sans-serif;
  font-size: clamp(2.2rem, 2.6vw, 3.4rem);
  line-height: 1;
  color: #9ad400;
  letter-spacing: -0.03em;
  text-align: left;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

.dark-band-home__label {
  font-family: 'Gilroy-Medium', sans-serif;
  font-size: clamp(1rem, .95vw, 1.18rem);
  line-height: 1.22;
  color: #ffffff;
  min-height: 52px;
  padding-left: 0.8ch;
}

/* COLUNA DIREITA */
.dark-band-home__right {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}

.dark-band-home__card {
  width: 100%;
  max-width: 760px;
  background: rgba(7, 72, 126, 0.92);
  border-radius: 14px;
  padding: 30px 32px;
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}

.dark-band-home__card-title {
  margin: 0 0 18px;
  text-align: center;
  font-family: 'Gilroy-Bold', sans-serif;
  font-size: clamp(1.55rem, 1.6vw, 2.2rem);
  line-height: 1.15;
  color: #9ad400;
}

.dark-band-home__card-subtitle {
  margin: 0 0 30px;
  text-align: center;
  font-family: 'Gilroy-Bold', sans-serif;
  font-style: italic;
  font-size: clamp(1.1rem, 1.15vw, 1.5rem);
  line-height: 1.2;
  color: #ffffff;
}

.dark-band-home__card-text {
  margin: 0 0 18px;
  font-family: 'Gilroy-Medium', sans-serif;
  font-size: clamp(1rem, .98vw, 1.16rem);
  line-height: 1.45;
  color: #ffffff;
}

.dark-band-home__card-text--strong {
  font-family: 'Gilroy-Bold', sans-serif;
}

.dark-band-home__cta {
  text-align: center;
  margin-top: 26px;
}

.dark-band-home__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 300px;
  padding: 14px 24px;
  background: #9ad400;
  color: #0d2034;
  text-decoration: none;
  border-radius: 4px;
  font-family: 'Gilroy-Bold', sans-serif;
  font-size: clamp(1rem, .98vw, 1.1rem);
  line-height: 1;
  transition: background .18s ease, transform .18s ease;
}

.dark-band-home__btn:hover {
  background: #87bc00;
  transform: translateY(-1px);
  color: #0d2034;
}
.anos-mercado{margin-right:-30px}

/* RESPONSIVO */
@media (max-width: 1199.98px) {
  .dark-band-home__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .dark-band-home__left {
    max-width: 100%;
  }

  .dark-band-home__right {
    justify-content: center;
  }

  .dark-band-home__card {
    max-width: 100%;
  }
}

@media (max-width: 767.98px) {
  .dark-band-home {
    padding: 38px 0;
  }

  .dark-band-home__stats {
    flex-wrap: wrap;
    gap: 18px;
    justify-content: space-between;
  }

  .dark-band-home__stat {
    flex: 0 0 calc(50% - 10px);
    width: calc(50% - 10px);
    min-width: 140px;
  }

  .dark-band-home__card {
    padding: 24px 18px;
  }

  .dark-band-home__btn {
    min-width: 100%;
  }
}

/*/////////////////////////////////////////////////////*/
/*==================SESSÃO DEPOIMENTOS=================*/
/*/////////////////////////////////////////////////////*/

/* =========================
   DEPOIMENTOS HOME
========================= */
.depoimentos-home {
  background: #efefef;
  padding: 42px 0 46px;
  overflow: hidden;
}

.depoimentos-home__topo {
  text-align: center;
  margin-bottom: 26px;
}

.depoimentos-home__titulo {
  margin: 0;
  font-family: 'Gilroy-Bold', sans-serif;
  font-size: clamp(1.9rem, 1.2vw, 2rem);
  line-height: 1.05;
  color: #111;
  letter-spacing: -0.02em;
}

/* slider */
.depoimentos-slider {
  overflow: hidden;
  cursor: grab;
  user-select: none;
}

.depoimentos-slider.is-dragging {
  cursor: grabbing;
}

.depoimentos-slider__track {
  display: flex;
  gap: 18px;
  will-change: transform;
  transition: transform .45s ease;
}

/* card */
.depoimento-card {
  flex: 0 0 calc((100% - 36px) / 3);
  min-height: 360px;
  background: #fff;
  border-radius: 16px;
  padding: 28px 28px 24px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.06);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.depoimento-card__stars {
  font-size: 22px;
  line-height: 1;
  color: #f1b51c;
  letter-spacing: 2px;
  margin-bottom: 34px;
}

.depoimento-card__texto {
  margin: 0 0 34px;
  font-family: 'Gilroy-Light', sans-serif;
  font-size: clamp(1rem, .95vw, 1.08rem);
  line-height: 1.45;
  color: #1a1a1a;
  font-style: italic;
}

.depoimento-card__nome {
  margin: auto 0 6px;
  font-family: 'Gilroy-Bold', sans-serif;
  font-size: clamp(1.2rem, 1.2vw, 1.45rem);
  line-height: 1.15;
  color: #0a5998;
}

.depoimento-card__cargo {
  font-family: 'Gilroy-Medium', sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  color: #3d3d3d;
}

/* dots */
.depoimentos-home__dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
}

.depoimentos-home__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #8e8e8e;
  border: 0;
  padding: 0;
  transition: transform .18s ease, background .18s ease;
}

.depoimentos-home__dot.is-active {
  background: #82b109;
  transform: scale(1.08);
}

/* responsivo */
@media (max-width: 1199.98px) {
  .depoimento-card {
    flex: 0 0 calc((100% - 18px) / 2);
    min-height: 340px;
  }
}

@media (max-width: 767.98px) {
  .depoimentos-home {
    padding: 34px 0 38px;
  }

  .depoimento-card {
    flex: 0 0 100%;
    min-height: 320px;
    padding: 24px 20px 22px;
  }

  .depoimento-card__stars {
    margin-bottom: 24px;
  }

  .depoimento-card__texto {
    margin-bottom: 26px;
  }
}


/*/////////////////////////////////////////////////////*/
/*==================SESSÃO FOOTER=================*/
/*/////////////////////////////////////////////////////*/

/* =========================
   FOOTER SITE
========================= */
.footer-site {
  background: #ffffff;
  color: #1a1a1a;
}

.footer-site__top {
  padding: 52px 0 40px;
}

.footer-site__grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1.25fr 1fr .9fr;
  gap: 36px;
  align-items: start;
}

.footer-site__brand {
  max-width: 300px;
}

.footer-site__logo-link {
  display: inline-block;
  text-decoration: none;
}

.footer-site__logo {
  display: block;
  max-width: 220px;
  width: 100%;
  height: auto;
}

.footer-site__desc {
  margin: 24px 0 30px;
  font-family: 'Gilroy-Medium', sans-serif;
  font-size: 1rem;
  line-height: 1.4;
  color: #1a1a1a;
}

.footer-site__copyright {
  font-family: 'Gilroy-Medium', sans-serif;
  font-style: italic;
  font-size: .9rem;
  line-height: 1.35;
  color: #1a1a1a;
}

.footer-site__heading {
  margin: 0 0 18px;
  font-family: 'Gilroy-Medium', sans-serif;
  font-size: 1.2rem;
  line-height: 1.1;
  color: #111;
}

.footer-site__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-site__list li {
  margin-bottom: 5px;
}

.footer-site__list a {
  text-decoration: none;
  font-family: 'Gilroy-Regular', sans-serif;
  font-size: .9rem;
  line-height: 1.35;
  color: #0a3f73;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: color .18s ease;
}

.footer-site__list a::before {
  content: "›";
  font-size: 1.3rem;
  line-height: 1;
  color: #1a1a1a;
  transform: translateY(-1px);
}

.footer-site__list a:hover {
  color: #075a98;
}

.footer-site__social-links {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.footer-site__social-link {
  width: 42px;
  height: 42px;
  border-radius: 4px;
  background: #174d79;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  font-size: 1.2rem;
  transition: background .18s ease, transform .18s ease;
}

.footer-site__social-link:hover {
  background: #0f3f66;
  transform: translateY(-1px);
  color: #fff;
}

.footer-site__bottom {
  border-top: 1px solid rgba(0,0,0,.08);
  background: #f8f8f8;
  padding: 16px 0 14px;
}

.footer-site__bottom-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 18px 22px;
}

.footer-site__bottom-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #0a4e84;
  text-decoration: none;
  font-family: 'Gilroy-Medium', sans-serif;
  font-size: .9rem;
  line-height: 1.25;
  border: 0;
  background: none;
}

.footer-site__bottom-item i {
  color: #174d79;
  font-size: 1rem;
}

.footer-site__bottom-item:hover {
  color: #0a4e84;
}

/* RESPONSIVO */
@media (max-width: 1199.98px) {
  .footer-site__grid {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px;
  }

  .footer-site__brand {
    max-width: none;
    grid-column: 1 / -1;
  }
}

@media (max-width: 767.98px) {
  .footer-site__top {
    padding: 22px 0 0;
  }

  .footer-site__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .footer-site__heading {
    font-size: 1.35rem;
  }

  .footer-site__desc {
    margin: 18px 0 22px;
  }

  .footer-site__bottom-row {
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
}

/*****************MODAL TELEFONE E WHATSAPP********************/
.contact-trigger-modal {
  border: 0;
  cursor: pointer;
}

.modal-contato-rapido {
  border: 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18);
}

.modal-contato-rapido .modal-header {
  padding: 1.25rem 1.25rem 0.5rem;
}

.modal-contato-rapido .modal-body {
  padding: 0.75rem 1.25rem 1.25rem;
}

.modal-contato-rapido__text {
  color: #5f6b76;
  font-size: 0.95rem;
  line-height: 1.45;
}

.modal-contato-rapido__btn {
  border-radius: 10px;
  font-family: 'Gilroy-Medium', sans-serif;
  font-size: 1rem;
  padding: 13px 0;
}

.modal-contato-rapido__btn--wa {
  background: #25d366;
  border-color: #25d366;
}

.modal-contato-rapido__btn--wa:hover {
  background: #20bd5c;
  border-color: #20bd5c;
}

.modal-contato-rapido__btn--tel {
  background: #0A5998;
  border-color: #0A5998;
}

.modal-contato-rapido__btn--tel:hover {
  background: #08497d;
  border-color: #08497d;
}

.whats-contato-modal{border:0; background:none}
.whats-contato-modal .bi-whatsapp{color:green}