/* ===== RESET & VARS ===== */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --blue:    #0057FF;
      --blue-lt: #1A72FF;
      --blue-dk: #003DC4;
      --cyan:    #00C8FF;
      --green:   #25D366;
      --green-dk:#1DA851;
      --dark:    #070A10;
      --dark2:   #0D1120;
      --dark3:   #111828;
      --mid:     #1C2535;
      --border:  rgba(255,255,255,.07);
      --white:   #FFFFFF;
      --muted:   rgba(255,255,255,.55);
      --font-h:  'Barlow Condensed', sans-serif;
      --font-b:  'Barlow', sans-serif;
      --ease:    cubic-bezier(.25,.46,.45,.94);
      --filter-logo: brightness(0) invert(1);
      --shadow-logo-glow: drop-shadow(0 0 4px rgba(0,200,255,.35)) drop-shadow(0 0 10px rgba(0,87,255,.45)) drop-shadow(0 0 20px rgba(0,87,255,.25));
      --shadow-logo-white: drop-shadow(0 0 4px rgba(255,255,255,.15)) drop-shadow(0 0 10px rgba(255,255,255,.15)) drop-shadow(0 0 20px rgba(255,255,255,.15));
    }

    html { scroll-behavior: smooth; }
    body {
      background: var(--dark);
      color: var(--white);
      font-family: var(--font-b);
      overflow-x: hidden;
    }

    /* ===== NAVBAR ===== */
    .navbar {
      position: fixed;
      top: 0; left: 0; right: 0;
      z-index: 1000;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 4vw;
      height: 120px;
      overflow: visible;
      background: rgb(7,10,16);
      backdrop-filter: blur(18px) saturate(180%);
      -webkit-backdrop-filter: blur(18px) saturate(180%);
      border-bottom: 1px solid var(--border);
      transition: background .4s var(--ease), box-shadow .4s var(--ease), height .45s var(--ease);
    }
    .navbar.scrolled {
      height: 72px;
      background: rgba(7,10,16,.97);
      box-shadow: 0 4px 40px rgba(0,87,255,.12);
    }

    /* Logo */
    .logo {
      display: flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
      flex-shrink: 0;
    }
    .logo-icon {
      height: 114px;width: auto;position: relative;flex-shrink: 0;display: flex;align-items: center;transition: height .45s var(--ease);
    }
    @keyframes logoEntrance {
      0%{opacity: 0;transform: translateX(-18px) scale(.92);}60%{opacity: 1;transform: translateX(4px) scale(1.03);}100%{transform: translateX(0) scale(1);}
    }
    .logo-icon img {
      animation: logoEntrance .7s var(--ease) both;
      height: 90px;
      filter: var(--filter-logo) var(--shadow-logo-white);
      transition: height .45s var(--ease), filter .8s cubic-bezier(.22,.68,0,1.1), transform .8s cubic-bezier(.22,.68,0,1.1);
      will-change: filter, transform;
    }
    .logo:hover .logo-icon img {
      filter:
        var(--filter-logo)
        brightness(1.04)
        drop-shadow(0 0 5px rgba(0,200,255,.25))
        drop-shadow(0 0 14px rgba(0,87,255,.2))
        drop-shadow(0 0 28px rgba(0,87,255,.1));
      transform: translateY(-2px) scale(1.02);
    }
    .navbar.scrolled .logo-icon{height: 60px;}
    .navbar.scrolled .logo-icon img{height: 52px;filter: var(--filter-logo) var(--shadow-logo-glow);}
    .logo-text small{font-size: .58rem;letter-spacing: .18em;color: var(--muted);text-transform: uppercase;}

    .nav-links{display: flex;align-items: center;gap: 2px;list-style: none;}
    .nav-links a{display: flex;align-items: center;gap: 4px;padding: 8px 14px;font-family: var(--font-b);font-size: .8rem;font-weight: 600;letter-spacing: .1em;text-transform: uppercase;color: var(--muted);text-decoration: none;border-radius: 6px;position: relative;transition: color .25s, background .25s;}
    .nav-links a::after{content: '';position: absolute;bottom: 2px;left: 50%;right: 50%;height: 2px;background: var(--blue);border-radius: 2px;transition: left .3s var(--ease), right .3s var(--ease);}
    .nav-links a:hover{color: var(--white);}
    .nav-links a:hover::after{left: 14px;right: 14px;}
    .nav-links a.active{color: var(--white);}

 .nav-dropdown {
  position: relative;
}

.dropdown-menu.mega-menu {
  display: none; /* Desliga o menu por completo */
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(-10px);
  background: rgba(9, 13, 25, 0.97);
  border: 1px solid rgba(0, 87, 255, 0.18);
  border-radius: 16px;
  min-width: 820px;
  opacity: 0;
  box-shadow: 0 32px 64px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(0, 87, 255, 0.08) inset, 0 -1px 0 0 rgba(255, 255, 255, 0.04) inset;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  overflow: hidden;
  z-index: 1010;
}

