/* Donghua Brasil — estilos compartilhados (extraídos de index_15.html) */
:root {
  --blue: #0057A8;
  --blue-dark: #003F7A;
  --blue-light: #E8F1FA;
  --blue-mid: #1A6BBF;
  --accent: #0081CC;
  --gray-50: #F7F8FA;
  --gray-100: #EEF0F4;
  --gray-200: #DDE1E9;
  --gray-400: #9BA3B2;
  --gray-600: #5A6478;
  --gray-800: #1E2535;
  --gray-900: #0D1120;
  --white: #FFFFFF;
  --font-display: 'Barlow Condensed', sans-serif;
  --font-semi: 'Barlow Semi Condensed', sans-serif;
  --font-body: 'Barlow', sans-serif;
  --nav-h: 64px;
  --transition: 0.22s cubic-bezier(0.4,0,0.2,1);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); color: var(--gray-800); background: var(--white); overflow-x: hidden; }

/* ─── SPLASH ─────────────────────────────────────────── */
/* splash removed */

/* ─── NAV ─────────────────────────────────────────────── */

nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  height: var(--nav-h);
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--gray-200);
  display: flex; align-items: center;
  padding: 0 48px;
  transform: translateY(-100%);
  transition: transform 0.5s cubic-bezier(0.22,1,0.36,1) 0.1s;
}
nav.in { transform: translateY(0); }
.nav-logo {
  font-family: var(--font-display);
  font-size: 20px; font-weight: 900;
  letter-spacing: 3px; color: var(--blue-dark);
  cursor: pointer; margin-right: 48px; white-space: nowrap;
}
.nav-logo span { color: var(--accent); }
.nav-links { display: flex; gap: 0; flex: 1; }
.nav-link {
  font-family: var(--font-semi);
  font-size: 13px; font-weight: 500;
  color: var(--gray-600); padding: 0 16px; height: var(--nav-h);
  display: flex; align-items: center;
  cursor: pointer; position: relative;
  transition: color var(--transition); white-space: nowrap;
  text-decoration: none;
}
.nav-link::after {
  content: ''; position: absolute;
  bottom: 0; left: 16px; right: 16px; height: 2px;
  background: var(--blue); transform: scaleX(0);
  transition: transform var(--transition); border-radius: 2px 2px 0 0;
}
.nav-link:hover { color: var(--blue); }
.nav-link:hover::after, .nav-link.active::after { transform: scaleX(1); }
.nav-link.active { color: var(--blue); }
.nav-actions { display: flex; gap: 10px; align-items: center; }
.nav-phone {
  display: flex; align-items: center; gap: 7px;
  font-family: var(--font-semi); font-size: 13px; font-weight: 700;
  color: #0057A8; text-decoration: none; padding: 6px 12px;
  border-radius: 8px; border: 1.5px solid #D1DCE8;
  transition: all .15s; white-space: nowrap;
}
.nav-phone:hover { background: #EBF3FC; border-color: #0057A8; }
.nav-phone svg { flex-shrink: 0; }
.btn { font-family: var(--font-semi); font-size: 12px; font-weight: 600;
  letter-spacing: 0.5px; padding: 9px 20px; border-radius: 3px;
  cursor: pointer; transition: all var(--transition); border: none; }
.btn-ghost { background: transparent; border: 1.5px solid var(--gray-200); color: var(--gray-600); }
.btn-ghost:hover { border-color: var(--blue); color: var(--blue); }
.btn-primary { background: var(--blue); color: #fff; }
.btn-primary:hover { background: var(--blue-dark); }

/* ─── PAGE ROUTER ─────────────────────────────────────── */
.page { display: none; padding-top: var(--nav-h); }
.page.active { display: block; }

/* ─── HERO ────────────────────────────────────────────── */
.hero {
  min-height: calc(100vh - var(--nav-h));
  display: grid; grid-template-columns: 1fr 1fr;
  align-items: center;
  background: #071830;
  position: relative; overflow: hidden;
}

/* ── VIDEO BACKGROUND ── */
.hero-video-wrap {
  position: absolute; inset: 0; z-index: 0;
  overflow: hidden;
}
.hero-video-wrap video {
  position: absolute;
  top: 50%; left: 50%;
  min-width: 100%; min-height: 100%;
  width: auto; height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
  pointer-events: none;
}
/* Overlay layers */
.hero-video-overlay {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(135deg, rgba(5,18,40,0.82) 0%, rgba(7,24,48,0.65) 50%, rgba(5,18,40,0.78) 100%);
}
.hero-video-overlay-blue {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg,
    rgba(0,31,70,0.55) 0%,
    rgba(0,31,70,0.25) 50%,
    rgba(0,31,70,0.60) 100%);
}
.hero-bg-grid {
  position: absolute; inset: 0; z-index: 2;
  background-image:
    linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 60px 60px;
}
.hero-bg-glow {
  position: absolute; right: -100px; top: 50%; z-index: 2;
  transform: translateY(-50%);
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(91,179,240,0.12) 0%, transparent 65%);
  pointer-events: none;
}

/* ── Hero entrance animations (CSS keyframes — not observer) ── */
@keyframes heroLeft {
  from { opacity:0; transform:translateX(-40px); }
  to   { opacity:1; transform:translateX(0); }
}
@keyframes heroRight {
  from { opacity:0; transform:translateX(40px); }
  to   { opacity:1; transform:translateX(0); }
}
@keyframes heroUp {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:translateY(0); }
}
.hero-eyebrow   { animation: heroLeft .7s cubic-bezier(0.22,1,0.36,1) 3.1s both; }
.hero-h1        { animation: heroLeft .7s cubic-bezier(0.22,1,0.36,1) 3.2s both; }
.hero-p         { animation: heroLeft .7s cubic-bezier(0.22,1,0.36,1) 3.3s both; }
.hero-btns      { animation: heroLeft .7s cubic-bezier(0.22,1,0.36,1) 3.4s both; }
.hero-stats     { animation: heroUp   .7s cubic-bezier(0.22,1,0.36,1) 3.5s both; }
.search-card    { animation: heroRight .8s cubic-bezier(0.22,1,0.36,1) 3.2s both; }

/* Sound toggle button */
.hero-sound-btn {
  position: absolute; bottom: 28px; right: 28px; z-index: 10;
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,255,255,0.10); backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.20);
  color: #fff; font-size: 16px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all .2s ease;
}
.hero-sound-btn:hover { background: rgba(255,255,255,0.20); transform: scale(1.1); }

/* Scroll indicator */
.hero-scroll-indicator {
  position: absolute; bottom: 28px; left: 50%; z-index: 10;
  transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  opacity: .5; animation: bounceScroll 2s ease-in-out infinite;
}
.hero-scroll-indicator span {
  font-size: 9px; letter-spacing: 2px; text-transform: uppercase;
  color: #fff; font-family: var(--font-semi);
}
.hero-scroll-indicator svg { color: #fff; }
@keyframes bounceScroll {
  0%,100%{ transform: translateX(-50%) translateY(0); }
  50%{ transform: translateX(-50%) translateY(6px); }
}

.hero-left { padding: 80px 64px; position: relative; z-index: 5; }
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 11px; letter-spacing: 3px; text-transform: uppercase;
  color: #7EC8F4; margin-bottom: 24px;
}
.hero-eyebrow::before {
  content: ''; width: 28px; height: 1.5px; background: #5BB3F0;
}
.hero-h1 {
  font-family: var(--font-display);
  font-size: 72px; font-weight: 900; line-height: 0.95;
  letter-spacing: -1px; color: #fff; margin-bottom: 24px;
}
.hero-h1 em { font-style: normal; color: #7EC8F4; }
.hero-p {
  font-size: 16px; font-weight: 300; line-height: 1.7;
  color: rgba(255,255,255,0.55); margin-bottom: 40px; max-width: 420px;
}
.hero-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.hero-btn-main {
  font-family: var(--font-semi); font-size: 13px; font-weight: 600;
  letter-spacing: 0.5px; padding: 14px 32px; background: var(--blue);
  color: #fff; border: none; border-radius: 3px; cursor: pointer;
  transition: all var(--transition);
}
.hero-btn-main:hover { background: var(--accent); transform: translateY(-1px); }
.hero-btn-sec {
  font-family: var(--font-semi); font-size: 13px; font-weight: 600;
  padding: 14px 32px; background: transparent;
  border: 1.5px solid rgba(255,255,255,0.2); color: rgba(255,255,255,0.7);
  border-radius: 3px; cursor: pointer; transition: all var(--transition);
}
.hero-btn-sec:hover { border-color: rgba(255,255,255,0.5); color: #fff; }
.hero-stats {
  display: flex; gap: 40px; margin-top: 60px;
  padding-top: 40px; border-top: 1px solid rgba(255,255,255,0.08);
}
.hero-stat-n {
  font-family: var(--font-display);
  font-size: 36px; font-weight: 800; color: #7EC8F4; line-height: 1;
}
.hero-stat-l { font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase;
  color: rgba(255,255,255,0.35); margin-top: 4px; }

/* Hero right — busca inteligente */
.hero-right { padding: 80px 64px 80px 0; position: relative; z-index: 2; }
/* ── Hero Contact Card — typing effect ── */
.hcf-cursor {
  display: inline-block; color: #7EC8F4;
  font-style: normal; font-weight: 900;
  animation: hcfBlink .7s step-end infinite;
  margin-left: 1px;
}
@keyframes hcfBlink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0; }
}

/* ── Hero Contact Card ── */
.search-card {
  background: rgba(255,255,255,0.07);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 16px; padding: 32px;
}
.search-card-title {
  font-family: var(--font-semi); font-size: 11px; font-weight: 700;
  letter-spacing: 3px; text-transform: uppercase;
  color: rgba(255,255,255,0.4); margin-bottom: 6px;
}
.search-card-subtitle {
  font-family: var(--font-display); font-size: 22px; font-weight: 900;
  color: #fff; line-height: 1.1; margin-bottom: 24px;
}
.search-card-subtitle em { color: #7EC8F4; font-style: normal; }
/* form fields */
.hcf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
.hcf-field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 10px; }
.hcf-field label {
  font-size: 10px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
  color: rgba(255,255,255,.35);
}
.hcf-field input, .hcf-field select {
  height: 42px; background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 8px; color: #fff;
  font-family: var(--font-body); font-size: 13px;
  padding: 0 14px; outline: none;
  transition: border-color .15s, background .15s;
}
.hcf-field input::placeholder { color: rgba(255,255,255,.25); }
.hcf-field input:focus, .hcf-field select:focus {
  border-color: #5BB3F0; background: rgba(255,255,255,.10);
}
.hcf-field select { cursor: pointer; }
.hcf-field select option { background: #0B2F5E; color: #fff; }
.hcf-btns { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin-top: 6px; }
.hcf-btn-send {
  height: 46px; background: #0057A8; color: #fff; border: none;
  border-radius: 10px; font-family: var(--font-semi); font-size: 14px;
  font-weight: 700; cursor: pointer; transition: all .2s;
  display: flex; align-items: center; justify-content: center; gap: 8px;
}
.hcf-btn-send:hover { background: #003F7A; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(0,87,168,.35); }
.hcf-btn-wpp {
  height: 46px; width: 46px; background: #25D366; color: #fff; border: none;
  border-radius: 10px; cursor: pointer; transition: all .2s;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.hcf-btn-wpp:hover { background: #1EBE5D; transform: translateY(-1px); }
.hcf-success {
  display: none; text-align: center; padding: 24px 0 8px;
}
.hcf-success-icon { font-size: 40px; margin-bottom: 8px; }
.hcf-success-title { font-family: var(--font-display); font-size: 20px; font-weight:900; color:#fff; margin-bottom:6px; }
.hcf-success-sub { font-size:12px; color:rgba(255,255,255,.45); line-height:1.6; }
/* legacy — keep for quick-links if referenced */
.ql-icon { width:32px;height:32px;border-radius:4px;background:rgba(0,87,168,0.4);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0; }
.ql-text { font-size:12px;font-weight:500;color:rgba(255,255,255,0.6);line-height:1.3; }

/* ─── SECTION COMMONS ─────────────────────────────────── */
section { padding: 88px 64px; }
.section-kicker {
  font-size: 11px; letter-spacing: 3px; text-transform: uppercase;
  color: var(--blue); font-weight: 600; margin-bottom: 10px;
}
.section-h2 {
  font-family: var(--font-display);
  font-size: 46px; font-weight: 800; line-height: 1.0;
  color: var(--gray-900); margin-bottom: 12px;
}
.section-sub {
  font-size: 16px; font-weight: 300; color: var(--gray-600);
  max-width: 500px; line-height: 1.65;
}

/* ─── PRODUCT FAMILIES ────────────────────────────────── */
.families { background: var(--white); }
.families-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 1px; margin-top: 52px;
  border: 1px solid var(--gray-200); border-radius: 6px; overflow: hidden;
}
.family-card {
  background: var(--white); padding: 32px 28px;
  cursor: pointer; transition: all var(--transition);
  position: relative; overflow: hidden;
}
.family-card::before {
  content: ''; position: absolute;
  bottom: 0; left: 0; right: 0; height: 3px;
  background: var(--blue); transform: scaleX(0);
  transform-origin: left; transition: transform 0.3s ease;
}
.family-card:hover { background: var(--blue-light); }
.family-card:hover::before { transform: scaleX(1); }
.family-icon {
  width: 52px; height: 52px; margin-bottom: 20px;
  background: var(--blue-light); border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
}
.family-icon svg { width: 26px; height: 26px; stroke: var(--blue); fill: none; stroke-width: 1.5; }
.family-name {
  font-family: var(--font-semi); font-size: 15px; font-weight: 600;
  color: var(--gray-900); margin-bottom: 8px;
}
.family-desc { font-size: 13px; color: var(--gray-600); line-height: 1.5; margin-bottom: 18px; }
.family-count {
  font-size: 11px; letter-spacing: 1px; color: var(--blue);
  font-weight: 600; text-transform: uppercase;
}

/* ─── INDUSTRIES / SECTORS ─────────────────────────────── */
.sectors { background: var(--gray-50); }
.sectors-intro { max-width: 600px; margin-bottom: 16px; }
.sectors-stats {
  display: flex; gap: 40px; margin-top: 28px; margin-bottom: 52px;
  padding-bottom: 40px; border-bottom: 1px solid var(--gray-200);
}
.sectors-stat-n {
  font-family: var(--font-display); font-size: 44px; font-weight: 900;
  color: var(--blue); line-height: 1;
}
.sectors-stat-l {
  font-size: 12px; color: var(--gray-400); margin-top: 4px;
  letter-spacing: 0.5px; text-transform: uppercase; font-weight: 600;
}
.sectors-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}
.sector-card {
  position: relative; overflow: hidden;
  border-radius: 8px; cursor: pointer;
  background: var(--white); border: 1px solid var(--gray-200);
  transition: all 0.22s cubic-bezier(0.4,0,0.2,1);
  display: flex; flex-direction: column;
  aspect-ratio: 1 / 1.05;
}
.sector-card:hover {
  border-color: var(--blue);
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0,87,168,0.12);
  z-index: 2;
}
/* Photo / illustration area */
.sector-img {
  position: relative; overflow: hidden;
  aspect-ratio: 16/10;
  background: linear-gradient(135deg, var(--blue-light) 0%, #C5DDF2 100%);
  flex-shrink: 0;
}
.sector-img-photo {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: 0; transition: opacity 0.3s;
}
.sector-img-photo.loaded { opacity: 1; }
.sector-img-icon {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
}
.sector-img svg {
  width: 44px; height: 44px;
  stroke: var(--blue); fill: none; stroke-width: 1.4;
  opacity: 0.55; transition: all 0.22s;
}
.sector-card:hover .sector-img svg { opacity: 0.85; transform: scale(1.07); }
.sector-img-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, rgba(0,47,94,0) 30%, rgba(0,47,94,0.7) 100%);
  opacity: 0.55; transition: opacity 0.22s;
}
.sector-card:hover .sector-img-overlay { opacity: 1; }
.sector-img-badge {
  position: absolute; top: 8px; left: 10px;
  font-size: 8px; font-weight: 800; letter-spacing: 1.5px;
  text-transform: uppercase; color: rgba(255,255,255,0.8);
  background: rgba(0,47,94,0.45); backdrop-filter: blur(4px);
  padding: 2px 7px; border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.15);
}
.sector-img-name {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 18px 12px 10px;
  font-family: var(--font-semi); font-size: 12px; font-weight: 700;
  color: #fff; line-height: 1.2; z-index: 2;
  text-shadow: 0 1px 4px rgba(0,0,0,0.4);
}
.sector-img-hint {
  position: absolute; bottom: 8px; right: 8px;
  font-size: 9px; color: rgba(255,255,255,0.4);
  background: rgba(0,0,0,0.2); backdrop-filter: blur(4px);
  padding: 2px 6px; border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.1);
  transition: opacity 0.2s;
}
.sector-card:hover .sector-img-hint { opacity: 0; }
.sector-info {
  padding: 10px 12px 12px;
  border-top: 1px solid var(--gray-100);
  background: var(--white); transition: background 0.22s;
}
.sector-card:hover .sector-info { background: var(--blue-light); }
.sector-num { display: none; }
.sector-name { display: none; }
.sector-apps {
  font-size: 10px; color: var(--gray-500); line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
}

