:root{ --topbar-shift: -40px; }
:root{ --banner-tint: rgba(15,53,95,0.20); }

/* Google Font */
:root{
  --iwm-blue:#144a86;
  --iwm-dark:#0e2f56;
  --iwm-gray:#f2f4f7;
  --iwm-white:#ffffff;
 // --topbar-height:150px;
}

html{scroll-behavior:smooth}
body{font-family:'Inter', Arial, Helvetica, sans-serif;color:#1a1a1a}

.full{
  position:relative;overflow:hidden;height:120px;
  background:var(--iwm-blue);
  padding: 10px;
  
}

.topbar{
  background:var(--iwm-blue);
  color:#cfe1ff;
  height:var(--topbar-height);
  line-height:var(--topbar-height);
  font-size:.92rem;
}

.right{
  position: absolute;
  right: 0;
  
}

.contato{
  margin-top: 40px;
  padding: 10px;
}


.contato .meta{padding-top:.15rem}
.contato .meta a{text-decoration-color: #fff; text-decoration: none; color:#fff;}
.contato .meta h5{font-weight:700;margin:0 0 .2rem 0}
.contato .meta p{opacity:.9;margin:0}




.clearfix: {
  content: "";
  clear: both;
  display: table;
}

.flags img{ width:22px;
        height:auto;
        border-radius:1px;
        text-align:right;
        box-shadow:0 0 0 1px rgba(255,255,255,.5);
      }

.contact {
  display:flex;
  align-items:center;
  gap:.4rem;
  margin-right:1rem;
  white-space:nowrap;
}

.aviso{
  border-radius:10px;border:0;box-shadow:0 10px 20px rgba(0,0,0,.25)
  font-size: 10px;
}

.navbar.iwm{
  background:var(--iwm-dark)!important;
  border-bottom:2px solid #0b2544;
}
.navbar.iwm .nav-link{color:#fff!important;font-weight:600}
.navbar.iwm .dropdown-menu{border-radius:10px;border:0;box-shadow:0 12px 40px rgba(0,0,0,.25)}
.navbar.iwm .dropdown-item{font-weight:500}
.navbar.iwm .nav-link:hover,.navbar.iwm .dropdown-item:hover{color:#cfe1ff!important}

.container-1080{max-width:1080px;margin:0 auto}

.jumbo{
  position:relative;overflow:hidden;height:480px
}
.jumbo .owl-nav button{
  position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(0,0,0,.35)!important;border-radius:50%;width:44px;height:44px;color:#fff!important
}
.jumbo .owl-nav .owl-prev{left:12px}
.jumbo .owl-nav .owl-next{right:12px}
.jumbo .slide{position:relative;height:480px}
.jumbo .slide img{object-fit:cover;width:100%;height:100%}
.jumbo .kenburns{animation:ken 18s ease-in-out infinite}
@keyframes ken{0%{transform:scale(1.05)}50%{transform:scale(1.12)}100%{transform:scale(1.05)}}
.jumbo .caption{
  position:absolute;inset:0;display:flex;align-items:center
}
.jumbo .caption h1{
  color:#fff;font-weight:800;font-size:clamp(22px,3.2vw,42px);line-height:1.15;
  text-shadow:0 10px 30px rgba(0,0,0,.55);max-width:900px;padding:0 2rem;margin:0
}

.section-products{padding:40px 0}
.section-products .owl-dots .owl-dot span{width:10px;height:10px}
.product-card{text-align:center}
.product-card img{width:180px;height:180px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.08))}
.product-card .cat{font-weight:700;margin-top:.5rem}
.product-card .cat a{color:#322;text-decoration: none !important}
.product-card .name{font-size:.95rem;color:#666;margin-top:.1rem}
.cat a {color:#322;text-decoration: none;}

.section-video{
  background:var(--iwm-blue);padding:28px 0 20px 0;color:#fff
}
.section-video .title-line{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:12px
}
.section-video .more a{color:#fff;text-decoration:none;font-weight:700;border:1px solid rgba(255,255,255,.45);padding:.35rem .75rem;border-radius:999px}
.section-video .link a{color:#fff;text-decoration:none;font-weight:500;border:1px solid rgba(255,255,255,.45);padding:.45rem .85rem;border-radius:999px}
.video-card{background:#133e70;border-radius:16px;overflow:hidden;padding:14px}
.video-card .thumb{position:relative;height:160px;background:#0e3864;border-radius:12px;overflow:hidden}
.video-card .thumb img{width:100%;height:100%;object-fit:cover}
.video-card .meta{padding-top:.75rem}
.video-card .meta a{text-decoration-color: #fff; text-decoration: none; color:#fff;}
.video-card .meta h5{font-weight:700;margin:0 0 .2rem 0}
.video-card .meta p{opacity:.9;margin:0}

.section-refs{
  background:#e9eef5;padding:30px 0;color:#163a66
}
.refs-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:18px}
@media (max-width:1200px){.refs-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:768px){.refs-grid{grid-template-columns:repeat(2,1fr)}}
.ref-col{background:#214c83;border-radius:14px;color:#fff;padding:16px;min-height:220px;position:relative}
.ref-col h6{font-weight:800;border-bottom:4px solid #fff;padding-bottom:8px;margin-bottom:10px}
.ref-col ul{list-style:none;padding-left:0;margin:0}
.ref-col li{margin:.25rem 0}
.ref-col a{color:#e6f0ff;text-decoration:none}
.ref-col a:hover{color:#fff;text-decoration:underline}

footer .footer-1{background:var(--iwm-dark);color:#cfe1ff;padding:28px 0}
footer .footer-2{background:#0a1d36;color:#a6c1e8;padding:10px 0;font-size:.9rem}
.newsletter .form-control{border-radius:999px;border:0}
.newsletter .btn{border-radius:999px;font-weight:700}

.parallax-window{min-height:200px;background:transparent}

/* Speed & accessibility helpers */
.lazy{filter:blur(2px);transition:filter .3s ease}
.lazy.loaded{filter:blur(0)}
.skip-link{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:static;width:auto;height:auto}

/* New container specifically for the topbar (1090px as requested) */
.container-1090{max-width:1090px;margin:0 auto;padding-left:130px}

/* Remove Bootstrap default caret to avoid duplicate arrows */
.navbar.iwm .dropdown-toggle::after{display:none}

/* Submenu (cascading) */
.dropdown-submenu{position:relative}
.dropdown-submenu>.dropdown-menu{
  top:0; left:100%;
  margin-top:-.25rem; margin-left:.2rem;
  border-radius:10px; border:0; box-shadow:0 12px 40px rgba(0,0,0,.25)
}
.dropdown-submenu>a::after{
  content:"\f105"; /* fa-angle-right */
  font: var(--fa-font-solid);
  float:right; margin-left:.5rem
}
.dropdown-menu>li:hover>.dropdown-menu{display:block}

/* Ensure only one row of 6 items visible in products carousel */
.section-products .owl-stage{display:flex}
.section-products .owl-item{display:flex;justify-content:center}

/* References background closer to the model */
.section-refs{background:#dfe6f0}

/* Footer newsletter input/button to match model (rectangular, compact) */
.newsletter .form-control{
  border-radius:6px; height:40px; max-width:260px; padding:0 .75rem;
  border:1px solid #c9d6ea; background:#fff
}
.newsletter .btn{
  border-radius:6px; height:40px; padding:0 16px; font-weight:700
}

/* Avoid Bootstrap default caret (we use FontAwesome) */
.navbar.iwm .dropdown-toggle::after{display:none}

/* Products dropdown neatness */
.menu-products{min-width:260px;padding:10px}
.menu-products .dropdown-header{font-weight:800;color:#5b6b7f}
.dropdown-menu{z-index:1050}

/* Submenu bubble look with gap */
.dropdown-submenu{position:relative}
.dropdown-submenu>.dropdown-menu{
  top:0; left:100%;
  margin-left:.6rem; margin-top:-.25rem;
  border-radius:12px; padding:10px; border:0;
  box-shadow:0 12px 40px rgba(0,0,0,.25)
}
.dropdown-submenu>a::after{
  content:"\f105"; font: var(--fa-font-solid); float:right; margin-left:.5rem
}
.dropdown-menu>li:hover>.dropdown-menu{display:block}

/* Darker refs background like the screenshot */
.section-refs{background:#303235;color:#fff}
.ref-col{background:transparent;border-radius:0;color:#fff}
.ref-col h6{font-weight:800;border-bottom:4px solid #fff;padding-bottom:8px;margin-bottom:10px}
.ref-col a{color:#fff;opacity:.9;font-size: 13px;}
.ref-col a:hover{opacity:1;color:#fff}

/* Compact newsletter form fields */
.newsletter .form-control{border-radius:6px;height:40px;max-width:260px;border:1px solid #c9d6ea;background:#fff}
.newsletter .btn{border-radius:6px;height:40px;padding:0 16px;font-weight:700}

/* Submenu visibility controlled via JS */
.dropdown-submenu>.dropdown-menu{display:none}
.dropdown-submenu.show>.dropdown-menu{display:block}
/* Remove previous generic auto-open rule if present by overriding */
.dropdown-menu>li:hover>.dropdown-menu{display:none}

/* More breathing room between main nav items */
.navbar.iwm .navbar-nav .nav-link{
  padding: .8rem 1.1rem !important;
}

/* Submenu aligns tight to avoid hover gap */
.dropdown-submenu>.dropdown-menu{
  margin-left:0; /* remove gap to prevent mouseleave during travel */
}

/* Slightly smaller font in refs to fit all items neatly */
.section-refs, .section-refs .ref-col{font-size:0.96rem}

/* Wider container for the gray references block */
.container-1140{max-width:1140px;margin:0 auto}

/* Tighter typography to avoid wrapping */
.section-refs{font-size:0.9rem;line-height:1.25}
.refs-grid{column-gap:22px}
.refs-grid .ref-col ul li{margin:.2rem 0}

/* Newsletter consent gating + royal button */
:root{ --royal:#1e5bb8 }
.newsletter .consent{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.9rem;color:#cfe1ff}
.newsletter .btn{
  background:var(--royal); border:1px solid var(--royal); color:#fff;
  transition:all .15s ease;
}
.newsletter .btn:disabled{opacity:.5;cursor:not-allowed}
.newsletter .btn:not(:disabled):hover{background:#fff;color:var(--royal)}

/* Banner arrows with better insets */
.jumbo .owl-nav .owl-prev{left:24px}
.jumbo .owl-nav .owl-next{right:24px}
.jumbo .owl-nav button{opacity:.9}
.jumbo .owl-nav button:hover{opacity:1}

/* Rounded, modern heading */
.jumbo .caption h1{
  font-family:'Nunito', 'Inter', Arial, Helvetica, sans-serif;
  font-weight:700;
  font-size:clamp(22px,2.8vw,38px);
  text-shadow:0 12px 36px rgba(0,0,0,.45);
}

/* Banner FX */
.jumbo .slide img{transition:transform 8s ease, opacity 1s ease}
.fx-zoom-in{animation:fxZoomIn 1.1s ease both}
.fx-zoom-out{animation:fxZoomOut 1.1s ease both}
.fx-fade-in{animation:fxFadeIn 1.1s ease both}
.fx-fade-out{animation:fxFadeOut 1.1s ease both}

@keyframes fxZoomIn{from{transform:scale(1.12);opacity:.0}to{transform:scale(1);opacity:1}}
@keyframes fxZoomOut{from{transform:scale(1);opacity:.0}to{transform:scale(1.08);opacity:1}}
@keyframes fxFadeIn{from{opacity:0}to{opacity:1}}
@keyframes fxFadeOut{0%{opacity:1}100%{opacity:.85}} /* soft fade to keep text readable */

/* Overlay gradient for readability */
.jumbo::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.25) 45%, rgba(0,0,0,.35) 100%);
  pointer-events:none;
}

/* Poppins for headline */
.jumbo .caption h1{
  font-family:'Poppins','Nunito','Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
  font-weight:700;
  letter-spacing:.2px;
}

/* FX presets (closer to video look) */
.jumbo .slide{overflow:hidden}
.jumbo .slide img{transform-origin:center center; will-change:transform, opacity}
.fx-in-zoom{animation:inZoom 1200ms ease both}
.fx-out-zoom{animation:outZoom 1200ms ease both}
.fx-in-fade{animation:inFade 900ms ease both}
.fx-out-fade{animation:outFade 900ms ease both}
.fx-in-ken{animation:inKen 6800ms ease both}
.fx-out-ken{animation:outKen 6800ms ease both}

/* caption animation */
.caption-prepare h1{opacity:0; transform:translate3d(0,10px,0)}
.caption-in h1{animation:capIn 700ms 200ms ease both}
.caption-out h1{animation:capOut 500ms ease both}

@keyframes inZoom { from{transform:scale(1.18); opacity:0} to{transform:scale(1.0); opacity:1} }
@keyframes outZoom{ from{transform:scale(1.0); opacity:0} to{transform:scale(1.08); opacity:1} }
@keyframes inFade { from{opacity:0} to{opacity:1} }
@keyframes outFade{ from{opacity:1} to{opacity:.85} }
@keyframes inKen  { from{transform:scale(1.06)} to{transform:scale(1.0)} }
@keyframes outKen { from{transform:scale(1.0)} to{transform:scale(1.12)} }
@keyframes capIn  { from{opacity:0; transform:translate3d(0,16px,0)} to{opacity:1; transform:none} }
@keyframes capOut { from{opacity:1} to{opacity:0} }

/* Widen only the "Aplicação" column on desktop to avoid wrapping */
@media (min-width: 1200px){
  #links .refs-grid{
    grid-template-columns: 1fr 1fr 1.35fr 1fr 1fr 1fr 1fr; /* 3rd column (Aplicação) wider */
    justify-content: center;
  }
  #links .ref-col.aplicacao a{white-space: nowrap}
}

@media (min-width: 1200px){
  #links .refs-grid{
    grid-template-columns: 1fr 1fr 1.35fr 1fr 1.2fr 1fr 1fr; /* widen 5th column (Miscelânea) */
    justify-content:center;
  }
  #links .ref-col.misc a{white-space:nowrap}
}

/* === Merged Menu Customizations (from menu.css) === */
/* ====== Global / Reset helpers ====== */
:root{ --menu-dark:#0f355f }
html,body{overflow-x:hidden}

/* ====== Navbar & dropdowns ====== */
.navbar.iwm .dropdown-menu{
  min-width:260px;
  border-radius:0;
  overflow:visible;
  z-index:1001;
}
@media (min-width:1200px){
  .navbar.iwm .dropdown-menu{ min-width:260px }
}
.navbar.iwm .dropdown-item{
  white-space:nowrap;
  padding-right:2.25rem;
}
/* Hover color = azul escuro da barra */
.navbar.iwm .dropdown-item:hover,
.navbar.iwm .dropdown-item:focus{
  background:transparent;
  color:var(--menu-dark);
}

/* ====== Nested submenu layout ====== */
.dropdown-submenu{ position:relative }
.dropdown-submenu > .dropdown-menu{
  position:absolute; top:0; left:100%;
  margin-left:0; margin-top:0;
  display:none;
}
@media (hover:hover){
  .dropdown-submenu:hover > .dropdown-menu{ display:block }
}
.dropdown-submenu:focus-within > .dropdown-menu{ display:block }

/* Right chevron for items with submenu (FontAwesome 6) */
.dropdown-submenu > a.dropdown-item{ position:relative }
.dropdown-submenu > a.dropdown-item::after{
  content:"\f105"; font-family:"Font Awesome 6 Free"; font-weight:900;
  position:absolute; right:.75rem; top:50%; transform:translateY(-50%);
}

/* Keep parent dropdown open while hovering inside menus */
/* Topo NÃO abre no hover: abre só quando tiver .show (via clique/JS) */
.navbar.iwm .dropdown:hover > .dropdown-menu{ display:none }
.navbar.iwm .dropdown.show > .dropdown-menu{ display:block }
.navbar.iwm .dropdown-menu:hover{ display:block }

/* ====== Section links tweaks to avoid wrapping issues ====== */
.section-refs{font-size:.84rem; line-height:1.28}
#links .ref-col h6{font-size:1rem; margin-bottom:.5rem; padding-bottom:.35rem}
#links .refs-grid{column-gap:22px}
#links .ref-col ul li{margin:.2rem 0}

/* === Force FADE banner (no sliding) === */
.animated{animation-duration:900ms;animation-fill-mode:both}
.fadeIn{animation-name:fadeIn; position:absolute; left:0; top:0; width:100%; z-index:2 }
.fadeOut{animation-name:fadeOut; position:absolute; left:0; top:0; width:100%}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeOut{from{opacity:1}to{opacity:0}}

/* Prevent stage sliding animation explicitly */
.jumbo .owl-carousel .owl-stage{ transition: transform 0ms !important; }

/* Optional gentle zoom during hold (remove if you prefer only fade) */
.kenHold{animation:kenHold 7000ms ease both}
@keyframes kenHold{from{transform:scale(1.15)} to{transform:scale(1)}}to{transform:scale(1)}}

.jumbo .owl-item{position:relative}

/* === Pro Crossfade (video-like): enter on top with zoom-in, exit with soft fade === */
.animated{animation-duration:1200ms;animation-fill-mode:both}
.fxFadeInZoom{ animation-name:fxFadeInZoom; position:absolute; inset:0; z-index:2 }
.fxFadeOutZoom{ animation-name:fxFadeOutZoom; position:absolute; inset:0; z-index:1 }
@keyframes fxFadeInZoom{from{opacity:0; transform:scale(1.08)} to{opacity:1; transform:scale(1)}}
@keyframes fxFadeOutZoom{from{opacity:1; transform:scale(1)} to{opacity:0; transform:scale(1.02)}}

/* Stronger Ken Burns during hold (1.15 -> 1.0) */
.kenHold{animation:kenHold 7000ms ease both}
@keyframes kenHold{from{transform:scale(1.15)} to{transform:scale(1)}}

/* === v6 Banner Crossfade (overlay, video-like) === */
.jumbo .owl-carousel{ position:relative }
.jumbo .owl-item{ position:relative }
.jumbo .owl-item .slide{ position:absolute; inset:0; }
.jumbo .owl-item.active .slide{ z-index:1 } /* current below incoming */
.jumbo .owl-item .slide{ opacity:0; }
.jumbo .owl-item.active .slide{ opacity:1; }
.jumbo .owl-carousel .owl-stage{ transition: transform 0ms !important } /* kill slide */

/* Animations */
.animated{ animation-duration:1200ms; animation-fill-mode:both }
.fxFadeInZoom{ animation-name:fxFadeInZoom }
.fxFadeOutZoom{ animation-name:fxFadeOutZoom }
@keyframes fxFadeInZoom{ from{ opacity:0; transform:scale(1.20) } to{ opacity:1; transform:scale(1.00) } }
@keyframes fxFadeOutZoom{ from{ opacity:1; transform:scale(1.00) } to{ opacity:0; transform:scale(1.02) } }

/* Hold zoom 1.20 -> 1.00 during reading */
.kenHold{ animation:kenHold 7000ms ease both }
@keyframes kenHold{ from{ transform:scale(1.20) } to{ transform:scale(1.00) } }

/* === v6 Produtos divider: visual linha após 3° item === */
.menu-produtos .dropdown-menu > li:nth-child(4){
  border-top:1px solid rgba(0,0,0,.12);
  margin-top:.35rem; padding-top:.35rem;
}

/* === v7 Manual Crossfade setup === */
.jumbo .owl-carousel{ position:relative }
.jumbo .owl-item{ position:relative }
.jumbo .owl-item .slide{ position:absolute; inset:0; }
.jumbo .owl-item .slide img{
  width:100%; height:100%; object-fit:cover; display:block;
  backface-visibility:hidden; -webkit-backface-visibility:hidden;
  will-change: opacity, transform;
}
.jumbo .owl-carousel .owl-stage{ transition: transform 0ms !important }
/* Start with all slides hidden; JS will show the active */
.jumbo .owl-item .slide{ opacity:0 }
.jumbo .owl-item.active .slide{ opacity:1 }

/* === v8 Pure Crossfade Banner (no Owl) === */
.jumbo{ position:relative; height:480px; overflow:hidden }
.jumbo .slide{ position:absolute; inset:0; opacity:0; transition:opacity 1100ms ease; }
.jumbo .slide.is-active{ opacity:1; }
.jumbo .slide img{ width:100%; height:100%; object-fit:cover; display:block; }
.jumbo .slide.is-active img{ animation:kenHold 7000ms ease both; } /* 7s zoom 1.20->1.00 */
@keyframes kenHold{ from{ transform:scale(1.20) } to{ transform:scale(1.00) } }

/* Hide any Owl artifacts if markup remains */
.jumbo .jumbo .owl-nav, .jumbo .owl-stage-outer, .jumbo .owl-stage, .jumbo .owl-item{ all:unset; }
.jumbo .owl-carousel{ all:unset; display:block; position:relative; }

/* === v9 Pure Crossfade with fixed overlay === */
.jumbo{ position:relative; height:480px; overflow:hidden }
.jumbo .banner-slides{ position:absolute; inset:0; }
.jumbo .banner-slides .slide{ position:absolute; inset:0; opacity:0; transition:opacity 1100ms ease; }
.jumbo .banner-slides .slide.is-active{ opacity:1; }
.jumbo .banner-slides .slide img{ width:100%; height:100%; object-fit:cover; display:block; }
.jumbo .banner-slides .slide.is-active img{ animation:kenHold 7000ms ease both; }
@keyframes kenHold{ from{ transform:scale(1.20) } to{ transform:scale(1.00) } }

.jumbo .banner-overlay{ position:absolute; inset:0; pointer-events:none; display:flex; align-items:center; }
.jumbo .overlay-inner{ max-width:980px; margin-left:6vw; }
.jumbo .overlay-inner h1{ color:#fff; font-family: 'Poppins', system-ui, -apple-system, Helvetica, Arial, sans-serif; font-weight:700; font-size: clamp(28px, 4vw, 56px); line-height:1.1; text-shadow: 0 14px 46px rgba(0,0,0,.35); }

/* Remove any Owl leftovers visually */
.jumbo .owl-*, .jumbo .owl-carousel{ display:none !important }

/* === v10: Blue tint layer above images (98% opacity), text above tint, no image drag === */
.jumbo{ position:relative; height:480px; overflow:hidden }
.jumbo .banner-slides{ position:absolute; inset:0; z-index:0 }
.jumbo .banner-tint{ position:absolute; inset:0; z-index:1; background: var(--banner-tint); pointer-events:none }
.jumbo .banner-overlay{ position:absolute; inset:0; z-index:2; display:flex; align-items:center; pointer-events:none }
.jumbo .overlay-inner{ max-width:980px; margin-left:6vw }
.jumbo .overlay-inner h2{ color:#fff; font-family:'Poppins',system-ui,-apple-system,Helvetica,Arial,sans-serif; font-weight:700; font-size:clamp(26px,3.2vw,44px); line-height:1.15; text-shadow:0 14px 46px rgba(0,0,0,.35) }



.jumbo .overlay-inner .texto{ margin-left:190px;color:#fff; font-family:'Poppins',system-ui,-apple-system,Helvetica,Arial,sans-serif; font-weight:300; font-size:18; line-height:1.16; text-shadow:0 14px 46px rgba(0,0,0,.35) }



/* crossfade remains from v9 */
.jumbo .banner-slides .slide{ position:absolute; inset:0; opacity:0; transition:opacity 1100ms ease }
.jumbo .banner-slides .slide.is-active{ opacity:1 }
.jumbo .banner-slides .slide img{
  width:100%; height:100%; object-fit:cover; display:block;
  -webkit-user-drag:none; user-select:none; -webkit-user-select:none; -ms-user-select:none;
  pointer-events:none; backface-visibility:hidden; -webkit-backface-visibility:hidden;
}
.jumbo .banner-slides .slide.is-active img{ animation:kenHold 7000ms ease both }
@keyframes kenHold{ from{ transform:scale(1.20) } to{ transform:scale(1.00) } }

/* v12: deslocamento ajustável do conteúdo do topbar */
.topbar > .container-1090,
.topbar > .container-1080,
.topbar > .container,
.topbar .inner,
.topbar .topbar-inner{
  position: relative;
  left: var(--topbar-shift);
}

/* v12b: deslocamento do topo com transform (mais robusto) */
.topbar{ position: relative; }
.topbar > .container-1090,
.topbar > .container-1080,
.topbar > .container,
.topbar > .row,
.topbar > div:first-child{
  transform: translateX(var(--topbar-shift)) !important;
  will-change: transform;
}

/* === Ajustes rápidos de apresentação (v-now, 2025-10-10) === */
/* Este bloco foi adicionado ao final para preservar tudo que já existia. */
/* Você pode ajustar os valores tunáveis abaixo sem tocar no restante do CSS. */
:root{
  /* TUNÁVEIS */
  --refs-font: .80rem;      /* tamanho base das Refs */
  --refs-line: 1.22;        /* altura de linha das Refs */
  --refs-heading: .95rem;   /* tamanho dos h6 nas Refs */

  --banner-edge: 6vw;       /* margem direita do banner text */
  --banner-maxw: 820px;     /* largura máx. do bloco de texto do banner */
  --banner-h2: clamp(22px, 3vw, 40px);
  --banner-p:  clamp(16px, 3.6vw, 30px);
}

/* Refs (parte #links) – tipografia mais enxuta e consistente */
#links.section-refs,
#links .section-refs{
  font-size: var(--refs-font);
  line-height: var(--refs-line);
}
#links .ref-col h6{
  font-size: var(--refs-heading);
  margin-bottom: .45rem;
  padding-bottom: .35rem;
}
#links .refs-grid{ column-gap: 18px; }
#links .ref-col ul li{ margin: .18rem 0; }

/* Banner – alinhado à direita, bloco mais estreito e fontes levemente menores */
.jumbo .banner-overlay{ justify-content: flex-end; }
.jumbo .overlay-inner{
  margin-left: auto;
  margin-right: var(--banner-edge);
  max-width: var(--banner-maxw);
  text-align: right;
}
.jumbo .overlay-inner h2{
  font-size: var(--banner-h2);
}
.jumbo .overlay-inner p{
  font-size: var(--banner-p);
  line-height: 1.18;
}

.logo img{
  padding-left: 25px;
}


@media screen and (max-width: 576px) {
 .hidden-xs{
  display:none;
 }

 .visible-xs {
  display:block;
 }
}

.slogan {
  max-width:1080px;
  margin:0 auto;
  text-align: left;
  color:#fff; font-family:'Poppins',system-ui,-apple-system,Helvetica,Arial,sans-serif; font-weight:80; font-size:24px; line-height:1.25; text-shadow:0 14px 46px rgba(0,0,0,.35);
}

/* Coluna central (texto) sempre alinhado à esquerda */
.section-3cols .col-center {
  text-align: left;
}

/* Responsividade: em telas menores, “vira” uma coluna só,
   mantendo o texto central com margens laterais internas */
@media (max-width: 992px){
  .section-3cols {
    grid-template-columns: 1fr; /* empilha */
  }
  .section-3cols .col-left,
  .section-3cols .col-right { display: none; } /* some as laterais */
  .section-3cols .col-center {
    padding: 0 24px; /* margem interna pra dar “respiro” */
  }
}







/* ==== Corrige dots do carrossel de produtos - bolinhas azuis e cinza ==== */
.section-products .owl-theme .owl-dots {
  text-align: center !important;
  margin-top: 10px;
}

.section-products .owl-theme .owl-dots .owl-dot {
  display: inline-block !important;
  margin: 0 5px !important;
}

/* bolinhas inativas */
.section-products .owl-theme .owl-dots .owl-dot span {
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  background-color: #cfcfcf !important;
  display: block !important;
  transition: all 0.3s ease !important;
  border: none !important;
  box-shadow: none !important;
}

/* bolinha ativa (azul) */
.section-products .owl-theme .owl-dots .owl-dot.active span {
  background-color: #007bff !important;
  transform: scale(1.25);
}

/* hover (um azul mais claro) */
.section-products .owl-theme .owl-dots .owl-dot:hover span {
  background-color: #5aa0ff !important;
}



/* ==== FORCE CIRCULAR DOTS (active blue, inactive light gray) ==== */
.section-products .owl-theme .owl-dots { 
  text-align: center !important; 
  margin-top: 10px; 
  line-height: 0 !important;
}
.section-products .owl-theme .owl-dots .owl-dot {
  width: 12px !important;
  height: 12px !important;
  padding: 0 !important;
  margin: 0 6px !important;
  border: 0 !important;
  background: #cfcfcf !important;
  border-radius: 50% !important;
  display: inline-block !important;
  box-shadow: none !important;
  outline: none !important;
}
.section-products .owl-theme .owl-dots .owl-dot span {
  display: none !important; /* ensure button itself renders as the dot */
}
.section-products .owl-theme .owl-dots .owl-dot.active {
  background: #007bff !important;
}
.section-products .owl-theme .owl-dots .owl-dot:hover {
  background: #5aa0ff !important;
}


/* === IWM: Round dots for product carousel === */
.section-products .owl-dots-container,
.section-products .owl-theme .owl-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-top:8px;
}
.section-products .owl-dots-container .owl-dot,
.section-products .owl-theme .owl-dots .owl-dot{
  border:none;
  outline:none;
  padding:0;
  background:transparent;
}
.section-products .owl-dots-container .owl-dot span,
.section-products .owl-theme .owl-dots .owl-dot span{
  display:block;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#d1d5db; /* cinza claro */
  transition:transform .2s ease, background-color .2s ease;
}
.section-products .owl-dots-container .owl-dot.active span,
.section-products .owl-theme .owl-dots .owl-dot.active span{
  background:#0d6efd; /* azul ativo */
}
.section-products .owl-dots-container .owl-dot:hover span,
.section-products .owl-theme .owl-dots .owl-dot:hover span{
  background:#0d6efd;
  transform:scale(1.1);
}
/* === /IWM === */


/* === IWM: Mobile navbar alignment & clickability === */
@media (max-width: 991.98px){
  .navbar.iwm .container-1080{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
  }
  .navbar.iwm .mobile-header{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding: .25rem 0;
  }
  .navbar.iwm .navbar-toggler{
    margin:0;
  }
  .navbar.iwm .mobile-title{
    font-size:1rem;
    line-height:1;
  }
  .navbar.iwm .navbar-collapse{
    width:100%;
  }
  .navbar.iwm .navbar-nav{
    width:100%;
    align-items:flex-start;
  }
  .navbar.iwm .nav-item, 
  .navbar.iwm .nav-link{
    width:100%;
    text-align:left;
  }
  .navbar.iwm .dropdown-menu{
    position:static; /* allow full-width, stacked under item */
    float:none;
    margin:0;
    border-radius:.5rem;
  }
}
/* === /IWM === */


/* === IWM: Pin hamburger and menu fully left on mobile === */
@media (max-width: 991.98px){
  .navbar.iwm{ padding-left:0; padding-right:0; }
  .navbar.iwm .container-1080{ max-width:100%; padding-left:0; padding-right:0; margin:0; }
  .navbar.iwm .mobile-header{ padding-left:0; padding-right:0; }
  .navbar.iwm .navbar-collapse{ padding-left:0; padding-right:0; }
  .navbar.iwm .navbar-nav{ padding-left:0; }
}
/* === /IWM === */


/* === IWM: Fix mobile nav clickability & footer padding === */
@media (max-width: 991.98px){
  /* Ensure the expanded menu sits above other content and captures clicks */
  .navbar.iwm .navbar-collapse.show{
    position: relative;
    z-index: 1100;
    background: var(--iwm-dark);
  }
  /* Make each dropdown area stack and be fully clickable */
  .navbar.iwm .dropdown-menu{
    position: static;
    width: 100%;
    z-index: 1101;
  }

  /* Footer safe padding on small screens */
  footer .container-1080,
  footer .container{
    padding-left: 16px;
    padding-right: 16px;
  }
}
/* === /IWM === */


/* === IWM: mobile dropdown visibility & spacing === */
@media (max-width: 991.98px){
  .navbar.iwm .dropdown-menu{
    display: none;
    padding: .25rem 0;
  }
  .navbar.iwm .dropdown.show > .dropdown-menu,
  .navbar.iwm .dropdown-submenu.show > .dropdown-menu,
  .navbar.iwm .dropdown-menu.show{
    display: block;
  }
  .navbar.iwm .dropdown-item{
    white-space: normal;
  }
  /* slight indent for submenu items */
  .navbar.iwm .dropdown-menu .dropdown-menu{
    padding-left: .75rem;
  }
}
/* === /IWM === */


/* === IWM: mobile padding for videos section === */
@media (max-width: 991.98px){
  section.section-video .container-1080{
    padding-left: 16px;
    padding-right: 16px;
  }
  section.section-video .video-card{
    margin-bottom: 16px;
  }
}
/* === /IWM === */


/* === IWM: nested submenu visibility on mobile === */
@media (max-width: 991.98px){
  .navbar.iwm .dropdown-submenu > .dropdown-menu{ display:none; }
  .navbar.iwm .dropdown-submenu.show > .dropdown-menu{ display:block; }
  /* optional subtle indent for nested depths */
  .navbar.iwm .dropdown-menu .dropdown-submenu > a{ padding-left: 1.25rem; }
  .navbar.iwm .dropdown-menu .dropdown-submenu .dropdown-submenu > a{ padding-left: 1.75rem; }
}
/* === /IWM === */


/* === IWM: mobile submenus open to the side === */
@media (max-width: 991.98px){
  .navbar.iwm .dropdown-menu{ position: relative; }
  .navbar.iwm .dropdown-submenu{ position: relative; }
  .navbar.iwm .dropdown-submenu > .dropdown-menu{
    position: absolute;
    top: 0;
    left: 100%;
    min-width: 240px;
    max-width: calc(100vw - 32px);
    display: none;
    margin-left: 6px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,.15);
  }
  .navbar.iwm .dropdown-submenu.show > .dropdown-menu{
    display: block;
  }
  /* keep menu within viewport */
  .navbar.iwm .dropdown-menu > li.dropdown-submenu:last-child > .dropdown-menu{
    top: auto;
    bottom: 0;
  }
}
/* === /IWM === */

/* navbar-submenu-zfix */
@media (max-width: 991.98px){
  .navbar.iwm .dropdown-menu{ z-index: 1101; }
  .navbar.iwm .dropdown-submenu > .dropdown-menu{ z-index: 1102; }
}

/* =====================================================
   Caret (chevron fino) — apenas quando .has-caret for usado
   ===================================================== */
.dropdown-item.has-caret {
  position: relative;
  padding-right: 1.25rem; /* espaço para o ícone à direita */
}

.dropdown-item.has-caret::after {
  content: "›";             /* chevron fino */
  position: absolute;
  right: .75rem;            /* alinhamento à direita */
  top: 50%;
  transform: translateY(-50%);
  opacity: .6;              /* mesma leveza do modelo */
  font-size: 1rem;          /* tamanho idêntico */
  line-height: 1;
  color: currentColor;      /* herda cor do texto */
}

/* Remove qualquer seta de outros estilos herdados */
.dropdown-item:not(.has-caret)::after {
  content: none !important;
}


#breadcrumbs-one
{
    list-style: none;
}

#breadcrumbs-one{
  background: #eee;
  border-width: 1px;
  border-style: solid;
  border-color: #fff;
  border-radius: 5px;
  box-shadow: 0 0 2px rgba(0,0,0,.2);
  overflow: hidden;
  width: 100%;
}

#breadcrumbs-one li{
  float: left;
}

/* Container */
#breadcrumbs-one a {
    padding: .7em 1em .7em 2em;
    float: left;
    text-decoration: none;
    color: #444;
    position: relative;
    background: transparent !important; /* fundo transparente */
}

/* Primeiro item */
#breadcrumbs-one li:first-child a {
    padding-left: 1em;
    border-radius: 5px 0 0 5px;
}

/* Hover */
#breadcrumbs-one a:hover {
    background: rgba(255,255,255,0.2); /* leve destaque transparente */
}

/* Setas */
#breadcrumbs-one a::after,
#breadcrumbs-one a::before {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -1.5em;
    border-top: 1.5em solid transparent;
    border-bottom: 1.5em solid transparent;
    background: transparent !important;
    border-left: 1em solid rgba(255,255,255,0.25); /* seta com transparência */
    right: -1em;
}

/* Borda atrás da seta */
#breadcrumbs-one a::before {
    border-left-color: rgba(0,0,0,0.08);
    right: -1.1em;
    z-index: 1;
}

/* Seta principal */
#breadcrumbs-one a::after {
    z-index: 2;
    border-left-color: rgba(255,255,255,0.4); 
    background: transparent !important;
}

/* Hover seta */
#breadcrumbs-one a:hover::after {
    border-left-color: rgba(255,255,255,0.6);
    background: transparent !important;

}

/* Item atual */
#breadcrumbs-one .current,
#breadcrumbs-one .current:hover {
    font-weight: bold;
    background: transparent !important;
    color: #000;
}

/* seta do item atual */
#breadcrumbs-one .current::after {
    border-left-color: rgba(255,255,255,0.8);
}

/* Último item remove seta */
#breadcrumbs-one li:last-child a::before,
#breadcrumbs-one li:last-child a::after {
    content: none;
}

/* Primeiro item ajustes */
ul#breadcrumbs-one li:first-child a::after,
ul#breadcrumbs-one li:first-child a::before {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -1.5em;
    border-top: 1.5em solid transparent;
    border-bottom: 1.5em solid transparent;
}

.image-responsive {
    display: block;
    max-width: 100%;
    width: 100% !important;  /* força ocupar toda largura do container */
    height: auto !important; /* mantém proporção da imagem */
}

.container-1080 img.image-responsive {
    display: block;
    max-width: 100%;
    width: 100% !important;
    height: auto !important;
}