/* Liga o display flex e a opacidade ao mesmo tempo */
.nav-dropdown:hover .dropdown-menu.mega-menu, 
.nav-dropdown.mega-open .dropdown-menu.mega-menu {
  display: flex !important;
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.nav-dropdown:hover::before {
  content: '';
  position: absolute;
  top: 100%;
  left: -20px;
  right: -20px;
  height: 20px;
  background: transparent;
}

    .mega-left{flex: 0 0 520px;padding: 22px 14px 18px;border-right: 1px solid rgba(255,255,255,.06);display: grid;grid-template-columns: 1fr 1fr;gap: 2px;align-content: start;}
    .mega-header{grid-column: 1/-1;padding: 0 6px 14px;margin-bottom: 6px;border-bottom: 1px solid rgba(255,255,255,.06);}
    .mega-title{display: block;font-family: var(--font-h);font-size: .65rem;font-weight: 800;letter-spacing: .2em;text-transform: uppercase;color: var(--cyan);margin-bottom: 3px;}
    .mega-sub{display: block;font-size: .7rem;color: rgba(255,255,255,.35);}
    .mega-item{display: flex;align-items: flex-start;gap: 10px;padding: 9px 10px;border-radius: 10px;color: rgba(255,255,255,.55);text-decoration: none;font-size: .8rem;font-weight: 500;cursor: pointer;transition: color .2s, background .2s, padding-left .2s;position: relative;}
    .mega-item::after{display: none !important;}
    .mega-item:hover, .mega-item.active{color: var(--white);background: rgba(0,87,255,.1);padding-left: 14px;}
    .mega-item.active{background: rgba(0,87,255,.14);}

    .mega-item-icon{width: 30px;height: 30px;border-radius: 7px;background: rgba(0,87,255,.1);border: 1px solid rgba(0,87,255,.18);display: flex;align-items: center;justify-content: center;flex-shrink: 0;transition: background .2s, border-color .2s, box-shadow .2s;}
    .mega-item-icon svg{width: 14px;height: 14px;fill: none;stroke: #1A72FF;stroke-width: 1.8;stroke-linecap: round;stroke-linejoin: round;}
    .mega-item:hover .mega-item-icon, .mega-item.active .mega-item-icon{background: rgba(0,87,255,.22);border-color: rgba(0,87,255,.45);box-shadow: 0 0 10px rgba(0,87,255,.25);}
    .mega-item:hover .mega-item-icon svg, .mega-item.active .mega-item-icon svg{stroke: var(--cyan);}
    .mega-item-text{flex: 1;}
    .mega-item-arrow{width: 13px;height: 13px;fill: none;stroke: currentColor;stroke-width: 2;stroke-linecap: round;stroke-linejoin: round;opacity: 0;transform: translateX(-5px);transition: opacity .2s, transform .2s;}
    .mega-item:hover .mega-item-arrow, .mega-item.active .mega-item-arrow{opacity: 1;transform: translateX(0);}

    .mega-view-all{grid-column: 1/-1;display: inline-flex;width: fit-content;align-items: center;gap: 8px;margin-top: 10px;padding: 10px 12px;border-radius: 10px;background: rgba(0,87,255,.08);border: 1px solid rgba(0,87,255,.2);color: var(--blue-lt);font-size: .75rem;font-weight: 700;letter-spacing: .06em;text-transform: uppercase;text-decoration: none;transition: background .22s, border-color .22s, color .22s, box-shadow .22s;}
    .mega-view-all::after{display: none !important;}
    .mega-view-all svg{width: 14px;height: 14px;stroke: currentColor;fill: none;stroke-width: 2.2;stroke-linecap: round;stroke-linejoin: round;margin-left: auto;transition: transform .2s;}
    .mega-view-all:hover{background: rgba(0,87,255,.2);border-color: rgba(0,87,255,.5);color: var(--white);box-shadow: 0 4px 20px rgba(0,87,255,.25);}
    .mega-view-all:hover svg{transform: translateX(3px);}
    .mega-right{flex: 1;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 16px;padding: 24px 20px;background: radial-gradient(ellipse 80% 80% at 50% 60%, rgba(0,87,255,.06) 0%, transparent 70%);}

    /* anéis decorativos */
    .mega-ring {
      position: absolute;
      border-radius: 50%;
      border: 1px solid rgba(0,87,255,.12);
      pointer-events: none;
    }
    .mega-ring--1 {
      width: 160px; height: 160px;
      animation: megaRingSpin 12s linear infinite;
      border-color: rgba(0,87,255,.1);
    }
    .mega-ring--2 {
      width: 130px; height: 130px;
      border-color: rgba(0,200,255,.08);
      animation: megaRingSpin 8s linear infinite reverse;
    }
    @keyframes megaRingSpin {
      to { transform: rotate(360deg); }
    }

    /* glow */
    .mega-img-glow {
      position: absolute;
      inset: -30px;
      background: radial-gradient(circle, rgba(0,87,255,.22) 0%, transparent 65%);
      border-radius: 50%;
      animation: megaGlowPulse 3.5s ease-in-out infinite;
      pointer-events: none;
    }
    @keyframes megaGlowPulse {
      0%, 100% { opacity: .55; transform: scale(.88); }
      50%       { opacity: 1;   transform: scale(1.08); }
    }

    /* placa de imagem */
    .mega-img-plate {
      position: relative;
      width: 120px;
      height: 120px;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 1;
    }

    .mega-product-img {
      width: 110px;
      height: 110px;
      object-fit: contain;
      filter: drop-shadow(0 8px 24px rgba(0,87,255,.35));
      transition: opacity .22s ease, transform .22s ease;
      will-change: opacity, transform;
    }
    .mega-product-img.changing {
      opacity: 0;
      transform: scale(.82) translateY(10px);
    }


    .mega-product-info{display: flex;flex-direction: column;align-items: center;gap: 6px;text-align: center;}
    .mega-badge{display: inline-flex;align-items: center;gap: 5px;padding: 3px 10px;border-radius: 100px;background: rgba(37,211,102,.1);border: 1px solid rgba(37,211,102,.2);font-size: .62rem;font-weight: 700;letter-spacing: .1em;text-transform: uppercase;color: #25D366;}
    .mega-badge-dot{width: 5px;height: 5px;border-radius: 50%;background: #25D366;animation: megaBadgeBlink 1.8s ease-in-out infinite;flex-shrink: 0;}
    @keyframes megaBadgeBlink{0%,100%{opacity: 1;}50%{opacity: .3;}}
    .mega-product-name{display: block;font-family: var(--font-h);font-size: .95rem;font-weight: 700;color: var(--white);letter-spacing: .04em;transition: opacity .22s ease;}
    .mega-product-desc{display: block;font-size: .69rem;color: rgba(255,255,255,.42);line-height: 1.5;max-width: 170px;transition: opacity .22s ease;}
    .mega-product-name.changing, .mega-product-desc.changing{opacity: 0;}

    .chevron{width: 10px;height: 10px;fill: none;stroke: currentColor;stroke-width: 2;transition: transform .25s;}
    .nav-dropdown:hover .chevron, .nav-dropdown.mega-open .chevron{transform: rotate(180deg);}
    @media (max-width:900px){.dropdown-menu.mega-menu{display: none !important;}}

    /* ===== NAVBAR ACTIONS ===== */
    .navbar-actions{display: flex;align-items: center;gap: 12px;flex-shrink: 0;}

    .btn-orcamento-nav{position: relative;display: flex;align-items: center;justify-content: center;width: 44px;height: 44px;background: rgba(0,87,255,.12);border: 1px solid rgba(0,87,255,.25);border-radius: 10px;cursor: pointer;color: var(--white);transition: background .25s, border-color .25s, transform .2s, box-shadow .25s;flex-shrink: 0;}
    .btn-orcamento-nav svg{width: 20px;height: 20px;stroke: var(--white);fill: none;transition: stroke .25s;}
    .btn-orcamento-nav:hover{background: rgba(0,87,255,.25);border-color: rgba(0,87,255,.5);transform: translateY(-2px);box-shadow: 0 6px 20px rgba(0,87,255,.3);}
    .btn-orcamento-nav:active{transform: translateY(0);}

    .orcamento-badge{position: absolute;top: -6px;right: -6px;min-width: 20px;height: 20px;padding: 0 5px;background: var(--blue);color: var(--white);font-family: var(--font-b);font-size: .68rem;font-weight: 700;border-radius: 10px;display: flex;align-items: center;justify-content: center;border: 2px solid var(--dark);line-height: 1;transition: transform .2s var(--ease), background .2s;}
    .orcamento-badge:not([data-count="0"]):empty{display: none;}
    .btn-orcamento-nav:hover .orcamento-badge{background: #1a72ff;transform: scale(1.15);}

    .btn-whatsapp-nav{display: flex;align-items: center;gap: 8px;padding: 10px 20px;background: #0057ff;color: var(--white);font-family: var(--font-b);font-size: .78rem;font-weight: 700;letter-spacing: .06em;text-transform: uppercase;text-decoration: none;border-radius: 8px;transition: background .25s, transform .2s, box-shadow .25s;box-shadow: 0 4px 20px rgb(0 87 255);white-space: nowrap;}
    .btn-whatsapp-nav:hover{background: var(--green-dk);transform: translateY(-2px);box-shadow: 0 8px 28px rgba(37,211,102,.4);}
    .btn-whatsapp-nav:active{transform: translateY(0);}
    .btn-whatsapp-nav svg{width: 16px;height: 16px;flex-shrink: 0;}
    .hamburger{display: none;flex-direction: column;gap: 5px;background: none;border: none;cursor: pointer;padding: 6px;z-index: 1100;}
    .hamburger span{display: block;width: 26px;height: 2px;background: var(--white);border-radius: 2px;transition: transform .3s var(--ease), opacity .3s;}
    .hamburger.open span:nth-child(1){transform: translateY(7px) rotate(45deg);}
    .hamburger.open span:nth-child(2){opacity: 0;}
    .hamburger.open span:nth-child(3){transform: translateY(-7px) rotate(-45deg);}

    .hero{min-height: 100vh;display: flex;flex-direction: column;justify-content: center;position: relative;overflow: hidden;padding-top: 120px;padding-bottom: 110px;}
    .hero-bg{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;object-position: center right;transform: scale(1.04);transition: transform 8s var(--ease);animation: slowZoom 12s var(--ease) forwards;pointer-events: none;}
    @keyframes slowZoom{from{transform: scale(1.1);}to{transform: scale(1);}}
    .hero-overlay{position: absolute;inset: 0;background: linear-gradient(105deg, rgba(7,10,16,1) 38%, rgba(7,10,16,.7) 60%, transparent 80%), linear-gradient(0deg, rgba(7,10,16,.9) 0%, transparent 40%);}
    .hero-grid{position: absolute;inset: 0;background-image: linear-gradient(rgba(0,87,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(0,87,255,.04) 1px, transparent 1px);background-size: 60px 60px;mask-image: linear-gradient(105deg, black 35%, transparent 65%);-webkit-mask-image: linear-gradient(105deg, black 35%, transparent 65%);}
    .hero-glow{position: absolute;width: 700px;height: 700px;background: radial-gradient(circle, rgba(0,87,255,.15) 0%, transparent 70%);top: 50%;left: 30%;transform: translate(-50%, -50%);pointer-events: none;}
    .hero-inner{position: relative;z-index: 2;padding: 0 6vw;max-width: none;margin: 0 auto;width: 100%;}

    .hero-tag {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(0,87,255,.12);
      border: 1px solid rgba(0,87,255,.35);
      color: var(--cyan);
      font-size: .7rem;
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
      padding: 6px 14px;
      border-radius: 100px;
      margin-bottom: 28px;
      opacity: 0;
      transform: translateY(16px);
      animation: fadeUp .7s .2s var(--ease) forwards;
    }
    .hero-tag .dot {
      width: 6px; height: 6px;
      border-radius: 50%;
      background: var(--cyan);
      animation: pulse 2s infinite;
    }
    @keyframes pulse {
      0%,100% { opacity: 1; transform: scale(1); }
      50% { opacity: .4; transform: scale(.7); }
    }

    .hero-title {
      font-family: var(--font-h);
      font-size: clamp(3.2rem, 8vw, 7.2rem);
      font-weight: 900;
      line-height: .95;
      letter-spacing: -.01em;
      text-transform: uppercase;
      max-width: 750px;
      opacity: 0;
      transform: translateY(24px);
      animation: fadeUp .8s .35s var(--ease) forwards;
    }
    .hero-title .line-white { color: var(--white); display: block; }
    .hero-title .line-blue {
      color: var(--blue);
      display: block;
      background: linear-gradient(90deg, var(--blue) 0%, var(--cyan) 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      filter: drop-shadow(0 0 32px rgba(0,87,255,.5));
    }

    .hero-sub {
    margin-top: 22px;
    font-size: 1.05rem;
    font-weight: 300;
    color: rgba(255, 255, 255, .7);
    max-width: 680px;
    line-height: 1.6;
    opacity: 0;
    transform: translateY(18px);
    animation: fadeUp .7s .5s var(--ease) forwards;
}

    .hero-actions {
      display: flex;
      align-items: center;
      gap: 16px;
      margin-top: 40px;
      flex-wrap: wrap;
      opacity: 0;
      transform: translateY(18px);
      animation: fadeUp .7s .65s var(--ease) forwards;
    }

    /* Primary button */
    .btn-primary {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 15px 34px;
      background: var(--blue);
      color: var(--white);
      font-family: var(--font-b);
      font-size: .88rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      text-decoration: none;
      border-radius: 8px;
      position: relative;
      overflow: hidden;
      transition: transform .2s var(--ease), box-shadow .3s;
      box-shadow: 0 4px 24px rgba(0,87,255,.35);
    }
    .btn-primary::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.15) 50%, transparent 100%);
      transform: translateX(-100%);
      transition: transform .5s var(--ease);
    }
    .btn-primary:hover { transform: translateY(-3px); box-shadow: 0 12px 36px rgba(0,87,255,.55); }
    .btn-primary:hover::before { transform: translateX(100%); }
    .btn-primary:active { transform: translateY(0); }
    .btn-primary svg { width: 18px; height: 18px; transition: transform .25s; }
    .btn-primary:hover svg { transform: translateX(4px); }

    /* Secondary button (WhatsApp) */
    .btn-secondary {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 14px 30px;
      background: transparent;
      color: var(--white);
      font-family: var(--font-b);
      font-size: .88rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      text-decoration: none;
      border: 1.5px solid rgba(37,211,102,.5);
      border-radius: 8px;
      position: relative;
      overflow: hidden;
      transition: border-color .25s, transform .2s, background .25s, box-shadow .3s;
    }
    .btn-secondary::before {
      content: '';
      position: absolute;
      inset: 0;
      background: var(--green);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform .35s var(--ease);
      z-index: -1;
    }
    .btn-secondary:hover {
      border-color: var(--green);
      box-shadow: 0 8px 30px rgba(37,211,102,.3);
      transform: translateY(-3px);
    }
    .btn-secondary:hover::before { transform: scaleX(1); }
    .btn-secondary svg { width: 18px; height: 18px; flex-shrink: 0; }

    /* ===== STATS BAR ===== */
    .stats-bar {
      position: absolute;
      bottom: 0; left: 0; right: 0;
      z-index: 10;
      background: transparent;
      border-top: 1px solid rgba(255,255,255,.08);
    }
    .stats-inner {
      max-width: none;
      margin: 0 auto;
      padding: 0 6vw;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      overflow: visible;
    }
    .stat-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    text-align: center;
    gap: 10px;
    padding: 28px 16px;
    border-right: 1px solid var(--border);
    transition: background .25s;
    cursor: default;
    position: relative;
    overflow: visible;
}
    .stat-item:last-child { border-right: none; }
    .stat-item:hover { background: rgba(0,87,255,.08); }
    .stat-icon {
      width: 44px; height: 44px;
      background: rgba(0,87,255,.1);
      border: 1px solid rgba(0,87,255,.25);
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: background .25s, border-color .25s, transform .25s;
    }
    .stat-item:hover .stat-icon {
      background: rgba(0,87,255,.2);
      border-color: var(--blue);
      transform: scale(1.08) rotate(-4deg);
    }
    .stat-icon svg { width: 22px; height: 22px; stroke: var(--blue); fill: none; stroke-width: 1.8; }
    .stat-text {
      position: relative;
      z-index: 2;
      min-width: 160px;
    }
    .stat-text strong {
      display: block;
      font-family: var(--font-h);
      font-size: .95rem;
      font-weight: 700;
      letter-spacing: .06em;
      text-transform: uppercase;
      white-space: nowrap;
    }
    .stat-text span {
      font-size: .75rem;
      color: var(--muted);
      white-space: nowrap;
    }

    /* ===== FLOATING WA BUTTON ===== */
    .float-wa {
      position: fixed;
      bottom: 28px;
      right: 28px;
      z-index: 2000;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 10px;
    }
    .float-wa-label {
      background: var(--dark2);
      border: 1px solid var(--border);
      color: var(--white);
      font-size: .75rem;
      font-weight: 600;
      padding: 6px 14px;
      border-radius: 100px;
      white-space: nowrap;
      opacity: 0;
      transform: translateX(10px);
      transition: opacity .3s, transform .3s;
      pointer-events: none;
    }
    .float-wa:hover .float-wa-label {
      opacity: 1;
      transform: translateX(0);
    }
    .float-wa-btn {
      width: 60px; height: 60px;
      background: #25D366;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      box-shadow: 0 6px 28px rgba(37,211,102,.45);
      transition: transform .25s var(--ease), box-shadow .25s;
      position: relative;
    }
    .float-wa-btn::before {
      content: '';
      position: absolute;
      inset: -4px;
      border-radius: 50%;
      border: 2px solid rgba(37,211,102,.5);
      animation: ringPulse 2.5s infinite;
    }
    @keyframes ringPulse {
      0% { transform: scale(1); opacity: .8; }
      70% { transform: scale(1.35); opacity: 0; }
      100% { transform: scale(1.35); opacity: 0; }
    }
    .float-wa-btn:hover {
      transform: scale(1.12);
      box-shadow: 0 12px 40px rgba(37,211,102,.6);
    }
    .float-wa-btn svg { width: 30px; height: 30px; fill: white; }

    /* ===== KEYFRAMES ===== */
    @keyframes fadeUp {
      to { opacity: 1; transform: translateY(0); }
    }

    /* ===== MOBILE NAV OVERLAY ===== */
    /* ===== MOBILE NAV — PREMIUM REDESIGN ===== */

    /* Desktop: ocultar completamente — evita artefato visual na borda direita */
    @media (min-width: 901px) {
      .mobile-nav,
      .mobile-nav-backdrop {
        display: none !important;
      }
    }

    /* Backdrop overlay */
    .mobile-nav-backdrop {
      position: fixed;
      inset: 0;
      z-index: 998;
      background: rgba(0, 0, 0, 0);
      /* backdrop-filter removido do estado base — evita artefato visual na borda direita */
      pointer-events: none;
      transition: background .45s var(--ease), backdrop-filter .45s var(--ease);
    }
    .mobile-nav-backdrop.open {
      background: rgba(0, 0, 0, .6);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      pointer-events: auto;
    }

    /* Main panel — slides in from right */
    .mobile-nav {
      position: fixed;
      top: 0;
      right: 0;
      width: min(88vw, 360px);
      height: fit-content;
      max-height: 100dvh;
      z-index: 1050;
      display: flex;
      flex-direction: column;
      background: #080c18;
      border-left: 1px solid rgba(0, 87, 255, .18);
      border-bottom: 1px solid rgba(0, 87, 255, .18);
      border-bottom-left-radius: 20px;
      transform: translateX(100%);
      transition: transform .5s cubic-bezier(.32,.72,0,1);
      overflow: hidden;
    }
    .mobile-nav.open {
      transform: translateX(0);
    }

    /* Decorative background elements */
    .mobile-nav::before {
      content: '';
      position: absolute;
      top: -120px;
      right: -80px;
      width: 340px;
      height: 340px;
      background: radial-gradient(circle, rgba(0,87,255,.12) 0%, transparent 65%);
      pointer-events: none;
      border-radius: 50%;
    }
    .mobile-nav::after {
      content: '';
      position: absolute;
      bottom: 80px;
      left: -60px;
      width: 220px;
      height: 220px;
      background: radial-gradient(circle, rgba(0,200,255,.06) 0%, transparent 65%);
      pointer-events: none;
      border-radius: 50%;
    }

    /* Grid lines overlay */
    .mobile-nav-grid {
      position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(0,87,255,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,87,255,.04) 1px, transparent 1px);
      background-size: 40px 40px;
      pointer-events: none;
      opacity: 0.6;
    }

    /* Header row inside panel */
    .mobile-nav-header {
      position: relative;
      z-index: 2;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 22px 24px 16px;
      border-bottom: 1px solid rgba(255,255,255,.06);
      flex-shrink: 0;
    }
    .mobile-nav-logo {
      height: 38px !important;
      width: auto;
      filter: brightness(0) invert(1) drop-shadow(0 0 6px rgba(0,87,255,.4));
    }
    .mobile-nav-close {
      width: 36px;
      height: 36px;
      border-radius: 8px;
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.08);
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      color: rgba(255,255,255,.6);
      transition: background .2s, color .2s, border-color .2s;
    }
    .mobile-nav-close:hover {
      background: rgba(0,87,255,.15);
      border-color: rgba(0,87,255,.35);
      color: var(--white);
    }
    .mobile-nav-close svg {
      width: 16px;
      height: 16px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
    }

    /* Nav items wrapper */
    .mobile-nav-links {
      position: relative;
      z-index: 2;
      flex: 1;
      display: flex;
      flex-direction: column;
      padding: 12px 16px 20px;
      gap: 2px;
      overflow-y: auto;
    }

    /* Individual nav item */
    .mobile-nav-links a {
      position: relative;
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 14px 16px;
      border-radius: 12px;
      font-family: var(--font-h);
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: rgba(255,255,255,.5);
      text-decoration: none;
      border: 1px solid transparent;
      transition: color .25s, background .25s, border-color .25s, transform .2s;

      /* stagger animation — set via JS */
      opacity: 0;
      transform: translateX(24px);
    }
    .mobile-nav.open .mobile-nav-links a {
      animation: navItemIn .45s var(--ease) forwards;
    }
    .mobile-nav.open .mobile-nav-links a:nth-child(1) { animation-delay: .08s; }
    .mobile-nav.open .mobile-nav-links a:nth-child(2) { animation-delay: .14s; }
    .mobile-nav.open .mobile-nav-links a:nth-child(3) { animation-delay: .20s; }
    .mobile-nav.open .mobile-nav-links a:nth-child(4) { animation-delay: .26s; }
    .mobile-nav.open .mobile-nav-links a:nth-child(5) { animation-delay: .32s; }

    @keyframes navItemIn {
      to { opacity: 1; transform: translateX(0); }
    }

    .mobile-nav-links a:hover {
      color: var(--white);
      background: rgba(255,255,255,.04);
      border-color: rgba(255,255,255,.07);
      transform: translateX(4px);
    }
    .mobile-nav-links a.active {
      color: var(--white);
      background: rgba(0,87,255,.1);
      border-color: rgba(0,87,255,.22);
    }
    .mobile-nav-links a.active::after {
      content: '';
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 3px;
      height: 60%;
      background: var(--blue);
      border-radius: 0 3px 3px 0;
    }

    /* Icon badge per item */
    .mobile-nav-icon {
      width: 34px;
      height: 34px;
      border-radius: 8px;
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.07);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: background .25s, border-color .25s;
    }
    .mobile-nav-links a.active .mobile-nav-icon,
    .mobile-nav-links a:hover .mobile-nav-icon {
      background: rgba(0,87,255,.14);
      border-color: rgba(0,87,255,.28);
    }
    .mobile-nav-icon svg {
      width: 15px;
      height: 15px;
      stroke: currentColor;
      fill: none;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
      color: rgba(255,255,255,.45);
      transition: color .25s;
    }
    .mobile-nav-links a.active .mobile-nav-icon svg,
    .mobile-nav-links a:hover .mobile-nav-icon svg {
      color: var(--blue-lt);
    }

    /* Arrow indicator */
    .mobile-nav-arrow {
      margin-left: auto;
      width: 16px;
      height: 16px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2;
      stroke-linecap: round;
      color: rgba(255,255,255,.2);
      transition: color .25s, transform .25s;
      flex-shrink: 0;
    }
    .mobile-nav-links a:hover .mobile-nav-arrow {
      color: rgba(255,255,255,.55);
      transform: translateX(3px);
    }

    /* Divider */
    .mobile-nav-divider {
      height: 1px;
      background: rgba(255,255,255,.06);
      margin: 8px 0;
    }

    /* Footer section with CTA */
    .mobile-nav-footer {
      position: relative;
      z-index: 2;
      padding: 16px 20px 24px;
      border-top: 1px solid rgba(255,255,255,.06);
      flex-shrink: 0;
    }
    .mobile-nav-cta {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      width: 100%;
      padding: 14px 20px;
      border-radius: 12px;
      background: linear-gradient(135deg, #0057ff 0%, #003dc4 100%);
      color: var(--white);
      font-family: var(--font-b);
      font-size: .82rem;
      font-weight: 700;
      letter-spacing: .07em;
      text-transform: uppercase;
      text-decoration: none;
      border: 1px solid rgba(0,87,255,.5);
      box-shadow: 0 4px 24px rgba(0,87,255,.3), inset 0 1px 0 rgba(255,255,255,.12);
      transition: transform .2s, box-shadow .2s;
      opacity: 0;
    }
    .mobile-nav.open .mobile-nav-cta {
      animation: navItemIn .45s var(--ease) .38s forwards;
    }
    .mobile-nav-cta:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 32px rgba(0,87,255,.45), inset 0 1px 0 rgba(255,255,255,.12);
    }
    .mobile-nav-cta:active { transform: translateY(0); }
    .mobile-nav-cta svg { width: 16px; height: 16px; flex-shrink: 0; }

    .mobile-nav-status {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      margin-top: 12px;
      font-size: .68rem;
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: rgba(255,255,255,.25);
    }
    .mobile-nav-status-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--green);
      box-shadow: 0 0 6px rgba(37,211,102,.6);
      animation: pulse-dot 2s ease-in-out infinite;
    }
    @keyframes pulse-dot {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: .7; transform: scale(.85); }
    }


    /* ===== PRODUTOS BANNER ===== */
    .produtos-banner {
    background: #F5F4F0;
    border-top: 1px solid rgba(0, 0, 0, .08);
    border-bottom: 1px solid rgba(0, 0, 0, .08);
    padding: 60px 0 48px;
    position: relative;
    overflow: visible;
}
    .produtos-banner::before {
      content: '';
      position: absolute;
      inset: 0;
      background-size: 50px 50px;
    }
    .produtos-banner-inner {
    max-width: none;
    margin: 0 auto;
    padding: 0 6vw;
    display: grid;
    grid-template-columns: 1fr minmax(0, 1fr) 280px;
    grid-template-rows: auto auto;
    gap: 24px;
    align-items: start;
    overflow: visible;
    position: relative;
    z-index: 1;
}
    /* Impede que filhos do grid banner excedam sua coluna */
    .produtos-banner-left,
    .produtos-banner-center,
    .produtos-banner-right { min-width: 0; }

    .section-label {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-family: var(--font-b);
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--blue);
      margin-bottom: 16px;
    }
    .section-label::before {
      content: '';
      display: block;
      width: 20px;
      height: 2px;
      background: var(--blue);
      border-radius: 2px;
    }
    .produtos-banner-title {
      font-family: var(--font-h);
      font-size: clamp(2.4rem, 4.5vw, 3.6rem);
      font-weight: 900;
      line-height: 1.05;
      letter-spacing: -.01em;
      margin-bottom: 16px;
      color: #0D1120;
    }
    .produtos-banner-title .line-white { color: #0D1120 !important; }
    .produtos-banner-sub {
      font-size: .95rem;
      color: #6B7280;
      line-height: 1.65;
      max-width: 460px;
      margin-bottom: 32px;
    }
    .produtos-features {
      display: flex;
      flex-wrap: nowrap;
      gap: 16px 32px;
      grid-column: 1 / -1;  /* ocupa as 3 colunas — linha 2 do grid */
      margin-top: 0;
      width: 100%;
    }

    .pf-item {
      display: flex;
      align-items: flex-start;
      gap: 12px;
    }
    .pf-item svg {
      width: 18px; height: 18px;
      stroke: var(--blue);
      fill: none;
      stroke-width: 1.8;
      flex-shrink: 0;
      margin-top: 2px;
    }
    .pf-item strong {
      display: block;
      font-size: .82rem;
      font-weight: 700;
      font-family: var(--font-h);
      letter-spacing: .04em;
      text-transform: uppercase;
      color: #0D1120;
    }
    .pf-item span {
      display: block;
      font-size: .73rem;
      color: #6B7280;
      line-height: 1.4;
    }

    /* Banner product image */
    .produtos-banner-center { display: flex; justify-content: center; }
    .produtos-banner-img {
    position: relative;
    width: 510px;
    display: flex;
    align-items: center;
    justify-content: center;
}
    .pb-img-glow {
      position: absolute;
      width: 260px; height: 260px;
      background: radial-gradient(circle, rgba(0,87,255,.18) 0%, transparent 70%);
      border-radius: 50%;
      top: 50%; left: 50%;
      transform: translate(-50%,-50%);
    }
    .produtos-banner-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    position: relative;
    z-index: 1;
    filter: drop-shadow(0 20px 40px rgba(0, 0, 0, .25));
}
    .produtos-banner-img .placeholder-visual {
      width: 240px; height: 200px;
      background: var(--mid);
      border-radius: 16px;
      border: 1px solid var(--border);
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      z-index: 1;
    }
    .produtos-banner-img .placeholder-visual svg {
      width: 80px; height: 80px;
      stroke: var(--blue);
      fill: none;
      stroke-width: 1.5;
      opacity: .6;
    }

    /* Social proof card */
    .social-proof-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 16px;
    padding: 28px 24px;
    text-align: left;
    transition: transform .32s var(--ease), box-shadow .32s var(--ease), border-color .32s;
}
    .social-proof-card:hover {
      transform: translateY(-5px) scale(1.015);
      box-shadow: 0 16px 48px rgba(0, 87, 255, .13), 0 2px 12px rgba(0,0,0,.08);
      border-color: rgba(0, 87, 255, .22);
    }
  .sp-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    border-bottom: 1px solid #ebebeb;
    padding-bottom: 10px;
}
    .sp-seal {
      flex-shrink: 0;
      width: 52px;
      height: 52px;
    }
    .sp-stars {
      display: flex;
      justify-content: flex-start;
      gap: 4px;
      margin-bottom: 8px;
    }
    .sp-stars svg {
      width: 20px; height: 20px;
      color: #F59E0B;
      transition: transform .2s var(--ease);
    }
    .social-proof-card:hover .sp-stars svg:nth-child(1) { transform: translateY(-3px) rotate(-8deg); transition-delay: .00s; }
    .social-proof-card:hover .sp-stars svg:nth-child(2) { transform: translateY(-5px) rotate(-4deg); transition-delay: .04s; }
    .social-proof-card:hover .sp-stars svg:nth-child(3) { transform: translateY(-6px) rotate(0deg);  transition-delay: .08s; }
    .social-proof-card:hover .sp-stars svg:nth-child(4) { transform: translateY(-5px) rotate(4deg);  transition-delay: .12s; }
    .social-proof-card:hover .sp-stars svg:nth-child(5) { transform: translateY(-3px) rotate(8deg);  transition-delay: .16s; }
    .sp-count {
    font-family: var(--font-h);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    line-height: 1.3;
    margin-bottom: 10px;
    color: #0D1120;
}
    .sp-text {
      font-size: .78rem;
      color: #6B7280;
      line-height: 1.5;
    }

    /* ===== HOVER ANIMATIONS — PRODUTOS BANNER ===== */

    /* Imagem do produto: flutua e glow cresce */
    .produtos-banner-img {
      transition: transform .4s var(--ease);
    }
    .produtos-banner-img:hover {
      transform: translateY(-8px);
    }
    .produtos-banner-img img {
      transition: filter .4s var(--ease), transform .4s var(--ease);
    }
    .produtos-banner-img:hover img {
      filter: drop-shadow(0 28px 52px rgba(0, 87, 255, .35)) drop-shadow(0 8px 20px rgba(0,0,0,.2));
      transform: scale(1.04);
    }
    .pb-img-glow {
      transition: opacity .4s var(--ease), transform .4s var(--ease);
    }
    .produtos-banner-img:hover .pb-img-glow {
      opacity: 1.8;
      transform: translate(-50%, -50%) scale(1.35);
    }

    /* Feature items (Pronta Entrega, Alta Durabilidade…) */
    .pf-item {
      transition: transform .25s var(--ease);
      cursor: default;
    }
    .pf-item:hover {
      transform: translateY(-3px);
    }
    .pf-item svg {
      transition: stroke .25s, transform .3s var(--ease), filter .3s;
    }
    .pf-item:hover svg {
      stroke: var(--blue-dk);
      transform: scale(1.22) rotate(-6deg);
      filter: drop-shadow(0 0 6px rgba(0,87,255,.45));
    }
    .pf-item strong {
      transition: color .25s;
    }
    .pf-item:hover strong {
      color: var(--blue);
    }
    .pf-item span {
      transition: color .25s;
    }
    .pf-item:hover span {
      color: #374151;
    }

    /* Section label (— PRODUTOS) */
    .section-label {
      transition: letter-spacing .3s var(--ease), color .25s;
    }
    .section-label:hover {
      letter-spacing: .26em;
      color: var(--blue-dk);
    }

    /* Título do banner: cursor padrão */
    .produtos-banner-title {
      cursor: default;
    }
    .produtos-banner-title .line-blue {
      color: var(--blue);
    }

    /* ===== PRODUTOS GRID SECTION ===== */
    
    


    /* ===== RESPONSIVE ===== */


    @media (max-width: 1280px) {


      /* cards: 3 → still fine while sidebar is at full 240px */
      .produtos-cards { grid-template-columns: repeat(3, 1fr); }
      .produtos-grid-inner { gap: 24px; }
      /* banner: hide heavy center image to free space */
      .produtos-banner-inner { grid-template-columns: 1fr 280px; gap: 36px; }
      .produtos-banner-center { display: none; }
      .produtos-banner-right { display: block; grid-column: 2; grid-row: 1; }
    }

    /* NEW: intermediate stop — sidebar still visible but cards need to drop to 2 columns */
    @media (max-width: 1024px) {
      .produtos-cards { grid-template-columns: repeat(2, 1fr); }
    }


    /* ===== BENEFÍCIOS V2 (IGUAL IMAGEM) ===== */
