/* CSS Dinâmico via PHP injeta :root com --primary, --secondary, --accent, --bg */

body { background-color: var(--bg, #ffffff); }

/* Utilitários de cor baseados nas variáveis */
.text-primary-custom  { color: var(--primary) !important; }
.text-secondary-custom{ color: var(--secondary) !important; }
.text-accent          { color: var(--accent) !important; }
.bg-primary-custom    { background-color: var(--primary) !important; }
.bg-secondary-custom  { background-color: var(--secondary) !important; }
.bg-accent            { background-color: var(--accent) !important; }

.btn-primary-custom {
  background-color: var(--primary);
  border-color: var(--primary);
  color: #fff;
}
.btn-primary-custom:hover {
  background-color: color-mix(in srgb, var(--primary) 80%, black);
  border-color: color-mix(in srgb, var(--primary) 80%, black);
  color: #fff;
}
.btn-secondary-custom {
  background-color: var(--secondary);
  border-color: var(--secondary);
  color: #fff;
}
.btn-secondary-custom:hover {
  background-color: color-mix(in srgb, var(--secondary) 80%, black);
  color: #fff;
}
.btn-outline-primary-custom {
  border-color: var(--primary);
  color: var(--primary);
}
.btn-outline-primary-custom:hover {
  background-color: var(--primary);
  color: #fff;
}

/* Top Bar */
.topbar { background-color: var(--primary); }
.topbar,
.topbar .text-white  { color: var(--navbar-texto, #ffffff) !important; }
.topbar .text-white-50 { color: color-mix(in srgb, var(--navbar-texto, #ffffff) 55%, transparent) !important; }

/* Footer */
.footer-bg,
.footer-bg .text-white  { color: var(--navbar-texto, #ffffff) !important; }
.footer-bg .text-white-50 { color: color-mix(in srgb, var(--navbar-texto, #ffffff) 55%, transparent) !important; }

/* Sidebar ADM */
.sidebar,
.sidebar .nav-link,
.sidebar a.text-white { color: var(--navbar-texto, #ffffff) !important; }
.sidebar .text-white-50 { color: color-mix(in srgb, var(--navbar-texto, #ffffff) 55%, transparent) !important; }

/* Navbar */
.bg-primary-custom.navbar { background-color: var(--primary) !important; }
.navbar { padding-top: .6rem; padding-bottom: .6rem; }

/* Navbar scroll effect: transparente → sólido */
.navbar-anim {
  background-color: transparent !important;
  box-shadow: none !important;
  transition: background-color 0.35s ease, box-shadow 0.35s ease;
}
.navbar-anim.scrolled {
  background-color: var(--primary) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .2) !important;
}

/* Cor do texto do menu */
.navbar-anim .navbar-brand,
.navbar-anim .nav-link {
  color: var(--navbar-texto, #ffffff) !important;
}
.navbar-anim .nav-link:hover,
.navbar-anim .nav-link:focus {
  color: color-mix(in srgb, var(--navbar-texto, #ffffff) 70%, transparent) !important;
}
.navbar-anim .navbar-toggler {
  border-color: color-mix(in srgb, var(--navbar-texto, #ffffff) 50%, transparent) !important;
}

/* Hero */
.hero-overlay {
  background: linear-gradient(135deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,.3) 100%);
  top: 0; left: 0;
}

/* Hero carousel — crossfade lento + Ken Burns */
#heroCarousel .carousel-inner { overflow: hidden; background: #111; }

#heroCarousel .carousel-item {
  transition: opacity 1.5s ease-in-out !important;
  transform: none !important;
}

/* Ken Burns no ::before para não conflitar com o transform do Bootstrap */
#heroCarousel .carousel-item::before {
  content: '';
  position: absolute;
  inset: 0;
  background: inherit;
  background-size: cover !important;
  background-position: center !important;
  transform: scale(1) translateZ(0);
  transition: none;
}

#heroCarousel .carousel-item.active::before {
  animation: heroKenBurns 7s ease-out both;
}

@keyframes heroKenBurns {
  from { transform: scale(1)    translateZ(0); }
  to   { transform: scale(1.08) translateZ(0); }
}

/* Section title */
.section-title {
  position: relative;
  padding-bottom: .5rem;
}
.section-title::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 50px; height: 3px;
  background: var(--secondary);
  border-radius: 2px;
}

/* Cards veículo */
.card-veiculo { transition: transform .2s, box-shadow .2s; }
.card-veiculo:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.12) !important; }

/* Footer */
.footer-bg { background-color: color-mix(in srgb, var(--primary) 90%, black); }

/* Paginação ativa */
.page-item.active .page-link {
  background-color: var(--primary);
  border-color: var(--primary);
}
.page-link { color: var(--primary); }

/* Sidebar admin */
.sidebar .nav-link:hover { background: rgba(255,255,255,.15); border-radius: .375rem; }

/* Thumb fotos */
.thumb-foto:hover { opacity: 1 !important; }

@media (max-width: 576px) {
  .hero-section { min-height: 380px !important; }
  .hero-section h1 { font-size: 1.6rem; }
}