/* ─── TOOLS STRIP ─────────────────────────────────────── */
.tools-strip { background: #0057A8; padding: 0; border-top:1px solid rgba(255,255,255,0.1); border-bottom:1px solid rgba(255,255,255,0.1); }
.tools-inner { display: grid; grid-template-columns: repeat(5,1fr); }
.tool-tile {
  padding: 32px 24px; border-right: 1px solid rgba(255,255,255,0.07);
  cursor: pointer; transition: background var(--transition);
}
.tool-tile:last-child { border-right: none; }
.tool-tile:hover { background: rgba(255,255,255,0.05); }
.tool-tile-icon { font-size: 22px; margin-bottom: 12px; }
.tool-tile-name {
  font-family: var(--font-semi); font-size: 13px; font-weight: 600;
  color: #fff; margin-bottom: 3px;
}
.tool-tile-desc { font-size: 11px; color: rgba(255,255,255,0.55); line-height: 1.4; }

/* ─── PRODUCT PAGE ────────────────────────────────────── */
.product-header {
  background: #0B2F5E; padding: 64px 64px 0;
}
.breadcrumb {
  font-size: 12px; color: rgba(255,255,255,0.35);
  margin-bottom: 24px; display: flex; align-items: center; gap: 8px;
}
.breadcrumb span { cursor: pointer; transition: color var(--transition); }
.breadcrumb span:hover { color: rgba(255,255,255,0.7); }
.breadcrumb-sep { opacity: 0.3; }
.product-header-inner {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 80px; align-items: end; padding-bottom: 64px;
}
.product-category {
  font-size: 11px; letter-spacing: 3px; text-transform: uppercase;
  color: #5BB3F0; margin-bottom: 14px; font-weight: 600;
}
.product-name-h1 {
  font-family: var(--font-display);
  font-size: 54px; font-weight: 900; color: #fff;
  line-height: 1; margin-bottom: 10px;
}
.product-code {
  font-size: 13px; color: rgba(255,255,255,0.35);
  letter-spacing: 1px; font-weight: 500; margin-bottom: 20px;
}
.product-tagline {
  font-size: 15px; font-weight: 300; color: rgba(255,255,255,0.55);
  line-height: 1.6; max-width: 440px; margin-bottom: 32px;
}
.product-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.badge {
  font-size: 11px; letter-spacing: 0.5px; font-weight: 600;
  padding: 5px 12px; border-radius: 20px;
}
.badge-blue { background: rgba(0,87,168,0.35); color: #5BB3F0; border: 1px solid rgba(91,179,240,0.25); }
.badge-green { background: rgba(22,163,74,0.2); color: #4ade80; border: 1px solid rgba(74,222,128,0.2); }
.badge-gray { background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.5); border: 1px solid rgba(255,255,255,0.1); }

/* Product image area */
.product-img-area {
  display: flex; align-items: flex-end; justify-content: center;
  padding-bottom: 0;
}
.product-img-mock {
  width: 280px; height: 220px;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 8px 8px 0 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 72px;
}

/* Product content tabs */
.product-tabs-bar {
  background: var(--white); border-bottom: 1px solid var(--gray-200);
  display: flex; padding: 0 64px;
  position: sticky; top: var(--nav-h); z-index: 10;
}
.ptab {
  font-family: var(--font-semi); font-size: 13px; font-weight: 500;
  color: var(--gray-600); padding: 18px 20px; cursor: pointer;
  border-bottom: 2px solid transparent; transition: all var(--transition);
  white-space: nowrap;
}
.ptab:hover { color: var(--blue); }
.ptab.active { color: var(--blue); border-bottom-color: var(--blue); }

.product-body { padding: 56px 64px; background: var(--white); }
.product-grid { display: grid; grid-template-columns: 1fr 360px; gap: 56px; }
.spec-table { width: 100%; border-collapse: collapse; margin-bottom: 40px; }
.spec-table caption {
  font-family: var(--font-semi); font-size: 12px; font-weight: 600;
  letter-spacing: 2px; text-transform: uppercase; color: var(--gray-400);
  text-align: left; margin-bottom: 12px; caption-side: top;
  padding-bottom: 12px; border-bottom: 1px solid var(--gray-200);
}
.spec-table th {
  font-size: 11px; letter-spacing: 1px; text-transform: uppercase;
  color: var(--gray-400); font-weight: 600;
  padding: 10px 0; border-bottom: 1px solid var(--gray-100);
  text-align: left;
}
.spec-table td {
  font-size: 13px; color: var(--gray-800);
  padding: 11px 0; border-bottom: 1px solid var(--gray-100);
  vertical-align: top;
}
.spec-table td.val { font-weight: 600; color: var(--gray-900); }
.spec-table tr:last-child td { border-bottom: none; }

/* Sidebar actions */
.product-sidebar { display: flex; flex-direction: column; gap: 16px; }
.action-card {
  background: var(--gray-50); border: 1px solid var(--gray-200);
  border-radius: 6px; padding: 24px;
}
.action-card-title {
  font-family: var(--font-semi); font-size: 13px; font-weight: 600;
  color: var(--gray-900); margin-bottom: 6px;
}
.action-card-sub { font-size: 12px; color: var(--gray-400); margin-bottom: 16px; line-height: 1.5; }
.btn-full { width: 100%; padding: 12px; font-size: 13px; font-weight: 600;
  border-radius: 4px; cursor: pointer; transition: all var(--transition);
  font-family: var(--font-semi); border: none; }
.btn-blue { background: var(--blue); color: #fff; }
.btn-blue:hover { background: var(--blue-dark); }
.btn-outline { background: transparent; border: 1.5px solid var(--gray-200); color: var(--gray-600); }
.btn-outline:hover { border-color: var(--blue); color: var(--blue); }
.btn-wpp { background: #25D366; color: #fff; margin-top: 8px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.btn-wpp:hover { background: #1EBE5A; }

.compat-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.compat-tag {
  font-size: 11px; padding: 4px 10px;
  background: var(--blue-light); color: var(--blue-dark);
  border-radius: 20px; font-weight: 600;
}

/* ─── DISTRIBUTORS PAGE ───────────────────────────────── */
/* ════ DISTRIBUIDORES PAGE v2 ════════════════════════════ */
#page-dist { background: #F4F7FB; }

/* Hero */
.dist-hero { background: #0B2F5E; padding: 56px 64px 44px; position: relative; overflow: hidden; }
.dist-hero::after {
  content: ''; position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.04)1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04)1px,transparent 1px);
  background-size: 52px 52px; pointer-events: none;
}
.dist-hero h1 {
  font-family: var(--font-display); font-size: 52px; font-weight: 900;
  color: #fff; line-height: 1; margin-bottom: 12px; position: relative; z-index: 1;
}
.dist-hero p { font-size: 15px; color: rgba(255,255,255,0.55); font-weight: 300; position: relative; z-index: 1; max-width: 560px; line-height: 1.65; }
.dist-hero-stats { display: flex; gap: 40px; margin-top: 32px; position: relative; z-index: 1; }
.dist-hero-stat-n { font-family: var(--font-display); font-size: 36px; font-weight: 900; color: #7EC8F4; line-height: 1; }
.dist-hero-stat-l { font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,.35); margin-top: 3px; }

/* Category tabs */
.dist-cat-bar {
  background: #fff; border-bottom: 1px solid #E0E4EB;
  padding: 0 64px; display: flex; align-items: center; gap: 0;
  position: sticky; top: 64px; z-index: 80; box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.dist-cat-tab {
  font-family: var(--font-semi); font-size: 13px; font-weight: 500;
  color: #6B7280; padding: 16px 24px; cursor: pointer; white-space: nowrap;
  border: none; background: none; border-bottom: 3px solid transparent;
  transition: all .18s; display: flex; align-items: center; gap: 8px;
}
.dist-cat-tab:hover { color: #0057A8; }
.dist-cat-tab.active { color: #0057A8; border-bottom-color: #0057A8; font-weight: 700; }
.dist-cat-badge {
  font-size: 10px; font-weight: 700; padding: 2px 7px; border-radius: 20px;
  background: #EBF3FC; color: #003F7A;
}
.dist-cat-tab.active .dist-cat-badge { background: #0057A8; color: #fff; }

/* Region + state filters */
.dist-filter-bar {
  padding: 14px 64px; background: #F4F9FF; border-bottom: 1px solid #D6E8F7;
  display: flex; gap: 8px; align-items: center; flex-wrap: wrap;
}
.dist-filter-label { font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #0057A8; opacity: .7; margin-right: 4px; }
.dist-ftab {
  font-size: 11px; font-weight: 600; padding: 5px 14px; border-radius: 20px;
  border: 1.5px solid #D1DCE8; background: #fff; color: #4B5563;
  cursor: pointer; transition: all .15s; white-space: nowrap;
}
.dist-ftab:hover { border-color: #0057A8; color: #0057A8; }
.dist-ftab.active { background: #0057A8; color: #fff; border-color: #0057A8; }
.dist-filter-sep { width: 1px; height: 20px; background: #D1DCE8; margin: 0 6px; }

/* Map */
/* ── SVG MAP ── */
.dist-map-wrap {
  background: #FAFAF8;
  border-top: 1px solid #E8ECF0;
  border-bottom: 1px solid #E8ECF0;
  padding: 40px 64px 48px; display: flex; gap: 48px; align-items: flex-start;
  position: relative; overflow: hidden;
}
.dist-map-wrap::before {
  content:''; position:absolute; inset:0;
  background-image:
    linear-gradient(#E8ECF0 1px, transparent 1px),
    linear-gradient(90deg, #E8ECF0 1px, transparent 1px);
  background-size: 40px 40px;
  pointer-events:none; opacity:.5;
}
.dist-map-svg-box {
  flex: 0 0 520px; position: relative;
}
.dist-map-svg-box svg {
  width: 100%; height: auto; display: block;
  filter: drop-shadow(0 8px 40px rgba(0,0,0,0.5));
}
/* states fill — Bandeira do Brasil */
.br-state {
  fill: #2E8B57; stroke: #1F6B40; stroke-width: .6;
  transition: fill .25s ease, filter .25s ease; cursor: default;
}
.br-state:hover {
  fill: #3AA366; 
}
.br-state.has-unit {
  fill: #FBBF24; stroke: #D97706; stroke-width: .8; cursor: pointer;
}
.br-state.has-unit:hover {
  fill: #FCD34D; filter: drop-shadow(0 2px 8px rgba(251,191,36,.4));
}
.br-state.active-state {
  fill: #F59E0B; stroke: #D97706; stroke-width: 1;
  filter: drop-shadow(0 0 10px rgba(251,191,36,.5));
}
/* pins */
.map-pin { cursor: pointer; transition: transform .2s ease, opacity .3s ease; }
.map-pin:hover { transform: scale(1.3); }
.map-pin.dimmed { opacity: .2; pointer-events: none; }
.map-pin.pin-matriz { filter: drop-shadow(0 0 6px rgba(91,179,240,0.8)); }
/* tooltip */
.map-tooltip {
  position: absolute; background: #1E3A5F; color: #fff;
  font-family: 'Barlow Semi Condensed', sans-serif; font-size: 12px; font-weight: 600;
  padding: 6px 12px; border-radius: 8px; white-space: nowrap; pointer-events: none;
  opacity: 0; transition: opacity .15s; z-index: 10;
  box-shadow: 0 4px 16px rgba(0,0,0,.15);
}
.map-tooltip::after {
  content: ''; position: absolute; bottom: -5px; left: 50%; transform: translateX(-50%);
  border: 5px solid transparent; border-bottom: none; border-top-color: #1E3A5F;
}
/* legend */
.dist-map-legend {
  flex: 1; padding-top: 8px; position: relative; z-index: 1;
}
.dist-map-legend-title {
  font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 800;
  color: #2E8B57; letter-spacing: 2.5px; text-transform: uppercase; margin-bottom: 18px;
}
.dist-map-pins-list { display: flex; flex-direction: column; gap: 6px; }
.dist-map-pin-item {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 12px; border-radius: 8px; cursor: pointer;
  background: #F8FAFC; border: 1px solid #E2E8F0;
  transition: all .15s;
}
.dist-map-pin-item:hover { background: #FFFBEB; border-color: #D97706; }
.dist-map-pin-item.dimmed { opacity: .3; }
.dist-map-pin-dot {
  width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0;
  background: #fff; border: 2px solid #D97706;
}
.dist-map-pin-dot.is-matriz { background: #F59E0B; border-color: #D97706; }
.dist-map-pin-city { font-size: 12px; font-weight: 600; color: #1E3A5F; }
.dist-map-pin-type { font-size: 10px; color: #9CA3AF; margin-left: auto; }
.dist-map-legend-divider { height: 1px; background: #E2E8F0; margin: 12px 0; }
.dist-map-legend-note { font-size: 10px; color: #9CA3AF; line-height: 1.5; }
@media(max-width:1100px){
  .dist-map-svg-box { flex: 0 0 420px; }
}
@media(max-width:900px){
  .dist-map-wrap { flex-direction: column; padding: 24px 20px; gap: 24px; }
  .dist-map-svg-box { flex: none; width: 100%; max-width: 480px; margin: 0 auto; }
  .dist-map-legend { padding-top: 0; }
}
.filter-select {
  height: 40px; padding: 0 14px; background: var(--white);
  border: 1.5px solid var(--gray-200); border-radius: 4px;
  font-family: var(--font-body); font-size: 13px; color: var(--gray-800);
  outline: none; cursor: pointer; transition: border-color var(--transition);
}
.filter-select:focus { border-color: var(--blue); }

/* Content wrap */
.dist-content { padding: 40px 64px 64px; }
.dist-cat-section { display: none; }
.dist-cat-section.active { display: block; }
.dist-coming-soon {
  text-align: center; padding: 80px 40px;
  background: #fff; border-radius: 16px; border: 1px dashed #D1DCE8;
  color: #9BA3B2;
}
.dist-coming-soon-icon { font-size: 48px; margin-bottom: 16px; }
.dist-coming-soon-title { font-family: var(--font-display); font-size: 22px; font-weight: 800; color: #374151; margin-bottom: 8px; }
.dist-coming-soon-sub { font-size: 13px; line-height: 1.6; }

/* Partner card (company-level) */
.dist-partner-card {
  background: #fff; border: 1px solid #E0E4EB; border-radius: 16px;
  overflow: hidden; margin-bottom: 24px;
  box-shadow: 0 2px 8px rgba(0,0,0,.05);
  transition: box-shadow .2s;
}
.dist-partner-card:hover { box-shadow: 0 6px 28px rgba(0,87,168,.1); }
.dist-partner-head {
  padding: 24px 28px 20px; background: #fff;
  border-bottom: 1px solid #F0F4F8;
  display: flex; align-items: center; gap: 20px;
}
.dist-partner-logo {
  width: 56px; height: 56px; border-radius: 12px;
  background: #EBF3FC; display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: 20px; font-weight: 900;
  color: #0057A8; flex-shrink: 0; letter-spacing: 1px;
}
.dist-partner-info { flex: 1; }
.dist-partner-name {
  font-family: var(--font-display); font-size: 22px; font-weight: 900;
  color: #0B2F5E; line-height: 1; margin-bottom: 6px;
}
.dist-partner-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.dist-badge {
  font-size: 10px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase;
  padding: 3px 10px; border-radius: 20px;
}
.dist-badge-ind { background: #EBF3FC; color: #0057A8; border: 1px solid rgba(0,87,168,.2); }
.dist-badge-agr { background: #ECFDF5; color: #065F46; border: 1px solid rgba(6,95,70,.2); }
.dist-badge-rev { background: #FEF9C3; color: #854D0E; border: 1px solid rgba(133,77,14,.2); }
.dist-badge-mat { background: #0057A8; color: #fff; }
.dist-badge-fil { background: #F3F4F6; color: #374151; border: 1px solid #E5E7EB; }
.dist-badge-cd  { background: #EDE9FE; color: #5B21B6; border: 1px solid rgba(91,33,182,.2); }
.dist-partner-meta { font-size: 11px; color: #9CA3AF; margin-top: 4px; }
.dist-partner-coverage {
  margin-left: auto; text-align: right; flex-shrink: 0;
}
.dist-coverage-n { font-family: var(--font-display); font-size: 28px; font-weight: 900; color: #0057A8; line-height: 1; }
.dist-coverage-l { font-size: 10px; color: #9CA3AF; text-transform: uppercase; letter-spacing: 1px; margin-top: 2px; }

/* Units grid inside card */
.dist-units-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1px; background: #F0F4F8;
}
.dist-unit {
  background: #fff; padding: 20px 24px;
  transition: background .15s; position: relative;
}
.dist-unit:hover { background: #F8FBFF; }
.dist-unit-type-row { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.dist-unit-type { font-size: 9px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
.dist-unit-city {
  font-family: var(--font-semi); font-size: 15px; font-weight: 700;
  color: #0B2F5E; margin-bottom: 2px;
}
.dist-unit-state { font-size: 11px; color: #9CA3AF; margin-bottom: 14px; }
.dist-unit-contacts { display: flex; flex-direction: column; gap: 5px; margin-bottom: 14px; }
.dist-unit-contact-row { display: flex; align-items: center; gap: 7px; font-size: 12px; color: #374151; }
.dist-unit-contact-row a { color: #374151; text-decoration: none; transition: color .15s; }
.dist-unit-contact-row a:hover { color: #0057A8; }
.dist-unit-contact-icon {
  width: 22px; height: 22px; border-radius: 6px; background: #F3F4F6;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.dist-unit-btns { display: flex; gap: 6px; flex-wrap: wrap; }
.dist-unit-btn {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11px; font-weight: 600; padding: 5px 11px; border-radius: 6px;
  border: none; cursor: pointer; transition: all .15s; text-decoration: none;
}
.dist-unit-btn-wpp { background: #25D366; color: #fff; }
.dist-unit-btn-wpp:hover { background: #1EBE5D; }
.dist-unit-btn-email { background: #EBF3FC; color: #003F7A; }
.dist-unit-btn-email:hover { background: #C5DDF2; }
.dist-unit-btn-tel { background: #F3F4F6; color: #374151; }
.dist-unit-btn-tel:hover { background: #E5E7EB; }

/* Matriz highlight */
.dist-unit.is-matriz {
  background: linear-gradient(135deg, #F0F7FF 0%, #fff 100%);
  border-left: 3px solid #0057A8;
}
.dist-unit.is-matriz:hover { background: linear-gradient(135deg, #E8F3FF 0%, #F8FBFF 100%); }

@media(max-width:1100px){ .dist-units-grid{ grid-template-columns: repeat(2,1fr); } }
@media(max-width:768px){
  .dist-cat-bar, .dist-filter-bar, .dist-content { padding-left: 20px; padding-right: 20px; }
  .dist-hero { padding: 40px 20px 32px; }
  .dist-hero > div:first-child { grid-template-columns: 1fr; gap: 32px; }
  .dist-hero > div { grid-template-columns: 1fr; gap: 32px; }
  .dist-units-grid{ grid-template-columns: 1fr; }
  .dist-hero-stats { gap: 24px; }
}

/* ─── CATALOG PAGE ────────────────────────────────────── */
.catalog-page { background: var(--white); }
.catalog-hero { background: #0B2F5E; padding: 56px 64px 44px; }
.catalog-hero h1 { font-family: var(--font-display); font-size: 52px; font-weight: 900; color: #fff; margin-bottom: 10px; }
.catalog-hero p { font-size: 15px; color: rgba(255,255,255,0.45); font-weight: 300; }
.catalog-layout { display: grid; grid-template-columns: 240px 1fr; min-height: 60vh; }
.catalog-sidebar {
  background: var(--gray-50); border-right: 1px solid var(--gray-200);
  padding: 28px 0;
}
.cat-group-label {
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--gray-400); font-weight: 600; padding: 0 20px 10px;
}
.cat-item {
  font-size: 13px; color: var(--gray-600); padding: 9px 20px;
  cursor: pointer; transition: all var(--transition);
  border-left: 2px solid transparent; display: flex; align-items: center; justify-content: space-between;
}
.cat-item:hover { background: var(--blue-light); color: var(--blue); border-left-color: var(--blue); }
.cat-item.active { background: var(--blue-light); color: var(--blue); border-left-color: var(--blue); font-weight: 600; }
.cat-count { font-size: 11px; background: var(--gray-200); color: var(--gray-600); padding: 1px 7px; border-radius: 20px; }
.catalog-main { padding: 28px 32px; }
.catalog-search-bar { display: flex; gap: 10px; margin-bottom: 24px; }
.catalog-search-input {
  flex: 1; height: 42px; border: 1.5px solid var(--gray-200);
  border-radius: 4px; padding: 0 14px; font-family: var(--font-body);
  font-size: 14px; outline: none; transition: border-color var(--transition);
}
.catalog-search-input:focus { border-color: var(--blue); }
.catalog-search-btn {
  height: 42px; padding: 0 20px; background: var(--blue); color: #fff;
  border: none; border-radius: 4px; font-family: var(--font-semi);
  font-size: 13px; font-weight: 600; cursor: pointer;
}
.catalog-table-wrap { overflow-x: auto; }
.catalog-tbl { width: 100%; border-collapse: collapse; font-size: 13px; }
.catalog-tbl th {
  font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--gray-400); font-weight: 600; padding: 10px 12px;
  border-bottom: 2px solid var(--gray-200); text-align: left; white-space: nowrap;
}
.catalog-tbl td { padding: 13px 12px; border-bottom: 1px solid var(--gray-100); color: var(--gray-800); vertical-align: middle; }
.catalog-tbl tr:hover td { background: var(--blue-light); }
.catalog-tbl tr { cursor: pointer; }
.tbl-code { font-weight: 700; color: var(--blue); font-family: var(--font-semi); }
.tbl-norm { display: inline-block; font-size: 11px; padding: 2px 8px; border-radius: 20px; font-weight: 600; }
.norm-ansi { background: #EFF6FF; color: #1D4ED8; }
.norm-din { background: #F0FDF4; color: #166534; }
.norm-iso { background: #FEF9C3; color: #854D0E; }
.tbl-dl { font-size: 12px; color: var(--blue); font-weight: 600; text-decoration: none; }

/* ─── TOOLS PAGE ──────────────────────────────────────── */
.tools-page { background: var(--white); }
.tools-hero { background: linear-gradient(rgba(11,47,94,0.62), rgba(11,47,94,0.62)), url('images/img-bee81049.webp'); background-size: cover; background-position: center; padding: 56px 64px 44px; border-bottom:1px solid rgba(255,255,255,0.1); }
.tools-hero h1 { font-family: var(--font-display); font-size: 52px; font-weight: 900; color: #fff; margin-bottom: 10px; min-height:64px; text-shadow:0 1px 8px rgba(0,0,0,0.35); }
.tools-hero p { font-size: 15px; color: rgba(255,255,255,0.85); font-weight: 400; text-shadow:0 1px 6px rgba(0,0,0,0.35); }
.tools-hero .section-kicker { text-shadow:0 1px 6px rgba(0,0,0,0.35); }
/* texto digitado com marca-texto laranja */
.tools-hero-typed { background:linear-gradient(120deg, rgba(242,140,40,0.32) 0%, rgba(242,140,40,0.24) 100%); box-shadow:0 0 0 2px rgba(242,140,40,0.18); border-radius:4px; padding:0 6px; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.tools-hero-caret { display:inline-block; color:#F28C28; font-weight:400; margin-left:2px; animation:toolsCaretBlink 1s step-end infinite; }
@keyframes toolsCaretBlink { 0%,100%{opacity:1;} 50%{opacity:0;} }
@media (prefers-reduced-motion: reduce){ .tools-hero-caret { animation:none; } }
.tools-content { padding: 52px 64px; }
.tools-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.tool-card {
  background: var(--white); border: 1px solid var(--gray-200);
  border-radius: 8px; padding: 32px; transition: all var(--transition);
}
.tool-card:hover { border-color: var(--blue); box-shadow: 0 4px 24px rgba(0,87,168,0.07); }
.tool-card-header { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 24px; }
.tool-card-icon {
  width: 48px; height: 48px; border-radius: 8px;
  background: var(--blue-light); display: flex; align-items: center;
  justify-content: center; font-size: 22px; flex-shrink: 0;
}
.tool-card-title { font-family: var(--font-semi); font-size: 16px; font-weight: 600; color: var(--gray-900); margin-bottom: 4px; }
.tool-card-sub { font-size: 12px; color: var(--gray-400); line-height: 1.4; }
.tcalc-spec { background: var(--gray-50); border:1px solid var(--gray-200); border-radius:8px; padding:12px 14px; }
/* Cards de resultado no mesmo padrão laranja marca-texto dos campos */
.tcalc-card-hl {
  background:linear-gradient(120deg, rgba(242,140,40,0.30) 0%, rgba(242,140,40,0.22) 100%) !important;
  border:1.5px solid rgba(242,140,40,0.55) !important;
}
.tcalc-card-hl .tcalc-spec-lbl,
.tcalc-card-hl .tool-result-label { color:#9a5a16 !important; }
.tcalc-card-hl .tcalc-spec-val,
.tcalc-card-hl .tool-result-value { color:#5c3408 !important; }

/* ── Busca inteligente da calculadora (estilo catálogo, cor de marca laranja) ── */
.tcalc-search-wrap { position:relative; }
.tcalc-smart-badge {
  position:absolute; top:50%; right:12px; transform:translateY(-50%); z-index:6;
  background:linear-gradient(90deg,#E07612,#F28C28); color:#fff;
  font-family:'Barlow',sans-serif; font-size:9px; font-weight:800; letter-spacing:0.8px; text-transform:uppercase;
  padding:4px 10px; border-radius:10px; white-space:nowrap; pointer-events:none;
  box-shadow:0 2px 6px rgba(242,140,40,0.4); animation:tcalcBadgeFloat 2.2s ease-in-out infinite;
}
@keyframes tcalcBadgeFloat { 0%,100%{transform:translateY(-50%) scale(1);} 50%{transform:translateY(-50%) scale(1.06);} }
.tcalc-search-wrap.is-active .tcalc-smart-badge { opacity:0; transform:translateY(-50%) scale(0.9); transition:all .3s; pointer-events:none; }

/* Marca-texto laranja (highlight) atrás do campo */
.tcalc-hl {
  background:
    linear-gradient(120deg, rgba(242,140,40,0.30) 0%, rgba(242,140,40,0.22) 100%) !important;
  border:1.5px solid rgba(242,140,40,0.55) !important;
}
.tcalc-hl::placeholder { color:#9a5a16; opacity:0.85; }
.tcalc-hl:focus { border-color:#F28C28 !important; box-shadow:0 0 0 3px rgba(242,140,40,0.18) !important; background:linear-gradient(120deg, rgba(242,140,40,0.18), rgba(242,140,40,0.12)) !important; }

/* Animação de escrita infinita (vai e volta) — só no campo da corrente */
.tcalc-hl-typing.tcalc-typing-on::placeholder { color:#9a5a16; opacity:1; }
@media (prefers-reduced-motion: reduce){
  .tcalc-smart-badge { animation:none !important; }
}
.tcalc-spec-lbl { font-size:10px; font-weight:700; letter-spacing:0.8px; text-transform:uppercase; color:var(--gray-400); margin-bottom:5px; }
.tcalc-spec-val { font-family:var(--font-semi); font-size:17px; font-weight:700; color:var(--gray-900); }
.tcalc-ac-item { padding:10px 14px; cursor:pointer; border-bottom:1px solid var(--gray-100); display:flex; align-items:center; justify-content:space-between; gap:10px; transition:background .1s; }
.tcalc-ac-item:last-child { border-bottom:none; }
.tcalc-ac-item:hover, .tcalc-ac-item.active { background:var(--blue-light); }
.tcalc-ac-code { font-family:var(--font-semi); font-size:14px; font-weight:600; color:var(--gray-900); }
.tcalc-ac-meta { font-size:11px; color:var(--gray-400); }
.tool-input-group { margin-bottom: 14px; }
.tool-label { font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: var(--gray-400); font-weight: 600; margin-bottom: 6px; display: block; }
.tool-input {
  width: 100%; height: 40px; border: 1.5px solid var(--gray-200);
  border-radius: 4px; padding: 0 12px; font-family: var(--font-body);
  font-size: 14px; outline: none; transition: border-color var(--transition);
}
.tool-input:focus { border-color: var(--blue); }
.tool-select {
  width: 100%; height: 40px; border: 1.5px solid var(--gray-200);
  border-radius: 4px; padding: 0 12px; font-family: var(--font-body);
  font-size: 14px; outline: none; background: var(--white);
  cursor: pointer; transition: border-color var(--transition);
}
.tool-select:focus { border-color: var(--blue); }
.tool-result {
  background: var(--blue-light); border: 1px solid rgba(0,87,168,0.15);
  border-radius: 4px; padding: 14px 16px; margin-top: 16px; min-height: 52px;
}
.tool-result-label { font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--blue); font-weight: 600; margin-bottom: 4px; }
.tool-result-value { font-family: var(--font-semi); font-size: 20px; font-weight: 700; color: var(--blue-dark); }
.tool-btn {
  width: 100%; padding: 11px; background: var(--blue); color: #fff;
  border: none; border-radius: 4px; font-family: var(--font-semi);
  font-size: 13px; font-weight: 600; cursor: pointer; margin-top: 14px;
  transition: background var(--transition);
}
.tool-btn:hover { background: var(--blue-dark); }

/* USD live */
.usd-display {
  display: flex; align-items: baseline; gap: 10px; margin-bottom: 8px;
}
.usd-rate-big { font-family: var(--font-display); font-size: 40px; font-weight: 900; color: var(--blue-dark); }
.usd-change-tag {
  font-size: 12px; font-weight: 600; padding: 3px 10px;
  border-radius: 20px; background: #DCFCE7; color: #166534;
}
.usd-meta { font-size: 11px; color: var(--gray-400); margin-bottom: 20px; }
.usd-converter { display: flex; gap: 8px; align-items: center; }
.usd-converter input { flex: 1; height: 40px; border: 1.5px solid var(--gray-200); border-radius: 4px; padding: 0 12px; font-size: 15px; outline: none; font-family: var(--font-body); }
.usd-converter input:focus { border-color: var(--blue); }
.usd-arrow { font-size: 18px; color: var(--gray-400); flex-shrink: 0; }
.usd-result { flex: 1; height: 40px; background: var(--gray-50); border: 1.5px solid var(--gray-200); border-radius: 4px; padding: 0 12px; font-size: 15px; font-weight: 600; color: var(--blue-dark); display: flex; align-items: center; }

/* ─── FOOTER ──────────────────────────────────────────── */
/* ── Contact strip above footer ── */
.footer-contact-strip {
  background: #fff;
  border-top: 1px solid #E0E4EB;
  border-bottom: 3px solid #0057A8;
  padding: 32px 64px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.fcs-item {
  display: flex; align-items: center; gap: 14px;
}
.fcs-icon {
  width: 44px; height: 44px; border-radius: 10px;
  background: #EBF3FC; border: 1px solid #C5DDF2;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; color: #0057A8;
}
.fcs-label { font-size: 10px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: #9CA3AF; margin-bottom: 3px; }
.fcs-value { font-size: 13px; font-weight: 700; color: #0B2F5E; line-height: 1.4; }
.fcs-value a { color: #0B2F5E; text-decoration: none; transition: color .15s; }
.fcs-value a:hover { color: #0057A8; }
@media(max-width:900px) { .footer-contact-strip { grid-template-columns: 1fr 1fr; } }
@media(max-width:600px) { .footer-contact-strip { grid-template-columns: 1fr; padding: 24px 20px; } }

footer {
  background: #071E3D; padding: 56px 64px 36px;
  border-top: none;
}
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 48px; }
.footer-brand-name {
  font-family: var(--font-display); font-size: 22px; font-weight: 900;
  letter-spacing: 3px; color: #fff; margin-bottom: 10px;
}
.footer-brand-name span { color: #5BB3F0; }
.footer-brand-desc { font-size: 13px; color: rgba(255,255,255,0.65); line-height: 1.7; max-width: 280px; }
.footer-col-title {
  font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
  color: #7EC8F4; margin-bottom: 16px; font-weight: 700;
}
.footer-link {
  display: block; font-size: 13px; color: rgba(255,255,255,0.7);
  margin-bottom: 10px; cursor: pointer; transition: color var(--transition);
  text-decoration: none;
}
.footer-link:hover { color: #fff; }
.footer-bottom {
  padding-top: 28px; border-top: 1px solid rgba(255,255,255,0.10);
  display: flex; align-items: center; justify-content: space-between;
}
.footer-copy { font-size: 12px; color: rgba(255,255,255,0.5); }

/* ══════════════════════════════════════════════════════════
   SCROLL ANIMATIONS — Intersection Observer System
   ══════════════════════════════════════════════════════════ */

/* Base — all animated elements start hidden */
[data-anim] {
  opacity: 0;
  will-change: opacity, transform;
}
[data-anim].anim-in {
  opacity: 1;
}

/* fade-up — padrão: sobe suavemente */
[data-anim="fade-up"] {
  transform: translateY(40px);
  transition: opacity .7s cubic-bezier(0.22,1,0.36,1),
              transform .7s cubic-bezier(0.22,1,0.36,1);
}
[data-anim="fade-up"].anim-in { transform: translateY(0); }

/* fade-down */
[data-anim="fade-down"] {
  transform: translateY(-30px);
  transition: opacity .7s cubic-bezier(0.22,1,0.36,1),
              transform .7s cubic-bezier(0.22,1,0.36,1);
}
[data-anim="fade-down"].anim-in { transform: translateY(0); }

/* fade-left — entra da esquerda */
[data-anim="fade-left"] {
  transform: translateX(-50px);
  transition: opacity .75s cubic-bezier(0.22,1,0.36,1),
              transform .75s cubic-bezier(0.22,1,0.36,1);
}
[data-anim="fade-left"].anim-in { transform: translateX(0); }

/* fade-right — entra da direita */
[data-anim="fade-right"] {
  transform: translateX(50px);
  transition: opacity .75s cubic-bezier(0.22,1,0.36,1),
              transform .75s cubic-bezier(0.22,1,0.36,1);
}
[data-anim="fade-right"].anim-in { transform: translateX(0); }

/* zoom-in — escala */
[data-anim="zoom-in"] {
  transform: scale(0.88);
  transition: opacity .65s cubic-bezier(0.22,1,0.36,1),
              transform .65s cubic-bezier(0.22,1,0.36,1);
}
[data-anim="zoom-in"].anim-in { transform: scale(1); }

/* flip-up — flip 3D */
[data-anim="flip-up"] {
  transform: perspective(600px) rotateX(18deg) translateY(30px);
  transition: opacity .7s cubic-bezier(0.22,1,0.36,1),
              transform .7s cubic-bezier(0.22,1,0.36,1);
}
[data-anim="flip-up"].anim-in { transform: perspective(600px) rotateX(0) translateY(0); }

/* line — linha que cresce da esquerda para direita */
[data-anim="line"] {
  transform: scaleX(0);
  transform-origin: left center;
  transition: opacity .5s ease, transform .8s cubic-bezier(0.22,1,0.36,1);
}
[data-anim="line"].anim-in { transform: scaleX(1); }

/* Delays via data-delay */
[data-delay="100"] { transition-delay: .10s; }
[data-delay="200"] { transition-delay: .20s; }
[data-delay="300"] { transition-delay: .30s; }
[data-delay="400"] { transition-delay: .40s; }
[data-delay="500"] { transition-delay: .50s; }
[data-delay="600"] { transition-delay: .60s; }
[data-delay="700"] { transition-delay: .70s; }
[data-delay="800"] { transition-delay: .80s; }

/* Legacy .reveal support */
.reveal { opacity: 0; transform: translateY(24px); transition: all 0.6s cubic-bezier(0.22,1,0.36,1); }
.reveal.in { opacity: 1; transform: translateY(0); }

/* Counter number style */
.anim-counter { display: inline-block; }
/* ── Industries grid responsive ── */
@media (max-width: 1280px) {
  .sectors-grid { grid-template-columns: repeat(6, 1fr); }
}
@media (max-width: 1024px) {
  .sectors-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 640px) {
  .sectors-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .sectors-stats { gap: 24px; flex-wrap: wrap; }
}

/* ── Engineering grid for section heroes ── */
.dist-hero, .catalog-hero, .tools-hero, .product-header, .dp-header, .cdp-hdr {
  position: relative;
}
.dist-hero::before, .catalog-hero::before, .tools-hero::before, .product-header::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
  background-size: 60px 60px;
  z-index: 0;
}
.dist-hero > *, .catalog-hero > *, .tools-hero > *, .product-header > * {
  position: relative; z-index: 1;
}
/* hero de Ferramentas usa a mesma grade clara dos demais heróis azuis */


/* ═══ SITE FOOTER — UNIVERSAL ═══════════════════════════════════════════ */
.site-footer { background:#0B2F5E; color:#fff; padding:56px 64px 0; font-family:'Barlow',sans-serif; }
.site-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:48px; align-items:start; }
.site-footer-col { padding-top:52px; }
.site-footer-brand { font-family:'Barlow Condensed',sans-serif; font-size:22px; font-weight:900; letter-spacing:1px; color:#fff; margin-bottom:10px; }
.site-footer-brand span { color:#5BB3F0; }
.site-footer-desc { font-size:13px; color:rgba(255,255,255,.6); line-height:1.7; max-width:280px; margin:0; }
.site-footer-contact-link { display:flex; align-items:flex-start; gap:10px; text-decoration:none; color:rgba(255,255,255,.5); font-size:12px; line-height:1.5; transition:color .15s; }
.site-footer-contact-link:hover { color:#7EC8F4; }
.site-footer-hours { margin-top:16px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:8px; padding:12px 14px; }
.site-footer-hours-label { font-size:9px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.3); margin-bottom:8px; }
.site-footer-hours-text { font-size:11px; color:rgba(255,255,255,.55); line-height:1.7; }
.site-footer-social { width:36px; height:36px; border-radius:8px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; transition:all .15s; color:rgba(255,255,255,.5); text-decoration:none; }
.site-footer-social:hover { background:rgba(255,255,255,.14); color:#fff; }
.site-footer-social-wpp:hover { background:rgba(37,211,102,.2); color:#25D366; }
.site-footer-col-title { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.35); margin-bottom:16px; padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.08); }
.site-footer-link { display:block; font-size:13px; color:rgba(255,255,255,.55); text-decoration:none; padding:5px 0; cursor:pointer; transition:color .15s; }
.site-footer-link:hover { color:#7EC8F4; }
.site-footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding:20px 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.site-footer-copy { font-size:12px; color:rgba(255,255,255,.35); }
.site-footer-social-link { color:rgba(255,255,255,.35); text-decoration:none; font-size:11px; transition:color .15s; }
.site-footer-social-link:hover { color:#7EC8F4; }
@media(max-width:900px){ .site-footer { padding:40px 20px 0; } .site-footer-grid { grid-template-columns:1fr 1fr; gap:32px; } }
@media(max-width:600px){ .site-footer-grid { grid-template-columns:1fr; } .site-footer-bottom { flex-direction:column; align-items:flex-start; } }

/* ═══ QUERO SER DISTRIBUIDOR ════════════════════════════════════════════ */
/* Botão flutuante na página de distribuidores */
.dist-become-btn {
  display: flex; align-items: center; gap: 12px;
  background: linear-gradient(135deg, #F59E0B, #D97706);
  color: #fff; border: none; border-radius: 14px;
  padding: 18px 32px; cursor: pointer;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 18px; font-weight: 800; letter-spacing: .5px;
  text-transform: uppercase;
  box-shadow: 0 8px 32px rgba(245,158,11,.45);
  transition: all .2s; position: relative; overflow: hidden;
}
.dist-become-btn::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,.15), transparent);
  opacity: 0; transition: opacity .2s;
}
.dist-become-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 40px rgba(245,158,11,.55); }
.dist-become-btn:hover::before { opacity: 1; }
.dist-become-btn svg { flex-shrink: 0; }
.dist-become-pulse {
  width: 10px; height: 10px; border-radius: 50%;
  background: #fff; flex-shrink: 0;
  box-shadow: 0 0 0 0 rgba(255,255,255,.6);
  animation: distPulse 1.8s infinite;
}
@keyframes distPulse {
  0%   { box-shadow: 0 0 0 0 rgba(255,255,255,.6); }
  70%  { box-shadow: 0 0 0 8px rgba(255,255,255,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); }
}

/* Seção de chamada na página */
.dist-become-section {
  background: linear-gradient(135deg, #0B2F5E 0%, #0057A8 60%, #0081CC 100%);
  padding: 72px 64px; position: relative; overflow: hidden;
  display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: center;
}
.dist-become-section::before {
  content: ''; position: absolute; inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.dist-become-left { position: relative; z-index: 1; }
.dist-become-kicker {
  font-size: 10px; font-weight: 700; letter-spacing: 3px;
  text-transform: uppercase; color: #F59E0B; margin-bottom: 12px;
  display: flex; align-items: center; gap: 8px;
}
.dist-become-kicker::before { content: ''; width: 24px; height: 2px; background: #F59E0B; border-radius: 1px; }
.dist-become-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 44px; font-weight: 900; color: #fff;
  line-height: 1.05; margin: 0 0 16px;
}
.dist-become-title span { color: #F59E0B; }
.dist-become-sub { font-size: 15px; color: rgba(255,255,255,.65); line-height: 1.7; max-width: 560px; margin: 0 0 28px; }
.dist-become-pills { display: flex; gap: 10px; flex-wrap: wrap; }
.dist-become-pill {
  display: flex; align-items: center; gap: 6px;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15);
  border-radius: 20px; padding: 6px 14px;
  font-size: 12px; font-weight: 600; color: rgba(255,255,255,.8);
}
.dist-become-pill::before { content: '✓'; color: #F59E0B; font-size: 11px; }
.dist-become-right { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.dist-become-or { font-size: 11px; color: rgba(255,255,255,.4); text-align: center; }
.dist-become-wpp {
  display: flex; align-items: center; gap: 8px;
  background: rgba(37,211,102,.15); border: 1px solid rgba(37,211,102,.3);
  border-radius: 10px; padding: 12px 20px; cursor: pointer;
  font-size: 13px; font-weight: 600; color: #25D366;
  font-family: 'Barlow', sans-serif; transition: all .2s;
}
.dist-become-wpp:hover { background: rgba(37,211,102,.25); }

/* Modal */
.dist-form-overlay {
  position: fixed; inset: 0; background: rgba(0,18,51,.7);
  backdrop-filter: blur(6px); z-index: 9000;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none; transition: opacity .25s;
  padding: 20px;
}
.dist-form-overlay.open { opacity: 1; pointer-events: all; }
.dist-form-modal {
  background: #fff; border-radius: 20px; width: 100%; max-width: 720px;
  max-height: 90vh; overflow-y: auto; position: relative;
  box-shadow: 0 32px 80px rgba(0,0,0,.35);
  transform: translateY(24px); transition: transform .3s cubic-bezier(.22,1,.36,1);
}
.dist-form-overlay.open .dist-form-modal { transform: translateY(0); }
.dist-form-header {
  background: linear-gradient(135deg, #0B2F5E, #0057A8);
  padding: 32px 36px 28px; border-radius: 20px 20px 0 0; position: relative;
}
.dist-form-header-badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(245,158,11,.2); border: 1px solid rgba(245,158,11,.4);
  border-radius: 20px; padding: 4px 12px;
  font-size: 10px; font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; color: #F59E0B; margin-bottom: 12px;
}
.dist-form-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 30px; font-weight: 900; color: #fff; margin: 0 0 6px;
}
.dist-form-subtitle { font-size: 13px; color: rgba(255,255,255,.6); margin: 0; }
.dist-form-close {
  position: absolute; top: 16px; right: 16px;
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(255,255,255,.1); border: none; cursor: pointer;
  color: rgba(255,255,255,.7); font-size: 18px; display: flex;
  align-items: center; justify-content: center; transition: all .15s;
}
.dist-form-close:hover { background: rgba(255,255,255,.2); color: #fff; }
.dist-form-body { padding: 32px 36px 36px; }
.dist-form-section-title {
  font-size: 11px; font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; color: #0057A8;
  padding-bottom: 10px; border-bottom: 2px solid #EBF3FC;
  margin: 24px 0 18px; display: flex; align-items: center; gap: 8px;
}
.dist-form-section-title:first-child { margin-top: 0; }
.dist-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.dist-form-grid.cols-3 { grid-template-columns: 1fr 1fr 1fr; }
.dist-form-grid.cols-1 { grid-template-columns: 1fr; }
.dist-form-group { display: flex; flex-direction: column; gap: 5px; }
.dist-form-group.span-2 { grid-column: span 2; }
.dist-form-label {
  font-size: 11px; font-weight: 700; color: #374151; letter-spacing: .3px;
}
.dist-form-label span { color: #EF4444; }
.dist-form-input, .dist-form-select, .dist-form-textarea {
  padding: 10px 14px; border: 1.5px solid #E2E8F0; border-radius: 8px;
  font-size: 13px; color: #111827; font-family: 'Barlow', sans-serif;
  background: #FAFBFC; transition: border-color .15s, box-shadow .15s;
  outline: none; width: 100%; box-sizing: border-box;
}
.dist-form-input:focus, .dist-form-select:focus, .dist-form-textarea:focus {
  border-color: #0057A8; box-shadow: 0 0 0 3px rgba(0,87,168,.1);
  background: #fff;
}
.dist-form-textarea { resize: vertical; min-height: 80px; }
.dist-form-submit {
  width: 100%; padding: 16px; margin-top: 24px;
  background: linear-gradient(135deg, #F59E0B, #D97706);
  color: #fff; border: none; border-radius: 10px; cursor: pointer;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 17px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase;
  box-shadow: 0 6px 20px rgba(245,158,11,.4);
  transition: all .2s; display: flex; align-items: center; justify-content: center; gap: 8px;
}
.dist-form-submit:hover { transform: translateY(-1px); box-shadow: 0 10px 28px rgba(245,158,11,.5); }
.dist-form-footer-note {
  text-align: center; font-size: 11px; color: #9CA3AF;
  margin-top: 14px; line-height: 1.5;
}
@media(max-width:640px){
  .dist-become-section { grid-template-columns: 1fr; padding: 48px 20px; }
  .dist-become-title { font-size: 32px; }
  .dist-form-grid { grid-template-columns: 1fr; }
  .dist-form-grid.cols-3 { grid-template-columns: 1fr; }
  .dist-form-group.span-2 { grid-column: span 1; }
  .dist-form-modal { border-radius: 16px; }
  .dist-form-body { padding: 24px 20px; }
  .dist-form-header { padding: 24px 20px; }
}

/* ═══ BENEFITS STRIP — carrossel infinito ═══════════════════════════════ */
.pp-benefits-strip {
  background: linear-gradient(135deg, #0B2F5E 0%, #0057A8 100%);
  overflow: hidden; position: relative;
}
.pp-benefits-strip::before, .pp-benefits-strip::after {
  content: ''; position: absolute; top: 0; bottom: 0; width: 80px; z-index: 2; pointer-events: none;
}
.pp-benefits-strip::before { left: 0; background: linear-gradient(to right, #0B2F5E, transparent); }
.pp-benefits-strip::after  { right: 0; background: linear-gradient(to left, #0057A8, transparent); }
.pp-benefits-strip-inner {
  display: flex; width: max-content;
  animation: ppBsScroll 30s linear infinite;
}
.pp-benefits-strip-inner:hover { animation-play-state: paused; }
@keyframes ppBsScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.pp-benefit-card {
  flex: 0 0 auto; min-width: 220px;
  padding: 18px 24px;
  border-right: 1px solid rgba(255,255,255,.1);
  display: flex; align-items: center; gap: 12px;
  transition: background .2s;
}
.pp-benefit-card:hover { background: rgba(255,255,255,.07); }
.pp-benefit-card:hover .pp-bc-icon { transform: scale(1.12) rotate(-6deg); background: rgba(255,255,255,.2); }
.pp-bc-icon {
  width: 36px; height: 36px; border-radius: 10px; flex-shrink: 0;
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18);
  display: flex; align-items: center; justify-content: center; color: #fff;
  transition: all .25s cubic-bezier(.34,1.56,.64,1);
}
.pp-bc-text { font-size: 12px; font-weight: 700; color: rgba(255,255,255,.92); line-height: 1.3; letter-spacing: .2px; }
.pp-bc-check { display: none; }
.pp-bc-visible { opacity: 1; transform: none; }

/* ═══ SEGMENTO — BENEFITS STRIP ════════════════════════════════════ */
.seg-benefits-strip {
  background: linear-gradient(135deg, #0B2F5E 0%, #0057A8 100%);
  overflow: hidden; position: relative;
}
.seg-benefits-strip::before, .seg-benefits-strip::after {
  content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none;
}
.seg-benefits-strip::before { left:0; background:linear-gradient(to right,#0B2F5E,transparent); }
.seg-benefits-strip::after  { right:0; background:linear-gradient(to left,#0057A8,transparent); }
.seg-bs-inner {
  display:flex; width:max-content;
  animation: segBsScroll 30s linear infinite;
}
.seg-bs-inner:hover { animation-play-state: paused; }
@keyframes segBsScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.seg-bs-card {
  flex:0 0 auto; min-width:220px; padding:18px 24px;
  border-right:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; gap:12px;
  transition: background .2s;
}
.seg-bs-card:hover { background: rgba(255,255,255,.07); }
.seg-bs-card:hover .seg-bs-icon { transform: scale(1.12) rotate(-6deg); }
.seg-bs-icon {
  width:36px; height:36px; border-radius:10px; flex-shrink:0;
  background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18);
  display:flex; align-items:center; justify-content:center; color:#fff;
  transition: all .25s cubic-bezier(.34,1.56,.64,1);
}
.seg-bs-text { font-size:12px; font-weight:700; color:rgba(255,255,255,.92); line-height:1.3; }

/* ═══ SEGMENTO — APLICAÇÕES CARDS ══════════════════════════════════ */
.seg-apps-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(160px,1fr)); gap:12px;
  margin-top: 20px;
}
.seg-app-card {
  background:#fff; border:1px solid #E2E8F0; border-radius:12px;
  padding:20px 16px; text-align:center;
  transition: all .25s cubic-bezier(.34,1.56,.64,1);
  cursor:default; position:relative; overflow:hidden;
}
.seg-app-card::before {
  content:''; position:absolute; inset:0;
  background: linear-gradient(135deg, rgba(0,87,168,.04), transparent);
  opacity:0; transition: opacity .2s;
}
.seg-app-card:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(0,87,168,.12); border-color:#0057A8; }
.seg-app-card:hover::before { opacity:1; }
.seg-app-card:hover .seg-app-card-icon { transform: scale(1.15) rotate(-5deg); background: #0057A8; color:#fff; }
.seg-app-card-icon {
  width:44px; height:44px; border-radius:12px; margin:0 auto 12px;
  background:#EBF3FC; color:#0057A8;
  display:flex; align-items:center; justify-content:center;
  transition: all .25s cubic-bezier(.34,1.56,.64,1);
}
.seg-app-card-name { font-size:12px; font-weight:700; color:#111827; line-height:1.3; position:relative; }

/* ═══ SEGMENTO — STATS COUNTER ══════════════════════════════════════ */
.seg-hero-stats .seg-hero-stat-n {
  transition: all .3s;
}
.seg-stat-animated {
  display:inline-block;
}

/* ═══ SEGMENTO — CARROSSEL RELACIONADOS ═════════════════════════════ */
.seg-related-carousel-wrap { overflow:hidden; position:relative; }
.seg-related-carousel-wrap::before, .seg-related-carousel-wrap::after {
  content:''; position:absolute; top:0; bottom:0; width:60px; z-index:2; pointer-events:none;
}
.seg-related-carousel-wrap::before { left:0; background:linear-gradient(to right,#fff,transparent); }
.seg-related-carousel-wrap::after  { right:0; background:linear-gradient(to left,#fff,transparent); }
.seg-related-carousel {
  display:flex; gap:16px; width:max-content;
  animation: segRelScroll 35s linear infinite;
}
.seg-related-carousel:hover { animation-play-state: paused; }
@keyframes segRelScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}


/* ════════════════════════════════════════════════
   CSS consolidado das páginas (modais globais, etc.)
   Antes ficava embutido em páginas específicas.
   ════════════════════════════════════════════════ */

/* ===== CSS migrado de produtos.html (era inline) ===== */
/* ─── PRODUTOS PAGE ──────────────────────────────────────────── */
#page-produto{background:#F8F9FB;font-family:'Barlow',sans-serif}
#page-produto *{box-sizing:border-box}
/* hero */
.prd-hero{background-color:#0B2F5E;background-image:url("images/banners/produtos.jpg");background-size:cover;background-position:center;padding:52px 64px 44px;position:relative;overflow:hidden}

.prd-hero::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:rgba(11,47,94,0.72);
background-image:linear-gradient(rgba(255,255,255,.05)1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05)1px,transparent 1px);
background-size:60px 60px}
.prd-hero>*{position:relative;z-index:2}
.prd-kicker{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#7EC8F4;margin-bottom:8px}
.prd-hero h1{font-family:'Barlow Condensed',sans-serif;font-size:46px;font-weight:900;color:#fff;line-height:1;margin:0 0 8px}
.prd-hero p{font-size:14px;color:rgba(255,255,255,.55);max-width:520px;line-height:1.6;margin:0}
.prd-stats{display:flex;gap:32px;margin-top:24px;flex-wrap:wrap}
.prd-stat-n{font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:900;color:#7EC8F4;line-height:1}
.prd-stat-l{font-size:9px;color:rgba(255,255,255,.4);margin-top:3px;text-transform:uppercase;letter-spacing:1px;font-weight:600}
/* grid */
.prd-grid-section{padding:40px 64px 64px}
.prd-section-title{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:700;
color:#111827;margin-bottom:20px;letter-spacing:.3px}
.prd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
/* card */
.prd-card{background:#fff;border:1px solid #E0E4EB;border-radius:12px;overflow:hidden;
cursor:pointer;display:flex;flex-direction:column;
box-shadow:0 1px 4px rgba(0,0,0,.05);
transition:border-color .2s, box-shadow .25s, opacity .35s ease, transform .35s ease;
transform-style:preserve-3d; will-change:transform; position:relative;}
.prd-card:hover{border-color:#0057A8;box-shadow:0 20px 48px rgba(0,87,168,.15)}
/* Filter animation states */
.prd-card.prd-hiding{opacity:0;transform:scale(0.88) translateY(12px);pointer-events:none}
.prd-card.prd-showing{opacity:0;transform:scale(0.95) translateY(8px)}
.prd-card.prd-visible{opacity:1;transform:scale(1) translateY(0)}
/* card visual */
.prd-card-vis{position:relative;aspect-ratio:16/9;overflow:hidden;flex-shrink:0;
background:#F8F9FB}
.prd-card-vis *{pointer-events:none}
.prd-card-photo{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .3s}
.prd-card-photo.loaded{opacity:1}
.prd-card-icon{display:none}
.prd-card-icon svg{width:56px;height:56px;opacity:.45;transition:all .2s}
.prd-card:hover .prd-card-icon svg{opacity:.8;transform:scale(1.05)}
.prd-card-grad{display:none}
.prd-card:hover .prd-card-grad{opacity:1}
.prd-card-label-inline{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#0057A8;opacity:.7}
.prd-card-name{font-family:'Barlow Condensed',sans-serif;font-size:17px;font-weight:800;color:#111827;line-height:1.15;margin:3px 0 6px}
.prd-card-label{display:none;
font-size:9px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;
color:rgba(255,255,255,.9);background:rgba(0,87,168,.6);backdrop-filter:blur(4px);
padding:3px 9px;border-radius:20px;border:1px solid rgba(255,255,255,.2)}
.prd-card-title{position:absolute;bottom:0;left:0;right:0;padding:20px 16px 14px;
font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:800;
color:#fff;line-height:1.1;text-shadow:0 1px 4px rgba(0,0,0,.5)}
/* card info strip */
.prd-card-info{padding:12px 14px 14px;border-top:1px solid #F0F2F5;background:#fff;
flex:1;display:flex;flex-direction:column;transition:background .2s}
.prd-card:hover .prd-card-info{background:#F4F9FF}
.prd-card-desc{font-size:12px;color:#6B7280;line-height:1.5;flex:1;margin:0;
display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.prd-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.prd-card-norms{display:flex;gap:5px;flex-wrap:wrap}
.prd-norm-badge{font-size:9px;font-weight:700;padding:2px 7px;border-radius:10px;
background:#EBF3FC;color:#003F7A;border:1px solid rgba(0,87,168,.15)}
.prd-card-cta{font-size:11px;font-weight:700;color:#0057A8;white-space:nowrap}

/* ── DETAIL VIEW ── */
.prd-detail{display:none}
.prd-detail.open{display:block}
/* banner */
.prd-det-banner{position:relative;overflow:hidden;min-height:0;display:flex;align-items:flex-end;background:#0B2F5E}
.prd-det-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .5s}
.prd-det-bg.show{opacity:1}
.prd-det-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04)1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04)1px,transparent 1px);background-size:60px 60px;z-index:1}
.prd-det-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,18,51,.92) 0%,rgba(0,18,51,.55) 40%,rgba(0,18,51,.15) 75%,rgba(0,18,51,0) 100%);z-index:2}
.prd-det-ct{position:relative;z-index:3;padding:18px 64px 20px;width:100%}
.prd-back{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;
color:rgba(255,255,255,.6);background:none;border:none;cursor:pointer;margin-bottom:16px;
padding:0;font-family:'Barlow',sans-serif;transition:color .15s}
.prd-back:hover{color:#fff;background:rgba(255,255,255,.18)}
.prd-det-kicker{font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:#7EC8F4;margin-bottom:8px;display:inline-block;background:rgba(0,87,168,.4);backdrop-filter:blur(6px);padding:4px 12px;border-radius:20px;border:1px solid rgba(91,179,240,.3)}
.prd-det-title{font-family:'Barlow Condensed',sans-serif;font-size:38px;font-weight:900;color:#fff;line-height:1;margin:0 0 8px;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.prd-det-sub{font-size:14px;color:rgba(255,255,255,.75);max-width:560px;line-height:1.6;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.prd-det-norms{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.prd-det-norm{font-size:10px;font-weight:700;padding:3px 10px;border-radius:12px;
background:rgba(255,255,255,.12);color:rgba(255,255,255,.8);
border:1px solid rgba(255,255,255,.2)}
/* detail body */
.prd-det-body{padding:44px 64px}
.prd-det-body-grid{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:start}
#prd-det-left{min-width:0;overflow:hidden;width:100%}
.prd-det-desc{font-size:14px;color:#374151;line-height:1.75;margin:0 0 28px}
.prd-sec-ttl{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
color:#9BA3B2;margin:0 0 12px;padding-bottom:7px;border-bottom:1px solid #E0E4EB}
/* highlights grid */
.prd-highlights{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:28px}
.prd-highlight{background:#fff;border:1px solid #E0E4EB;border-radius:8px;padding:14px 16px}
.prd-highlight-icon{font-size:20px;margin-bottom:6px}
.prd-highlight-name{font-size:11px;font-weight:700;color:#111827;margin-bottom:3px}
.prd-highlight-desc{font-size:10px;color:#9BA3B2;line-height:1.4}
/* applications tags */
.prd-apps-wrap{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:28px}
.prd-app-tag{font-size:11px;font-weight:600;color:#003F7A;
background:#EBF3FC;border:1px solid rgba(0,87,168,.15);padding:5px 12px;border-radius:20px}
/* specs table */
.prd-specs-table{width:100%;border-collapse:collapse;margin-bottom:28px;font-size:12px}
.prd-specs-table th{background:#0057A8;color:rgba(255,255,255,.9);font-size:9px;font-weight:700;
letter-spacing:1px;text-transform:uppercase;padding:9px 14px;text-align:left}
.prd-specs-table th:last-child{text-align:right}
.prd-specs-table td{padding:9px 14px;border-bottom:1px solid #F0F2F5;color:#374151}
.prd-specs-table td:last-child{text-align:right;font-family:'JetBrains Mono',monospace;font-weight:600;color:#0057A8}
.prd-specs-table tr:last-child td{border-bottom:none}
.prd-specs-table tr:nth-child(even) td{background:#F8F9FB}
/* gallery */
.prd-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px}
.prd-gal-item{border-radius:8px;overflow:hidden;border:1px solid #E0E4EB;background:#fff}
.prd-gal-photo{aspect-ratio:4/3;background:linear-gradient(135deg,#EBF3FC,#C5DDF2);
background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;font-size:24px;color:#C5DDF2}
.prd-gal-info{padding:8px 10px 10px}
.prd-gal-name{font-size:11px;font-weight:600;color:#111827;display:block;margin-bottom:2px}
.prd-gal-text{font-size:10px;color:#9BA3B2;line-height:1.4;margin:0}
/* sidebar */
.prd-sidebar{display:flex;flex-direction:column;gap:12px}
.prd-scard{background:#fff;border:1px solid #E0E4EB;border-radius:10px;padding:18px 20px}
.prd-prods-list{list-style:none;padding:0;margin:0}
.prd-prods-list li{display:flex;align-items:center;gap:8px;padding:8px 0;
border-bottom:1px solid #F0F2F5;font-size:12px;color:#374151;font-weight:500;cursor:pointer;transition:color .15s}
.prd-prods-list li:last-child{border-bottom:none}
.prd-prods-list li:hover{color:#0057A8}
.prd-prod-dot{width:5px;height:5px;border-radius:50%;background:#0057A8;flex-shrink:0;opacity:.4}
.prd-prods-list li:hover .prd-prod-dot{opacity:1}
.prd-dls-list{display:flex;flex-direction:column;gap:7px}
.prd-dl-item{display:flex;align-items:center;gap:9px;padding:9px 11px;
background:#F8F9FB;border:1px solid #E0E4EB;border-radius:6px;text-decoration:none;transition:all .15s}
.prd-dl-item:hover{border-color:#0057A8;background:#EBF3FC}
.prd-dl-icon{font-size:15px;flex-shrink:0}
.prd-dl-name{font-size:11px;font-weight:600;color:#003F7A;flex:1;line-height:1.3}
.prd-dl-arr{color:#9BA3B2;font-size:12px}
.prd-no-dl{font-size:11px;color:#9BA3B2;padding:12px;background:#F8F9FB;
border-radius:6px;border:1px dashed #E0E4EB;text-align:center;margin:0}
.prd-cta-btn{display:block;width:100%;padding:12px;background:#0057A8;color:#fff;
border:none;border-radius:6px;font-family:'Barlow Semi Condensed',sans-serif;
font-size:13px;font-weight:600;cursor:pointer;text-align:center;transition:background .15s;margin-bottom:8px}
.prd-cta-btn:hover{background:#003F7A}
.prd-cta-wpp{display:block;width:100%;padding:12px;background:#25D366;color:#fff;
border:none;border-radius:6px;font-family:'Barlow Semi Condensed',sans-serif;
font-size:13px;font-weight:600;cursor:pointer;text-align:center;transition:background .15s;margin-bottom:8px}
.prd-cta-wpp:hover{background:#1EA855}
.prd-cta-sec{display:block;width:100%;padding:11px;background:#EBF3FC;color:#003F7A;
border:1.5px solid rgba(0,87,168,.15);border-radius:6px;font-family:'Barlow Semi Condensed',sans-serif;
font-size:13px;font-weight:600;cursor:pointer;text-align:center;transition:all .15s}
.prd-cta-sec:hover{background:#C5DDF2}

/* ── CARD CAROUSEL ── */
.prd-card-vis{ position:relative; }
.prd-carousel-slide{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0; transition:opacity .8s ease-in-out;
}
.prd-carousel-slide.active{ opacity:1; }
/* dot indicators */
.prd-carousel-dots{
  position:absolute; bottom:44px; left:0; right:0;
  display:flex; justify-content:center; gap:5px; z-index:3; pointer-events:none;
}
.prd-carousel-dot{
  width:5px; height:5px; border-radius:50%;
  background:rgba(255,255,255,.4); transition:background .3s;
}
.prd-carousel-dot.active{ background:#fff; }

.prd-card-num-badge{font-size:9px;font-weight:700;letter-spacing:1.5px;
text-transform:uppercase;color:#0057A8;opacity:.7;display:block;margin-bottom:4px}
/* ── Destaque badges ── */
.prd-badge-highlight{
  position:absolute;top:10px;left:10px;z-index:5;
  font-size:9px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;
  padding:4px 10px;border-radius:20px;line-height:1;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}
.prd-badge-top  {background:#0057A8;color:#fff}
.prd-badge-new  {background:#059669;color:#fff}
.prd-badge-perf {background:#D97706;color:#fff}
.prd-badge-oem  {background:#1E3A8A;color:#fff}
.prd-badge-special {background:#7C3AED;color:#fff}
.prd-badge-heavy {background:#374151;color:#fff}
.prd-badge-load {background:#B91C1C;color:#fff}
.prd-badge-agri {background:#15803D;color:#fff}
.prd-badge-corr {background:#0891B2;color:#fff}
.prd-badge-safety {background:#EA580C;color:#fff}
.prd-badge-custom {background:#9333EA;color:#fff}
/* filter count pill */
.prd-fbar-count{
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(0,87,168,.12);color:#0057A8;
  font-size:10px;font-weight:700;min-width:18px;height:18px;
  border-radius:10px;padding:0 5px;margin-left:5px;
  transition:background .2s,color .2s;
}
.cat-item.active .prd-fbar-count{background:rgba(255,255,255,.25);color:#fff}
.prd-card-name{font-family:'Barlow Condensed',sans-serif;font-size:17px;font-weight:800;
color:#111827;line-height:1.15;margin-bottom:5px}
.prd-card:hover .prd-card-name{color:#003F7A}
/* ── PRODUCT FILTER BAR ── */
.prd-fbar{background:#fff;border-bottom:1px solid #E0E4EB;padding:0 64px;
display:flex;overflow-x:auto;position:sticky;top:64px;z-index:50;scrollbar-width:none}
.prd-fbar::-webkit-scrollbar{height:0}
.prd-ftab{font-family:'Barlow Semi Condensed',sans-serif;font-size:12px;font-weight:500;
color:#6B7280;padding:13px 16px;cursor:pointer;white-space:nowrap;border:none;
background:none;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;flex-shrink:0}
.prd-ftab:hover{color:#0057A8}
.prd-ftab.active{color:#0057A8;border-bottom-color:#0057A8;font-weight:600}
@media(max-width:1100px){.prd-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.prd-grid{grid-template-columns:1fr}.prd-hero,.prd-grid-section,.prd-det-ct,.prd-det-body{padding-left:20px;padding-right:20px}.prd-det-body-grid{grid-template-columns:1fr}}

/* ═══ PREMIUM PRODUCT PAGE 2026 — SKF/Gates/Schaeffler level ══════════════ */

/* ── PRODUCT HERO — 2-column layout ── */
.pp-hero {
  background: #fff;
  padding: 0 64px 48px;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 56px;
  align-items: start;
}
.pp-hero-left { padding-top: 36px; }
/* ── Premium Breadcrumb ── */
.pp-breadcrumb-wrap {
  display: flex; align-items: center;
  padding: 12px 64px; background: #fff;
  border-bottom: 1px solid #F0F2F5;
  animation: breadcrumbIn .45s cubic-bezier(0.22,1,0.36,1) both;
}
@keyframes breadcrumbIn {
  from { opacity:0; transform:translateY(-10px); }
  to   { opacity:1; transform:translateY(0); }
}
.pp-breadcrumb {
  display: flex; align-items: center; gap: 0;
  font-size: 11px; flex-wrap: wrap;
}
.pp-breadcrumb-item {
  display: inline-flex; align-items: center; gap: 5px;
  color: #9CA3AF; cursor: pointer; padding: 4px 8px; border-radius: 6px;
  transition: all .15s; font-weight: 500; white-space: nowrap;
}
.pp-breadcrumb-item:hover { color: #0057A8; background: #EBF3FC; }
.pp-breadcrumb-item.active {
  color: #0057A8; font-weight: 700; cursor: default;
  background: #EBF3FC; pointer-events: none;
}
.pp-breadcrumb-sep { color: #D1D5DB; padding: 0 2px; user-select: none; }
.pp-breadcrumb-cat-pill {
  font-size: 9px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
  background: #0057A8; color: #fff; padding: 2px 8px; border-radius: 10px; margin-left: 8px;
}
.pp-product-num {
  font-size: 10px; font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; color: #0057A8;
  background: #EBF3FC; border: 1px solid rgba(0,87,168,.15);
  padding: 4px 12px; border-radius: 20px; display: inline-block; margin-bottom: 14px;
}
.pp-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 42px; font-weight: 900; color: #0B2F5E;
  line-height: 1.05; margin: 0 0 10px;
}
.pp-subtitle { font-size: 15px; color: #6B7280; line-height: 1.6; margin: 0 0 22px; max-width: 480px; }

/* Norm badges */
.pp-norms { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 28px; }
.pp-norm {
  font-size: 11px; font-weight: 700; letter-spacing: .5px;
  color: #374151; background: #F3F4F6; border: 1px solid #E5E7EB;
  padding: 5px 12px; border-radius: 6px;
}

/* Key specs strip */
.pp-keyspecs {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 28px;
}
.pp-keyspec {
  background: #F8FAFC; border: 1px solid #E2E8F0; border-radius: 10px;
  padding: 12px 14px; border-left: 3px solid #0057A8;
}
.pp-keyspec-val {
  font-family: 'Barlow Condensed',sans-serif; font-size: 20px; font-weight: 900;
  color: #0B2F5E; line-height: 1; margin-bottom: 3px;
}
.pp-keyspec-lbl { font-size: 10px; color: #9CA3AF; text-transform: uppercase; letter-spacing: .8px; }

/* CTA buttons */
.pp-ctas { display: flex; gap: 10px; flex-wrap: wrap; }
.pp-cta-wpp {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 24px; background: #25D366; color: #fff; border: none;
  border-radius: 8px; font-family: 'Barlow Semi Condensed',sans-serif;
  font-size: 13px; font-weight: 700; cursor: pointer; transition: all .15s;
}
.pp-cta-wpp:hover { background: #1EA855; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(37,211,102,.25); }
.pp-cta-cat {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 24px; background: #EBF3FC; color: #003F7A;
  border: 1.5px solid rgba(0,87,168,.2); border-radius: 8px;
  font-family: 'Barlow Semi Condensed',sans-serif; font-size: 13px;
  font-weight: 700; cursor: pointer; transition: all .15s;
}
.pp-cta-cat:hover { background: #C5DDF2; }

/* ── RIGHT: GALLERY PANEL ── */
.pp-gallery-panel { position: sticky; top: 80px; }
.pp-main-photo {
  aspect-ratio: 1/1; border-radius: 16px;
  background: #F8FAFC; background-size: contain; background-position: center; background-repeat: no-repeat;
  border: 1px solid #E2E8F0; cursor: zoom-in; transition: all .25s;
  position: relative; overflow: hidden; margin-bottom: 10px;
}
.pp-main-photo:hover { box-shadow: 0 12px 40px rgba(0,87,168,.12); transform: scale(1.01); }
.pp-main-photo-overlay {
  position: absolute; inset: 0; background: rgba(0,87,168,0); transition: background .2s;
  display: flex; align-items: center; justify-content: center;
}
.pp-main-photo:hover .pp-main-photo-overlay { background: rgba(0,87,168,.05); }
.pp-zoom-hint {
  position: absolute; bottom: 12px; right: 12px; background: rgba(0,0,0,.5);
  backdrop-filter: blur(4px); color: #fff; font-size: 11px; font-weight: 600;
  padding: 5px 10px; border-radius: 6px; opacity: 0; transition: opacity .2s;
}
.pp-main-photo:hover .pp-zoom-hint { opacity: 1; }
.pp-thumbs-wrap { position: relative; margin-top: 2px; }
.pp-thumbs {
  display: flex; gap: 8px; overflow: hidden;
  /* acts as viewport — children slide via transform */
}
.pp-thumbs > div {
  transition: border-color .15s, box-shadow .15s;
}
.pp-thumb {
  flex: 0 0 calc(25% - 6px);
  aspect-ratio: 1/1; border-radius: 8px; border: 2px solid #E2E8F0;
  background: #F8FAFC; background-size: contain; background-position: center;
  background-repeat: no-repeat; cursor: pointer; transition: all .15s;
}
.pp-thumb:hover { border-color: #0057A8; }
.pp-thumb.active { border-color: #0057A8; box-shadow: 0 0 0 3px rgba(0,87,168,.15); }
.pp-thumb-btn {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 28px; height: 28px; border-radius: 50%;
  background: #fff; border: 1px solid #E2E8F0;
  box-shadow: 0 2px 8px rgba(0,0,0,.10);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; z-index: 2; font-size: 14px; color: #0057A8;
  transition: all .15s; line-height: 1;
}
.pp-thumb-btn:hover { background: #0057A8; color: #fff; border-color: #0057A8; }
.pp-thumb-btn.prev { left: -14px; }
.pp-thumb-btn.next { right: -14px; }
.pp-thumb-btn.hidden { opacity: 0; pointer-events: none; }

/* ── STICKY NAV ── */
.pp-sticky-nav {
  position: sticky; top: 64px; z-index: 40;
  background: #fff; border-bottom: 1px solid #E8EDF5;
  padding: 0 64px; display: flex; gap: 0; overflow-x: auto; scrollbar-width: none;
}
.pp-sticky-nav::-webkit-scrollbar { height: 0; }
.pp-nav-item {
  font-family: 'Barlow Semi Condensed',sans-serif; font-size: 13px; font-weight: 500;
  color: #6B7280; padding: 14px 20px; cursor: pointer; white-space: nowrap;
  border: none; background: none; border-bottom: 3px solid transparent;
  transition: all .2s; flex-shrink: 0; margin-bottom: -1px;
}
.pp-nav-item:hover { color: #0057A8; }
.pp-nav-item.active { color: #0057A8; border-bottom-color: #0057A8; font-weight: 700; }

/* ── SECTIONS ── */
.pp-body { background: #F8FAFC; }
.pp-section { padding: 56px 64px; scroll-margin-top: 110px; }
.pp-section.white { background: #fff; }
.pp-section-title {
  font-family: 'Barlow Condensed',sans-serif; font-size: 26px; font-weight: 900;
  color: #0B2F5E; margin: 0 0 6px;
}
.pp-section-sub { font-size: 13px; color: #9CA3AF; margin: 0 0 32px; }

/* ── OVERVIEW ── */
.pp-overview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.pp-overview-text { font-size: 14px; color: #374151; line-height: 1.85; margin-bottom: 20px; overflow-wrap: break-word; word-break: break-word; }
.pp-benefits { display: flex; flex-direction: column; gap: 8px; }
.pp-benefit {
  display: flex; align-items: center; gap: 12px;
  background: #fff; border: 1px solid #E8EDF5; border-radius: 8px;
  padding: 11px 14px; font-size: 13px; font-weight: 500; color: #1F2937;
  transition: all .15s;
}
.pp-benefit:hover { border-color: #0057A8; box-shadow: 0 2px 10px rgba(0,87,168,.07); }
.pp-benefit-check {
  width: 22px; height: 22px; border-radius: 6px; background: #EBF3FC;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; flex-shrink: 0; color: #0057A8; font-weight: 900;
}

/* Sidebar */
.pp-overview-sidebar { display: flex; flex-direction: column; gap: 14px; }
.pp-sidebar-card { background: #fff; border: 1px solid #E2E8F0; border-radius: 12px; padding: 20px; }
.pp-sidebar-label {
  font-size: 9px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
  color: #9CA3AF; margin: 0 0 12px; display: block; padding-bottom: 8px;
  border-bottom: 1px solid #F0F2F5;
}
.pp-sb-btn {
  display: block; width: 100%; padding: 12px 16px; border-radius: 8px;
  font-family: 'Barlow Semi Condensed',sans-serif; font-size: 13px; font-weight: 600;
  cursor: pointer; text-align: center; transition: all .15s; border: none; margin-bottom: 8px;
}
.pp-sb-btn:last-child { margin-bottom: 0; }
.pp-sb-btn.wpp { background: #25D366; color: #fff; }
.pp-sb-btn.wpp:hover { background: #1EA855; }
.pp-sb-btn.primary { background: #0057A8; color: #fff; }
.pp-sb-btn.primary:hover { background: #003F7A; }
.pp-sb-btn.ghost { background: #F3F4F6; color: #374151; }
.pp-sb-btn.ghost:hover { background: #E5E7EB; }
.pp-norm-row {
  display: flex; align-items: center; gap: 8px; padding: 7px 0;
  border-bottom: 1px solid #F4F6FA; font-size: 11px; color: #374151;
}
.pp-norm-row:last-child { border: none; }
.pp-norm-badge {
  font-size: 9px; font-weight: 700; padding: 2px 8px; border-radius: 6px;
  background: #EBF3FC; color: #003F7A; border: 1px solid rgba(0,87,168,.12);
}

/* ── SPECS ── */
.pp-specs-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.pp-spec-card {
  background: #fff; border: 1px solid #E2E8F0; border-radius: 12px;
  padding: 18px 16px; transition: all .2s; position: relative; overflow: hidden;
}
.pp-spec-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, #0057A8, #7EC8F4);
}
.pp-spec-card:hover { box-shadow: 0 6px 24px rgba(0,87,168,.1); transform: translateY(-2px); }
.pp-spec-icon { font-size: 22px; margin-bottom: 10px; display: block; }
.pp-spec-label { font-size: 10px; color: #9CA3AF; text-transform: uppercase; letter-spacing: .8px; margin-bottom: 4px; }
.pp-spec-value { font-family: 'Barlow Condensed',sans-serif; font-size: 22px; font-weight: 900; color: #0B2F5E; }

/* ── PRODUCT LINES ── */
.pp-lines-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.pp-line-card {
  background: #fff; border: 1px solid #E2E8F0; border-radius: 12px;
  padding: 22px; border-left: 4px solid #0057A8;
  transition: all .25s cubic-bezier(.34,1.56,.64,1);
  position: relative; overflow: hidden;
}
.pp-line-card::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(0,87,168,.04), transparent);
  opacity: 0; transition: opacity .25s;
}
.pp-line-card:hover { box-shadow: 0 12px 32px rgba(0,87,168,.15); transform: translateY(-4px) scale(1.01); border-left-color: #F59E0B; }
.pp-line-card:hover::before { opacity: 1; }
.pp-line-card:hover .pp-line-name { color: #0057A8; }
.pp-line-name { font-size: 14px; font-weight: 700; color: #111827; margin-bottom: 6px; transition: color .2s; }
.pp-line-desc { font-size: 12px; color: #9CA3AF; line-height: 1.5; margin: 0; }

/* ── DIFFERENTIALS ── */
.pp-diff-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.pp-diff-card {
  background: #fff; border: 1px solid #E2E8F0; border-radius: 12px;
  padding: 24px; display: flex; gap: 16px; align-items: flex-start; transition: all .2s;
}
.pp-diff-card:hover { border-color: #0057A8; box-shadow: 0 6px 20px rgba(0,87,168,.1); }
.pp-diff-num {
  width: 40px; height: 40px; border-radius: 10px; background: #EBF3FC;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  font-family: 'Barlow Condensed',sans-serif; font-size: 18px; font-weight: 900;
  color: #0057A8; transition: all .2s;
}
.pp-diff-card:hover .pp-diff-num { background: #0057A8; color: #fff; }
.pp-diff-title { font-size: 13px; font-weight: 700; color: #111827; margin-bottom: 5px; }
.pp-diff-desc { font-size: 11.5px; color: #9CA3AF; line-height: 1.55; margin: 0; }

/* ── VIDEO ── */
.pp-video-wrap {
  border-radius: 16px; overflow: hidden;
  box-shadow: 0 8px 40px rgba(0,0,0,.1); max-width: 800px;
}
.pp-video-wrap iframe { width: 100%; aspect-ratio: 16/9; display: block; border: none; }
.pp-video-meta {
  background: #fff; padding: 16px 20px; border: 1px solid #E2E8F0;
  border-top: none; border-radius: 0 0 16px 16px;
}
.pp-video-title { font-size: 14px; font-weight: 700; color: #111827; margin-bottom: 3px; }
.pp-video-desc { font-size: 12px; color: #9CA3AF; }

/* ── DOWNLOADS ── */
.pp-dl-list { display: flex; flex-direction: column; gap: 10px; max-width: 700px; }
.pp-dl-row {
  background: #fff; border: 1px solid #E2E8F0; border-radius: 12px;
  padding: 16px 20px; display: flex; align-items: center; gap: 16px;
  text-decoration: none; transition: all .2s; cursor: pointer;
}
.pp-dl-row:hover { border-color: #0057A8; box-shadow: 0 4px 16px rgba(0,87,168,.1); transform: translateX(4px); }
.pp-dl-icon {
  width: 48px; height: 48px; border-radius: 10px; background: #EBF3FC;
  display: flex; align-items: center; justify-content: center; font-size: 22px;
  flex-shrink: 0; transition: background .2s;
}
.pp-dl-row:hover .pp-dl-icon { background: #0057A8; }
.pp-dl-row:hover .pp-dl-icon span { filter: brightness(10); }
.pp-dl-info { flex: 1; }
.pp-dl-type { font-size: 9px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: #0057A8; margin-bottom: 2px; }
.pp-dl-name { font-size: 13px; font-weight: 600; color: #111827; }
.pp-dl-sub { font-size: 11px; color: #9CA3AF; margin-top: 1px; }
.pp-dl-arrow { color: #D1D5DB; font-size: 20px; transition: color .2s; }
.pp-dl-row:hover .pp-dl-arrow { color: #0057A8; }

/* ── RELATED PRODUCTS SLIDER ── */
.pp-related-carousel-wrap { overflow: hidden; position: relative; width: 100%; }
.pp-related-carousel-wrap::before, .pp-related-carousel-wrap::after {
  content: ''; position: absolute; top: 0; bottom: 0; width: 60px; z-index: 2; pointer-events: none;
}
.pp-related-carousel-wrap::before { left: 0; background: linear-gradient(to right, #fff, transparent); }
.pp-related-carousel-wrap::after  { right: 0; background: linear-gradient(to left, #fff, transparent); }
.pp-related-carousel {
  display: flex; gap: 16px; width: max-content;
  animation: ppRelScroll 35s linear infinite;
}
.pp-related-carousel:hover { animation-play-state: paused; }
@keyframes ppRelScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.pp-related-slider {
  display: flex; gap: 16px; overflow-x: auto; scrollbar-width: none;
  padding: 4px 2px 12px; scroll-snap-type: x mandatory;
}
.pp-related-slider::-webkit-scrollbar { height: 0; }
.pp-related-card {
  background: #fff; border: 1.5px solid #E2E8F0; border-radius: 14px;
  flex: 0 0 240px; overflow: hidden; cursor: pointer;
  transition: all .25s ease; flex-shrink: 0;
  scroll-snap-align: start; position: relative;
}
.pp-related-card:hover {
  border-color: #0057A8; box-shadow: 0 12px 32px rgba(0,87,168,.12);
  transform: translateY(-4px);
}
.pp-related-photo {
  aspect-ratio: 4/3; background: #F8FAFC;
  background-size: cover; background-position: center; background-repeat: no-repeat;
  transition: transform .3s ease; overflow: hidden;
}
.pp-related-card:hover .pp-related-photo { transform: scale(1.05); }
.pp-related-info { padding: 12px 14px 14px; }
.pp-related-num { font-size:9px; font-weight:700; letter-spacing:1.5px; color:#0057A8; opacity:.7; text-transform:uppercase; margin-bottom:3px; }
.pp-related-name { font-size: 12px; font-weight: 700; color: #111827; margin-bottom: 3px; line-height:1.3; }
.pp-related-sub { font-size: 11px; color: #9CA3AF; line-height:1.4; }
.pp-related-cta {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 10px; padding-top: 10px; border-top: 1px solid #F0F2F5;
}
.pp-related-cta-label { font-size:10px; font-weight:700; color:#0057A8; }
.pp-related-cta-arrow {
  width:24px; height:24px; border-radius:50%; background:#EBF3FC;
  display:flex; align-items:center; justify-content:center;
  font-size:12px; color:#0057A8; transition:all .15s;
}
.pp-related-card:hover .pp-related-cta-arrow { background:#0057A8; color:#fff; }
.pp-slider-btn {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 36px; height: 36px; border-radius: 50%; background: #fff;
  border: 1px solid #E2E8F0; display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: all .15s; z-index: 2; font-size: 16px; color: #374151;
  box-shadow: 0 2px 8px rgba(0,0,0,.1);
}
.pp-slider-btn:hover { background: #0057A8; color: #fff; border-color: #0057A8; }
.pp-slider-prev { left: -18px; }
.pp-slider-next { right: -18px; }

/* ── CTA FINAL ── */
.pp-cta-final {
  background: linear-gradient(135deg, #0B2F5E 0%, #0057A8 100%);
  padding: 56px 64px; text-align: center; position: relative; overflow: hidden;
}
.pp-cta-final::before {
  content: ''; position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 60px 60px;
}
.pp-cta-final > * { position: relative; z-index: 1; }
.pp-cta-final-title {
  font-family: 'Barlow Condensed',sans-serif; font-size: 34px; font-weight: 900;
  color: #fff; margin: 0 0 8px;
}
.pp-cta-final-sub { font-size: 14px; color: rgba(255,255,255,.65); max-width: 500px; margin: 0 auto 28px; line-height: 1.6; }
.pp-cta-final-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.pp-cta-btn-w { padding: 13px 28px; background: #25D366; color: #fff; border: none; border-radius: 8px; font-family: 'Barlow Semi Condensed',sans-serif; font-size: 13px; font-weight: 700; cursor: pointer; transition: all .15s; }
.pp-cta-btn-w:hover { background: #1EA855; }
.pp-cta-btn-p { padding: 13px 28px; background: #fff; color: #003F7A; border: none; border-radius: 8px; font-family: 'Barlow Semi Condensed',sans-serif; font-size: 13px; font-weight: 700; cursor: pointer; transition: all .15s; }
.pp-cta-btn-p:hover { background: #EBF3FC; }
.pp-cta-btn-s { padding: 12px 28px; background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.35); border-radius: 8px; font-family: 'Barlow Semi Condensed',sans-serif; font-size: 13px; font-weight: 700; cursor: pointer; transition: all .15s; }
.pp-cta-btn-s:hover { border-color: #fff; }

/* ── LIGHTBOX ── */
.pp-lightbox {
  display: none; position: fixed; inset: 0; background: rgba(0,0,0,.95);
  z-index: 9999; align-items: center; justify-content: center; flex-direction: column;
}
.pp-lightbox.open { display: flex; }
.pp-lb-img { max-width: 88vw; max-height: 80vh; border-radius: 8px; object-fit: contain; transition: opacity .2s; }
.pp-lb-close { position: absolute; top: 20px; right: 24px; color: #fff; font-size: 32px; cursor: pointer; background: none; border: none; opacity: .7; transition: opacity .15s; }
.pp-lb-close:hover { opacity: 1; }
.pp-lb-nav { position: absolute; top: 50%; transform: translateY(-50%); color: #fff; font-size: 48px; cursor: pointer; background: none; border: none; padding: 0 20px; opacity: .5; transition: opacity .15s; }
.pp-lb-nav:hover { opacity: 1; }
.pp-lb-prev { left: 0; }
.pp-lb-next { right: 0; }
.pp-lb-counter { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.5); font-size: 13px; }
.pp-lb-thumbs { display: flex; gap: 8px; margin-top: 16px; }
.pp-lb-thumb { width: 56px; height: 42px; border-radius: 4px; background-size: contain; background-position: center; background-repeat: no-repeat; background-color: #1a1a1a; cursor: pointer; border: 2px solid transparent; transition: border-color .15s; }
.pp-lb-thumb.active { border-color: #0057A8; }

/* ── FADE-IN ANIMATION ── */
.pp-fade { opacity: 0; transform: translateY(16px); transition: opacity .5s ease, transform .5s ease; }
.pp-fade.visible { opacity: 1; transform: translateY(0); }

/* ── RESPONSIVE ── */
@media(max-width:1200px){
  .pp-hero { grid-template-columns: 1fr; padding: 0 32px 40px; }
  .pp-gallery-panel { position: relative; top: 0; }
  .pp-sticky-nav,.pp-section { padding-left: 32px; padding-right: 32px; }
  .pp-specs-grid { grid-template-columns: repeat(2,1fr); }
  .pp-diff-grid,.pp-lines-grid { grid-template-columns: 1fr 1fr; }
  .pp-keyspecs { grid-template-columns: repeat(2,1fr); }
  .pp-overview-grid { grid-template-columns: 1fr; }
}
@media(max-width:768px){
  .pp-hero { padding: 0 20px 32px; gap: 28px; }
  .pp-sticky-nav,.pp-section { padding-left: 20px; padding-right: 20px; }
  .pp-title { font-size: 30px; }
  .pp-specs-grid { grid-template-columns: 1fr 1fr; }
  .pp-diff-grid,.pp-lines-grid { grid-template-columns: 1fr; }
  .pp-cta-final { padding: 40px 20px; }
}

/* ── FLOATING ACTION BUTTONS ── */
/* ── FAB — botões flutuantes de contato ── */
.fab-container{
  position:fixed; bottom:28px; right:28px; z-index:1000;
  display:flex; flex-direction:column; align-items:flex-end; gap:10px;
  transition:bottom 0.3s cubic-bezier(0.22,1,0.36,1);
}
/* quando a barra de comparação está aberta, sobe os botões para não colidir */
body.ctv3-cmp-open .fab-container{ bottom:96px; }
.fab-btn{
  display:flex; align-items:center; gap:0;
  border:none; border-radius:50px; cursor:pointer;
  font-family:'Barlow Semi Condensed',sans-serif; font-weight:700;
  box-shadow:0 4px 20px rgba(0,0,0,.22); transition:all .25s ease;
  white-space:nowrap; overflow:hidden; padding:0; min-height:50px;
}
.fab-btn .fab-icon{
  width:50px; height:50px; display:flex; align-items:center;
  justify-content:center; flex-shrink:0;
}
.fab-btn .fab-icon svg{ display:block; }
.fab-btn .fab-label{
  font-size:13px; padding-right:20px; max-width:0;
  overflow:hidden; transition:max-width .3s ease, opacity .3s ease;
  opacity:0; letter-spacing:.2px;
}
.fab-btn:hover .fab-label{ max-width:220px; opacity:1; }
.fab-btn:hover{ transform:translateY(-2px); box-shadow:0 8px 32px rgba(0,0,0,.28); }
/* WhatsApp — verde */
.fab-wpp{ background:#25D366; color:#fff; }
.fab-wpp:hover{ background:#1EBE5D; }
/* Formulário — azul */
.fab-form{ background:#0057A8; color:#fff; }
.fab-form:hover{ background:#003F7A; }
/* Telefone — branco */
.fab-tel{ background:#fff; color:#003F7A; border:1.5px solid #D1D9E6; }
.fab-tel:hover{ background:#EBF3FC; border-color:#0057A8; }
@media(max-width:768px){
  .fab-container{ bottom:16px; right:16px; }
  .fab-btn{ min-height:46px; }
  .fab-btn .fab-icon{ width:46px; height:46px; }
}

/* ── MODAL DE CONTATO ── */
.fab-modal-bg{
  position:fixed; inset:0; z-index:2000;
  background:rgba(7,30,61,.55); backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none;
  transition:opacity .25s ease;
}
.fab-modal-bg.open{ opacity:1; pointer-events:all; }
.fab-modal{
  background:#fff; border-radius:16px; width:100%; max-width:480px;
  box-shadow:0 24px 80px rgba(0,0,0,.22);
  transform:translateY(20px); transition:transform .25s ease;
  overflow:hidden;
}
.fab-modal-bg.open .fab-modal{ transform:translateY(0); }
.fab-modal-head{
  background:#0B2F5E; padding:24px 28px 20px;
  display:flex; align-items:flex-start; justify-content:space-between;
}
.fab-modal-head-text{}
.fab-modal-title{
  font-family:'Barlow Condensed',sans-serif; font-size:22px; font-weight:900;
  color:#fff; margin:0 0 4px; letter-spacing:.5px;
}
.fab-modal-sub{ font-size:12px; color:rgba(255,255,255,.55); margin:0; }
.fab-modal-close{
  background:rgba(255,255,255,.12); border:none; color:#fff;
  width:32px; height:32px; border-radius:50%; cursor:pointer;
  font-size:18px; display:flex; align-items:center; justify-content:center;
  transition:background .15s; flex-shrink:0; margin-top:2px;
}
.fab-modal-close:hover{ background:rgba(255,255,255,.25); }
.fab-modal-body{ padding:24px 28px 28px; }
.fab-field{ margin-bottom:14px; }
.fab-field label{
  display:block; font-size:11px; font-weight:700; letter-spacing:1px;
  text-transform:uppercase; color:#6B7280; margin-bottom:5px;
}
.fab-field input, .fab-field select, .fab-field textarea{
  width:100%; border:1.5px solid #E2E8F0; border-radius:8px;
  padding:10px 14px; font-family:'Barlow',sans-serif; font-size:13px;
  color:#111827; outline:none; transition:border-color .15s;
  background:#fff;
}
.fab-field input:focus, .fab-field select:focus, .fab-field textarea:focus{
  border-color:#0057A8; box-shadow:0 0 0 3px rgba(0,87,168,.09);
}
.fab-field textarea{ resize:none; height:80px; }
.fab-field-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.fab-modal-send{
  width:100%; padding:13px; background:#0057A8; color:#fff;
  border:none; border-radius:8px; font-family:'Barlow Semi Condensed',sans-serif;
  font-size:14px; font-weight:700; cursor:pointer; transition:background .15s;
  margin-top:4px; letter-spacing:.3px;
}
.fab-modal-send:hover{ background:#003F7A; }
.fab-modal-wpp{
  width:100%; padding:12px; background:#25D366; color:#fff;
  border:none; border-radius:8px; font-family:'Barlow Semi Condensed',sans-serif;
  font-size:13px; font-weight:600; cursor:pointer; transition:background .15s;
  margin-top:8px; display:flex; align-items:center; justify-content:center; gap:8px;
}
.fab-modal-wpp:hover{ background:#1EBE5D; }
.fab-modal-or{
  text-align:center; font-size:11px; color:#9CA3AF;
  margin:12px 0 0; position:relative;
}
.fab-modal-or::before,.fab-modal-or::after{
  content:''; position:absolute; top:50%; width:38%; height:1px; background:#E5E7EB;
}
.fab-modal-or::before{ left:0; }
.fab-modal-or::after{ right:0; }
.fab-modal-success{
  text-align:center; padding:32px 28px 36px; display:none;
}
.fab-modal-success-icon{ font-size:48px; margin-bottom:12px; }
.fab-modal-success-title{
  font-family:'Barlow Condensed',sans-serif; font-size:22px; font-weight:900;
  color:#0B2F5E; margin-bottom:8px;
}
.fab-modal-success-sub{ font-size:13px; color:#6B7280; line-height:1.6; }

/* ── VIDEO INTRO SECTION ── */
.pp-video-intro{
  background:#F1F3F6;
  padding:48px 64px; position:relative; overflow:hidden;
  display:flex; align-items:center; gap:48px;
  border-top:3px solid #0057A8;
}
.pp-video-intro::before{
  content:''; position:absolute; inset:0;
  background-image:linear-gradient(rgba(0,0,0,.04)1px,transparent 1px),
    linear-gradient(90deg,rgba(0,0,0,.04)1px,transparent 1px);
  background-size:60px 60px; pointer-events:none;
}
.pp-video-intro > *{ position:relative; z-index:1; }
.pp-video-intro-icon{
  width:80px; height:80px; border-radius:50%;
  background:rgba(0,87,168,.1); backdrop-filter:blur(8px);
  border:2px solid rgba(0,87,168,.2);
  display:flex; align-items:center; justify-content:center;
  font-size:32px; flex-shrink:0;
  animation:pulse-ring 2.5s ease-in-out infinite;
}
@keyframes pulse-ring{
  0%,100%{ box-shadow:0 0 0 0 rgba(0,87,168,.3); }
  50%{ box-shadow:0 0 0 18px rgba(0,87,168,0); }
}
.pp-video-intro-text{ flex:1; }
.pp-video-intro-eyebrow{
  font-size:10px; font-weight:700; letter-spacing:3px; text-transform:uppercase;
  color:#0057A8; margin-bottom:8px;
}
.pp-video-intro-title{
  font-family:'Barlow Condensed',sans-serif; font-size:30px; font-weight:900;
  color:#0B2F5E; line-height:1.1; margin-bottom:10px;
}
.pp-video-intro-sub{
  font-size:14px; color:#4B5563; line-height:1.6; max-width:500px;
}
.pp-video-intro-cta{
  flex-shrink:0; display:flex; flex-direction:column; align-items:center; gap:8px;
  cursor:pointer;
}
.pp-video-intro-play{
  width:72px; height:72px; border-radius:50%;
  background:rgba(220,0,0,.9); border:3px solid rgba(255,255,255,.3);
  display:flex; align-items:center; justify-content:center;
  transition:all .2s; font-size:0;
}
.pp-video-intro-play::after{
  content:''; width:0; height:0;
  border-style:solid; border-width:14px 0 14px 28px;
  border-color:transparent transparent transparent #fff;
  margin-left:6px;
}
.pp-video-intro-cta:hover .pp-video-intro-play{
  transform:scale(1.1); background:rgba(220,0,0,1);
  box-shadow:0 8px 30px rgba(220,0,0,.4);
}
.pp-video-intro-play-label{
  font-size:11px; color:#6B7280; font-weight:600; letter-spacing:.5px;
}

/* ── DOWNLOADS STRIP horizontal ── */
.pp-dl-strip {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #E2E8F0;
  background: #fff;
}
.pp-dl-strip-item {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 20px;
  text-decoration: none;
  border-right: 1px solid #E2E8F0;
  border-bottom: 1px solid #E2E8F0;
  transition: background .15s;
  position: relative;
}
.pp-dl-strip-item:nth-child(2n) { border-right: none; }
.pp-dl-strip-item:nth-last-child(-n+2) { border-bottom: none; }
.pp-dl-strip-item:hover { background: #F4F8FC; }
.pp-dl-strip-item:hover .pp-dl-strip-arrow { transform: translateY(3px); color: #0057A8; }
.pp-dl-strip-item:hover .pp-dl-strip-tooltip { opacity: 1; pointer-events: none; }
.pp-dl-strip-tooltip {
  position: absolute; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%);
  background: #0B2F5E; color: #fff; font-size: 11px; font-weight: 600;
  padding: 5px 10px; border-radius: 6px; white-space: nowrap;
  opacity: 0; transition: opacity .15s; z-index: 10;
  pointer-events: none;
}
.pp-dl-strip-tooltip::after {
  content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  border: 5px solid transparent; border-top-color: #0B2F5E;
}
.pp-dl-strip-icon {
  width: 36px; height: 36px; border-radius: 8px; flex-shrink: 0;
  background: #EBF3FC; display: flex; align-items: center; justify-content: center;
  color: #0057A8;
}
.pp-dl-strip-info { flex: 1; min-width: 0; }
.pp-dl-strip-type { font-size: 9px; font-weight: 700; letter-spacing: 1.5px; color: #0057A8; text-transform: uppercase; }
.pp-dl-strip-name { font-size: 12px; font-weight: 700; color: #111827; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-dl-strip-sub { font-size: 10px; color: #9CA3AF; }
.pp-dl-strip-arrow { font-size: 14px; color: #9CA3AF; transition: all .2s; flex-shrink: 0; }


/* ── VIDEO LIGHTBOX ── */
.pp-video-thumb-wrap {
  padding: 32px 64px 40px;
  background: #F1F3F6;
}
.pp-video-thumb-inner {
  position: relative; cursor: pointer;
  border-radius: 16px; overflow: hidden;
  max-width: 720px; margin: 0 auto;
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
  transition: transform .25s, box-shadow .25s;
}
.pp-video-thumb-inner:hover { transform: translateY(-4px) scale(1.01); box-shadow: 0 28px 72px rgba(0,0,0,.25); }
.pp-video-thumb-img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.pp-video-thumb-overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.35);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 16px;
  transition: background .2s;
}
.pp-video-thumb-inner:hover .pp-video-thumb-overlay { background: rgba(0,0,0,.5); }
.pp-video-play-btn {
  width: 72px; height: 72px; border-radius: 50%;
  background: rgba(220,0,0,.95);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 32px rgba(220,0,0,.5);
  transition: transform .25s cubic-bezier(.34,1.56,.64,1);
}
.pp-video-thumb-inner:hover .pp-video-play-btn { transform: scale(1.15); }
.pp-video-thumb-label {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 18px; font-weight: 700; color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,.5);
  text-align: center; padding: 0 20px;
}
.pp-video-modal {
  position: fixed; inset: 0; z-index: 9500;
  background: rgba(0,0,0,.85); backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none;
  transition: opacity .25s;
  padding: 20px;
}
.pp-video-modal.open { opacity: 1; pointer-events: all; }
.pp-video-modal-inner {
  position: relative; width: 100%; max-width: 900px;
  transform: scale(.92); transition: transform .3s cubic-bezier(.22,1,.36,1);
}
.pp-video-modal.open .pp-video-modal-inner { transform: scale(1); }
.pp-video-modal-close {
  position: absolute; top: -44px; right: 0;
  background: rgba(255,255,255,.15); border: none; color: #fff;
  width: 36px; height: 36px; border-radius: 50%; font-size: 16px;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: background .15s;
}
.pp-video-modal-close:hover { background: rgba(255,255,255,.3); }
.pp-video-modal-frame { position: relative; padding-bottom: 56.25%; border-radius: 12px; overflow: hidden; }
.pp-video-modal-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: none; }

/* ── TYPEWRITER HIGHLIGHT ── */
  display: inline;
  background: linear-gradient(135deg, #F59E0B, #D97706);
  color: #fff;
  padding: 2px 6px;
  border-radius: 4px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.pp-tw-cursor {
  display: inline-block;
  width: 3px;
  height: 1em;
  background: #F59E0B;
  margin-left: 2px;
  vertical-align: middle;
  border-radius: 2px;
  animation: ppTwBlink .7s step-end infinite;
}
@keyframes ppTwBlink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

/* ── TRUST BADGES ── */
.pp-trust-bar{
  background:#fff; border-top:1px solid #E2E8F0; border-bottom:1px solid #E2E8F0;
  padding:14px 64px; display:flex; align-items:center; justify-content:center;
  gap:40px; flex-wrap:wrap;
}
.pp-trust-item{
  display:flex; align-items:center; gap:8px;
  font-size:11px; font-weight:600; color:#374151; letter-spacing:.2px;
}
.pp-trust-item-icon{ font-size:20px; display:flex; align-items:center; color:#0057A8; }

@media(max-width:768px){
  .pp-video-intro{ flex-direction:column; padding:36px 20px; gap:24px; }
  .pp-trust-bar{ padding:16px 20px; gap:20px; }
}


/* ===== CSS migrado de catalogo.html (era inline) ===== */
/* ── CATALOG v3 TOKENS ───────────────────────────────────── */
#page-catalogo {
  --c-blue:   #0057A8; --c-blue-d: #003F7A; --c-blue-m: #1A6BBF;
  --c-blue-l: #EBF3FC; --c-blue-xl:#F4F9FF;
  --c-g50:  #F8F9FB; --c-g100: #F0F2F5; --c-g200: #E0E4EB;
  --c-g300: #C8CDD8; --c-g400: #9BA3B2; --c-g500: #6B7280;
  --c-g700: #374151; --c-g900: #111827; --c-white:#FFFFFF;
  --c-tr: 0.16s cubic-bezier(0.4,0,0.2,1);
  --c-sh: 0 1px 3px rgba(0,0,0,0.07),0 1px 2px rgba(0,0,0,0.04);
  --c-sh-md: 0 4px 16px rgba(0,0,0,0.09),0 2px 6px rgba(0,0,0,0.05);
  background: var(--c-g50);
  font-family: 'Barlow', sans-serif;
}
#page-catalogo *, #page-catalogo *::before, #page-catalogo *::after { box-sizing: border-box; }
#page-catalogo ::-webkit-scrollbar { width:4px; height:4px; }
#page-catalogo ::-webkit-scrollbar-thumb { background:var(--c-g300); border-radius:4px; }

/* ── NAV TOPBAR ── */
#ctv3-topbar {
  background: var(--c-white); border-bottom: 1px solid var(--c-g200);
  padding: 0 16px; height: 52px; display: flex; align-items: center; gap: 14px;
  position: sticky; top: 64px; z-index: 90; /* overridden by ctv3CalcStickyTop() */
  box-shadow: var(--c-sh);
}
.ctv3-title { font-family:'Barlow Condensed',sans-serif; font-size:15px; font-weight:800; letter-spacing:1.5px; color:#0057A8; white-space:nowrap; }
.ctv3-search-wrap { flex:1; max-width:480px; position:relative; }
/* badge "busca inteligente" */
.ctv3-smart-badge {
  position:absolute; top:50%; right:10px; transform:translateY(-50%); z-index:6;
  background:linear-gradient(90deg,#0057A8,#0091FF); color:#fff;
  font-family:'Barlow',sans-serif; font-size:9px; font-weight:800; letter-spacing:0.8px; text-transform:uppercase;
  padding:3px 9px; border-radius:10px; white-space:nowrap; pointer-events:none;
  box-shadow:0 2px 6px rgba(0,87,168,0.35); animation:ctv3BadgeFloat 2.2s ease-in-out infinite;
}
@keyframes ctv3BadgeFloat { 0%,100%{transform:translateY(-50%) scale(1);} 50%{transform:translateY(-50%) scale(1.05);} }
.ctv3-search-wrap.is-active .ctv3-smart-badge { opacity:0; transform:translateY(-50%) scale(0.9); transition:all .3s; pointer-events:none; }
.ctv3-search-ico { position:absolute; left:10px; top:50%; transform:translateY(-50%); pointer-events:none; color:var(--c-g400); width:14px; height:14px; }
#ctv3-search {
  width:100%; height:36px; border:1.5px solid var(--c-g200); border-radius:8px;
  background:var(--c-g50); font-size:13px; color:#071E3D;
  padding:0 30px 0 32px; outline:none;
  font-family:'JetBrains Mono',monospace; transition:all var(--c-tr);
  animation:ctv3SearchPulse 2.4s ease-in-out infinite;
}
@keyframes ctv3SearchPulse {
  0%,100% { border-color:var(--c-g200); box-shadow:0 0 0 0 rgba(0,145,255,0.0); }
  50%     { border-color:#0091FF; box-shadow:0 0 0 4px rgba(0,145,255,0.12); }
}
.ctv3-search-ico.ctv3-ico-glow { color:#0091FF; animation:ctv3IcoGlow 2.4s ease-in-out infinite; }
@keyframes ctv3IcoGlow { 0%,100%{opacity:.55;} 50%{opacity:1;} }
/* ao focar ou ter texto, para a animação e fixa o estado ativo */
.ctv3-search-wrap.is-active #ctv3-search { animation:none; }
#ctv3-search::placeholder { color:var(--c-g400); font-family:'Barlow',sans-serif; font-size:12px; }
#ctv3-search:focus { border-color:var(--c-blue); background:var(--c-white); box-shadow:0 0 0 3px rgba(0,87,168,0.09); }
.ctv3-sclear { position:absolute; right:8px; top:50%; transform:translateY(-50%); width:16px; height:16px; border-radius:50%; background:var(--c-g300); color:#fff; font-size:10px; display:none; align-items:center; justify-content:center; cursor:pointer; border:none; }
.ctv3-sclear:hover { background:var(--c-g500); }
.ctv3-sclear.on { display:flex; }
/* autocomplete */
#ctv3-ac { position:absolute; top:calc(100%+5px); left:0; right:0; background:var(--c-white); border:1px solid var(--c-g200); border-radius:8px; box-shadow:var(--c-sh-md); z-index:300; display:none; overflow:hidden; max-height:240px; overflow-y:auto; }
.ctv3-ac-item { display:flex; align-items:center; gap:10px; padding:8px 12px; cursor:pointer; transition:background var(--c-tr); border-bottom:1px solid var(--c-g100); font-size:12px; }
.ctv3-ac-item:last-child { border-bottom:none; }
.ctv3-ac-item:hover { background:var(--c-blue-xl); }
.ctv3-ac-code { font-family:'JetBrains Mono',monospace; font-weight:500; color:var(--c-blue); min-width:110px; }
.ctv3-ac-iso  { color:var(--c-g400); flex:1; }
.ctv3-ac-p    { color:var(--c-g500); margin-left:auto; white-space:nowrap; }

#ctv3-count { font-size:11px; font-weight:600; background:var(--c-blue-l); color:var(--c-blue-d); padding:4px 12px; border-radius:20px; white-space:nowrap; border:1px solid rgba(0,87,168,0.15); }
.ctv3-topbar-right { display:flex; align-items:center; gap:8px; margin-left:auto; }
.ctv3-tb-btn { height:30px; padding:0 12px; border-radius:6px; font-size:11px; font-weight:600; display:flex; align-items:center; gap:5px; cursor:pointer; transition:all var(--c-tr); border:none; white-space:nowrap; }
.ctv3-btn-ghost { color:var(--c-g500); border:1px solid var(--c-g200); background:var(--c-white); }
.ctv3-btn-ghost:hover { background:var(--c-g100); color:var(--c-g700); }
.ctv3-btn-cmp { color:var(--c-blue); border:1.5px solid var(--c-blue-l); background:var(--c-blue-l); }
.ctv3-btn-cmp:hover { background:#D4E8F9; }
.ctv3-cmp-ct { background:var(--c-blue); color:#fff; width:16px; height:16px; border-radius:50%; font-size:9px; display:flex; align-items:center; justify-content:center; }

/* ── FILTER BAR ──────────────────────────────────────────── */
#ctv3-filterbar {
  background:#F4F9FF; border-bottom:1px solid #D6E8F7;
  padding:10px 16px; display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  position:sticky; top:116px; z-index:89; /* overridden by ctv3CalcStickyTop() */
}
.ctv3-fb-label { font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--c-blue); white-space:nowrap; opacity:0.7; }
.ctv3-filter-group { position:relative; }
.ctv3-fd-btn {
  height:30px; padding:0 10px; border-radius:6px; font-size:11px; font-weight:600;
  border:1.5px solid var(--c-g200); background:var(--c-white); color:var(--c-g700);
  cursor:pointer; display:flex; align-items:center; gap:5px; transition:all var(--c-tr);
  white-space:nowrap;
}
.ctv3-fd-btn:hover { border-color:var(--c-blue); color:var(--c-blue); }
.ctv3-fd-btn.active { border-color:var(--c-blue); background:var(--c-blue-l); color:var(--c-blue-d); }
.ctv3-fd-arrow { font-size:8px; opacity:0.5; transition:transform var(--c-tr); }
.ctv3-fd-btn.open .ctv3-fd-arrow { transform:rotate(180deg); }
.ctv3-fd-badge { background:var(--c-blue); color:#fff; font-size:9px; font-weight:700; padding:1px 5px; border-radius:10px; }
/* dropdown panel */
.ctv3-fd-panel {
  position:absolute; top:calc(100%+6px); left:0; min-width:220px;
  background:var(--c-white); border:1px solid var(--c-g200); border-radius:8px;
  box-shadow:var(--c-sh-md); z-index:200; display:none; padding:8px 0;
  max-height:320px; overflow-y:auto;
}
.ctv3-fd-panel.open { display:block; }
/* reference drawing strip */
#ctv3-chain-img { background:var(--c-white); border-bottom:1px solid var(--c-g200); padding:12px 16px; text-align:center; animation:ctv3CiFade 0.25s ease; position:sticky; top:157px; z-index:88; /* top overridden by ctv3CalcStickyTop() */ }
@keyframes ctv3CiFade { from{opacity:0;transform:translateY(-4px);} to{opacity:1;transform:translateY(0);} }
.ctv3-ci-inner { display:inline-block; }
.ctv3-ci-img { height:220px; width:auto; max-width:100%; display:block; margin:0 auto; }
@media(max-width:640px){ .ctv3-ci-img { height:auto; width:100%; } }
/* zoom lens */
.ctv3-ci-inner { position:relative; cursor:zoom-in; }
#ctv3-zoom-lens { position:fixed; pointer-events:none; border:2px solid var(--c-pri,#0057A8); width:160px; height:160px; border-radius:50%; box-shadow:0 4px 18px rgba(0,0,0,.28); background-repeat:no-repeat; background-color:#fff; display:none; z-index:99999; }
@media(max-width:640px){ #ctv3-zoom-lens{ display:none !important; } .ctv3-ci-inner{ cursor:default; } }
.ctv3-fd-option {
  display:flex; align-items:center; gap:9px; padding:7px 14px;
  cursor:pointer; transition:background var(--c-tr); font-size:12px; color:var(--c-g700);
}
.ctv3-fd-option:hover { background:var(--c-g50); }
.ctv3-fd-option.sel { background:var(--c-blue-xl); color:var(--c-blue-d); }
.ctv3-fd-chk { width:14px; height:14px; border:1.5px solid var(--c-g300); border-radius:3px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:var(--c-white); transition:all var(--c-tr); }
.ctv3-fd-option.sel .ctv3-fd-chk { background:var(--c-blue); border-color:var(--c-blue); }
.ctv3-fd-chk-ico { display:none; }
.ctv3-fd-option.sel .ctv3-fd-chk-ico { display:block; }
.ctv3-fd-opt-label { flex:1; font-family:'JetBrains Mono',monospace; }
.ctv3-fd-opt-count { font-size:10px; color:var(--c-g400); background:var(--c-g100); padding:1px 6px; border-radius:10px; }
.ctv3-fd-option.sel .ctv3-fd-opt-count { background:rgba(0,87,168,0.12); color:var(--c-blue); }
/* active filter tags row */
#ctv3-active-tags { display:flex; flex-wrap:wrap; gap:5px; align-items:center; }
.ctv3-tag { display:flex; align-items:center; gap:4px; font-size:10px; font-weight:600; color:#003F7A; background:#C5DDF2; border:1px solid rgba(0,87,168,0.25); padding:3px 9px; border-radius:20px; cursor:pointer; transition:background var(--c-tr); }
.ctv3-tag:hover { background:#D4E8F9; }
.ctv3-reset-all { font-size:11px; color:var(--c-g400); cursor:pointer; padding:2px 8px; transition:color var(--c-tr); border:none; background:none; }
.ctv3-reset-all:hover { color:var(--c-blue); }

/* ── MAIN AREA ───────────────────────────────────────────── */
#ctv3-main { padding:16px 16px 40px; }
/* respiro à direita para a última coluna não ficar sob os botões flutuantes */
#page-catalogo .ctv3-table-wrap { scroll-padding-right:88px; }
#page-catalogo .ctv3-tbl tr > *:last-child { padding-right:84px; }

/* ── TABLE ───────────────────────────────────────────────── */
.ctv3-table-wrap { background:var(--c-white); border:1px solid var(--c-g200); border-radius:10px; overflow:auto; max-height:calc(100vh - var(--ctv3-thead-top, 220px) - 24px); box-shadow:0 2px 12px rgba(0,87,168,0.07),0 1px 3px rgba(0,0,0,0.05); }
.ctv3-tbl { width:100%; border-collapse:collapse; font-size:12px; }
/* sticky header — top value set dynamically by JS via --ctv3-thead-top */
.ctv3-tbl thead { position:sticky; top:0; z-index:10; }
.ctv3-tbl thead tr.ctv3-th-main th {
  background:#0057A8; color:rgba(255,255,255,0.92);
  font-size:9px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase;
  padding:10px 9px; white-space:nowrap; text-align:left;
  border-right:1px solid rgba(255,255,255,0.15);
  cursor:pointer; user-select:none; position:relative;
}
.ctv3-tbl thead tr.ctv3-th-main th:last-child { border-right:none; }
.ctv3-th-ref { display:inline-block; margin-left:0; padding:2px 7px; border-radius:4px; background:#F28C28; color:#FFFFFF; font-size:11px; font-weight:800; letter-spacing:0.3px; text-transform:none; vertical-align:middle; font-style:italic; }
.ctv3-tbl thead tr.ctv3-th-main th:nth-child(1) { position:sticky; left:0; z-index:5; background:#0057A8; }
.ctv3-tbl thead tr.ctv3-th-main th:nth-child(2) { position:sticky; left:34px; z-index:5; background:#0057A8; }
.ctv3-tbl thead tr.ctv3-th-main th:nth-child(4) { position:sticky; left:64px; z-index:5; background:#0057A8; border-right:2px solid rgba(255,255,255,0.3) !important; }
.ctv3-tbl thead tr.ctv3-th-sub th:nth-child(1) { position:sticky; left:0; z-index:5; background:#004A8F; }
.ctv3-tbl thead tr.ctv3-th-sub th:nth-child(2) { position:sticky; left:34px; z-index:5; background:#004A8F; }
.ctv3-tbl thead tr.ctv3-th-sub th:nth-child(4) { position:sticky; left:64px; z-index:5; background:#004A8F; }
.ctv3-tbl thead tr.ctv3-th-main th:hover { background:#004A8F; color:#fff; }
.ctv3-th-sort { font-size:8px; opacity:0.6; margin-left:3px; color:rgba(255,255,255,0.7); }
.ctv3-tbl thead tr.ctv3-th-sub th {
  background:#004A8F; color:rgba(255,255,255,0.55);
  font-family:'JetBrains Mono',monospace; font-size:8px; font-weight:400;
  padding:3px 14px 6px; text-align:left; border-right:1px solid rgba(255,255,255,0.1);
}
.ctv3-tbl thead tr.ctv3-th-sub th:last-child { border-right:none; }

/* rows */
.ctv3-tbl tbody tr.ctv3-row {
  border-bottom:1px solid var(--c-g100); transition:background var(--c-tr); cursor:pointer;
}
.ctv3-tbl tbody tr.ctv3-row:nth-child(4n+1) td,
.ctv3-tbl tbody tr.ctv3-row:nth-child(4n+2) td { background:#FAFBFC; }
.ctv3-tbl tbody tr.ctv3-row:nth-child(4n+3) td,
.ctv3-tbl tbody tr.ctv3-row:nth-child(4n+4) td { background:#FFFFFF; }
.ctv3-tbl tbody tr.ctv3-row:last-child { border-bottom:none; }
.ctv3-tbl tbody tr.ctv3-row:hover td { background:#D6E8F7 !important; }
.ctv3-tbl tbody tr.ctv3-row.ctv3-selected td { background:#C5DDF2 !important; border-left:3px solid #0057A8; }
.ctv3-tbl tbody tr.ctv3-row.ctv3-in-cmp td { background:#FFFBEB; }
.ctv3-tbl tbody tr.ctv3-row.ctv3-selected.ctv3-in-cmp td { background:#FEF3C7; }

td.ctv3-td { padding:11px 9px; vertical-align:middle; border-right:1px solid var(--c-g100); white-space:nowrap; font-size:12.5px; }
td.ctv3-td:last-child { border-right:none; }
td.ctv3-td-cmp { width:34px; text-align:center; padding:0 8px; position:sticky; left:0; z-index:2; background:inherit; }
td.ctv3-td-fav { width:30px; text-align:center; padding:0 6px; position:sticky; left:34px; z-index:2; background:inherit; }
td.ctv3-td-code { min-width:185px; position:sticky; left:64px; z-index:2; background:inherit; border-right:2px solid var(--c-g200) !important; }
.ctv3-ds-mini { margin-left:8px; padding:3px 9px; border:1px solid #CFE5FB; border-radius:14px; background:linear-gradient(90deg,#EAF4FF,#F4F9FF); cursor:pointer; font-family:'Barlow',sans-serif; font-size:10px; font-weight:700; color:#0057A8; line-height:1; vertical-align:middle; white-space:nowrap; display:inline-flex; align-items:center; gap:4px; transition:all var(--c-tr); animation:ctv3DsMiniPulse 2.6s ease-in-out infinite; }
.ctv3-ds-mini-ico { font-size:11px; }
.ctv3-ds-mini-txt { letter-spacing:0.3px; }
@keyframes ctv3DsMiniPulse { 0%,100%{ box-shadow:0 0 0 0 rgba(0,145,255,0.0); } 50%{ box-shadow:0 0 0 3px rgba(0,145,255,0.13); } }
.ctv3-ds-mini:hover { background:linear-gradient(90deg,#0057A8,#0091FF); border-color:transparent; color:#fff; transform:translateY(-1px); box-shadow:0 3px 10px rgba(0,87,168,0.35); animation:none; }
td.ctv3-td-iso  { min-width:130px; }
td.ctv3-td-num  { text-align:right; font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--c-g700); min-width:56px; }
td.ctv3-td-num-hi { text-align:right; font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; color:#071E3D; min-width:56px; }

.ctv3-code-text { font-family:'JetBrains Mono',monospace; font-size:13px; font-weight:700; color:var(--c-blue); letter-spacing:0.2px; }
.ctv3-iso-text  { font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--c-g400); }
.ctv3-type-badge { font-size:8px; font-weight:700; letter-spacing:0.8px; text-transform:uppercase; padding:2px 6px; border-radius:10px; display:inline-block; }
.ctb-s { background:#DBEAFE; color:#1E40AF; border:1px solid #BFDBFE; }
.ctb-d { background:#DCFCE7; color:#166534; border:1px solid #BBF7D0; }
.ctb-t { background:#FFEDD5; color:#C2410C; border:1px solid #FED7AA; }
.ctb-m { background:#F3E8FF; color:#6B21A8; border:1px solid #E9D5FF; }
.ctv3-cmp-btn { width:22px; height:22px; border-radius:4px; border:1.5px solid var(--c-g200); background:var(--c-white); color:var(--c-g400); font-size:11px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all var(--c-tr); }
.ctv3-cmp-btn:hover { border-color:var(--c-blue); color:var(--c-blue); background:var(--c-blue-xl); }
.ctv3-cmp-btn.on { border-color:#F59E0B; background:#FFFBEB; color:#D97706; }
.ctv3-fav-btn { width:22px; height:22px; border:none; background:none; color:var(--c-g300); font-size:13px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:color var(--c-tr); }
.ctv3-fav-btn:hover { color:#F59E0B; }
.ctv3-fav-btn.on { color:#F59E0B; }

/* expanded row */
tr.ctv3-expand-row { display:none; }
tr.ctv3-expand-row.open { display:table-row; }
tr.ctv3-expand-row td { padding:0; border-bottom:2px solid var(--c-blue); }
.ctv3-expand-inner {
  display:grid; grid-template-columns:auto 1fr auto;
  gap:24px; padding:20px 28px;
  background:linear-gradient(to bottom,var(--c-blue-xl),var(--c-white));
}
.ctv3-exp-svg-wrap { display:flex; align-items:center; justify-content:center; min-width:220px; }
.ctv3-exp-specs { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; align-content:start; }
.ctv3-exp-spec { background:var(--c-white); border:1px solid var(--c-g200); border-radius:6px; padding:10px 12px; }
.ctv3-exp-spec-lbl { font-size:9px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--c-g400); margin-bottom:3px; }
.ctv3-exp-spec-val { font-family:'JetBrains Mono',monospace; font-size:14px; font-weight:700; color:var(--c-blue-d); }
.ctv3-exp-spec-unit { font-size:9px; color:var(--c-g400); font-family:'Barlow',sans-serif; }
.ctv3-exp-actions { display:flex; flex-direction:column; gap:8px; align-items:flex-end; justify-content:flex-start; min-width:140px; }
.ctv3-exp-btn { width:100%; padding:9px 14px; border-radius:6px; font-size:11px; font-weight:600; cursor:pointer; transition:all var(--c-tr); text-align:center; border:none; white-space:nowrap; }
.ctv3-exp-btn-p { background:var(--c-blue); color:#fff; }
.ctv3-exp-btn-p:hover { background:var(--c-blue-d); }
.ctv3-exp-btn-s { background:var(--c-white); color:var(--c-g700); border:1px solid var(--c-g200); }
.ctv3-exp-btn-s:hover { border-color:var(--c-blue); color:var(--c-blue); }
.ctv3-future-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
.ctv3-fut-chip { font-size:9px; padding:2px 8px; border:1px dashed var(--c-g200); border-radius:4px; color:var(--c-g400); font-weight:600; letter-spacing:0.5px; }

/* ── COMPARE FOOTER BAR ──────────────────────────────────── */
#ctv3-cmp-bar {
  position:fixed; bottom:-100px; left:0; right:0; z-index:300;
  background:#0B2F5E; border-top:3px solid #5BB3F0;
  padding:12px 28px; display:flex; align-items:center; gap:16px;
  transition:bottom 0.3s cubic-bezier(0.22,1,0.36,1);
  box-shadow:0 -8px 32px rgba(0,0,0,0.2);
}
#ctv3-cmp-bar.open { bottom:0; }
.ctv3-cmp-bar-title { font-size:12px; font-weight:600; color:#fff; white-space:nowrap; }
.ctv3-cmp-slots { display:flex; gap:10px; flex:1; }
.ctv3-cmp-slot {
  display:flex; align-items:center; gap:8px;
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1);
  border-radius:6px; padding:6px 12px; min-width:180px; cursor:pointer;
  transition:background var(--c-tr);
}
.ctv3-cmp-slot:hover { background:rgba(255,255,255,0.1); }
.ctv3-cmp-slot.empty { border-style:dashed; color:rgba(255,255,255,0.2); font-size:11px; }
.ctv3-cmp-slot-code { font-family:'JetBrains Mono',monospace; font-size:13px; font-weight:500; color:#fff; }
.ctv3-cmp-slot-sub  { font-size:10px; color:rgba(255,255,255,0.4); margin-top:1px; }
.ctv3-cmp-slot-rm   { margin-left:auto; color:rgba(255,255,255,0.3); font-size:14px; transition:color var(--c-tr); }
.ctv3-cmp-slot:hover .ctv3-cmp-slot-rm { color:rgba(255,255,255,0.7); }
.ctv3-cmp-bar-btns { display:flex; gap:8px; }
.ctv3-cmp-do-btn { padding:9px 20px; border-radius:6px; font-size:12px; font-weight:600; cursor:pointer; transition:all var(--c-tr); border:none; white-space:nowrap; }
.ctv3-cmp-go { background:var(--c-blue); color:#fff; }
.ctv3-cmp-go:hover { background:var(--c-blue-m); }
.ctv3-cmp-cancel { background:rgba(255,255,255,0.08); color:rgba(255,255,255,0.6); border:1px solid rgba(255,255,255,0.1); }
.ctv3-cmp-cancel:hover { background:rgba(255,255,255,0.15); color:#fff; }

/* ── COMPARE TABLE MODAL ─────────────────────────────────── */
#ctv3-cmp-modal-wrap {
  position:fixed; inset:0; background:rgba(0,0,0,0.45); z-index:500;
  display:none; align-items:flex-end; justify-content:center;
  backdrop-filter:blur(4px);
}
#ctv3-cmp-modal-wrap.open { display:flex; }
#ctv3-cmp-modal {
  background:var(--c-white); border-radius:12px 12px 0 0;
  width:100%; max-width:1100px; max-height:88vh; overflow-y:auto;
  animation:ctv3SlideUp 0.28s cubic-bezier(0.22,1,0.36,1);
  box-shadow:0 -12px 48px rgba(0,0,0,0.2);
}
@keyframes ctv3SlideUp { from{transform:translateY(60px);opacity:0} to{transform:translateY(0);opacity:1} }
.ctv3-cm-hdr { position:sticky; top:0; background:var(--c-white); z-index:1; padding:14px 24px; border-bottom:1px solid var(--c-g200); display:flex; align-items:center; gap:10px; }
.ctv3-cm-title { font-size:15px; font-weight:700; color:#071E3D; flex:1; }
.ctv3-cm-close { width:30px; height:30px; border-radius:50%; background:var(--c-g100); border:none; font-size:15px; color:var(--c-g500); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all var(--c-tr); }
.ctv3-cm-close:hover { background:var(--c-g200); }
/* comparison table */
.ctv3-cm-tbl-wrap { overflow-x:auto; padding:0 24px 24px; }
.ctv3-cm-tbl { width:100%; border-collapse:collapse; font-size:12px; margin-top:16px; border-radius:8px; }
.ctv3-cm-tbl th { background:#0057A8; color:rgba(255,255,255,0.8); font-size:9px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; padding:11px 16px; text-align:left; border-right:1px solid rgba(255,255,255,0.15); }
.ctv3-cm-tbl th:last-child { border-right:none; }
.ctv3-cm-tbl th.ctv3-cm-prod { background:#0057A8; color:#fff; font-size:14px; font-weight:700; text-transform:none; letter-spacing:0; font-family:'JetBrains Mono',monospace; }
.ctv3-cm-tbl td { padding:9px 14px; border-bottom:1px solid var(--c-g100); border-right:1px solid var(--c-g100); font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--c-g800); }
.ctv3-cm-tbl td:first-child { font-family:'Barlow',sans-serif; font-size:11px; color:var(--c-g500); background:var(--c-g50); font-weight:600; border-right:2px solid var(--c-g200); min-width:160px; }
.ctv3-cm-tbl td:last-child { border-right:none; }
.ctv3-cm-tbl tr:last-child td { border-bottom:none; }
.ctv3-cm-tbl td.ctv3-winner { color:#003F7A; font-weight:700; background:#C5DDF2 !important; }
.ctv3-cm-tbl tr:hover td { background:var(--c-g50); }
.ctv3-cm-tbl tr:hover td:first-child { background:var(--c-g100); }
/* ── melhorias da comparação ── */
.ctv3-cm-toolbar { display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding:14px 0 4px; }
.ctv3-cm-toggle { font-family:'Barlow',sans-serif; font-size:12px; font-weight:600; color:#071E3D; display:flex; align-items:center; gap:6px; cursor:pointer; user-select:none; }
.ctv3-cm-toggle input { accent-color:#0057A8; width:15px; height:15px; cursor:pointer; }
.ctv3-cm-prio { display:flex; align-items:center; gap:6px; }
.ctv3-cm-prio-lbl { font-size:11px; font-weight:700; letter-spacing:0.5px; text-transform:uppercase; color:var(--c-g500); }
.ctv3-cm-prio-btn { font-family:'Barlow',sans-serif; font-size:12px; font-weight:600; padding:5px 12px; border-radius:20px; border:1.5px solid var(--c-g200); background:var(--c-white); color:var(--c-g700); cursor:pointer; transition:all var(--c-tr); }
.ctv3-cm-prio-btn:hover { border-color:#0091FF; color:#0057A8; }
.ctv3-cm-prio-btn.on { background:linear-gradient(90deg,#0057A8,#0091FF); border-color:transparent; color:#fff; box-shadow:0 2px 8px rgba(0,87,168,0.3); }
.ctv3-cm-actions { margin-left:auto; display:flex; gap:8px; }
.ctv3-cm-act { font-family:'Barlow',sans-serif; font-size:12px; font-weight:700; padding:6px 14px; border-radius:8px; border:1.5px solid var(--c-g200); background:var(--c-white); color:#0057A8; cursor:pointer; transition:all var(--c-tr); }
.ctv3-cm-act:hover { background:#F4F9FF; border-color:#0091FF; }
.ctv3-cm-act-wpp { background:#25D366; border-color:#25D366; color:#fff; }
.ctv3-cm-act-wpp:hover { background:#1fb855; border-color:#1fb855; }
/* resumo inteligente */
.ctv3-cm-smart { margin:14px 0 4px; padding:14px 16px; border-radius:12px; background:linear-gradient(135deg,#EAF4FF,#F4F9FF); border:1px solid #CFE5FB; position:relative; overflow:hidden; }
.ctv3-cm-smart::before { content:''; position:absolute; top:0; left:-100%; width:60%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,0.5),transparent); animation:ctv3Shine 3.5s ease-in-out infinite; }
@keyframes ctv3Shine { 0%{left:-100%;} 55%,100%{left:160%;} }
.ctv3-cm-smart-ttl { font-family:'Barlow',sans-serif; font-size:12px; font-weight:800; letter-spacing:0.6px; text-transform:uppercase; color:#0057A8; margin-bottom:6px; position:relative; }
.ctv3-cm-smart-body { font-family:'Barlow',sans-serif; font-size:13px; line-height:1.55; color:#13344f; position:relative; }
.ctv3-cm-smart-body p { margin:4px 0; }
.ctv3-cm-smart-body b { color:#0057A8; }
/* recomendada */
.ctv3-cm-pick { display:block; font-family:'Barlow',sans-serif; font-size:9px; font-weight:800; letter-spacing:0.5px; color:#FFD24D; margin-top:2px; }
/* células: valor, badge, barra */
.ctv3-cm-val { display:inline-flex; align-items:center; gap:7px; }
.ctv3-cm-badge { font-family:'Barlow',sans-serif; font-size:10px; font-weight:800; padding:1px 6px; border-radius:6px; letter-spacing:0.2px; }
.ctv3-cm-badge.pos { background:#DDF5E6; color:#1B8A4B; }
.ctv3-cm-badge.neg { background:#FBE3DA; color:#C0492B; }
.ctv3-cm-badge.neu { background:#E8EEF4; color:#5A6B7B; }
.ctv3-cm-mb { display:block; height:4px; border-radius:3px; background:var(--c-g100); margin-top:6px; overflow:hidden; }
.ctv3-cm-mb-fill { display:block; height:100%; background:linear-gradient(90deg,#0091FF,#0057A8); border-radius:3px; transition:width .4s ease; }
.ctv3-cm-tbl td.ctv3-cm-adv { background:#E8F8EE !important; }
.ctv3-cm-tbl td.ctv3-cm-adv .ctv3-cm-val { color:#1B8A4B; font-weight:700; }
.ctv3-cm-tbl td.ctv3-cm-att { background:#FFF4E8 !important; }
.ctv3-cm-tbl td.ctv3-cm-att .ctv3-cm-val { color:#B5701A; font-weight:700; }
.ctv3-cm-tbl td.ctv3-cm-adv .ctv3-cm-mb-fill { background:linear-gradient(90deg,#28C76F,#1B8A4B); }
/* legenda */
.ctv3-cm-legend { display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding:12px 2px 0; font-family:'Barlow',sans-serif; font-size:11px; color:var(--c-g500); }
.ctv3-cm-legend span { display:flex; align-items:center; gap:5px; }
.ctv3-cm-legend i { width:12px; height:12px; border-radius:3px; display:inline-block; }
.ctv3-cm-legend i.lg-adv { background:#E8F8EE; border:1px solid #28C76F; }
.ctv3-cm-legend i.lg-att { background:#FFF4E8; border:1px solid #E8A04A; }
.ctv3-cm-legend-note { margin-left:auto; font-style:italic; opacity:0.8; }
/* cabeçalho/rodapé de impressão — ocultos na tela */
.ctv3-print-head, .ctv3-print-foot { display:none; }
.ctv3-ph-logo-img { height:54px; width:auto; display:block; }
.ctv3-ph-tag { font-family:'Barlow',sans-serif; font-size:10px; letter-spacing:1px; text-transform:uppercase; color:#5A6B7B; margin-top:7px; }
.ctv3-ph-meta { text-align:right; }
.ctv3-ph-doc { font-family:'Barlow',sans-serif; font-size:13px; font-weight:700; color:#071E3D; }
.ctv3-ph-date { font-family:'Barlow',sans-serif; font-size:11px; color:#5A6B7B; margin-top:2px; }
.ctv3-ph-contact { margin-top:6px; display:flex; flex-direction:column; gap:1px; }
.ctv3-ph-contact span { font-family:'Barlow',sans-serif; font-size:9.5px; color:#5A6B7B; }
.ctv3-ph-contact span:first-child { font-weight:700; color:#0057A8; }
.ctv3-pf-row { display:flex; gap:14px; flex-wrap:wrap; justify-content:center; font-family:'Barlow',sans-serif; font-size:10.5px; color:#13344f; }
.ctv3-pf-co { font-weight:800; color:#0057A8; }
.ctv3-pf-sub { margin-top:2px; color:#5A6B7B; }
.ctv3-pf-note { margin-top:6px; font-family:'Barlow',sans-serif; font-size:9px; font-style:italic; color:#8a97a3; text-align:center; line-height:1.4; }
/* cabeçalho da tabela de comparação fixo ao rolar */
.ctv3-cm-tbl thead th { position:sticky; top:51px; z-index:2; }
/* ===== botões de ficha técnica ===== */
.ctv3-exp-btn-ds { background:linear-gradient(90deg,#0057A8,#0091FF) !important; color:#fff !important; border:none !important; font-weight:700 !important; }
.ctv3-exp-btn-ds:hover { filter:brightness(1.08); }
.prd-cta-ds { display:block; width:100%; padding:12px; background:linear-gradient(90deg,#0057A8,#0091FF); color:#fff; border:none; border-radius:8px; font-family:'Barlow',sans-serif; font-size:14px; font-weight:700; cursor:pointer; margin-top:10px; transition:filter .2s; }
.prd-cta-ds:hover { filter:brightness(1.08); }

/* ===== modal da ficha ===== */
#ctv3-ds-wrap { display:none; position:fixed; inset:0; background:rgba(7,30,61,0.55); z-index:1000; padding:24px; overflow-y:auto; }
#ctv3-ds-wrap.open { display:block; }
#ctv3-ds-modal { background:var(--c-g100,#eef2f6); max-width:920px; margin:0 auto; border-radius:14px; position:relative; box-shadow:0 20px 60px rgba(0,0,0,0.3); animation:ctv3SlideUp 0.3s cubic-bezier(0.22,1,0.36,1); }
.ctv3-ds-close { position:absolute; top:14px; right:14px; width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,0.9); border:none; font-size:18px; color:#5A6B7B; cursor:pointer; z-index:5; display:flex; align-items:center; justify-content:center; }
.ctv3-ds-close:hover { background:#fff; color:#071E3D; }

/* folha A4-like */
.ctv3-ds-sheet { background:#fff; border-radius:14px 14px 0 0; padding:28px 32px; font-family:'Barlow',sans-serif; color:#071E3D; }
.ctv3-ds-head { display:flex; justify-content:space-between; align-items:flex-start; padding-bottom:16px; border-bottom:3px solid #0057A8; }
.ctv3-ds-logo-img { height:50px; width:auto; display:block; }
.ctv3-ds-doc { font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:#8a97a3; margin-top:8px; }
.ctv3-ds-headinfo { text-align:right; }
.ctv3-ds-code { font-family:'JetBrains Mono',monospace; font-size:26px; font-weight:800; color:#071E3D; }
.ctv3-ds-norm { font-family:'JetBrains Mono',monospace; font-size:12px; color:#5A6B7B; margin-top:2px; }
.ctv3-ds-headco { margin-top:8px; display:flex; flex-direction:column; gap:1px; }
.ctv3-ds-headco span { font-family:'Barlow',sans-serif; font-size:9px; color:#5A6B7B; }
.ctv3-ds-headco span:first-child { font-weight:700; color:#0057A8; }
.ctv3-ds-type { display:inline-block; margin-top:6px; padding:3px 12px; border-radius:14px; background:linear-gradient(90deg,#0057A8,#0091FF); color:#fff; font-size:11px; font-weight:800; letter-spacing:0.5px; }

/* hero cards */
.ctv3-ds-hero { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:20px 0; }
.ctv3-ds-hero-card { background:linear-gradient(135deg,#F4F9FF,#EAF4FF); border:1px solid #CFE5FB; border-radius:10px; padding:14px; text-align:center; }
.ctv3-ds-hc-l { display:block; font-size:10px; letter-spacing:0.5px; text-transform:uppercase; color:#5A6B7B; font-weight:700; }
.ctv3-ds-hc-v { display:block; font-family:'JetBrains Mono',monospace; font-size:24px; font-weight:800; color:#0057A8; margin-top:4px; }
.ctv3-ds-hc-v small { font-size:11px; color:#8a97a3; font-weight:600; margin-left:2px; }

.ctv3-ds-drawing { text-align:center; margin:8px 0 16px; padding:12px; background:#FAFCFE; border:1px solid #E3EAF0; border-radius:10px; }
.ctv3-ds-drawing img { max-height:150px; width:auto; max-width:100%; }

.ctv3-ds-cols { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.ctv3-ds-sec-ttl { font-size:12px; font-weight:800; letter-spacing:0.8px; text-transform:uppercase; color:#0057A8; margin:14px 0 8px; padding-bottom:4px; border-bottom:1px solid #E3EAF0; }

/* ratings */
.ctv3-ds-ratings { display:flex; flex-direction:column; gap:8px; }
.ctv3-ds-rate { display:flex; justify-content:space-between; align-items:center; font-size:13px; font-weight:600; color:#13344f; }
.ctv3-ds-stars { letter-spacing:1px; }
.ctv3-ds-star { color:#D6E0E8; font-size:15px; }
.ctv3-ds-star.on { color:#F28C28; }

/* specs grid */
.ctv3-ds-specs { display:grid; grid-template-columns:1fr 1fr; gap:6px 14px; }
.ctv3-ds-spec { display:flex; justify-content:space-between; align-items:baseline; padding:5px 0; border-bottom:1px dashed #E3EAF0; font-size:12px; }
.ctv3-ds-spec-l { color:#5A6B7B; font-weight:600; }
.ctv3-ds-spec-l i { color:#F28C28; font-style:italic; font-weight:800; margin-left:3px; }
.ctv3-ds-spec-v { font-family:'JetBrains Mono',monospace; font-weight:700; color:#071E3D; }
.ctv3-ds-spec-v small { color:#8a97a3; font-weight:500; margin-left:2px; }

.ctv3-ds-gauge-wrap, .ctv3-ds-radar-wrap, .ctv3-ds-bars-wrap { margin-top:8px; }
.ctv3-ds-attrs { display:flex; flex-direction:column; gap:11px; margin-top:4px; }
.ctv3-ds-attr-top { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:4px; }
.ctv3-ds-attr-l { font-size:12px; font-weight:600; color:#13344f; }
.ctv3-ds-attr-v { font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:700; color:#071E3D; }
.ctv3-ds-attr-track { height:8px; border-radius:5px; background:#E3EAF0; overflow:hidden; }
.ctv3-ds-attr-fill { height:100%; border-radius:5px; transition:width .5s ease; }
.ctv3-ds-attr-note { margin-top:12px; padding:9px 12px; background:#F4F9FF; border:1px solid #E3EAF0; border-left:3px solid #0091FF; border-radius:0 7px 7px 0; }
.ctv3-ds-attr-note p { margin:0; font-size:9.5px; line-height:1.5; color:#5A6B7B; }
.ctv3-ds-attr-note p + p { margin-top:5px; }
.ctv3-ds-attr-note b { color:#13344f; font-weight:700; }
.ctv3-ds-attr-ref { color:#0057A8 !important; }

/* aplicações */
.ctv3-ds-apps { margin-top:18px; padding:14px 16px; background:#F4F9FF; border-left:3px solid #0057A8; border-radius:0 8px 8px 0; }
.ctv3-ds-apps p { font-size:13px; line-height:1.6; color:#13344f; margin:4px 0 0; }
.ctv3-ds-hero-card-hl { background:#0091FF; border-color:#0091FF; }
.ctv3-ds-hero-card-hl .ctv3-ds-hc-l { color:rgba(255,255,255,0.85); }
.ctv3-ds-hero-card-hl .ctv3-ds-hc-v { color:#fff; }
.ctv3-ds-calcstrip { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:12px; padding:10px 16px; background:#F4F9FF; border-left:3px solid #0091FF; border-radius:0 6px 6px 0; }
.ctv3-ds-calcstrip-l { font-size:11px; font-weight:700; letter-spacing:0.6px; text-transform:uppercase; color:#0057A8; }
.ctv3-ds-calcstrip-v { font-family:'Barlow Condensed',sans-serif; font-size:20px; font-weight:900; color:#0B2F5E; }
.ctv3-ds-calcstrip-v em { font-family:'Barlow',sans-serif; font-size:12px; font-weight:600; font-style:normal; color:#5a7a99; margin-left:4px; }

/* rodapé */
.ctv3-ds-foot { margin-top:20px; padding-top:14px; border-top:1px solid #CFE5FB; text-align:center; }
.ctv3-ds-foot-row { font-size:11px; color:#13344f; }
.ctv3-ds-foot-row b { color:#0057A8; }
.ctv3-ds-foot-sub { color:#5A6B7B; margin-top:2px; }
.ctv3-ds-foot-note { font-size:9px; font-style:italic; color:#8a97a3; margin-top:6px; line-height:1.4; }

/* ações (não imprimem) */
.ctv3-ds-actions { display:flex; gap:10px; padding:16px 32px; background:var(--c-g100,#eef2f6); border-radius:0 0 14px 14px; }
.ctv3-ds-act { flex:1; padding:12px; border-radius:8px; border:none; font-family:'Barlow',sans-serif; font-size:14px; font-weight:700; cursor:pointer; transition:filter .2s; }
.ctv3-ds-act { background:#0057A8; color:#fff; }
.ctv3-ds-act:hover { filter:brightness(1.1); }
.ctv3-ds-act-wpp { background:#25D366; }

@media(max-width:680px){
  .ctv3-ds-hero { grid-template-columns:repeat(2,1fr); }
  .ctv3-ds-cols { grid-template-columns:1fr; }
  .ctv3-ds-specs { grid-template-columns:1fr; }
}

/* impressão da ficha */
@media print {
  body.ctv3-ds-printing > *:not(#ctv3-ds-wrap) { display:none !important; }
  body.ctv3-ds-printing { background:#fff !important; }
  #ctv3-ds-wrap { display:block !important; position:static !important; background:none !important; padding:0 !important; overflow:visible !important; }
  #ctv3-ds-modal { box-shadow:none !important; max-width:none !important; margin:0 !important; border-radius:0 !important; animation:none !important; background:#fff !important; }
  .ctv3-ds-close, .ctv3-ds-actions { display:none !important; }
  .ctv3-ds-sheet { padding:0 !important; border-radius:0 !important; }
  .ctv3-ds-sheet, .ctv3-ds-head, .ctv3-ds-hero, .ctv3-ds-hero-card-hl, .ctv3-ds-cols, .ctv3-ds-apps, .ctv3-ds-calcstrip, .ctv3-ds-foot { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .ctv3-ds-cols { break-inside:avoid; }
  /* ---- compactação para caber em 1 página ---- */
  .ctv3-ds-head { padding-bottom:8px !important; }
  .ctv3-ds-hero { margin:10px 0 !important; gap:8px !important; }
  .ctv3-ds-hero-card { padding:8px !important; }
  .ctv3-ds-hc-v { font-size:19px !important; }
  .ctv3-ds-drawing { margin:6px 0 !important; padding:6px !important; }
  .ctv3-ds-drawing img { max-height:95px !important; }
  .ctv3-ds-cols { gap:16px !important; }
  .ctv3-ds-sec-ttl { margin:8px 0 5px !important; font-size:11px !important; }
  .ctv3-ds-ratings { gap:5px !important; }
  .ctv3-ds-attrs { gap:7px !important; margin-top:2px !important; }
  .ctv3-ds-attr-top { margin-bottom:2px !important; }
  .ctv3-ds-attr-track { height:6px !important; }
  .ctv3-ds-attr-note { margin-top:8px !important; padding:7px 10px !important; }
  .ctv3-ds-attr-note p { font-size:8.5px !important; line-height:1.4 !important; }
  .ctv3-ds-spec { padding:3px 0 !important; font-size:11px !important; }
  .ctv3-ds-specs { gap:3px 14px !important; }
  .ctv3-ds-gauge-wrap, .ctv3-ds-radar-wrap, .ctv3-ds-bars-wrap { margin-top:5px !important; }
  #ctv3-ds-gauge { max-height:90px !important; }
  #ctv3-ds-bars { max-height:120px !important; }
  .ctv3-ds-apps { margin-top:10px !important; padding:9px 12px !important; }
  .ctv3-ds-apps p { font-size:11px !important; line-height:1.45 !important; }
  .ctv3-ds-foot { margin-top:8px !important; padding-top:7px !important; }
  .ctv3-ds-calcstrip { margin-top:8px !important; padding:6px 12px !important; }
  .ctv3-ds-calcstrip-v { font-size:17px !important; }
  .ctv3-ds-drawing img { max-height:80px !important; }
  #ctv3-ds-gauge { max-height:78px !important; }
  #ctv3-ds-bars { max-height:105px !important; }
  .ctv3-ds-foot-note { font-size:9px !important; line-height:1.35 !important; }
  .ctv3-ds-sheet > * { break-inside:avoid; }
  @page { margin:7mm; size:A4 portrait; }
}

@media print {
  @page { margin:14mm 12mm; }
  /* esconde tudo de fato (não apenas invisível) para não gerar página duplicada */
  body.ctv3-printing > *:not(#ctv3-cmp-modal-wrap) { display:none !important; }
  body.ctv3-printing { background:#fff !important; }
  #ctv3-cmp-modal-wrap { display:block !important; position:static !important; background:none !important; padding:0 !important; }
  #ctv3-cmp-modal { position:static !important; width:100% !important; max-width:none !important; max-height:none !important; box-shadow:none !important; border-radius:0 !important; animation:none !important; overflow:visible !important; }
  .ctv3-cm-hdr, .ctv3-cm-toolbar, .ctv3-cm-close, .ctv3-cm-legend { display:none !important; }
  .ctv3-cm-smart::before { display:none; }
  .ctv3-cm-tbl thead th { position:static; }
  /* mostra cabeçalho e rodapé corporativos */
  .ctv3-print-head { display:flex !important; align-items:flex-start; justify-content:space-between;
    padding:0 24px 12px; margin-bottom:8px; border-bottom:2px solid #0057A8; }
  .ctv3-print-foot { display:block !important; padding:12px 24px 0; margin-top:14px; border-top:1px solid #CFE5FB; }
  .ctv3-cm-tbl-wrap { overflow:visible !important; padding:0 24px; }
  .ctv3-cm-smart { break-inside:avoid; }
  .ctv3-cm-tbl tr { break-inside:avoid; }
  /* grade completa da tabela no relatório PDF */
  .ctv3-cm-tbl { border:1.5px solid #0057A8 !important; }
  .ctv3-cm-tbl th, .ctv3-cm-tbl td { border:1px solid #9DB8CC !important; }
  .ctv3-cm-tbl thead th { border-color:#0057A8 !important; }
  .ctv3-cm-tbl td:first-child { border-right:1.5px solid #0057A8 !important; }
  .ctv3-cm-tbl tr:last-child td { border-bottom:1px solid #9DB8CC !important; }
  .ctv3-cm-tbl tr:hover td { background:inherit; }
  /* distribuição vertical para evitar metade da página em branco */
  .ctv3-cm-smart { margin:0 24px 14px !important; padding:16px 18px !important; break-inside:avoid; }
  .ctv3-cm-smart-body { font-size:13.5px !important; line-height:1.7 !important; }
  .ctv3-cm-smart-body p { margin:7px 0 !important; }
  .ctv3-cm-tbl { margin-top:8px !important; }
  .ctv3-cm-tbl td, .ctv3-cm-tbl th { padding-top:11px !important; padding-bottom:11px !important; }
  .ctv3-cm-mb { display:none !important; } /* mini-barras não imprimem bem; ocultas no PDF */
  .ctv3-print-head, .ctv3-print-foot { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}

/* ── EMPTY ── */
#ctv3-empty { display:none; padding:60px; text-align:center; }
#ctv3-empty.on { display:block; }
.ctv3-empty-icon { font-size:40px; margin-bottom:12px; }
.ctv3-empty-title { font-size:18px; font-weight:600; color:var(--c-g700); margin-bottom:6px; }
.ctv3-empty-sub { font-size:13px; color:var(--c-g400); margin:0 auto 16px; max-width:340px; line-height:1.6; }
.ctv3-empty-chips { display:flex; flex-wrap:wrap; gap:7px; justify-content:center; }
.ctv3-e-chip { font-family:'JetBrains Mono',monospace; font-size:11px; padding:4px 12px; background:var(--c-white); border:1px solid var(--c-g200); border-radius:20px; cursor:pointer; color:var(--c-blue); transition:all var(--c-tr); }
.ctv3-e-chip:hover { background:var(--c-blue-l); border-color:var(--c-blue); }

/* ── TOAST ── */
#ctv3-toast { position:fixed; bottom:72px; left:50%; transform:translateX(-50%) translateY(80px); background:#071E3D; color:#fff; font-size:12px; font-weight:500; padding:8px 18px; border-radius:30px; z-index:700; transition:transform 0.28s cubic-bezier(0.22,1,0.36,1); box-shadow:0 4px 20px rgba(0,0,0,0.25); white-space:nowrap; }
#ctv3-toast.on { transform:translateX(-50%) translateY(0); }


/* ===== CSS migrado de aplicacoes.html (era inline) ===== */
/* ─── APLICAÇÕES ──────────────────────────────────────────────────────────── */
#page-aplic{background:#F8F9FB;font-family:'Barlow',sans-serif}
#page-aplic *{box-sizing:border-box}
/* hero */
.apl-hero{background-color:#0B2F5E;background-image:url("images/banners/aplicacoes.jpg");background-size:cover;background-position:center;padding:52px 64px 44px;position:relative;overflow:hidden}
.apl-hero::before{content:'';position:absolute;inset:0;pointer-events:none;
background-image:linear-gradient(rgba(255,255,255,.05)1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05)1px,transparent 1px);
background-size:60px 60px;background-color:rgba(11,47,94,0.72)}
.apl-hero>*{position:relative;z-index:1}
.apl-kicker{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#7EC8F4;margin-bottom:8px}
.apl-hero h1{font-family:'Barlow Condensed',sans-serif;font-size:46px;font-weight:900;color:#fff;line-height:1;margin:0 0 8px}
.apl-hero p{font-size:14px;color:rgba(255,255,255,.55);max-width:480px;line-height:1.6;margin:0}
.apl-stats{display:flex;gap:32px;margin-top:24px;flex-wrap:wrap}
.apl-stat-n{font-family:'Barlow Condensed',sans-serif;font-size:32px;font-weight:900;color:#7EC8F4;line-height:1}
.apl-stat-l{font-size:9px;color:rgba(255,255,255,.4);margin-top:3px;text-transform:uppercase;letter-spacing:1px;font-weight:600}
/* filter bar */
.apl-fbar{background:#fff;border-bottom:1px solid #E0E4EB;padding:0 64px;display:flex;overflow-x:auto;
position:sticky;top:64px;z-index:50;scrollbar-width:none}
.apl-fbar::-webkit-scrollbar{height:0}
.apl-ftab{font-family:'Barlow Semi Condensed',sans-serif;font-size:12px;font-weight:500;
color:#6B7280;padding:13px 16px;cursor:pointer;white-space:nowrap;border:none;background:none;
border-bottom:2px solid transparent;transition:color .15s,border-color .15s;flex-shrink:0}
.apl-ftab:hover{color:#0057A8}
.apl-ftab.active{color:#0057A8;border-bottom-color:#0057A8;font-weight:600}
/* grid */
.apl-grid-section{padding:32px 64px 64px}
.apl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
/* card */
.apl-card{background:#fff;border:1px solid #E0E4EB;border-radius:10px;overflow:hidden;
cursor:pointer;display:flex;flex-direction:column;
box-shadow:0 1px 4px rgba(0,0,0,.05);
transition:border-color .2s,transform .2s,box-shadow .2s;transform-style:preserve-3d;will-change:transform}
.apl-card:hover{border-color:#0057A8;box-shadow:0 12px 32px rgba(0,87,168,.12)}
/* card visual — ALL children get pointer-events:none so click reaches the card */
.apl-card-vis{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#EBF3FC,#C5DDF2);
overflow:hidden;flex-shrink:0}
.apl-card-vis *{pointer-events:none}
.apl-card-photo{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .3s}
.apl-card-photo.loaded{opacity:1}
.apl-card-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.apl-card-icon svg{width:44px;height:44px;opacity:.5;transition:all .2s}
.apl-card:hover .apl-card-icon svg{opacity:.85;transform:scale(1.06)}
.apl-card-grad{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,47,94,0)35%,rgba(0,47,94,.75)100%);opacity:.55;transition:opacity .2s}
.apl-card:hover .apl-card-grad{opacity:1}
.apl-card-num{position:absolute;top:8px;left:10px;font-size:8px;font-weight:800;letter-spacing:1.5px;
text-transform:uppercase;color:rgba(255,255,255,.85);background:rgba(0,47,94,.5);backdrop-filter:blur(4px);
padding:2px 7px;border-radius:20px;border:1px solid rgba(255,255,255,.15)}
.apl-card-badge{position:absolute;top:8px;right:10px;z-index:5;font-size:8.5px;font-weight:800;
letter-spacing:1px;text-transform:uppercase;padding:3px 9px;border-radius:20px;line-height:1;color:#fff;
box-shadow:0 2px 8px rgba(0,0,0,.22)}
.apl-badge-leaf{background:#1E3A8A}
.apl-badge-zero{background:#1D4ED8}
.apl-badge-safety{background:#EA580C}
.apl-badge-heavy{background:#374151}
.apl-badge-agri{background:#15803D}
.apl-badge-cont{background:#0F766E}
.apl-badge-speed{background:#D97706}
.apl-badge-temp{background:#B91C1C}
.apl-badge-food{background:#059669}
.apl-badge-cadence{background:#0891B2}
.apl-badge-wear{background:#6B7280}
.apl-badge-severe{background:#4B5563}
.apl-badge-sustain{background:#16A34A}
.apl-badge-mission{background:#991B1B}
.apl-badge-oem{background:#7C3AED}
.apl-badge-sanit{background:#0E7490}
.apl-badge-special{background:#9333EA}
font-family:'Barlow Semi Condensed',sans-serif;font-size:12px;font-weight:700;
color:#fff;line-height:1.2;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.apl-card-info{padding:10px 12px 12px;border-top:1px solid #F0F2F5;background:#fff;flex:1;
display:flex;flex-direction:column;transition:background .2s}
.apl-card:hover .apl-card-info{background:#F4F9FF}
.apl-card-sub{font-size:10px;color:#9BA3B2;line-height:1.4;flex:1;margin:0;
display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.apl-card-cta{font-size:10px;font-weight:700;color:#0057A8;margin-top:8px;display:block}
/* ── DETAIL VIEW ── */
.apl-detail{display:none}
.apl-detail.open{display:block}
/* banner */
.apl-det-banner{position:relative;overflow:hidden;min-height:0;display:flex;align-items:flex-end;background:#0B2F5E}
.apl-det-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .5s}
.apl-det-bg.show{opacity:1}
.apl-det-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04)1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04)1px,transparent 1px);background-size:60px 60px}
.apl-det-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,18,51,.92) 0%,rgba(0,18,51,.55) 40%,rgba(0,18,51,.15) 75%,rgba(0,18,51,.0) 100%);z-index:2}
.apl-det-ct{position:relative;z-index:3;padding:18px 64px 20px;width:100%}
.apl-back{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;
color:rgba(255,255,255,.6);background:none;border:none;cursor:pointer;margin-bottom:16px;
padding:0;font-family:'Barlow',sans-serif;transition:color .15s}
.apl-back:hover{color:#fff;background:rgba(255,255,255,.18)}
.apl-det-kicker{font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:#7EC8F4;margin-bottom:8px;display:inline-block;background:rgba(0,87,168,.4);backdrop-filter:blur(6px);padding:4px 12px;border-radius:20px;border:1px solid rgba(91,179,240,.3)}
.apl-det-title{font-family:'Barlow Condensed',sans-serif;font-size:52px;font-weight:900;color:#fff;line-height:1;margin:0 0 10px;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.apl-det-sub{font-size:14px;color:rgba(255,255,255,.75);max-width:560px;line-height:1.6;text-shadow:0 1px 8px rgba(0,0,0,.4)}
/* detail body */
.apl-det-body{padding:40px 64px}
.apl-det-grid-2{display:grid;grid-template-columns:1fr 300px;gap:36px;align-items:start}
.apl-det-desc{font-size:14px;color:#374151;line-height:1.7;margin:0 0 24px}
.apl-sec-ttl{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
color:#9BA3B2;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid #E0E4EB}
.apl-apps-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}
.apl-app-tag{font-size:11px;font-weight:600;color:#003F7A;background:#EBF3FC;
border:1px solid rgba(0,87,168,.15);padding:4px 11px;border-radius:20px}
/* gallery */
.apl-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px}
.apl-gal-item{border-radius:8px;overflow:hidden;border:1px solid #E0E4EB;background:#fff}
.apl-gal-photo{aspect-ratio:4/3;background:linear-gradient(135deg,#EBF3FC,#C5DDF2);
background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;font-size:24px;color:#C5DDF2}
.apl-gal-info{padding:8px 10px 10px}
.apl-gal-name{font-size:11px;font-weight:600;color:#111827;display:block;margin-bottom:2px}
.apl-gal-text{font-size:10px;color:#9BA3B2;line-height:1.4;margin:0}
/* sidebar */
.apl-sidebar{display:flex;flex-direction:column;gap:12px}
.apl-scard{background:#fff;border:1px solid #E0E4EB;border-radius:10px;padding:16px 18px}
.apl-prods-list{list-style:none;padding:0;margin:0}
.apl-prods-list li{display:flex;align-items:center;gap:8px;padding:7px 0;
border-bottom:1px solid #F0F2F5;font-size:12px;color:#374151;font-weight:500;cursor:pointer;transition:color .15s}
.apl-prods-list li:last-child{border-bottom:none}
.apl-prods-list li:hover{color:#0057A8}
.apl-prod-dot{width:5px;height:5px;border-radius:50%;background:#0057A8;flex-shrink:0;opacity:.4;transition:opacity .15s}
.apl-prods-list li:hover .apl-prod-dot{opacity:1}
.apl-dls-list{display:flex;flex-direction:column;gap:7px}
.apl-dl-item{display:flex;align-items:center;gap:8px;padding:8px 10px;
background:#F8F9FB;border:1px solid #E0E4EB;border-radius:6px;text-decoration:none;transition:all .15s}
.apl-dl-item:hover{border-color:#0057A8;background:#EBF3FC}
.apl-dl-icon{font-size:16px;flex-shrink:0}
.apl-dl-name{font-size:11px;font-weight:600;color:#003F7A;flex:1;line-height:1.3}
.apl-dl-arr{color:#9BA3B2;font-size:12px}
.apl-no-dl{font-size:11px;color:#9BA3B2;padding:12px;background:#F8F9FB;border-radius:6px;border:1px dashed #E0E4EB;text-align:center;margin:0}
.apl-cta-btn{display:block;width:100%;padding:11px;background:#0057A8;color:#fff;
border:none;border-radius:6px;font-family:'Barlow Semi Condensed',sans-serif;
font-size:12px;font-weight:600;cursor:pointer;text-align:center;transition:background .15s;margin-bottom:7px}
.apl-cta-btn:hover{background:#003F7A}
.apl-cta-sec{background:#EBF3FC;color:#003F7A;border:1.5px solid rgba(0,87,168,.15);margin-bottom:0}
.apl-cta-sec:hover{background:#C5DDF2}
@media(max-width:1200px){.apl-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.apl-grid{grid-template-columns:repeat(3,1fr)}.apl-hero,.apl-fbar,.apl-grid-section,.apl-det-ct,.apl-det-body{padding-left:20px;padding-right:20px}.apl-det-grid-2{grid-template-columns:1fr}}

/* ═══ PREMIUM SEGMENT DETAIL PAGES ════════════════════════════════════════ */
.apl-det-banner{ min-height:0; }
.apl-det-ct{ padding:18px 64px 20px; }
.apl-hero-indicators{ display:flex; gap:8px; flex-wrap:wrap; margin-top:16px; }
.apl-hero-ind{ display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:600; color:rgba(255,255,255,.85); background:rgba(255,255,255,.12); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.2); border-radius:20px; padding:5px 12px; }
.apl-hero-ind::before{ content:'✓'; color:#7EC8F4; font-weight:800; }
.apl-hero-stats{ display:flex; gap:28px; margin-top:20px; flex-wrap:wrap; }
.apl-hero-stat-n{ font-family:'Barlow Condensed',sans-serif; font-size:30px; font-weight:900; color:#7EC8F4; line-height:1; }
.apl-hero-stat-l{ font-size:9px; color:rgba(255,255,255,.45); margin-top:2px; text-transform:uppercase; letter-spacing:1px; font-weight:600; }
.apl-det-body{ padding:0; }
.apl-det-body-grid{ display:block; }
/* sections */
.seg-section{ padding:52px 64px; }
.seg-section.dark{ background:#0B2F5E; position:relative; overflow:hidden; }
.seg-section.dark::before{ content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size:60px 60px; pointer-events:none; }
.seg-section.dark > *{ position:relative; z-index:1; }
.seg-section.mid{ background:#F4F8FC; }
.seg-section.white{ background:#fff; }
.seg-title{ font-family:'Barlow Condensed',sans-serif; font-size:30px; font-weight:900; color:#0B2F5E; line-height:1.1; margin:0 0 6px; }
.seg-title.light{ color:#fff; }
.seg-sub{ font-size:14px; color:#64748B; margin:0 0 32px; max-width:600px; line-height:1.6; }
.seg-sub.light{ color:rgba(255,255,255,.6); }
/* where used */
.seg-where-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.seg-where-card{ background:#fff; border:1px solid #E0E4EB; border-radius:10px; overflow:hidden; transition:all .2s; box-shadow:0 1px 4px rgba(0,0,0,.05); }
.seg-where-card:hover{ border-color:#0057A8; transform:translateY(-3px); box-shadow:0 12px 28px rgba(0,87,168,.12); }
.seg-where-photo{ aspect-ratio:16/9; background:linear-gradient(135deg,#EBF3FC,#C5DDF2); background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; font-size:28px; }
.seg-where-info{ padding:12px 14px 14px; }
.seg-where-name{ font-size:13px; font-weight:700; color:#111827; margin-bottom:4px; }
.seg-where-desc{ font-size:11px; color:#9BA3B2; line-height:1.4; margin:0; }
/* challenges */
.seg-challenges-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.seg-challenge{ background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:10px; padding:20px 16px; text-align:center; transition:all .2s; }
.seg-challenge:hover{ background:rgba(255,255,255,.15); border-color:rgba(126,200,244,.4); transform:translateY(-2px); }
.seg-challenge-icon{ font-size:28px; margin-bottom:10px; display:block; }
.seg-challenge-name{ font-size:12px; font-weight:700; color:#fff; margin-bottom:5px; line-height:1.2; }
.seg-challenge-desc{ font-size:10px; color:rgba(255,255,255,.5); line-height:1.4; margin:0; }
/* why donghua */
.seg-why-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.seg-why-item{ display:flex; align-items:flex-start; gap:14px; background:#fff; border:1px solid #E0E4EB; border-radius:10px; padding:18px 20px; box-shadow:0 1px 4px rgba(0,0,0,.04); transition:all .2s; }
.seg-why-item:hover{ border-color:#0057A8; box-shadow:0 6px 20px rgba(0,87,168,.1); }
.seg-why-icon{ width:44px; height:44px; border-radius:10px; background:#EBF3FC; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
.seg-why-title{ font-size:13px; font-weight:700; color:#111827; margin-bottom:4px; }
.seg-why-desc{ font-size:11px; color:#9BA3B2; line-height:1.45; margin:0; }
/* products gallery */
.seg-prods-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.seg-prod-card{ background:#fff; border:1px solid #E0E4EB; border-radius:10px; overflow:hidden; transition:all .2s; box-shadow:0 1px 4px rgba(0,0,0,.05); display:flex; flex-direction:column; }
.seg-prod-card:hover{ border-color:#0057A8; box-shadow:0 10px 28px rgba(0,87,168,.12); transform:translateY(-2px); }
.seg-prod-photo{ aspect-ratio:4/3; background:linear-gradient(135deg,#EBF3FC,#C5DDF2); background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; font-size:32px; }
.seg-prod-info{ padding:14px 16px 16px; flex:1; display:flex; flex-direction:column; }
.seg-prod-name{ font-size:13px; font-weight:700; color:#111827; margin-bottom:5px; }
.seg-prod-desc{ font-size:11px; color:#9BA3B2; line-height:1.4; flex:1; margin-bottom:12px; }
.seg-prod-cta{ display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700; color:#0057A8; cursor:pointer; transition:gap .15s; background:none; border:none; padding:0; }
.seg-prod-card:hover .seg-prod-cta{ gap:8px; }
/* real applications alternating */
.seg-app-row{ display:grid; grid-template-columns:1fr 1fr; border-radius:12px; overflow:hidden; margin-bottom:16px; box-shadow:0 2px 12px rgba(0,0,0,.08); }
.seg-app-row.rev .seg-app-text{ order:1; } .seg-app-row.rev .seg-app-img{ order:2; }
.seg-app-img{ aspect-ratio:16/10; background:linear-gradient(135deg,#EBF3FC,#C5DDF2); background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; font-size:40px; min-height:200px; }
.seg-app-text{ background:#fff; padding:40px 44px; display:flex; flex-direction:column; justify-content:center; }
.seg-app-kicker{ font-size:9px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#0057A8; margin-bottom:10px; }
.seg-app-title{ font-size:22px; font-weight:800; color:#0B2F5E; margin:0 0 12px; font-family:'Barlow Condensed',sans-serif; }
.seg-app-desc{ font-size:13px; color:#374151; line-height:1.7; margin:0; }
/* videos */
.seg-videos-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.seg-video-ph{ border-radius:10px; overflow:hidden; cursor:pointer; background:#0B2F5E; border:1px solid #1A3A6A; transition:all .2s; }
.seg-video-ph:hover{ border-color:#0057A8; box-shadow:0 8px 24px rgba(0,87,168,.2); }
.seg-video-thumb{ aspect-ratio:16/9; background:linear-gradient(135deg,#0D2545,#0057A8); background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; position:relative; }
.seg-video-play{ width:52px; height:52px; background:rgba(255,255,255,.15); backdrop-filter:blur(8px); border:2px solid rgba(255,255,255,.3); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:18px; transition:all .2s; }
.seg-video-ph:hover .seg-video-play{ background:rgba(0,87,168,.9); border-color:#0057A8; }
.seg-video-type{ position:absolute; top:10px; left:10px; font-size:9px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#fff; background:rgba(0,87,168,.7); backdrop-filter:blur(4px); padding:3px 9px; border-radius:20px; border:1px solid rgba(255,255,255,.15); }
.seg-video-label{ padding:12px 14px 14px; }
.seg-video-title{ font-size:12px; font-weight:700; color:#fff; margin-bottom:3px; }
.seg-video-sub{ font-size:10px; color:rgba(255,255,255,.4); }
/* downloads */
.seg-dl-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.seg-dl-card{ background:#fff; border:1px solid #E0E4EB; border-radius:10px; padding:20px; display:flex; flex-direction:column; align-items:center; text-align:center; text-decoration:none; transition:all .2s; box-shadow:0 1px 4px rgba(0,0,0,.04); }
.seg-dl-card:hover{ border-color:#0057A8; box-shadow:0 6px 20px rgba(0,87,168,.1); transform:translateY(-2px); }
.seg-dl-icon-wrap{ width:52px; height:52px; border-radius:12px; background:#EBF3FC; display:flex; align-items:center; justify-content:center; font-size:24px; margin-bottom:12px; }
.seg-dl-card:hover .seg-dl-icon-wrap{ background:#C5DDF2; }
.seg-dl-type{ font-size:9px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#0057A8; margin-bottom:5px; }
.seg-dl-name{ font-size:12px; font-weight:600; color:#111827; line-height:1.3; margin-bottom:4px; }
.seg-dl-sub{ font-size:10px; color:#9BA3B2; margin-bottom:10px; }
.seg-dl-btn{ font-size:10px; font-weight:700; color:#0057A8; display:flex; align-items:center; gap:4px; }
/* CTA section */
.seg-cta-wrap{ background:linear-gradient(135deg,#0B2F5E 0%,#0057A8 100%); padding:64px; text-align:center; position:relative; overflow:hidden; }
.seg-cta-wrap::before{ content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size:60px 60px; }
.seg-cta-wrap > *{ position:relative; z-index:1; }
.seg-cta-title{ font-family:'Barlow Condensed',sans-serif; font-size:36px; font-weight:900; color:#fff; margin:0 0 10px; line-height:1.1; }
.seg-cta-sub{ font-size:14px; color:rgba(255,255,255,.65); max-width:500px; margin:0 auto 30px; line-height:1.6; }
.seg-cta-btns{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.seg-cta-pri{ padding:13px 28px; background:#fff; color:#003F7A; border:none; border-radius:6px; font-family:'Barlow Semi Condensed',sans-serif; font-size:13px; font-weight:700; cursor:pointer; transition:all .15s; }
.seg-cta-pri:hover{ background:#EBF3FC; }
.seg-cta-sec2{ padding:12px 28px; background:transparent; color:#fff; border:2px solid rgba(255,255,255,.35); border-radius:6px; font-family:'Barlow Semi Condensed',sans-serif; font-size:13px; font-weight:700; cursor:pointer; transition:all .15s; }
.seg-cta-sec2:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
.seg-cta-wpp{ padding:12px 28px; background:#25D366; color:#fff; border:none; border-radius:6px; font-family:'Barlow Semi Condensed',sans-serif; font-size:13px; font-weight:700; cursor:pointer; transition:background .15s; }
.seg-cta-wpp:hover{ background:#1EA855; }
@media(max-width:1100px){
  .seg-where-grid,.seg-prods-grid{ grid-template-columns:repeat(2,1fr); }
  .seg-challenges-grid{ grid-template-columns:repeat(3,1fr); }
  .seg-dl-grid{ grid-template-columns:repeat(2,1fr); }
  .seg-app-row{ grid-template-columns:1fr; }
  .seg-videos-grid{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:768px){
  .seg-section{ padding:36px 20px; }
  .seg-why-grid{ grid-template-columns:1fr; }
  .seg-where-grid{ grid-template-columns:repeat(2,1fr); }
  .seg-cta-wrap{ padding:40px 20px; }
}

/* ═══ SEGMENT DETAIL — PREMIUM 2025 UPGRADE ══════════════════════════════ */

/* ── OVERVIEW STRIP — stats + description abaixo do banner ── */
.seg-overview-strip{
  background:#fff;
  border-bottom:1px solid #E0E4EB;
  padding:28px 64px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:40px;
  align-items:center;
}
.seg-overview-desc{
  font-size:15px; color:#374151; line-height:1.75; max-width:720px; margin:0;
}
.seg-overview-stats{
  display:flex; gap:32px; flex-shrink:0;
}
.seg-ovstat{
  text-align:center;
}
.seg-ovstat-n{
  font-family:'Barlow Condensed',sans-serif; font-size:28px; font-weight:900;
  color:#0057A8; line-height:1;
}
.seg-ovstat-l{
  font-size:9px; text-transform:uppercase; letter-spacing:1.5px;
  color:#9BA3B2; font-weight:600; margin-top:4px;
}

/* ── WHERE USED — cards com foto real ── */
.seg-where-grid-v2{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:#E0E4EB;
  border:1px solid #E0E4EB;
  border-radius:12px;
  overflow:hidden;
}
.seg-where-card-v2{
  background:#fff;
  transition:background .18s;
  cursor:default;
}
.seg-where-card-v2:hover{ background:#F4F9FF; }
.seg-where-photo-v2{
  aspect-ratio:16/10;
  background:linear-gradient(135deg,#EBF3FC,#C5DDF2);
  background-size:cover; background-position:center;
  display:flex; align-items:center; justify-content:center;
  font-size:32px;
  position:relative; overflow:hidden;
}
.seg-where-photo-v2::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom, transparent 40%, rgba(0,18,51,.55) 100%);
}
.seg-where-info-v2{ padding:14px 16px 16px; }
.seg-where-name-v2{
  font-size:13px; font-weight:700; color:#111827; margin:0 0 5px;
}
.seg-where-desc-v2{
  font-size:11px; color:#6B7280; line-height:1.5; margin:0;
}

/* ── CHALLENGES — dark section, grid compacto ── */
.seg-challenges-grid-v2{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
}
.seg-challenge-v2{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  padding:22px 16px 20px;
  text-align:center;
  transition:all .2s;
  position:relative; overflow:hidden;
}
.seg-challenge-v2::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(0,87,168,.15), rgba(0,87,168,0));
  opacity:0; transition:opacity .2s;
}
.seg-challenge-v2:hover{ background:rgba(255,255,255,.13); border-color:rgba(126,200,244,.5); transform:translateY(-2px); }
.seg-challenge-v2:hover::before{ opacity:1; }
.seg-challenge-icon-v2{
  font-size:26px; margin-bottom:12px; display:block; position:relative;
}
.seg-challenge-name-v2{
  font-size:12px; font-weight:700; color:#fff; margin:0 0 6px; line-height:1.25; position:relative;
}
.seg-challenge-desc-v2{
  font-size:10px; color:rgba(255,255,255,.5); line-height:1.5; margin:0; position:relative;
}

/* ── WHY DONGHUA — grid 3 colunas com ícone colorido ── */
.seg-why-grid-v2{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.seg-why-item-v2{
  background:#fff;
  border:1px solid #E4EAF2;
  border-radius:12px;
  padding:22px 22px 20px;
  display:flex; align-items:flex-start; gap:16px;
  transition:all .2s;
  box-shadow:0 1px 4px rgba(0,0,0,.04);
}
.seg-why-item-v2:hover{
  border-color:#0057A8;
  box-shadow:0 8px 24px rgba(0,87,168,.1);
  transform:translateY(-2px);
}
.seg-why-icon-v2{
  width:46px; height:46px; border-radius:11px;
  background:linear-gradient(135deg, #EBF3FC, #C5DDF2);
  display:flex; align-items:center; justify-content:center;
  font-size:20px; flex-shrink:0;
  transition:background .2s;
}
.seg-why-item-v2:hover .seg-why-icon-v2{
  background:linear-gradient(135deg, #0057A8, #0081CC);
}
.seg-why-content-v2{ flex:1; }
.seg-why-title-v2{
  font-size:13px; font-weight:700; color:#111827; margin:0 0 5px;
}
.seg-why-desc-v2{
  font-size:11px; color:#6B7280; line-height:1.5; margin:0;
}

/* ── APPS — alternating split layout ── */
.seg-apps-wrap{ display:flex; flex-direction:column; gap:0; border-radius:12px; overflow:hidden; box-shadow:0 2px 20px rgba(0,0,0,.07); }
.seg-app-row-v2{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:240px;
}
.seg-app-row-v2.rev .seg-app-text-v2{ order:2; }
.seg-app-row-v2.rev .seg-app-img-v2{ order:1; }
.seg-app-img-v2{
  background:linear-gradient(135deg,#0B2F5E,#0057A8);
  background-size:cover; background-position:center;
  display:flex; align-items:center; justify-content:center;
  font-size:52px; min-height:220px; position:relative;
}
.seg-app-img-v2::after{
  content:''; position:absolute; inset:0;
  background:rgba(0,18,51,.35);
}
.seg-app-text-v2{
  background:#fff;
  padding:44px 48px;
  display:flex; flex-direction:column; justify-content:center;
  border-top:1px solid #F0F2F5;
}
.seg-app-kicker-v2{
  font-size:9px; font-weight:700; letter-spacing:2px;
  text-transform:uppercase; color:#0057A8; margin:0 0 10px;
  display:flex; align-items:center; gap:6px;
}
.seg-app-kicker-v2::before{
  content:''; width:20px; height:2px; background:#0057A8; border-radius:1px;
}
.seg-app-title-v2{
  font-family:'Barlow Condensed',sans-serif;
  font-size:22px; font-weight:800; color:#0B2F5E;
  margin:0 0 12px; line-height:1.2;
}
.seg-app-desc-v2{
  font-size:13px; color:#374151; line-height:1.75; margin:0;
}

/* ═══ SEGMENTO — VISÃO GERAL ZIG-ZAG (intercalado) ═══════════════════ */
.seg-zz-wrap{ background:#fff; }
.seg-zz-head{ padding:38px 64px 6px; }
.seg-zz-head-kicker{ font-size:10px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:#0057A8;display:flex;align-items:center;gap:8px;margin:0 0 8px; }
.seg-zz-head-kicker span{ width:24px;height:2px;background:#0057A8;border-radius:1px;display:inline-block; }
.seg-zz-head-title{ font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:800;color:#0B2F5E;line-height:1.12;margin:0; }
.seg-zz-row{ display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding:30px 64px; }
.seg-zz-row.rev .seg-zz-text{ order:2; }
.seg-zz-row.rev .seg-zz-photo{ order:1; }
.seg-zz-kicker{ font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#0057A8;display:flex;align-items:center;gap:8px;margin:0 0 10px; }
.seg-zz-kicker span{ width:22px;height:2px;background:#0057A8;border-radius:1px;display:inline-block; }
.seg-zz-title{ font-family:'Barlow Condensed',sans-serif;font-size:23px;font-weight:800;color:#0B2F5E;line-height:1.16;margin:0 0 12px; }
.seg-zz-desc{ font-size:13.5px;color:#374151;line-height:1.78;margin:0; }
.seg-zz-kw{ color:#0B2F5E;font-weight:600; }
.seg-zz-photo{ position:relative;height:300px;border-radius:12px;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:#0B2F5E;cursor:pointer;overflow:hidden;box-shadow:0 6px 24px rgba(11,47,94,.10); }
.seg-zz-photo::after{ content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.20));opacity:0;transition:opacity .25s; }
.seg-zz-photo:hover::after{ opacity:1; }
.seg-zz-zoom{ position:absolute;bottom:12px;right:12px;background:rgba(0,0,0,.5);color:#fff;font-size:11px;font-weight:600;padding:5px 10px;border-radius:6px;opacity:0;transform:translateY(6px);transition:all .25s;z-index:2; }
.seg-zz-photo:hover .seg-zz-zoom{ opacity:1;transform:translateY(0); }
.seg-zz-gallery{ padding:16px 64px 8px; }
.seg-zz-gallery-label{ font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#94A3B8;margin:0 0 12px; }
.seg-zz-gallery-grid{ display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px; }
.seg-zz-gthumb{ height:84px;border-radius:8px;background-size:cover;background-position:center;background-color:#E2E8F0;cursor:pointer;transition:transform .2s,box-shadow .2s; }
.seg-zz-gthumb:hover{ transform:translateY(-2px);box-shadow:0 6px 16px rgba(11,47,94,.15); }
.seg-zz-cta{ display:flex;gap:10px;padding:20px 64px 42px;flex-wrap:wrap; }
@media(max-width:860px){
  .seg-zz-head{ padding:28px 22px 4px; }
  .seg-zz-head-title{ font-size:23px; }
  .seg-zz-row{ grid-template-columns:1fr;gap:18px;padding:22px 22px; }
  .seg-zz-text{ order:2 !important; }
  .seg-zz-photo{ order:1 !important;height:220px; }
  .seg-zz-gallery,.seg-zz-cta{ padding-left:22px;padding-right:22px; }
}

/* ── SECTION HEADERS ── */
.seg-section-header{ margin-bottom:32px; }
.seg-section-kicker{
  font-size:9px; font-weight:700; letter-spacing:2.5px;
  text-transform:uppercase; color:#0057A8; margin:0 0 8px;
  display:flex; align-items:center; gap:8px;
}
.seg-section-kicker.light{ color:#7EC8F4; }
.seg-section-kicker::before{
  content:''; display:block; width:24px; height:2px;
  background:currentColor; border-radius:1px;
}
.seg-title-v2{
  font-family:'Barlow Condensed',sans-serif;
  font-size:32px; font-weight:900; color:#0B2F5E; line-height:1.05; margin:0 0 8px;
}
.seg-title-v2.light{ color:#fff; }
.seg-sub-v2{
  font-size:14px; color:#64748B; margin:0; max-width:600px; line-height:1.6;
}
.seg-sub-v2.light{ color:rgba(255,255,255,.6); }

/* ── PRODUCTS GRID ── */
.seg-prods-grid-v2{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.seg-prod-card-v2{
  background:#fff; border:1px solid #E4EAF2; border-radius:12px;
  overflow:hidden; transition:all .22s;
  box-shadow:0 1px 4px rgba(0,0,0,.05); display:flex; flex-direction:column;
  cursor:pointer;
}
.seg-prod-card-v2:hover{
  border-color:#0057A8;
  box-shadow:0 10px 30px rgba(0,87,168,.13);
  transform:translateY(-3px);
}
.seg-prod-photo-v2{
  aspect-ratio:4/3;
  background:linear-gradient(135deg,#EBF3FC,#0057A8);
  background-size:cover; background-position:center;
  display:flex; align-items:center; justify-content:center;
  font-size:36px; position:relative; overflow:hidden;
}
.seg-prod-photo-v2::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom, transparent 50%, rgba(0,18,51,.6) 100%);
}
.seg-prod-info-v2{
  padding:16px 18px 18px; flex:1; display:flex; flex-direction:column;
}
.seg-prod-name-v2{
  font-size:13px; font-weight:700; color:#111827; margin:0 0 6px;
}
.seg-prod-desc-v2{
  font-size:11px; color:#6B7280; line-height:1.5; flex:1; margin:0 0 12px;
}
.seg-prod-cta-v2{
  display:inline-flex; align-items:center; gap:5px;
  font-size:11px; font-weight:700; color:#0057A8;
  cursor:pointer; transition:gap .15s; background:none; border:none; padding:0;
  font-family:'Barlow',sans-serif;
}
.seg-prod-card-v2:hover .seg-prod-cta-v2{ gap:9px; }

/* ── SCROLL REVEAL ── */
.seg-reveal{
  opacity:0; transform:translateY(28px);
  transition:opacity .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1);
}
.seg-reveal.visible{ opacity:1; transform:translateY(0); }

/* ── BACK BUTTON ── */
.apl-back-v2{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12px; font-weight:600; color:rgba(255,255,255,.7);
  background:rgba(255,255,255,.1); backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.18); border-radius:20px;
  padding:6px 16px; cursor:pointer; margin-bottom:20px;
  font-family:'Barlow',sans-serif; transition:all .15s;
}
.apl-back-v2:hover{ color:#fff; background:rgba(255,255,255,.2); border-color:rgba(255,255,255,.35); }

/* ── INDICATOR PILLS ── */
.seg-indicators{
  display:flex; gap:8px; flex-wrap:wrap; margin-top:18px;
}
.seg-indicator{
  display:inline-flex; align-items:center; gap:5px;
  font-size:11px; font-weight:600; color:rgba(255,255,255,.9);
  background:rgba(255,255,255,.12); backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.2); border-radius:20px;
  padding:5px 13px;
}
.seg-indicator::before{ content:'✓'; color:#7EC8F4; font-size:10px; }
.seg-pg-pill{ display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#003F7A;background:#EBF3FC;border:1px solid rgba(0,87,168,.18);border-radius:20px;padding:5px 13px; }
.seg-pg-pill::before{ content:'✓'; color:#0057A8; font-weight:800; font-size:10px; }

/* ── HERO STATS ── */
.seg-hero-stats{
  display:flex; gap:32px; margin-top:22px; flex-wrap:wrap;
  padding-top:22px; border-top:1px solid rgba(255,255,255,.12);
}
.seg-hero-stat-n{
  font-family:'Barlow Condensed',sans-serif; font-size:28px;
  font-weight:900; color:#7EC8F4; line-height:1;
}
.seg-hero-stat-l{
  font-size:9px; color:rgba(255,255,255,.45);
  margin-top:3px; text-transform:uppercase; letter-spacing:1px; font-weight:600;
}

/* ── SEPARATOR BETWEEN SECTIONS ── */
.seg-sep{
  height:1px; background:linear-gradient(to right, transparent, #E0E4EB 20%, #E0E4EB 80%, transparent);
  margin:0 64px;
}
.seg-sep.dark-sep{
  background:linear-gradient(to right, transparent, rgba(255,255,255,.1) 20%, rgba(255,255,255,.1) 80%, transparent);
  margin:0;
}

/* ── RESPONSIVE ── */
@media(max-width:1200px){
  .seg-where-grid-v2{ grid-template-columns:repeat(2,1fr); }
  .seg-challenges-grid-v2{ grid-template-columns:repeat(3,1fr); }
  .seg-prods-grid-v2{ grid-template-columns:repeat(2,1fr); }
  .seg-why-grid-v2{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:900px){
  .seg-overview-strip{ grid-template-columns:1fr; gap:20px; padding:24px 20px; }
  .seg-overview-stats{ flex-wrap:wrap; gap:20px; }
  .seg-app-row-v2{ grid-template-columns:1fr; }
  .seg-app-row-v2.rev .seg-app-text-v2{ order:1; }
  .seg-app-row-v2.rev .seg-app-img-v2{ order:2; }
  .seg-app-text-v2{ padding:28px 24px; }
}
@media(max-width:640px){
  .seg-where-grid-v2{ grid-template-columns:1fr 1fr; }
  .seg-challenges-grid-v2{ grid-template-columns:repeat(2,1fr); }
  .seg-why-grid-v2{ grid-template-columns:1fr; }
  .seg-prods-grid-v2{ grid-template-columns:1fr 1fr; }
  .seg-sep{ margin:0 20px; }
}


/* ===== CSS migrado de distribuidores.html (era inline) ===== */
.br-state{fill:#0D2A52;stroke:#1E4A7A;stroke-width:.5;transition:fill .2s ease;cursor:default;}
.br-state.has-unit{fill:#0057A8;stroke:#2A7AC4;stroke-width:.6;cursor:pointer;}
.br-state.has-unit:hover{fill:#1A6BBF;}
.br-state.active-state{fill:#3B9FE0;stroke:#7EC8F4;stroke-width:.8;}
.st-lbl{font-family:"Barlow Semi Condensed",Arial,sans-serif;font-size:6.5px;fill:rgba(255,255,255,.25);font-weight:500;text-anchor:middle;pointer-events:none;}
.st-lbl.active{fill:rgba(255,255,255,.72);font-weight:700;font-size:7px;}
.map-pin{cursor:pointer;transition:transform .2s ease;transform-box:fill-box;transform-origin:center;}
.map-pin:hover{transform:scale(1.35);}
.map-pin.dimmed{opacity:.2;pointer-events:none;}
@keyframes pulse{0%,100%{r:14;opacity:.22}50%{r:19;opacity:.52}}
.pin-pulse{animation:pulse 2.5s ease-in-out infinite;}


/* ===== CSS migrado de sobre.html (era inline) ===== */
/* ══ SOBRE PAGE ══════════════════════════════════════════════════════════ */
#page-sobre { background:#F4F7FB; font-family:'Barlow',sans-serif; }
#page-sobre * { box-sizing:border-box; }

/* HERO */
.sob-hero {
  background: linear-gradient(160deg,#071830 0%,#0B2F5E 55%,#0D3A70 100%);
  padding: 80px 64px 72px; position:relative; overflow:hidden; min-height:420px;
  display:flex; align-items:center;
}
.sob-hero::before {
  content:''; position:absolute; inset:0;
  background-image: linear-gradient(rgba(255,255,255,.04)1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04)1px,transparent 1px);
  background-size:60px 60px; pointer-events:none;
}
.sob-hero::after {
  content:''; position:absolute; right:-80px; top:-80px;
  width:500px; height:500px; border-radius:50%;
  background: radial-gradient(circle,rgba(91,179,240,.12) 0%,transparent 65%);
  pointer-events:none;
}
.sob-hero-inner { position:relative; z-index:2; max-width:700px; }
.sob-hero-kicker {
  font-size:10px; font-weight:700; letter-spacing:3px; text-transform:uppercase;
  color:#5BB3F0; margin-bottom:16px; display:flex; align-items:center; gap:10px;
}
.sob-hero-kicker::before { content:''; width:32px; height:2px; background:#5BB3F0; }
.sob-hero h1 {
  font-family:'Barlow Condensed',sans-serif; font-size:72px; font-weight:900;
  color:#fff; line-height:.92; margin-bottom:24px; letter-spacing:-1px;
}
.sob-hero h1 em { color:#7EC8F4; font-style:normal; }
.sob-hero-p {
  font-size:16px; color:rgba(255,255,255,.55); line-height:1.7;
  max-width:580px; font-weight:300;
}
@keyframes sobFadeLeft {
  from { opacity:0; transform:translateX(-30px); }
  to   { opacity:1; transform:translateX(0); }
}
.sob-hero-kicker { animation: sobFadeLeft .6s ease .1s both; }
.sob-hero h1     { animation: sobFadeLeft .7s ease .2s both; }
.sob-hero-p      { animation: sobFadeLeft .7s ease .3s both; }

/* NÚMEROS ANIMADOS */
.sob-stats {
  background:#fff; border-bottom:1px solid #E0E4EB;
  padding:48px 64px; display:grid;
  grid-template-columns:repeat(6,1fr); gap:0;
}
.sob-stat {
  text-align:center; padding:16px 8px;
  border-right:1px solid #E0E4EB; position:relative;
}
.sob-stat:last-child { border-right:none; }
.sob-stat-n {
  font-family:'Barlow Condensed',sans-serif; font-size:42px; font-weight:900;
  color:#0057A8; line-height:1;
}
.sob-stat-l {
  font-size:10px; color:#9CA3AF; margin-top:6px; text-transform:uppercase;
  letter-spacing:1.2px; font-weight:600; line-height:1.4;
}


.sob-section { padding:72px 64px; }
.sob-section-alt { background:#fff; }
.sob-kicker {
  font-size:10px; font-weight:700; letter-spacing:3px; text-transform:uppercase;
  color:#0057A8; margin-bottom:12px; display:flex; align-items:center; gap:10px;
}
.sob-kicker::before { content:''; width:24px; height:2px; background:#0057A8; }
.sob-h2 {
  font-family:'Barlow Condensed',sans-serif; font-size:48px; font-weight:900;
  color:#0B2F5E; line-height:1; margin-bottom:0; letter-spacing:-.5px;
}
.sob-intro-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:64px;
  margin-top:40px; align-items:start;
}
.sob-intro-text { font-size:15px; color:#374151; line-height:1.75; }
.sob-intro-text p { margin-bottom:18px; }
/* ── Highlights Grid 2x2 ── */
.sob-intro-highlights {
  display:grid; grid-template-columns:1fr 1fr; gap:16px;
}
.sob-highlight-item {
  display:flex; flex-direction:column;
  padding:28px 24px; background:#fff;
  border-radius:16px; border:1px solid #E0E4EB;
  position:relative; overflow:hidden;
  transition:all .25s ease; cursor:default;
}
.sob-highlight-item::before {
  content:''; position:absolute; inset:0;
  border-radius:16px;
  border:1.5px solid transparent;
  background:linear-gradient(135deg,#0057A8,#5BB3F0) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask-composite: exclude;
  opacity:0; transition:opacity .25s;
}
.sob-highlight-item:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,87,168,.12); }
.sob-highlight-item:hover::before { opacity:1; }
.sob-highlight-icon {
  width:52px; height:52px; border-radius:14px;
  background:linear-gradient(135deg,#003F7A,#0057A8);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:16px; flex-shrink:0;
  box-shadow:0 4px 16px rgba(0,87,168,.25);
}
.sob-highlight-icon svg { display:block; }
.sob-highlight-num {
  font-family:'Barlow Condensed',sans-serif; font-size:36px; font-weight:900;
  color:#0057A8; line-height:1; margin-bottom:4px; letter-spacing:-1px;
}
.sob-highlight-title { font-weight:700; font-size:13px; color:#0B2F5E; margin-bottom:6px; line-height:1.3; }
.sob-highlight-desc { font-size:12px; color:#6B7280; line-height:1.6; }

/* LINHA DO TEMPO */
.sob-timeline-wrap {
  background: #071830;
  background-image: url('fabrica_dh_china.jpg');
  background-size: cover;
  background-position: center 40%;
  background-attachment: fixed;
  padding:72px 64px; overflow:hidden; position:relative;
}
.sob-timeline-wrap::before {
  content:''; position:absolute; inset:0;
  /* overlay duplo: gradiente escuro + grid sutil */
  background:
    linear-gradient(135deg, rgba(5,15,35,0.87) 0%, rgba(7,24,58,0.80) 50%, rgba(5,15,35,0.88) 100%),
    linear-gradient(rgba(255,255,255,.025)1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025)1px,transparent 1px);
  background-size: 100% 100%, 48px 48px, 48px 48px;
}
.sob-timeline-inner { position:relative; z-index:1; }
/* Timeline container — clips overflow, hides scrollbar */
.sob-timeline-outer {
  position:relative; overflow:hidden;
  /* fade edges */
  mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}
.sob-timeline-scroll {
  display:flex; gap:0;
  overflow-x:auto; padding-bottom:24px;
  scrollbar-width:none; /* hide scrollbar — dragging handles it */
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  scroll-behavior:auto; /* we control smoothness via JS */
}
.sob-timeline-scroll::-webkit-scrollbar { display:none; }
.sob-timeline-scroll.is-dragging { cursor:grabbing; }
.sob-timeline-line {
  position:absolute; top:32px; left:0; width:100%; height:2px;
  background:rgba(91,179,240,.3);
  z-index:0; pointer-events:none;
}
.sob-tl-item {
  flex:0 0 220px; padding:0 20px 0 0; position:relative;
  transition:opacity .3s;
}
.sob-tl-item.tl-dimmed { opacity:.35; }
.sob-tl-dot {
  width:14px; height:14px; border-radius:50%; background:#5BB3F0;
  border:3px solid #0B2F5E; box-shadow:0 0 0 2px #5BB3F0;
  margin-bottom:20px; position:relative; z-index:1;
  transition:transform .2s;
}
/* Nav arrows */
.sob-tl-nav {
  position:absolute; top:18px; z-index:10;
  width:32px; height:32px; border-radius:50%;
  background:rgba(91,179,240,.15); border:1px solid rgba(91,179,240,.3);
  color:#7EC8F4; cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:all .2s; backdrop-filter:blur(4px);
}
.sob-tl-nav:hover { background:rgba(91,179,240,.3); transform:scale(1.1); }
.sob-tl-nav-prev { left:-16px; }
.sob-tl-nav-next { right:-16px; }
.sob-tl-item:hover .sob-tl-dot { transform:scale(1.4); }
.sob-tl-item.is-highlight .sob-tl-dot { background:#7EC8F4; box-shadow:0 0 0 4px rgba(126,200,244,.3); width:18px; height:18px; margin-top:-2px; }
.sob-tl-year {
  font-family:'Barlow Condensed',sans-serif; font-size:28px; font-weight:900;
  color:#7EC8F4; line-height:1; margin-bottom:6px;
}
.sob-tl-title { font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; line-height:1.3; }
.sob-tl-desc { font-size:11px; color:rgba(255,255,255,.4); line-height:1.5; }

/* BRASIL DESTAQUE */
.sob-brasil-wrap {
  background:#fff; padding:72px 64px;
}
.sob-brasil-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:64px;
  margin-top:48px; align-items:start;
}
.sob-brasil-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:linear-gradient(135deg,#009c3b,#00c04b);
  color:#fff; font-size:10px; font-weight:700; letter-spacing:2px;
  text-transform:uppercase; padding:6px 14px; border-radius:20px;
  margin-bottom:20px;
}
.sob-brasil-claim {
  font-family:'Barlow Condensed',sans-serif; font-size:38px; font-weight:900;
  color:#0B2F5E; line-height:1.05; margin-bottom:20px;
}
.sob-brasil-claim em { color:#0057A8; font-style:normal; }
.sob-brasil-desc { font-size:14px; color:#4B5563; line-height:1.75; margin-bottom:32px; }
.sob-brasil-stats {
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:32px;
}
.sob-brasil-stat {
  background:#F4F7FB; border-radius:12px; padding:20px 16px; text-align:center;
  border:1px solid #E0E4EB; transition:all .2s;
}
.sob-brasil-stat:hover { border-color:#0057A8; background:#EBF3FC; }
.sob-brasil-stat-n {
  font-family:'Barlow Condensed',sans-serif; font-size:32px; font-weight:900;
  color:#0057A8; line-height:1;
}
.sob-brasil-stat-l { font-size:10px; color:#6B7280; margin-top:4px; text-transform:uppercase; letter-spacing:1px; }
.sob-machines {
  display:flex; flex-direction:column; gap:10px;
}
.sob-machine-item {
  display:flex; align-items:center; gap:12px; padding:14px 18px;
  background:#F4F7FB; border-radius:10px; border:1px solid #E0E4EB;
  transition:all .2s; cursor:default;
}
.sob-machine-item:hover { border-color:#0057A8; background:#EBF3FC; transform:translateX(6px); }
.sob-machine-icon {
  width:36px; height:36px; border-radius:8px; background:#0057A8;
  display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0;
}
.sob-machine-name { font-size:13px; font-weight:600; color:#0B2F5E; }
.sob-machine-desc { font-size:11px; color:#6B7280; margin-top:1px; }

/* VIDEO INSTITUCIONAL */
.sob-video-wrap {
  background:#071830; padding:72px 64px; text-align:center; position:relative; overflow:hidden;
}
.sob-video-wrap::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 50%,rgba(0,87,168,.15) 0%,transparent 70%);
}
.sob-video-container {
  position:relative; z-index:1; max-width:860px; margin:0 auto;
}
.sob-video-player {
  width:100%; aspect-ratio:16/9; border-radius:16px; overflow:hidden;
  box-shadow:0 32px 80px rgba(0,0,0,.6); position:relative;
  background:#000;
}
.sob-video-player video { width:100%; height:100%; object-fit:cover; }
.sob-video-play-btn {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.35); transition:background .2s; cursor:pointer;
}
.sob-video-play-btn:hover { background:rgba(0,0,0,.15); }
.sob-play-circle {
  width:72px; height:72px; border-radius:50%;
  background:rgba(255,255,255,.95); display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 32px rgba(0,0,0,.4); transition:transform .2s;
}
.sob-video-play-btn:hover .sob-play-circle { transform:scale(1.1); }
.sob-play-circle svg { margin-left:4px; }

/* MARCAS */
.sob-brands-wrap { padding:72px 64px; background:#F4F7FB; }
.sob-brands-grid {
  display:grid; grid-template-columns:repeat(5,1fr); gap:20px; margin-top:48px;
}
.sob-brand-card {
  background:#fff; border:1px solid #E0E4EB; border-radius:16px;
  padding:32px 20px; text-align:center; transition:all .25s; cursor:default;
  position:relative; overflow:hidden;
}
.sob-brand-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,#0057A8,#5BB3F0);
  transform:scaleX(0); transition:transform .3s; transform-origin:left;
}
.sob-brand-card:hover { box-shadow:0 12px 40px rgba(0,87,168,.12); transform:translateY(-4px); border-color:#C5DDF2; }
.sob-brand-card:hover::before { transform:scaleX(1); }
.sob-brand-logo {
  font-family:'Barlow Condensed',sans-serif; font-size:28px; font-weight:900;
  color:#0B2F5E; margin-bottom:8px; letter-spacing:-1px;
}
.sob-brand-origin { font-size:10px; color:#9CA3AF; text-transform:uppercase; letter-spacing:1.5px; margin-bottom:12px; }
.sob-brand-desc { font-size:12px; color:#4B5563; line-height:1.6; }
.sob-brand-flag { font-size:20px; margin-bottom:12px; }

/* CERTIFICAÇÕES */
.sob-certs-wrap { padding:72px 64px; background:#fff; }
.sob-certs-grid {
  display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:48px;
}
.sob-cert-badge {
  border:1.5px solid #E0E4EB; border-radius:14px; padding:24px 16px;
  text-align:center; transition:all .25s ease; background:#fff;
  display:flex; flex-direction:column; align-items:center; gap:0;
}
.sob-cert-badge:hover {
  border-color:#0057A8; background:#F0F7FF;
  transform:translateY(-4px); box-shadow:0 8px 28px rgba(0,87,168,.10);
}
.sob-cert-icon-wrap {
  width:48px; height:48px; border-radius:12px;
  background:linear-gradient(135deg,#003F7A,#0057A8);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:14px; box-shadow:0 4px 12px rgba(0,87,168,.2);
}
.sob-cert-icon-wrap svg { display:block; }
.sob-cert-name { font-size:13px; font-weight:800; color:#0B2F5E; margin-bottom:4px; letter-spacing:-.2px; }
.sob-cert-desc { font-size:10px; color:#9CA3AF; line-height:1.4; }

/* PILARES */
.sob-pilares-wrap {
  background:linear-gradient(135deg,#071830,#0B2F5E); padding:72px 64px;
}
.sob-pilares-grid {
  display:grid; grid-template-columns:repeat(5,1fr); gap:20px; margin-top:48px;
}
.sob-pilar-card {
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
  border-radius:16px; padding:28px 20px; text-align:center;
  transition:all .25s; cursor:default;
}
.sob-pilar-card:hover {
  background:rgba(91,179,240,.12); border-color:rgba(91,179,240,.3);
  transform:translateY(-6px);
}
.sob-pilar-num {
  font-family:'Barlow Condensed',sans-serif; font-size:48px; font-weight:900;
  color:rgba(91,179,240,.2); line-height:1; margin-bottom:12px;
}
.sob-pilar-icon {
  width:56px; height:56px; border-radius:14px; margin:0 auto 16px;
  background:rgba(91,179,240,.15); border:1px solid rgba(91,179,240,.2);
  display:flex; align-items:center; justify-content:center;
  transition:all .25s;
}
.sob-pilar-card:hover .sob-pilar-icon {
  background:rgba(91,179,240,.25); border-color:rgba(91,179,240,.4);
}
.sob-pilar-icon svg { display:block; }
.sob-pilar-title { font-size:13px; font-weight:700; color:#7EC8F4; margin-bottom:8px; text-transform:uppercase; letter-spacing:.5px; }
.sob-pilar-desc { font-size:11px; color:rgba(255,255,255,.45); line-height:1.6; }

/* MAPA GLOBAL — SVG mundial simples */
.sob-map-wrap { background:#071830; padding:72px 64px; }
.sob-map-container { position:relative; max-width:900px; margin:40px auto 0; }

/* SUSTENTABILIDADE */
.sob-esg-wrap { padding:72px 64px; background:#F4F7FB; }
.sob-esg-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:40px; }
.sob-esg-card {
  background:#fff; border-radius:16px; padding:32px; border:1px solid #E0E4EB;
  transition:all .2s;
}
.sob-esg-card:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0,0,0,.08); }
.sob-esg-icon {
  width:56px; height:56px; border-radius:14px; background:#EBF3FC;
  border:1px solid #C5DDF2; display:flex; align-items:center; justify-content:center;
  margin-bottom:16px; transition:all .2s;
}
.sob-esg-card:hover .sob-esg-icon { background:#0057A8; border-color:#0057A8; }
.sob-esg-card:hover .sob-esg-icon svg { stroke:#fff; }
.sob-esg-icon svg { display:block; transition:stroke .2s; }
.sob-esg-title { font-family:'Barlow Condensed',sans-serif; font-size:22px; font-weight:900; color:#0B2F5E; margin-bottom:10px; }
.sob-esg-desc { font-size:13px; color:#4B5563; line-height:1.7; }

@media(max-width:1024px){
  .sob-hero h1 { font-size:52px; }
  .sob-stats { grid-template-columns:repeat(3,1fr); }
  .sob-intro-grid, .sob-brasil-grid { grid-template-columns:1fr; gap:40px; }
  .sob-brands-grid { grid-template-columns:repeat(3,1fr); }
  .sob-certs-grid { grid-template-columns:repeat(3,1fr); }
  .sob-pilares-grid { grid-template-columns:repeat(3,1fr); }
  .sob-esg-grid { grid-template-columns:1fr; }
}
@media(max-width:768px){
  .sob-hero, .sob-section, .sob-brasil-wrap, .sob-brands-wrap,
  .sob-certs-wrap, .sob-pilares-wrap, .sob-timeline-wrap,
  .sob-video-wrap, .sob-map-wrap, .sob-esg-wrap { padding:48px 20px; }
  .sob-stats { grid-template-columns:repeat(2,1fr); padding:32px 20px; }
  .sob-brands-grid, .sob-certs-grid, .sob-pilares-grid { grid-template-columns:repeat(2,1fr); }
  .sob-brasil-stats { grid-template-columns:repeat(2,1fr); }
}