.beneficios-v2 {
  background: #ffffff;
  padding: 50px 0;
}

.beneficios-v2-container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 6vw;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}

/* ITEM */
.b2-item {
  text-align: center;
  padding: 32px 24px;
  position: relative;
}

/* DIVISÓRIA */
.b2-item:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 20%;
  height: 60%;
  width: 1px;
  background: rgba(0,0,0,.08);
}

/* ÍCONE */
.b2-icon {
  margin-bottom: 18px;
}

.b2-icon svg {
  width: 42px;
  height: 42px;
  stroke: var(--blue);
  fill: none;
  stroke-width: 1.8;
}

/* TÍTULO */
.b2-item h3 {
  font-family: var(--font-h);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 10px;
  color: #0D1120;
}

/* TEXTO */
.b2-item p {
  font-size: .8rem;
  color: #6B7280;
  line-height: 1.5;
  margin-bottom: 14px;
}

/* BADGE */
.b2-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #F1F5F9;
  border-radius: 8px;
  padding: 6px 10px;
  font-size: .72rem;
  font-weight: 600;
  color: #334155;
}

.b2-badge svg {
  width: 14px;
  height: 14px;
  stroke: var(--blue);
  stroke-width: 2;
}

/* RESPONSIVO */
@media (max-width: 900px) {
  .beneficios-v2-container {
    grid-template-columns: repeat(2, 1fr);
  }

  .b2-item:nth-child(2)::after {
    display: none;
  }


  .footer-tagline {
    max-width: none!important;
}


}

