/* ==========================================
   SINDLEITE SP - ONE PAGE
   STYLE.CSS
========================================== */
/* ==========================================
   VARIÁVEIS
========================================== */
:root {
	--primary-color:rgb(2 59 141);
	--secondary-color:#000;
	--accent-color:rgb(227 0 22);
	--dark:#1c1c1c;
	--gray:#f4f6f8;
	--white:#ffffff;
	--text:#555;
	--title-font:'Montserrat', sans-serif;
	--body-font:'Open Sans', sans-serif;
}
/* ==========================================
   RESET
========================================== */
* {
	margin:0;
	padding:0;
	box-sizing:border-box;
}
html {
	scroll-behavior:smooth;
}
body {
	font-family:var(--body-font);
	color:var(--text);
	overflow-x:hidden;
}
section {
	scroll-margin-top:90px;
}
h1,
h2,
h3,
h4,
h5 {
	font-family:var(--title-font);
}
/* ==========================================
   TOP BAR
========================================== */
.top-bar {
	background:var(--primary-color);
	color:white;
	padding:10px 0;
	font-size:13px;
}
.top-bar i {
	margin-right:6px;
}
/* ==========================================
   NAVBAR
========================================== */
.navbar {
	background:#fff;
	padding:18px 0;
	transition:.4s;
	box-shadow:
	0 3px 15px rgba(0,0,0,.08);
}
.navbar.scrolled {
	padding:8px 0;
}
.logo {
	max-height:65px;
	transition:.3s;
}
.navbar.scrolled .logo {
	max-height:45px;
}
.nav-link {
	font-family:var(--title-font);
	font-weight:600;
	color:#000;
	margin-left:15px;
	position:relative;
}
.nav-link::after {
	content:"";
	position:absolute;
	bottom:-5px;
	left:0;
	height:3px;
	width:0;
	background:var(--accent-color);
	transition:.3s;
}
.nav-link:hover::after,
.nav-link.active::after {
	width:100%;
}
/* ==========================================
   HERO
========================================== */
.hero {
	height:750px;
	display:flex;
	align-items:center;
	position:relative;
	overflow:hidden;
}
/* VÍDEO DE FUNDO DO BANNER */
.hero-video {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
	z-index:0;
	animation:zoomBanner 18s ease-in-out infinite alternate;
}
 /* ===== TABELA EMPRESAS SINDLEITE ===== */
  .sindleite-tabela { font-family: 'Segoe UI', Arial, sans-serif; }
  .sindleite-tabela .tabela-titulo {
	color: #023B8D;
	font-size: 1.3rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 4px;
  }
  .sindleite-tabela .tabela-subtitulo {
	color: #666;
	font-style: italic;
	text-align: center;
	font-size: 0.9rem;
	margin-bottom: 18px;
  }
  .sindleite-tabela table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.82rem;
	box-shadow: 0 2px 8px rgba(2, 59, 141, 0.15);
	border-radius: 8px;
	overflow: hidden;
  }
  .sindleite-tabela thead th {
	background-color: rgb(2, 59, 141);
	color: #fff;
	font-weight: bold;
	padding: 10px 8px;
	text-align: left;
	border: 1px solid rgb(2, 59, 141);
  }
  .sindleite-tabela tbody td {
	padding: 7px 8px;
	border: 1px solid #B8CCE8;
	vertical-align: top;
  }
  .sindleite-tabela tbody tr:nth-child(even) { background-color: #EAF1FB; }
  .sindleite-tabela tbody tr:hover { background-color: #D6E4F7; }
  .sindleite-tabela .num-cell {
	font-weight: bold;
	color: #023B8D;
	text-align: center;
	width: 36px;
  }
  .sindleite-tabela .empresa-cell { font-weight: 600; color: #1a1a1a; }
  /* ===== IMPRESSÃO ===== */
  @media print {
	body * { visibility: hidden; }
	#90anos, #90anos * { visibility: visible; }
	#90anos {
	  position: absolute;
	  left: 0; top: 0;
	  width: 100%;
	}
	#90anos .modal-dialog { max-width: 100% !important; width: 100% !important; margin: 0 !important; }
	#90anos .modal-body { max-height: none !important; overflow: visible !important; }
	#90anos .modal-header, #90anos .modal-footer { display: none !important; }
	.sindleite-tabela tbody tr:hover { background-color: inherit; }
	.sindleite-tabela thead { display: table-header-group; }
	.sindleite-tabela tr { page-break-inside: avoid; }
  }
.sindleite-historico .historico-titulo {
	color: #555;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	border-bottom: 3px double #5555554d;
	padding-bottom: 8px;
	margin-bottom: 6px;
  }
  .sindleite-historico .historico-subtitulo {
	color: #555;
	font-style: italic;
	text-align: center;
	font-size: 0.95rem;
	margin-bottom: 22px;
  }
  .sindleite-historico .bloco-titulo {
	background: rgb(2 59 141);
	color: #fff;
	font-weight: bold;
	font-size: 0.95rem;
	padding: 10px 14px;
	border-radius: 8px 8px 0 0;
  }
  .sindleite-historico table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 26px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.12);
	border-radius: 8px;
	overflow: hidden;
	font-size: 0.9rem;
	background: #fff;
  }
  .sindleite-historico th,
  .sindleite-historico td {
	padding: 9px 12px;
	border: 1px solid #42414117;
	vertical-align: top;
	text-align: left;
  }
  .sindleite-historico th {
	background-color: #5151510a;
	color: #555;
	font-weight: bold;
	width: 34%;
  }
  .sindleite-historico tr:nth-child(even) td { background-color: #5151510a; }
  .sindleite-historico .tabela-presidentes th { width: auto; text-align: center; background-color: rgb(2 59 141 / 84%); color: #fff; }
  .sindleite-historico .tabela-presidentes td { text-align: center; }
  .sindleite-historico .tabela-presidentes tr:nth-child(even) td { background-color: #48474e29; }
  .sindleite-historico .obs-linha td {
	background-color: #5151511f !important;
	font-style: italic;
	color: #555;
  }
  @media (max-width: 576px) {
	.sindleite-historico th, .sindleite-historico td { display: block; width: 100% !important; }
	.sindleite-historico th { background-color: #FAF3E0; }
  }
/* MOVIMENTO CINEMATOGRÁFICO LENTO */
@keyframes zoomBanner {
	0% {
		transform:scale(1);
	}
	100% {
		transform:scale(1.08);
	}
}
/* DEGRADÊ AJUSTADO PARA SIMÉTRICO — MANTÉM A LEGIBILIDADE COM O CONTEÚDO CENTRALIZADO */
.hero-video-overlay {
	position:absolute;
	inset:0;
	background:
	linear-gradient(
	90deg,
	rgba(0,0,0,.85) 0%,
	rgba(0,0,0,.60) 50%,
	rgba(0,0,0,.85) 100%
	);
	z-index:1;
}
/* MANTIDO PARA COMPATIBILIDADE */
.hero-overlay {
	position:absolute;
	inset:0;
	z-index:1;
}
/* ===== CONTEÚDO DO CARROSSEL CENTRALIZADO ===== */
.hero-content {
	position:relative;
	z-index:2;
	max-width:850px;
	margin-left:auto;
	margin-right:auto;
	text-align:center;
	color:white;
}
.hero h1 {
	color:white;
	font-size:clamp(28px, 3.2vw + 8px, 46px);
	line-height:1.15;
	font-weight:700;
	overflow-wrap:break-word;
}
.hero h2 {
	color:white;
	font-size:clamp(15px, 1.2vw + 9px, 21px);
	font-weight:400;
	margin:5px 0 40px;
	overflow-wrap:break-word;
}
.btn-primary {
	background:transparent;
	border:1px solid #ffffff;
	color:#ffffff;
	padding: 5px 30px;
	font-weight:600;
	transition:.3s ease;
}
.btn-primary:hover {
	background:#ffffff;
	border-color:#ffffff;
	color:var(--primary-color);
}
.btn-outline-primary {
	background-color: rgb(2 59 141);
	--bs-btn-color: #fff;
	--bs-btn-border-color: rgb(2 59 141);
	--bs-btn-hover-color: rgb(2 59 141);
	--bs-btn-hover-bg: #fff;
	--bs-btn-hover-border-color: rgb(2 59 141);
	--bs-btn-focus-shadow-rgb: 13, 110, 253;
	--bs-btn-active-color: rgb(2 59 141);
	--bs-btn-active-bg: rgb(2 59 141);
	--bs-btn-active-border-color: rgb(2 59 141);
	--bs-btn-active-shadow: inset 0 3px 5px rgb(2 59 141);
	--bs-btn-disabled-color: rgb(2 59 141);
	--bs-btn-disabled-bg: transparent;
	--bs-btn-disabled-border-color: rgb(2 59 141);
	--bs-gradient: none;
}
/* ==========================================
   SEÇÕES
========================================== */
.section {
	padding:100px 0;
}
.section h1 {
	color:var(--primary-color);
	font-size:42px;
	margin-bottom:15px;
}
.section h2 {
	color:#666;
	font-size:17px;
	font-weight:300;
	margin-bottom:30px;
}
.section p {
	font-size:17px;
	line-height:1.8;
}
/* ==========================================
   IMAGENS
========================================== */
.section img {
	border-radius:8px;
	transition:.4s;
}
.section img:hover {
	transform:scale(1.03);
}
/* ==========================================
   CARDS EVENTOS
========================================== */
.card {
	border:none;
	overflow:hidden;
	box-shadow:
	0 10px 30px rgba(0,0,0,.08);
	transition:.3s;
}
.card:hover {
	transform:translateY(-10px);
}
.card img {
	height:220px;
	object-fit:cover;
}
.card h5 {
	color:var(--primary-color);
	font-weight:700;
}
/* ==========================================
   SERVIÇOS
========================================== */
.service-box {
	background:white;
	text-align:center;
	padding:45px 25px;
	height:100%;
	box-shadow:
	0 10px 25px rgba(0,0,0,.08);
	transition:.3s;
}
.service-box:hover {
	transform:translateY(-10px);
}
.service-box i {
	font-size:45px;
	color:var(--secondary-color);
}
.service-box h3 {
	color:var(--primary-color);
	margin:20px 0;
}
/* ==========================================
   CONTATO
========================================== */
.contact-box,
.contact-info {
	background:white;
	padding:40px;
	height:100%;
	box-shadow:
	0 10px 30px rgba(0,0,0,.08);
}
.contact-box h3,
.contact-info h3 {
	color:var(--primary-color);
	margin-bottom:30px;
	font-size:25px;
}
.contact-info p {
	margin-bottom:18px;
}
.contact-info i {
	color:var(--secondary-color);
	font-size:20px;
	margin-right:8px;
}
.form-control {
	padding:15px;
	border:1px solid #ddd;
}
.form-control:focus {
	border-color:var(--secondary-color);
	box-shadow:none;
}
/* ==========================================
   MAPA
========================================== */
.map-placeholder {
	height:280px;
	margin-top:30px;
	background:#ddd;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#777;
	font-size:25px;
}
/* ==========================================
   FOOTER (DUAS COLUNAS)
========================================== */
footer {
	background:#000000;
	color:white;
	padding:35px 0;
}
footer p {
	margin:0;
}
footer .row {
	align-items:center;
}
footer a {
	color:#ffffff;
	font-weight:600;
	text-decoration:underline;
	text-underline-offset:3px;
	transition:.3s;
}
footer a:hover {
	color:#ffffff;
	opacity:.75;
}
/* ==========================================
   ANIMAÇÃO
========================================== */
.fade-in {
	opacity:0;
	transform:translateY(35px);
	transition:
	opacity .8s ease,
	transform .8s ease;
}
.fade-in.show {
	opacity:1;
	transform:translateY(0);
}
/* ==========================================
   TABLET / MOBILE
========================================== */
@media(max-width:991px){
.top-bar {
	display:none;
}
.navbar {
	padding:10px;
}
.logo {
	max-height:50px;
}
.navbar-collapse {
	background:white;
	padding:20px;
}
.nav-link {
	margin:12px 0;
}
.hero {
	height:600px;
}
.section {
	padding:70px 0;
}
.section h1 {
	font-size:34px;
}
}
@media(max-width:576px){
.hero {
	height:540px;
}
.contact-box,
.contact-info {
	padding:25px;
}
.section p {
	font-size:16px;
}
}
/* =====================================
 MENU MOBILE MODERNO
===================================== */
.menu-mobile-btn {
	border:none;
	font-size:32px;
	color:var(--primary-color);
}
.offcanvas {
	width:320px!important;
}
.offcanvas-header {
	padding:25px;
	border-bottom:
	1px solid #eee;
}
.mobile-logo {
	max-width:150px;
}
.mobile-menu {
	list-style:none;
	padding:0;
}
.mobile-menu li {
	margin-bottom:10px;
}
.mobile-menu a {
	display:flex;
	align-items:center;
	gap:15px;
	padding:10px;
	text-decoration:none;
	color:var(--primary-color);
	font-family:var(--title-font);
	font-weight:600;
	border-radius:8px;
	transition:.3s;
}
.mobile-menu a:hover {
	background:#f1f5f9;
	color:var(--secondary-color);
}
.mobile-menu i {
	font-size:20px;
	width:25px;
}
.mobile-contact {
	margin-top:30px;
	padding-top:20px;
	border-top:
	1px solid #ddd;
}
.mobile-contact i {
	color:var(--secondary-color);
	margin-right:8px;
}
/* MARCA NO HERO */
.hero-brand {
	color: rgb(111 158 225);
	font-family: var(--title-font);
	font-size: clamp(26px, 3.8vw + 6px, 58px);
	font-weight: 700;
	letter-spacing: 3px;
	margin-bottom: clamp(-15px, -1vw, 0px);
	text-transform: uppercase;
}
@media (max-width: 768px) {
  #fg-menu-btn, #fg-dropdown { display: none !important; visibility: hidden !important; pointer-events: none !important; }
}
#fg-menu-btn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 999999;
  background: linear-gradient(135deg, #047857 0%, #10b981 50%, #059669 100%);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50px;
  padding: 10px 18px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  box-shadow: 0 8px 30px rgba(16, 185, 129, 0.45);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
}
#fg-menu-btn:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 12px 36px rgba(16, 185, 129, 0.65);
}
#fg-close-btn {
  position: absolute;
  top: -7px;
  right: -7px;
  width: 22px;
  height: 22px;
  border: none;
  border-radius: 50%;
  background: rgba(4, 20, 14, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #fff;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 2;
  transition: all 0.2s;
  padding: 0;
}
#fg-close-btn:hover { background: #ef4444; border-color: #ef4444; transform: scale(1.1); }
#fg-tab {
  position: fixed;
  bottom: 30px;
  right: 0;
  z-index: 999998;
  background: #10b981;
  color: #fff;
  border: none;
  border-radius: 8px 0 0 8px;
  padding: 10px 8px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: -2px 2px 10px rgba(0, 0, 0, 0.3);
  display: none;
  transition: all 0.2s;
  letter-spacing: 0.5px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
}
#fg-tab.show { display: block; }
#fg-tab:hover { background: #059669; padding-right: 14px; }
#fg-dropdown {
  position: fixed;
  bottom: 74px;
  right: 24px;
  z-index: 999999;
  background: rgba(4, 20, 14, 0.96);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(16, 185, 129, 0.3);
  border-radius: 18px;
  padding: 12px;
  width: 240px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.65);
  display: none;
  flex-direction: column;
  gap: 6px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
#fg-dropdown.open { display: flex; }
#fg-dropdown .fg-label { color: #94a3b8; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: 4px 8px; }
#fg-dropdown a {
  display: flex; align-items: center; gap: 10px; color: #f1f5f9; text-decoration: none; padding: 9px 12px; border-radius: 10px; font-size: 12px; font-weight: 600; transition: all 0.15s ease;
}
#fg-dropdown a:hover { background: rgba(16, 185, 129, 0.18); color: #6ee7b7; }
#fg-dropdown svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; flex-shrink: 0; }
#fg-popup-overlay {
  position: fixed; inset: 0; z-index: 1000000; background: rgba(0, 0, 0, 0.75); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); display: flex; align-items: center; justify-content: center; animation: fgFadeIn 0.3s ease;
}
#fg-popup-overlay.closing { animation: fgFadeOut 0.3s ease forwards; }
@keyframes fgFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fgFadeOut { from { opacity: 1; } to { opacity: 0; pointer-events: none; } }
#fg-popup-card {
  background: radial-gradient(100% 100% at 50% 0%, #064e3b 0%, #022c22 45%, #02120b 100%);
  border: 1px solid rgba(16, 185, 129, 0.4);
  border-radius: 28px; padding: 36px 32px; max-width: 440px; width: 90%; box-shadow: 0 30px 60px rgba(0, 0, 0, 0.8), 0 0 50px rgba(16, 185, 129, 0.2); text-align: center; position: relative;
}
#fg-popup-card .fg-p-badge {
  display: inline-flex; align-items: center; gap: 6px; background: rgba(16, 185, 129, 0.18); color: #6ee7b7; border: 1px solid rgba(16, 185, 129, 0.35); font-size: 11px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; padding: 5px 14px; border-radius: 20px; margin-bottom: 14px;
}
#fg-popup-card h2 { font-size: 22px; font-weight: 800; color: #fff; margin: 0 0 10px; }
#fg-popup-card p { font-size: 13.5px; line-height: 1.6; color: #cbd5e1; margin: 0 0 22px; }
#fg-popup-card .fg-p-btn {
  width: 100%; padding: 13px 20px; border-radius: 12px; border: none; background: linear-gradient(135deg, #047857 0%, #10b981 100%); color: #fff; font-size: 14px; font-weight: 700; cursor: pointer; box-shadow: 0 4px 18px rgba(16, 185, 129, 0.45); transition: all 0.2s;
}
#fg-popup-card .fg-p-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 25px rgba(16, 185, 129, 0.65); }
/* ==========================================
   SLIDER DO BANNER
========================================== */
#heroSlider {
	position:relative;
}
#heroSlider .carousel-indicators {
	position:absolute;
	bottom:-100px;
	left:50%;
	transform:translateX(-50%);
	z-index:50;
	display:flex;
	justify-content:center;
	margin:0;
}
#heroSlider .carousel-indicators button {
	display:block;
	width:14px;
	height:14px;
	border-radius:50%;
	border:0;
	margin:0 6px;
	background:white;
	opacity:1;
}
#heroSlider .carousel-indicators .active {
	opacity:1;
}

/* ===== BOTÃO FLUTUANTE WHATSAPP ===== */
.whatsapp-float {
  position: fixed;
  bottom: 25px;
  right: 25px;
  width: 60px;
  height: 60px;
  background-color: #25D366;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  z-index: 1050;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.whatsapp-float:hover {
  background-color: #1ebe5b;
  transform: scale(1.1);
  color: #fff;
}

/* Destaque no link dentro do contato */
.whatsapp-link {
  color: #25D366;
  font-weight: 600;
}

.whatsapp-link:hover {
  color: #1ebe5b;
}