@media (max-width: 560px) {
  .beneficios-v2-container {
    grid-template-columns: 1fr;
  }

  .b2-item::after {
    display: none;
  }
}
/* HEADLINE */
.b2-headline {
  text-align: center;
  max-width: 900px;
  margin: 0 auto 40px;
}

.b2-headline h2 {
  font-family: var(--font-h);
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #0D1120;
  margin-bottom: 12px;
}

.b2-headline h2 span {
  color: var(--blue);
}

.b2-headline p {
  font-size: .95rem;
  color: #6B7280;
  line-height: 1.6;
}


/* ===== PRODUTOS GRID SECTION ===== */
    .produtos-grid-section {
      background: #fff;
      padding: 48px 0 80px;
    }
    .produtos-grid-inner {
      margin: 0 auto;
      padding: 0 6vw;
      display: grid;
      grid-template-columns: 240px 1fr;
      gap: 36px;
      align-items: start;
    }

    /* Sidebar */
    .filtros-sidebar {
      background: #ffffff;
      border: 1px solid rgba(0,0,0,.1);
      border-radius: 14px;
      padding: 24px 20px;
      position: sticky;
      top: 100px;
    }
    .filtros-header {
      display: flex;
      align-items: center;
      gap: 8px;
      font-family: var(--font-h);
      font-size: .9rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      margin-bottom: 24px;
      padding-bottom: 16px;
      border-bottom: 1px solid rgba(0,0,0,.08);
      color: #0D1120;
    }
    .filtros-header svg {
      width: 16px; height: 16px;
      stroke: var(--blue);
      fill: none;
      stroke-width: 2;
    }
    .filtro-group {
      margin-bottom: 24px;
    }
    .filtro-group-title {
      font-family: var(--font-h);
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: #9CA3AF;
      margin-bottom: 12px;
    }

    .filtro-count {
      margin-left: auto;
      background: #E5E7EB;
      border-radius: 100px;
      padding: 1px 8px;
      font-size: .7rem;
      font-weight: 600;
      color: #6B7280;
    }
    .filtro-ajuda {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 14px 16px;
      background: rgba(37,211,102,.07);
      border: 1px solid rgba(37,211,102,.2);
      border-radius: 10px;
      text-decoration: none;
      margin-top: 8px;
      transition: background .25s, border-color .25s;
    }
    .filtro-ajuda:hover {
      background: rgba(37,211,102,.12);
      border-color: rgba(37,211,102,.4);
    }
    .filtro-ajuda svg { width: 28px; height: 28px; flex-shrink: 0; color: var(--green); }
    .filtro-ajuda strong {
      display: block;
      font-size: .8rem;
      font-weight: 700;
      color: #0D1120;
    }
    .filtro-ajuda span {
      font-size: .72rem;
      color: #6B7280;
    }

    /* Toolbar */
    .produtos-toolbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 14px 0 20px;
      border-bottom: 1px solid rgba(0,0,0,.1);
      margin-bottom: 24px;
      flex-wrap: wrap;
      gap: 12px;
    }
    .toolbar-left {
      display: flex;
      align-items: center;
      gap: 14px;
    }
    .btn-limpar {
      display: flex;
      align-items: center;
      gap: 6px;
      background: none;
      border: 1px solid rgba(0,0,0,.15);
      color: #6B7280;
      font-family: var(--font-b);
      font-size: .75rem;
      font-weight: 600;
      letter-spacing: .06em;
      text-transform: uppercase;
      padding: 7px 14px;
      border-radius: 6px;
      cursor: pointer;
      transition: border-color .2s, color .2s;
    }
    .btn-limpar:hover { border-color: var(--blue); color: var(--blue); }
    .btn-limpar svg { width: 13px; height: 13px; stroke: currentColor; fill: none; stroke-width: 2; }
    .toolbar-count {
      font-size: .8rem;
      color: #6B7280;
    }
    .toolbar-count strong { color: #0D1120; }
    .toolbar-right { display: flex; align-items: center; gap: 10px; }
    .toolbar-sort-label {
      font-size: .78rem;
      color: #6B7280;
    }
    .toolbar-select {
      background: #ffffff;
      border: 1px solid rgba(0,0,0,.15);
      border-radius: 6px;
      color: #0D1120;
      font-family: var(--font-b);
      font-size: .8rem;
      padding: 7px 12px;
      cursor: pointer;
      outline: none;
      transition: border-color .2s;
    }
    .toolbar-select:focus { border-color: var(--blue); }


   /* ── Category filter interaction ── */
.filtro-check {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 0;
    width: 100%;
    font-size: .875rem;
    color: #374151;
    line-height: 1.3;
    cursor: pointer;
}
.filtro-check input[type="radio"],
.filtro-check input[type="checkbox"] { display: none; }
.filtro-check .checkmark {
    width: 16px; height: 16px;
    border: 1.5px solid rgba(0,0,0,.2);
    border-radius: 4px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s, border-color .2s;
}
.filtro-check.active { color: #0D1120; font-weight: 600; }
.filtro-check.active .checkmark { background: #0057ff; border-color: #0057ff; }
.filtro-check.active .checkmark::after {
    content: '';
    width: 9px; height: 5px;
    border-left: 2px solid white;
    border-bottom: 2px solid white;
    transform: rotate(-45deg) translateY(-1px);
}
.filtro-check:hover { color: #0D1120; }


.cat-count {
    margin-left: auto;
    font-size: 0.7rem;
    font-weight: 600;
    color: rgb(107, 114, 128);
    background: rgb(229, 231, 235);
    border-radius: 100px;
    padding: 1px 8px;
}
.filtro-check .cat-name {
  flex: 1; /* Preenche o espaço disponível e empurra o número para a direita */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* ── Loading state ── */
.prod-loading {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 260px;
}
.prod-loading-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  color: rgba(160,200,240,.6);
  font-size: .9rem;
  letter-spacing: .04em;
}
.prod-loading-beam {
  width: 120px;
  height: 3px;
  background: rgba(0,87,255,.15);
  border-radius: 3px;
  position: relative;
  overflow: hidden;
}
.prod-loading-beam::after {
  content: '';
  position: absolute;
  left: -40%;
  top: 0;
  width: 40%;
  height: 100%;
  background: linear-gradient(90deg, transparent, #0057ff, transparent);
  animation: beamScan .9s ease-in-out infinite;
}
@keyframes beamScan {
  0%   { left: -40%; }
  100% { left: 100%; }
}

/* ── Empty state ── */
.prod-empty {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 200px;
  color: rgba(160,200,240,.5);
  font-size: .95rem;
}

/* ── Product card using real images ── */
.prod-card-real {
  background: #ffffff;
  border: 1px solid #e4e9f0;
  border-radius: 16px;
  overflow: hidden;
  transition: border-color .25s, transform .25s, box-shadow .25s;
  animation: cardFadeIn .35s ease forwards;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.prod-card-real:hover {
  border-color: #b3c6f0;
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,87,255,.12);
}
@keyframes cardFadeIn {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}
.prod-card-real .prod-card-img-wrap {
  position: relative;
  width: 100%;
  padding-top: 72%;
  overflow: hidden;
}
.prod-card-real .prod-card-img-wrap img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 8px;
    transition: transform .4s ease;
    cursor: pointer;
}
.prod-card-real:hover .prod-card-img-wrap img {
  transform: scale(1.06);
}
.prod-card-real .card-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: linear-gradient(135deg, #0057ff, #003acc);
  color: #fff;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 20px;
  z-index: 2;
}
.prod-card-real .prod-card-body {
  padding: 18px 18px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.prod-card-real h3 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.12rem;
  font-weight: 700;
  color: #0d1f3c;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin: 0 0 4px;
}
.prod-card-real .prod-sku {
  font-size: .72rem;
  color: #7a8fa8;
  margin-bottom: 10px;
}
.prod-card-real .prod-benefit {
  font-size: .82rem;
  color: #3d5068;
  line-height: 1.5;
  margin-bottom: 12px;
}
.prod-card-real .prod-compat-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 14px;
}
.prod-card-real .prod-compat-tag {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .04em;
  background: #eef2ff;
  border: 1px solid #c7d4f8;
  color: #2558d9;
  padding: 3px 8px;
  border-radius: 20px;
}
.prod-card-real .prod-entrega {
  display: inline-block;
  width: fit-content;
  font-size: .72rem;
  color: #16a34a;
  font-weight: 600;
  letter-spacing: .04em;
  margin-bottom: 14px;
}
.prod-card-real .prod-actions {
    display: flex;
    gap: 8px;
    flex-wrap: nowrap;
    flex-direction: row;
    margin-top: auto;
}
.prod-card-real .btn-prod-wa {
    display: flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, #25d366, #1ab557);
    color: #fff;
    font-size: .52rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: 9px 12px;
    border-radius: 8px;
    text-decoration: none;
    flex: 1;
    justify-content: center;
    transition: opacity .2s, transform .2s;
    white-space: nowrap;
}
.prod-card-real .btn-prod-wa:hover { opacity: .88; transform: translateY(-1px); }
.prod-card-real .btn-prod-wa svg { width: 15px; height: 15px; flex-shrink: 0; }
.prod-card-real .btn-prod-det {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1.5px solid #0057ff;
  color: #0057ff;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 9px 12px;
  border-radius: 8px;
  text-decoration: none;
  flex: 1;
  white-space: nowrap;
  transition: background .2s, color .2s;
}
.prod-card-real .btn-prod-det:hover {
  background: #0057ff;
  color: #fff;
}

    /* Product cards grid */
    .produtos-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    align-items: stretch;
}
    .prod-card {
      background: #ffffff;
      border: 1px solid rgba(0,0,0,.08);
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 2px 8px rgba(0,0,0,.06);
      transition: border-color .25s, transform .25s, box-shadow .25s;
    }
    .prod-card:hover {
      border-color: rgba(0,87,255,.35);
      transform: translateY(-4px);
      box-shadow: 0 16px 40px rgba(0,87,255,.12), 0 0 0 1px rgba(0,87,255,.1);
    }
    .prod-card-img {
      background: #F4F6FA;
      height: 140px;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      overflow: hidden;
    }
    .prod-img-placeholder {
      width: 90px; height: 90px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .prod-img-placeholder svg { width: 80px; height: 80px; }
    .ceramic-img { background: radial-gradient(circle at center, rgba(180,100,30,.18), transparent 70%); }
    .ceramic-img-2 { background: radial-gradient(circle at center, rgba(180,100,30,.12), transparent 70%); }
    .lente-img { background: radial-gradient(circle at center, rgba(0,200,255,.1), transparent 70%); }
    .lente-img-2 { background: radial-gradient(circle at center, rgba(0,200,255,.08), transparent 70%); }
    .bico-img { background: radial-gradient(circle at center, rgba(255,160,0,.12), transparent 70%); }
    .bico-img-2 { background: radial-gradient(circle at center, rgba(255,160,0,.1), transparent 70%); }
    .capa-img { background: radial-gradient(circle at center, rgba(0,87,255,.1), transparent 70%); }
    .biqueira-img { background: radial-gradient(circle at center, rgba(0,87,255,.1), transparent 70%); }
    .prod-badge-compat {
      position: absolute;
      bottom: 8px; left: 8px;
      background: rgba(0,87,255,.1);
      border: 1px solid rgba(0,87,255,.25);
      border-radius: 4px;
      font-size: .62rem;
      font-weight: 600;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: var(--blue);
      padding: 3px 8px;
    }
    .prod-card-body {
      padding: 16px;
    }
    .prod-card-body h3 {
      font-family: var(--font-h);
      font-size: .97rem;
      font-weight: 700;
      letter-spacing: .02em;
      margin-bottom: 10px;
      color: #0D1120;
    }
    .prod-features {
      list-style: none;
      margin-bottom: 12px;
    }
    .prod-features li {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: .73rem;
      color: #6B7280;
      padding: 2px 0;
    }
    .prod-features li svg {
      width: 12px; height: 12px;
      stroke: var(--green);
      fill: none;
      flex-shrink: 0;
    }
    .prod-entrega {
      display: inline-block;
      background: rgba(37,211,102,.12);
      border: 1px solid rgba(37,211,102,.3);
      border-radius: 4px;
      font-size: .64rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--green);
      padding: 3px 10px;
      margin-bottom: 12px;
    }
    .prod-actions {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .btn-prod-wa {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      padding: 8px 12px;
      background: var(--green);
      color: var(--white);
      font-family: var(--font-b);
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .06em;
      text-transform: uppercase;
      text-decoration: none;
      border-radius: 6px;
      transition: background .2s, transform .2s;
    }
    .btn-prod-wa:hover { background: var(--green-dk); transform: translateY(-1px); }
    .btn-prod-wa svg { width: 13px; height: 13px; flex-shrink: 0; }
    .btn-prod-det {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 7px 12px;
      background: transparent;
      border: 1px solid rgba(0,0,0,.15);
      border-radius: 6px;
      font-family: var(--font-b);
      font-size: .72rem;
      font-weight: 600;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: #6B7280;
      text-decoration: none;
      transition: border-color .2s, color .2s;
    }
    .btn-prod-det:hover { border-color: var(--blue); color: var(--blue); }

    /* CTA Strip */
    .produtos-cta-strip {
      display: flex;
      align-items: center;
      background: #ffffff;
      border: 1px solid rgba(0,0,0,.1);
      border-radius: 12px;
      padding: 20px 24px;
      margin-top: 28px;
      flex-wrap: wrap;
      gap: 16px;
    }
    .pcs-item {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      flex: 1;
      min-width: 180px;
    }
    .pcs-item svg {
      width: 22px; height: 22px;
      stroke: var(--blue);
      fill: none;
      stroke-width: 1.8;
      flex-shrink: 0;
      margin-top: 2px;
    }
    .pcs-item strong {
      display: block;
      font-size: .8rem;
      font-weight: 700;
      font-family: var(--font-h);
      letter-spacing: .04em;
      text-transform: uppercase;
      color: #0D1120;
    }
    .pcs-item span {
      font-size: .72rem;
      color: #6B7280;
    }
.btn-cta-strip {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 22px;
    background: #0057ff;
    color: var(--white);
    font-family: var(--font-b);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 8px;
    flex-shrink: 0;
    transition: background .2s, transform .2s, box-shadow .25s;
    box-shadow: 0 4px 20px #0057ff;
    white-space: nowrap;
}
    .btn-cta-strip:hover { background: var(--green-dk); transform: translateY(-2px); box-shadow: 0 8px 28px rgba(37,211,102,.4); }
    .btn-cta-strip svg { width: 16px; height: 16px; flex-shrink: 0; }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 900px) {
      .nav-links, .btn-whatsapp-nav { display: none; }
      .hamburger { display: flex; }
      .navbar-actions { gap: 8px; }
      .btn-orcamento-nav { width: 40px; height: 40px; }

      .hero-title { font-size: clamp(2.8rem, 12vw, 5rem); }

      .stats-inner { grid-template-columns: repeat(2, 1fr); }
      .stat-item:nth-child(2) { border-right: none; }
      .stat-item:nth-child(3) { border-right: 1px solid var(--border); border-top: 1px solid var(--border); }
      .stat-item:nth-child(4) { border-right: none; border-top: 1px solid var(--border); }
      .stat-text { min-width: 0; }
      .stat-text strong, .stat-text span { white-space: normal; }

      .produtos-banner-inner { grid-template-columns: 1fr; gap: 24px; }
      .produtos-banner-center { display: none; }
      .produtos-banner-right { display: block; grid-column: 1; grid-row: auto; }
      .social-proof-card {
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 16px 20px;
      }
      .sp-header {
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 0;
        flex-shrink: 0;
      }
      .sp-stars { margin-bottom: 4px; }
      .sp-stars svg { width: 16px; height: 16px; }
      .sp-count { font-size: .72rem; margin-bottom: 0; }
      .sp-text { font-size: .72rem; }
      .produtos-banner { padding-bottom: 32px; }
      .produtos-features {
        flex-wrap: wrap;
        gap: 14px 20px;
      }

      .produtos-grid-inner { grid-template-columns: 1fr; }
      .filtros-sidebar { position: static; }
      .produtos-cards { grid-template-columns: repeat(2, 1fr); }
    }

    @media (max-width: 560px) {
      .hero-inner { padding: 0 24px; }
      .hero-title { font-size: clamp(2.4rem, 13vw, 4rem); }
      .hero-sub { font-size: .92rem; }
      .hero-actions { flex-direction: column; align-items: flex-start; gap: 12px; }
      .btn-primary, .btn-secondary { width: 100%; justify-content: center; }

      .hero {
        min-height: auto;
        padding-top: 90px;
        padding-bottom: 32px;
        justify-content: flex-start;
      }
      .stats-bar { position: relative; bottom: auto; border-top: 1px solid rgba(255,255,255,.08);margin-top: 40px; }
      .stats-inner { grid-template-columns: 1fr 1fr; padding: 0; }
      .stat-item { padding: 14px 16px; gap: 10px; border-right: none; border-top: 1px solid var(--border); }
      .stat-item:first-child { border-top: none; }
      .stat-item:nth-child(2) { border-top: none; }
      .stat-item:nth-child(3) { border-right: none; }
      .stat-item:nth-child(4) { border-right: none; }
      .stat-text strong { font-size: .85rem; }
      .stat-text span { font-size: .72rem; }

      /* social proof card: volta para coluna no mobile estreito */
      .social-proof-card {
        display: block;
        padding: 20px;
      }
      .sp-header {
        display: flex;
        align-items: center;
        gap: 12px;
        border-bottom: 1px solid #ebebeb;
        padding-bottom: 12px;
        margin-bottom: 12px;
      }
      .sp-text {
        font-size: .78rem;
        line-height: 1.5;
      }

      /* features: grid 2 colunas uniforme */
      .produtos-features {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
        flex-wrap: unset;
      }
      .pf-item {
        min-width: 0;
      }

      .float-wa-btn { width: 52px; height: 52px; }
      .float-wa { bottom: 20px; right: 20px; }

      /* toolbar de filtros no mobile */
      .produtos-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        padding: 12px 0 16px;
      }
      .toolbar-left {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
      }
      .btn-limpar {
        white-space: nowrap;
        flex-shrink: 0;
        font-size: .7rem;
        padding: 6px 12px;
      }
      .toolbar-count {
        font-size: .75rem;
        flex: 1;
        text-align: right;
      }
      .toolbar-right {
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
      }
      .toolbar-sort-label { flex-shrink: 0; }
      .toolbar-select { flex: 1; width: 100%; }

      .produtos-cards { grid-template-columns: 1fr; }
      .produtos-cta-strip { flex-direction: column; }
      .pcs-item { min-width: unset; width: 100%; }
      .btn-cta-strip { width: 100%; justify-content: center; }
    }

    /* ===================================================
       CLIENTES SECTION — 300 clientes + 4 benefícios
    =================================================== */
    .clientes-section {
      background: #F4F6FA;
      padding: 56px 0;
      border-top: 1px solid #E0E7F1;
      border-bottom: 1px solid #E0E7F1;
    }
    .clientes-inner {
      max-width: none;
      margin: 0 auto;
      padding: 0 6vw;
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 48px;
      align-items: center;
    }
    .clientes-left {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 12px;
      min-width: 220px;
    }
    .clientes-seal {
      width: 100px;
      height: 100px;
      margin-bottom: 8px;
    }
    .clientes-seal svg {
      width: 100%;
      height: 100%;
    }
    .clientes-count {
      font-family: var(--font-h);
      font-size: 3rem;
      font-weight: 900;
      letter-spacing: -.02em;
      color: var(--blue);
    }
    .clientes-text {
      font-family: var(--font-h);
      font-size: .75rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: #0D1120;
      text-align: center;
      line-height: 1.6;
      margin-bottom: 8px;
    }
    .clientes-sub {
      font-family: var(--font-b);
      font-size: .82rem;
      font-weight: 500;
      color: #6B7280;
      text-align: center;
      line-height: 1.6;
    }

    /* 4 Benefícios em grid */
    .clientes-right {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 24px;
    }
    .cb-item {
      background: #ffffff;
      border: 1px solid rgba(0,0,0,.08);
      border-radius: 8px;
      padding: 24px 18px;
      text-align: center;
      transition: border-color .25s, transform .25s, box-shadow .25s;
    }
    .cb-item:hover {
      border-color: rgba(0,87,255,.25);
      transform: translateY(-4px);
      box-shadow: 0 8px 24px rgba(0,87,255,.08);
    }
    .cb-icon {
      width: 52px;
      height: 52px;
      margin: 0 auto 16px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .cb-icon svg {
      width: 52px;
      height: 52px;
    }
    .cb-item strong {
      display: block;
      font-family: var(--font-h);
      font-size: .75rem;
      font-weight: 700;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: #0D1120;
      margin-bottom: 8px;
    }
    .cb-item p {
      font-family: var(--font-b);
      font-size: .75rem;
      color: #6B7280;
      line-height: 1.6;
      margin: 0;
    }

    /* ===================================================
       GARANTIA SECTION — fundo branco, identico à imagem
    =================================================== */
    .garantia-section {
      background: #ffffff;
      border-top: 1px solid #e8ecf2;
      border-bottom: 1px solid #e8ecf2;
      padding: 64px 0;
    }
    .garantia-inner {
      max-width: none;
      margin: 0 auto;
      padding: 0 6vw;
    }
    /* Headline centralizado */
    .garantia-header {
      text-align: center;
      margin-bottom: 52px;
    }
    .garantia-title {
      font-family: var(--font-h);
      font-size: clamp(1.6rem, 2.4vw, 2.2rem);
      font-weight: 900;
      letter-spacing: .02em;
      line-height: 1.1;
      text-transform: uppercase;
      color: #0D1120;
      margin-bottom: 4px;
    }
    .garantia-brand-line {
      font-family: var(--font-h);
      font-size: clamp(1.6rem, 2.4vw, 2.2rem);
      font-weight: 900;
      letter-spacing: .02em;
      text-transform: uppercase;
      color: #0D1120;
      margin-bottom: 16px;
      line-height: 1.1;
    }
    .garantia-brand-line strong { color: var(--blue); font-weight: 900; }
    .garantia-sub {
      font-family: var(--font-b);
      font-size: .9rem;
      color: #6B7280;
      line-height: 1.72;
      max-width: 560px;
      margin: 0 auto;
    }
    /* 4 cards em linha horizontal */
    .garantia-features {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      align-items: stretch;
    }
    .gf-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 36px 32px 32px 32px;
    background: #ffffff;
    border-right: 1px solid #e8ecf2;
    transition: background .28s var(--ease), transform .28s var(--ease), box-shadow .28s var(--ease);
    position: relative;
    overflow: hidden;
    cursor: default;
    z-index: 0;
    height: 100%;
    box-sizing: border-box;
}
    .gf-item::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(160deg, rgba(0,87,255,.06) 0%, transparent 60%);
      opacity: 0;
      transition: opacity .32s var(--ease);
      pointer-events: none;
      z-index: 0;
    }
    .gf-item::after {
      content: '';
      position: absolute;
      bottom: 0; left: 10%; right: 10%;
      height: 3px;
      background: linear-gradient(90deg, var(--blue) 0%, var(--cyan) 100%);
      border-radius: 2px 2px 0 0;
      transform: scaleX(0);
      transform-origin: center;
      transition: transform .35s var(--ease);
    }
    .gf-item:hover {
      background: #f7f9ff;
      transform: translateY(-6px);
      box-shadow: 0 16px 40px rgba(0,87,255,.1), 0 2px 8px rgba(0,0,0,.05);
      z-index: 1;
    }
    .gf-item:hover::before { opacity: 1; }
    .gf-item:hover::after  { transform: scaleX(1); }

    .gf-item:last-child { border-right: none; }

    .gf-icon {
      width: 60px; height: 60px;
      margin-bottom: 18px;
      flex-shrink: 0;
      position: relative;
      z-index: 1;
      transition: transform .35s var(--ease);
    }
    .gf-item:hover .gf-icon {
      transform: translateY(-4px) scale(1.12);
    }
    .gf-icon svg {
      width: 60px; height: 60px;
      transition: filter .35s var(--ease);
    }
    .gf-item:hover .gf-icon svg {
      filter: drop-shadow(0 6px 14px rgba(0,87,255,.35));
    }
    .gf-icon img {
      width: 64px;
      transition: filter .35s var(--ease), transform .35s var(--ease);
    }
    .gf-item:hover .gf-icon img {
      filter: drop-shadow(0 6px 14px rgba(0,87,255,.3));
      transform: scale(1.08);
    }
    .gf-text { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; width: 100%; }
    .gf-text strong {
      display: block;
      font-family: var(--font-h);
      font-size: .99rem;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: #0D1120;
      margin-bottom: 12px;
      line-height: 1.35;
      transition: color .25s;
    }
    .gf-item:hover .gf-text strong { color: var(--blue); }
    .gf-text p {
      font-family: var(--font-b);
      font-size: .99rem;
      color: #6B7280;
      line-height: 1.68;
      margin-bottom: 18px;
      transition: color .25s;
    }
    .gf-item:hover .gf-text p { color: #4B5563; }
    .gf-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-b);
    font-size: .72rem;
    font-weight: 500;
    color: #636363;
    text-decoration: none;
    letter-spacing: .02em;
    transition: background-color .25s, color .25s, box-shadow .25s, transform .25s;
    background-color: #d8d8d8;
    padding: 5px 5px 7px 6px;
    border-radius: 5px;
    margin-top: auto;
    align-self: center;
    position: relative;
    z-index: 1;
}
    .gf-tag svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    color: #7b7b7b;
    transition: color .25s;
}
    .gf-tag:hover {
      opacity: 1;
      background-color: rgba(0,87,255,.12);
      color: var(--blue);
      box-shadow: 0 3px 12px rgba(0,87,255,.2);
      transform: translateY(-2px);
    }
    .gf-tag:hover svg { color: var(--blue); }

    /* ===================================================
       CTA DARK SECTION — Não sabe qual consumível
    =================================================== */
    .cta-dark-section {
      position: relative;
      background: #060a14;
      overflow: hidden;
      padding: 72px 0;
    }
    /* Imagem de fundo — parallax: top/bottom em px = MAX_PX do JS (60px).
       Valores fixos evitam esticar a imagem além do necessário e preservam qualidade. */
    .cta-dark-bg {
      position: absolute;
      top: -60px;
      left: 0;
      right: 0;
      bottom: -60px;
      background-image: url(../img/hero-bg.jpg);
      background-size: cover;
      background-position: center 60%;
      opacity: .75;
      will-change: transform;
      transform: translateY(0px);
    }
    /* Gradiente: escuro à esq, transparente à dir */
    .cta-dark-overlay {
      position: absolute;
      inset: 0;
    }
    /* Layout: ícone + bloco de texto+botão lado a lado (linha) */
 .cta-dark-inner {
    position: relative;
    z-index: 2;
    max-width: none;
    margin: 0 auto;
    padding: 0 6vw;
    display: flex;
    align-items: flex-start;
    gap: 28px;
}
    .cta-dark-icon {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    border: 3.5px solid rgba(0, 87, 255, .4);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 4px;
}
    .cta-dark-icon svg {
      width: 32px; height: 32px;
      fill: #005dff;
    }
    /* Bloco texto + botão empilhados */
    .cta-dark-body {
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    .cta-dark-body h2 {
      font-family: var(--font-h);
      font-size: clamp(1.2rem, 1.9vw, 1.65rem);
      font-weight: 500;
      letter-spacing: .03em;
      text-transform: uppercase;
      color: var(--white);
      margin-bottom: 10px;
      line-height: 1.15;
    }
    .cta-dark-body p {
      font-family: var(--font-b);
      font-size: .88rem;
      color: rgba(255,255,255,.58);
      line-height: 1.65;
      margin-bottom: 28px;
      max-width: 420px;
    }
.btn-cta-dark {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 28px;
    background: #005dff;
    color: var(--white);
    font-family: var(--font-b);
    font-size: .70rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 8px;
    align-self: flex-start;
    transition: background .2s, transform .2s, box-shadow .25s;
        box-shadow: 0 6px 28px rgb(0 93 255);
}
    .btn-cta-dark:hover {
      background: var(--green-dk);
      transform: translateY(-2px);
      box-shadow: 0 12px 36px rgba(37,211,102,.45);
    }
    .btn-cta-dark svg {
      width: 17px; height: 17px;
      flex-shrink: 0;
      fill: currentColor;
    }
    @media (max-width: 900px) {
      .cta-dark-inner { flex-direction: column; gap: 20px; max-width: 100%; }
      .btn-cta-dark { align-self: stretch; justify-content: center; }
    }

    /* ===================================================
       FOOTER
    =================================================== */
    .site-footer {
      background: #050709;
      border-top: 1px solid var(--border);
    }
    .footer-top {
      padding: 72px 0 56px;
    }
    .footer-inner {
      max-width: none;
      margin: 0 auto;
      padding: 0 6vw;
      display: grid;
      grid-template-columns: 1.8fr 1fr 1fr 1.4fr;
      gap: 48px;
      align-items: start;
    }

    @media (max-width: 768px) {
      .footer-inner {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 32px;
      }
    }

    @media (max-width: 600px) {
      .footer-inner {
        grid-template-columns: 1fr 1fr;
        gap: 24px;
      }
    }
    .footer-brand {}

    .footer-logo {
      display: inline-block;
      margin-bottom: 18px;
    }
    .footer-logo img {
      display: block;
      transition: filter .5s var(--ease), transform .45s var(--ease);
      filter: brightness(1) drop-shadow(0 0 0px rgba(0,87,255,0));
      will-change: filter, transform;
    }
    .footer-logo:hover img {
      filter:
        brightness(1.08)
        drop-shadow(0 0 8px rgba(0,200,255,.55))
        drop-shadow(0 0 22px rgba(0,87,255,.45))
        drop-shadow(0 0 42px rgba(0,87,255,.2));
      transform: translateY(-5px) scale(1.05);
    }
    .footer-tagline {
      font-size: .83rem;
      color: var(--muted);
      line-height: 1.75;
      margin-bottom: 24px;
      max-width: 280px;
    }
    .footer-socials {
      display: flex;
      gap: 10px;
    }
    .footer-social {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .06);
    border: 1px solid #272727;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--muted);
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
}
    .footer-social svg { width: 15px; height: 15px; }
    .footer-social:hover { background: rgba(0,87,255,.15); border-color: rgba(0,87,255,.3); color: var(--white); }
    .footer-social--wa:hover { background: rgba(37,211,102,.15); border-color: rgba(37,211,102,.3); }


    .footer-col-title {
      font-family: var(--font-h);
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--white);
      margin-bottom: 18px;
      padding-bottom: 12px;
      border-bottom: 1px solid #131313;
    }
    .footer-links {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .footer-links a {
      font-size: .82rem;
      color: var(--muted);
      text-decoration: none;
      transition: color .2s, padding-left .2s;
      display: flex;
      align-items: center;
      gap: 0;
    }
    .footer-links a:hover { color: var(--white); padding-left: 4px; }

    .footer-col {}
    .footer-col--contact {}
    .footer-contact-item {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin-bottom: 14px;
    }
    .footer-contact-item svg { width: 16px; height: 16px; flex-shrink: 0; color: var(--blue-lt); margin-top: 1px; }
    .footer-contact-item span { font-size: .82rem; color: var(--muted); }
    .footer-wa-btn {
     display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    padding: 10px 20px;
    background: rgba(37, 211, 102, .12);
    border: 1px solid rgba(37, 211, 102, .25);
    border-radius: 8px;
    color: #25D366;
    font-family: var(--font-b);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .2s, border-color .2s;
    }
    .footer-wa-btn:hover { background: rgba(37,211,102,.2); border-color: rgba(37,211,102,.45); }

    .footer-bottom {
          border-top: 1px solid #131313;
      padding: 20px 0;
    }
    .footer-bottom-inner {
      max-width: none;
      margin: 0 auto;
      padding: 0 6vw;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      flex-wrap: wrap;
    }
    .footer-copy {
      font-size: .75rem;
      color: rgba(255,255,255,.3);
    }
    .footer-bottom-badges {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }
    .footer-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: .68rem;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: rgba(255,255,255,.35);
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.07);
      border-radius: 100px;
      padding: 5px 12px;
    }
    .footer-badge svg { color:  #0057ff; }

    /* ===== NUMEROS SECTION ===== */
    .numeros-section {
      background: #ffffff;
      border-top: 1px solid #e4e8f0;
      border-bottom: 1px solid #e4e8f0;
      padding: 52px 0;
    }
    .numeros-inner {
      width: 100%;
      max-width: 100%;
      margin: 0 auto;
      padding: 0 5vw;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0;
      box-sizing: border-box;
    }
    .num-item {
      flex: 1;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: flex-start;
      text-align: left;
      padding: 8px 24px;
      gap: 18px;
      border-radius: 12px;
      transition: background .28s var(--ease), transform .28s var(--ease), box-shadow .28s var(--ease);
      cursor: default;
    }
    .num-item:hover {
      background: #f4f7ff;
      transform: translateY(-4px);
      box-shadow: 0 10px 32px rgba(0,87,255,.1);
    }
    .num-texts {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .num-icon {
      width: 54px;
      height: 54px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: transform .35s var(--ease), filter .35s var(--ease);
    }
    .num-item:hover .num-icon {
      transform: scale(1.15) rotate(-5deg);
      filter: drop-shadow(0 4px 12px rgba(0,87,255,.35));
    }
    .num-icon svg {
      width: 52px;
      height: 52px;
    }
    .num-icon--brasil svg {
      width: 44px;
      height: 50px;
    }
    .num-value {
      font-family: var(--font-h);
      font-size: 27px;
      font-weight: 900;
      color: var(--blue);
      line-height: 1.05;
      letter-spacing: .01em;
      transition: letter-spacing .3s var(--ease), text-shadow .3s;
    }
    .num-item:hover .num-value {
      letter-spacing: .04em;
      text-shadow: 0 0 24px rgba(0,87,255,.35);
    }
    

    .gf-icon img {
    width: 64px;
}

.sp-header img {
  height: 46px;
}
   .num-label {
    font-family: var(--font-h);
    font-size: 15px;
    font-weight: 700;
    color: #0d1120;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1.3;
    max-width: 180px;
    transition: color .25s;
}
    .num-item:hover .num-label { color: var(--blue-dk); }
    .num-sub {
      font-size: .78rem;
      color: #6b7a99;
      line-height: 1.45;
      max-width: 180px;
      transition: color .25s;
    }
    .num-item:hover .num-sub { color: #374151; }
    .num-divider {
      width: 1px;
      height: 80px;
      background: #dde3ef;
      flex-shrink: 0;
    }


    /* ── Carrossel de imagens nos cards de produto ── */
    .prod-carousel {
      position: absolute;
      inset: 0;
      overflow: hidden;
      border-radius: inherit;
    }
    .carousel-track {
      position: relative;
      width: 100%;
      height: 100%;
    }
    .carousel-slide {
      position: absolute;
      inset: 0;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.45s cubic-bezier(.25,.46,.45,.94), visibility 0.45s cubic-bezier(.25,.46,.45,.94);
    }
    .carousel-slide.active {
      opacity: 1;
      visibility: visible;
    }
    .carousel-slide img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: contain;
      padding: 8px;
    }
    
    /* Animação de entrada para slides */
    @keyframes slideEnter {
      from {
        opacity: 0;
        transform: scale(0.95);
      }
      to {
        opacity: 1;
        transform: scale(1);
      }
    }
    
    .carousel-slide.active img {
      animation: slideEnter 0.45s cubic-bezier(.25,.46,.45,.94) forwards;
    }
    /* Setas */
    .carousel-btn {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(0,0,0,.45);
      border: none;
      border-radius: 50%;
      width: 28px;
      height: 28px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      color: #fff;
      opacity: 0;
      transition: opacity .2s, background .2s;
      z-index: 2;
      padding: 0;
    }
    .carousel-btn svg { width: 14px; height: 14px; }
    .carousel-prev { left: 6px; }
    .carousel-next { right: 6px; }
    .prod-carousel:hover .carousel-btn { opacity: 1; }
    .carousel-btn:hover { background: rgba(0,87,255,.8); }
    /* Dots */
    .carousel-dots {
      position: absolute;
      bottom: 6px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      gap: 5px;
      z-index: 2;
    }
    .carousel-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      border: none;
      background: rgba(255,255,255,.55);
      cursor: pointer;
      padding: 0;
      transition: background .2s, transform .2s;
    }
    .carousel-dot.active {
      background: #fff;
      transform: scale(1.3);
    }

    /* ── Botão "Limpar filtros" na tela de sem resultados ── */
    .btn-limpar-inline {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: var(--blue, #0057FF);
      color: #fff;
      border: none;
      font-family: var(--font-b, 'Barlow Condensed', sans-serif);
      font-size: .8rem;
      font-weight: 700;
      letter-spacing: .07em;
      text-transform: uppercase;
      padding: 9px 22px;
      border-radius: 8px;
      cursor: pointer;
      margin-top: 4px;
      transition: background .2s, transform .15s, box-shadow .2s;
      box-shadow: 0 4px 14px rgba(0,87,255,.25);
    }
    .btn-limpar-inline:hover {
      background: #0047d4;
      box-shadow: 0 6px 18px rgba(0,87,255,.35);
      transform: translateY(-1px);
    }
    .btn-limpar-inline:active {
      transform: translateY(0);
      box-shadow: 0 2px 8px rgba(0,87,255,.2);
    }

    @media (max-width: 1050px) {
      .numeros-inner {
        flex-wrap: wrap;
        gap: 0;
      }
      .num-item {
        flex: 0 0 50%;
        padding: 20px 16px;
      }
      .num-divider {
        display: none;
      }
    }
    @media (max-width: 480px) {
      .num-item {
        flex: 0 0 100%;
      }
      .num-value {
        font-size: 2rem;
      }
    }




    

    /* Responsive for new sections */
    /* Footer & seções de conteúdo — breakpoint independente do banner */
    @media (max-width: 1100px) {
      .clientes-right { grid-template-columns: repeat(2, 1fr); }
      .garantia-cards { grid-template-columns: repeat(2, 1fr); }
      .footer-inner { grid-template-columns: 1fr 1fr; gap: 36px; }
      .footer-brand { grid-column: 1 / -1; }
    }
    @media (max-width: 1050px) {
      .clientes-inner { grid-template-columns: 1fr; gap: 36px; }
      .clientes-left { align-items: flex-start; }
      .garantia-layout { grid-template-columns: 1fr; gap: 40px; }
    }
    @media (max-width: 900px) {


          .footer-links {
    flex-direction: row;
}
.footer-links li{
  width: fit-content;

}





      .clientes-right { grid-template-columns: 1fr; }
      .garantia-features { grid-template-columns: 1fr; }
    }
@media (max-width: 600px) {

  .clientes-section { padding: 36px 0; }
  .garantia-section { padding: 40px 0; }
  .footer-inner { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
  .footer-bottom-badges { gap: 6px; }

  /* ↓ lista Produtos e Empresa — 2 colunas */
  .footer-col .footer-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 16px;
    flex-direction: unset;
  }
  .footer-col .footer-links li { width: auto; }
  .footer-col .footer-links a {
    font-size: .80rem;
    white-space: normal;
    word-break: break-word;
  }

  /* ↓ Contato — 2 colunas sem alterar o footer.php */
  .footer-col--contact {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 16px;
    align-items: start;
  }
  .footer-col--contact .footer-col-title {
    grid-column: 1 / -1;
    margin-bottom: 0;
  }
  .footer-col--contact .footer-contact-item {
    display: flex;
    margin-bottom: 0;
    align-items: flex-start;
    gap: 8px;
  }
  .footer-col--contact .footer-wa-btn {
    grid-column: 1 / -1;
    width: 100%;
    justify-content: center;
    margin-top: 4px;
  }

  /* ↓ Features bar — 2 colunas no mobile */
.features-bar {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.feat-item {
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  padding: 12px;
}

.feat-icon {
  margin-bottom: 2px;
}

.feat-title {
  font-size: .78rem;
}

.feat-desc {
  font-size: .72rem;
}

}
    /* ===== BACK TO TOP ===== */
    .back-to-top {
    position: fixed;
    bottom: 110px;
    right: 36px;
      z-index: 1999;
      width: 46px;
      height: 46px;
      border-radius: 50%;
      background: rgba(13, 17, 32, 0.85);
      border: 1.5px solid rgba(0, 87, 255, .4);
      color: var(--white);
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      /* backdrop-filter removido do estado base — evita artefato de composição */
      box-shadow: 0 4px 20px rgba(0, 0, 0, .35);
      transition:
        background .25s,
        border-color .25s,
        box-shadow .25s,
        transform .25s;

      /* hidden by default */
      opacity: 0;
      pointer-events: none;
      transform: translateY(12px) scale(0.85);
    }
    .back-to-top.visible {
      opacity: 1;
      pointer-events: auto;
      transform: translateY(0) scale(1);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
    .back-to-top:hover {
      background: var(--blue);
      border-color: var(--blue);
      box-shadow: 0 6px 28px rgba(0, 87, 255, .45);
      transform: translateY(-3px) scale(1.08);
    }
    .back-to-top:active {
      transform: translateY(0) scale(0.96);
    }
    .back-to-top svg {
      width: 18px;
      height: 18px;
      stroke: currentColor;
      transition: transform .25s;
    }
    .back-to-top:hover svg {
      transform: translateY(-2px);
    }
    @media (max-width: 560px) {
      .back-to-top { right: 20px; bottom: 86px; width: 40px; height: 40px; }
      .back-to-top svg { width: 16px; height: 16px; }
    }

    /* ═══════════════════════════════════════════════ */
    /*              SHINE WEB SIGNATURE              */
    /* ═══════════════════════════════════════════════ */
    .footer-copy-row {
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
    }
    .shine-sig-inline {
      display: inline-flex;
      align-items: center;
      text-decoration: none;
      border-radius: 6px;
      border: 1px solid transparent;
      padding: 2px 6px;
      transition: all .3s ease;
    }
    .shine-sig-inline-svg {
      height: 30px;
      width: auto;
      opacity: 0.9;
      transition: opacity .3s, transform .3s, filter .3s;
      filter: drop-shadow(0 0 0px rgba(248,166,36,0));
      padding: 5px;
    }
    .shine-sig-inline:hover .shine-sig-inline-svg {
      opacity: 1;
      transform: scale(1.08);
      filter: drop-shadow(0 1px 6px rgba(248,166,36,.4));
    }

    /* PREM CTA SECTION */
    .prem-cta {
      margin-top: 56px;
      background-color: var(--surface);
      background-image: radial-gradient(circle at 18% 50%, rgba(0, 64, 204, 0.055) 0%, transparent 8%), radial-gradient(circle at 85% 1%, rgba(0, 64, 204, 0.04) 0%, transparent 5%), url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40"><circle cx="1" cy="1" r="1" fill="%230040cc" fill-opacity="0.045"/></svg>');
      background-size: auto, auto, 40px 40px;
      border: 1px solid var(--border);
      border-radius: var(--r-lg);
      padding: 40px 48px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 32px;
    }
    .shine-sig-inline:hover {
      border-color: rgba(239, 110, 46, 0.2);
      background: rgba(239, 110, 46, 0.04);
    }


    


    .mega-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #f5f7fb;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mega-illus {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  transition: opacity .25s ease, visibility .25s ease;
  pointer-events: none;
  z-index: 1;
}

.mega-illus.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.mega-illus img {
    width: 73%;
    height: auto;
    object-fit: contain;
}

/* ═══════════════════════════════════════════════════════
   backdrop-filter corrigido na origem em todos os elementos
   (mobile-nav-backdrop, back-to-top, orcamento-modal-backdrop).
   Regra de override abaixo mantida como fallback de segurança.
═══════════════════════════════════════════════════════ */
.orcamento-modal-backdrop:not(.open) {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   HOVER EFFECTS — garantia-section + cta-dark-section
   Cole este bloco ao final do style-novo.css
═══════════════════════════════════════════════════════════════ */

/* ─── GARANTIA CARDS ─── */

/* Anel giratório atrás do ícone (aparece no hover) */
.gf-icon::before,
.gf-icon::after {
  content: '';
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  border: 1.5px solid transparent;
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease;
}
.gf-icon::before {
  border-top-color: var(--blue);
  border-right-color: var(--blue);
  animation: gfRingSpin 1.4s linear infinite paused;
}
.gf-icon::after {
  border-bottom-color: var(--blue);
  border-left-color: var(--blue);
  inset: -14px;
  animation: gfRingSpin 2s linear infinite reverse paused;
}
@keyframes gfRingSpin {
  to { transform: rotate(360deg); }
}
.gf-item:hover .gf-icon::before,
.gf-item:hover .gf-icon::after {
  opacity: 1;
  animation-play-state: running;
}

/* Dot de pulso que irradia do ícone no hover */
.gf-icon-pulse {
  display: none; /* inserido via JS abaixo, se quiser sem JS não precisa */
}

/* Shimmer sweep no .gf-tag no hover */
.gf-tag {
  overflow: hidden;
}
.gf-tag::after {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,.32) 50%,
    transparent 100%
  );
  transform: skewX(-18deg);
  transition: left .55s ease;
  pointer-events: none;
}
.gf-tag:hover::after {
  left: 160%;
}

/* Sombra mais dramática no hover do card */
.gf-item:hover {
  background: #f0f5ff;
  transform: translateY(-10px);
  box-shadow:
    0 24px 56px rgba(0, 87, 255, .14),
    0 4px 16px rgba(0, 0, 0, .07),
    0 0 0 1px rgba(0, 87, 255, .08) inset;
}

/* Título fica levemente maior no hover */
.gf-text strong {
  transition: color .25s, letter-spacing .3s ease;
}
.gf-item:hover .gf-text strong {
  color: var(--blue);
  letter-spacing: .1em;
}

/* Barra inferior com animação de shimmer após expandir */
.gf-item::after {
  background: linear-gradient(
    90deg,var(--blue) 100%
  );
  background-size: 200% 100%;
  animation: gfBarShimmer 1.8s linear infinite paused;
}
@keyframes gfBarShimmer {
  0%   { background-position: 200% center; }
  100% { background-position: -200% center; }
}
.gf-item:hover::after {
  transform: scaleX(1);
  animation-play-state: running;
}


/* ─── CTA DARK SECTION ─── */

/* Ícone circular do WhatsApp — pulso de borda + rotação suave */
.cta-dark-icon {
  transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
  position: relative;
}
.cta-dark-icon::before {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid rgba(0, 87, 255, .0);
  transition: border-color .4s ease, inset .4s ease;
}
.cta-dark-icon:hover {
  border-color: rgba(37, 211, 102, .7);
  box-shadow:
    0 0 0 6px rgba(37, 211, 102, .08),
    0 0 28px rgba(37, 211, 102, .25);
  transform: scale(1.1) rotate(8deg);
}
.cta-dark-icon:hover::before {
  inset: -10px;
  border-color: rgba(37, 211, 102, .2);
}
.cta-dark-icon:hover svg {
  fill: #25D366;
  filter: drop-shadow(0 0 10px rgba(37, 211, 102, .5));
}
.cta-dark-icon svg {
  transition: fill .35s ease, filter .35s ease;
}

/* Botão CTA dark — shimmer sweep + scale mais forte */
.btn-cta-dark {
  position: relative;
  overflow: hidden;
  transition: background .25s, transform .25s var(--ease), box-shadow .3s;
}
.btn-cta-dark::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 55%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, .22) 50%,
    transparent 100%
  );
  transform: skewX(-20deg);
  transition: left 0s;
  pointer-events: none;
}
.btn-cta-dark:hover::before {
  left: 160%;
  transition: left .55s ease;
}
.btn-cta-dark:hover {
  background: var(--green-dk);
  transform: translateY(-3px) scale(1.03);
  box-shadow:
    0 14px 40px rgba(37, 211, 102, .45),
    0 0 0 2px rgba(37, 211, 102, .25);
}
.btn-cta-dark:active {
  transform: translateY(0) scale(.98);
  box-shadow: 0 4px 16px rgba(37, 211, 102, .3);
}
/* Ícone do botão gira levemente no hover */
.btn-cta-dark svg {
  transition: transform .4s var(--ease);
}
.btn-cta-dark:hover svg {
  transform: rotate(-12deg) scale(1.15);
}

/* Título h2 da seção CTA dark — underline animado */
.cta-dark-body h2 {
  position: relative;
  display: inline-block;
}
.cta-dark-body h2::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0%;
    height: 2px;
    background: linear-gradient(90deg, var(--blue));
    border-radius: 2px;
    transition: width .5s var(--ease);
}
.cta-dark-section:hover .cta-dark-body h2::after {
  width: 100%;
}

/* Fundo da seção CTA se ilumina suavemente no hover.
   NOTA: transform NÃO tem transition — o parallax via JS precisa
   de resposta imediata a cada frame (rAF). Só opacity anima. */
.cta-dark-bg {
  transition: opacity .5s ease;
}
.cta-dark-section:hover .cta-dark-bg {
  opacity: .88;
}


/* ═══════════════════════════════════════════════════════════════════
   CATÁLOGO — PAINEL HOVER DE ATRIBUTOS  (Industrial Luxury)
   ═══════════════════════════════════════════════════════════════════ */

/* Confina o painel dentro do card */
.prod-card-real {
  position: relative;
  overflow: hidden;
}

/* ── Painel Base (oculto abaixo do card) ────────────────────────── */
.prod-attr-panel {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  max-height: 88%;
  background: rgba(10, 13, 24, 0.97);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-top: 1px solid rgba(0, 87, 255, 0.25);
  padding: 14px 14px 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 20;
  /* Estado oculto */
  transform: translateY(102%);
  transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.38s ease;
  pointer-events: none;
}

/* Mostrar no hover (desktop) */
.prod-card-real:hover .prod-attr-panel,
.prod-attr-panel.pap-open {
  transform: translateY(0);
  box-shadow: 0 -12px 32px rgba(0, 0, 0, 0.55);
  pointer-events: all;
}

/* ── Cabeçalho ───────────────────────────────────────────────────── */
.pap-header {
  display: flex;
  align-items: baseline;
  gap: 8px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding-bottom: 8px;
}
.pap-title {
  font-family: var(--font-h, 'DM Sans', sans-serif);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--cyan, #00c8ff);
  text-transform: uppercase;
}
.pap-subtitle {
  font-size: 0.65rem;
  color: var(--muted, #6b7280);
  margin-left: auto;
  white-space: nowrap;
}

/* ── Corpo: tags de variação ─────────────────────────────────────── */
.pap-body {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 130px;
  padding-right: 2px;
}
.pap-body::-webkit-scrollbar { width: 3px; }
.pap-body::-webkit-scrollbar-thumb { background: rgba(0,87,255,.4); border-radius: 2px; }

/* Estado de carregamento */
.pap-loading-state {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
  font-size: 0.72rem;
  color: var(--muted, #6b7280);
}
.pap-spinner {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(0,87,255,.2);
  border-top-color: var(--blue, #0057ff);
  border-radius: 50%;
  animation: papSpin 0.7s linear infinite;
  flex-shrink: 0;
}
@keyframes papSpin { to { transform: rotate(360deg); } }

/* Mensagem sem variações */
.pap-no-var {
  font-size: 0.72rem;
  color: var(--muted, #6b7280);
  line-height: 1.5;
  padding: 6px 0;
  margin: 0;
}

/* Grupo de atributos */
.pap-group { display: flex; flex-direction: column; gap: 5px; }
.pap-group-label {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--muted, #6b7280);
  text-transform: uppercase;
}

/* Grid de tags */
.pap-tags-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  border-radius: 3px;
  transition: outline 0.2s ease;
}

/* Tag individual */
.pap-tag {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.75);
  padding: 5px 9px;
  font-family: var(--font-b, 'DM Sans', sans-serif);
  font-size: 0.73rem;
  font-weight: 500;
  cursor: pointer;
  border-radius: 2px;
  transition: background 0.18s, border-color 0.18s, color 0.18s, box-shadow 0.18s;
  white-space: nowrap;
  line-height: 1;
}
.pap-tag:hover {
  border-color: rgba(0,87,255,0.6);
  background: rgba(0,87,255,0.1);
  color: #fff;
}
.pap-tag.active {
  background: var(--blue, #0057ff);
  border-color: var(--cyan, #00c8ff);
  color: #fff;
  box-shadow: 0 0 10px rgba(0, 200, 255, 0.25);
}

/* Shake de validação */
.pap-shake {
  animation: papShake 0.5s ease;
}
@keyframes papShake {
  0%, 100% { transform: translateX(0); }
  20%       { transform: translateX(-5px); }
  40%       { transform: translateX(5px); }
  60%       { transform: translateX(-4px); }
  80%       { transform: translateX(4px); }
}

/* ── Barra de ação inferior ──────────────────────────────────────── */
.pap-action-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,0.06);
  margin-top: auto;
}

/* Controle de quantidade */
.pap-qty-wrap {
  display: flex;
  align-items: center;
  background: rgba(0,0,0,0.3);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 2px;
  overflow: hidden;
  height: 32px;
  flex-shrink: 0;
}
.pap-qty-btn {
  background: transparent;
  border: none;
  color: rgba(255,255,255,0.5);
  width: 26px;
  height: 100%;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  transition: color 0.15s, background 0.15s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pap-qty-btn:hover {
  color: #fff;
  background: rgba(0,87,255,0.15);
}
.pap-qty-input {
  width: 32px;
  height: 100%;
  background: transparent;
  border: none;
  border-left: 1px solid rgba(255,255,255,0.08);
  border-right: 1px solid rgba(255,255,255,0.08);
  color: #fff;
  text-align: center;
  font-family: var(--font-b, 'DM Sans', sans-serif);
  font-size: 0.82rem;
  -moz-appearance: textfield;
}
.pap-qty-input::-webkit-outer-spin-button,
.pap-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Botão Adicionar */
.pap-btn-add {
  flex: 1;
  height: 32px;
  background: var(--blue, #0057ff);
  border: none;
  border-radius: 2px;
  color: #fff;
  font-family: var(--font-h, 'DM Sans', sans-serif);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  transition: background 0.22s, box-shadow 0.22s;
}
.pap-btn-add:hover {
  background: #002e8a;
  box-shadow: 0 0 16px rgba(0, 87, 255, 0.35);
}
.pap-btn-add svg { transition: transform 0.18s; }
.pap-btn-add:hover svg { transform: scale(1.15) rotate(90deg); }

/* ── Mobile: botão do cart já abre o painel ─────────────────────── */
@media (hover: none) {
  .prod-attr-panel {
    /* No mobile, o painel não abre por hover — só via .pap-open  */
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  }
}

/* =========================================================
   CATÁLOGO: PAINEL HOVER DE ATRIBUTOS (INDUSTRIAL LUXURY)
   ========================================================= */

.prod-card {
  position: relative;
  overflow: hidden;
}

/* Painel — estilos base */
.product-attr-panel {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  max-height: 90%;
  background: rgba(13, 17, 32, 0.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(0, 87, 255, 0.3);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 20;
}

/* Painel — SEMPRE oculto por padrão */
.prod-card .product-attr-panel,
.prod-card-real .product-attr-panel {
  transform: translateY(102%) !important;
  pointer-events: none;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Painel — visível só em hover real (não touch) */
@media (hover: hover) {
  .prod-card:hover .product-attr-panel,
  .prod-card-real:hover .product-attr-panel {
    transform: translateY(0) !important;
    pointer-events: all;
  }
}

.panel-header { display: flex; flex-direction: column; line-height: 1.2; }
.panel-title {
  font-family: var(--font-h); font-size: 0.85rem;
  letter-spacing: 0.1em; color: var(--cyan);
  font-weight: 700; text-transform: uppercase;
}
.panel-subtitle { font-family: var(--font-b); font-size: 0.7rem; color: var(--muted); }

/* Grid de Tags */
.panel-tags-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px;
  max-height: 120px; overflow-y: auto; padding-right: 4px;
}
.panel-tags-grid::-webkit-scrollbar { width: 3px; }
.panel-tags-grid::-webkit-scrollbar-thumb { background: var(--blue-lt); border-radius: 2px; }

.catalog-attr-tag {
      background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.75);
    padding: 5px 9px;
    font-family: var(--font-b);
    font-size: 0.73rem;
    font-weight: 500;
    cursor: pointer;
    border-radius: 2px;
    transition: background 0.18s, border-color 0.18s, color 0.18s, box-shadow 0.18s;
    white-space: nowrap;
    line-height: 1;
}
.catalog-attr-tag:hover { border-color: var(--blue-lt); background: rgba(0, 87, 255, 0.1); }
.catalog-attr-tag.active {
  background: var(--blue); border-color: var(--cyan);
  color: var(--white); box-shadow: 0 0 10px rgba(0, 200, 255, 0.2);
}

/* Barra Inferior e Ações */
.panel-action-bar { display: flex; align-items: center; gap: 8px; margin-top: auto; }
.catalog-qty-selector {
  display: flex; align-items: center; background: var(--dark);
  border: 1px solid var(--border); border-radius: 2px;
}
.qty-btn {
  background: transparent; border: none; color: var(--muted);
  width: 24px; height: 32px; cursor: pointer; font-size: 0.9rem;
}
.qty-btn:hover { color: var(--white); }
.catalog-qty-input {
  width: 28px; height: 32px; background: transparent;
  border: none; color: var(--white); text-align: center;
  font-family: var(--font-b); font-size: 0.85rem; -moz-appearance: textfield;
}
.catalog-qty-input::-webkit-outer-spin-button,
.catalog-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.btn-catalog-add-orcamento-panel {
  flex: 1; height: 34px; background: var(--green-dk);
  border: none; border-radius: 2px; color: var(--white);
  font-family: var(--font-h); font-size: 0.8rem; letter-spacing: 0.05em;
  font-weight: 700; display: flex; align-items: center;
  justify-content: center; gap: 6px; cursor: pointer;
  transition: all .25s var(--ease);
}
.btn-catalog-add-orcamento-panel:hover {
  background: var(--green); box-shadow: 0 0 15px rgba(37, 211, 102, 0.4);
} 

/* Abre espaço para o menu fixo não cobrir a loja */
body.archive.woocommerce .produtos-grid-section {
    padding-top: 140px; /* Substitua 100px pela altura exata do seu menu fixo */
}

/* Se tiver algum ajuste fino na sidebar por conta do menu */
body.archive.woocommerce .filtros-sidebar {
    position: sticky;
    top: 120px; /* Garante que a barra lateral colada também respeite o menu ao rolar a página */
}