:root {
  --flim-blue: #283593;        /* azul do menu/selo */
  --flim-blue-deep: #0f2167;   /* azul dos patrocinadores */
  --flim-blue-dark: #1d276e;
  --flim-yellow: #FFD200;
  --flim-red: #ea422b;
  --flim-orange: #ff6a00;
  --nav-height: 72px;
}

/* ===== FONTES PERSONALIZADAS ===== */
@font-face {
  font-family: 'CenturyGothicBold';
  src: url('../fonts/centurygothic_bold.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: 'CenturyGothic';
  src: url('../fonts/centurygothic.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: 'VisionHeavy';
  src: url('assets/fonts/Vision-Heavy.wof') format('truetype');
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: 'VisionLight';
  src: url('assets/fonts/Vision-Light.wof') format('truetype');
  font-weight: 300;
  font-style: normal;
}

/* ===== BASE ===== */
html { scroll-behavior: smooth; }
body {
  font-family: 'VisionHeavy', sans-serif;
  padding-top: 48px;
}
h1, h2, h3, .title-stack, .pill {
  font-family: 'CenturyGothicBold', 'CenturyGothic', sans-serif;
  font-weight: bold;
}
a, a:hover { text-decoration: none; }

/* ===== NAVBAR ===== */
.navbar {
  height: var(--nav-height);
  border-bottom: 1px solid rgba(0, 0, 0, .06);
}
.navbar .brand-right {
  height: 38px;
  width: auto;
}
.navbar .nav-link {
  color: var(--flim-blue) !important;
  text-transform: uppercase;
  letter-spacing: .5px;
  font-size: 1.3rem;
  padding: .25rem .9rem;
  font-family: 'CenturyGothicBold', 'CenturyGothic', sans-serif;
  font-weight: bold;
}
.navbar .navbar-nav .nav-item {
  margin-right: 1rem;
}
.navbar-light .navbar-toggler {
  border: none;
  outline: none;
}
@media (max-width: 991.98px) {
  .navbar { height: auto; }
  .navbar-brand { padding-top: .25rem; padding-bottom: .25rem; }
}

/* ===== HEADER ===== */
.header-image {
  background: none !important;
}
.header-image,
.header-image img {
  margin: 0;
  padding: 0;
  display: block;
  width: 100%;
}

/* ===== SECTIONS BASE ===== */
section {
  padding: 72px 0;
  scroll-margin-top: calc(var(--nav-height) + 16px);
}

/* ===== PROGRAMACAO ===== */
.prosa { width: 85%; }
.prosa p { margin-bottom: 1rem; color: #2b2b2b; }
.video-card {
  width: 100%;
  aspect-ratio: 16 / 9;
  max-width: 100%;
  margin-bottom: 1rem;
}
.embed-responsive-item {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
  max-width: 100%;
  border-radius: 10px;
}
.badge-ubuntu {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 1rem;
}
.badge-icon {
  width: 28px;
  height: auto;
  flex-shrink: 0;
}
.badge-square {
  color: #ffd200;
  font-family: 'CenturyGothic', sans-serif;
  font-size: 1.4rem;
  line-height: 1.2;
  text-transform: uppercase;
}
.badge-square span {
  background: #202e7a;
  padding: 2px 8px;
  display: inline-block;
}
.badge-square .destacado {
  font-family: 'CenturyGothicBold', 'CenturyGothic', sans-serif;
  font-weight: bold;
}
#programacao,
#programacao .video-card,
#programacao iframe {
  background: transparent !important;
}

/* ===== CURADORIA ===== */
#curadoria {
  background-image: url('../img/fundo_curadoria.png');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.curadora .photo { width: 150px; height: 150px; }
.curadora .name {
  font-family: 'VisionHeavy', sans-serif;
  color: #d22b1e;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .4px;
  margin-bottom: .25rem;
}
.curadora .bio {
  font-family: 'VisionLight', sans-serif;
  color: #2b2b2b;
  margin: 0;
  width: 95%;
}
.curadora.right .row { flex-direction: row-reverse; }

/* ===== MAPA ===== */
#mapa { padding-top: 0 !important; }
#mapa .bg-orange-1 {
  background-color: #e66324;
  padding: 50px 0;
  margin: 0 0 30px 0 !important;
}
#mapa .texto-mapa {
  color: #ffe42d;
  font-family: 'CenturyGothic', sans-serif;
  font-size: 2rem;
  line-height: 1.5;
  margin-bottom: 0 !important;
}
#mapa .texto-mapa .destacado {
  color: #ffe42d;
  font-family: 'CenturyGothicBold', 'CenturyGothic', sans-serif;
  font-weight: bold;
}

/* ===== PATROCINADORES ===== */
#patrocinadores {
  background-image: url('../img/fundo_logos.png');
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 0 !important;
}
.patrocinadores-header {
  background: transparent;
  padding: 2.5rem 0;
  border-bottom: 1px solid #fff;
}
.logo-flim {
  height: 70px;
  max-width: 100%;
  margin-right: 12px;
}
.sponsors-left {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 32px 16px;
}
.sponsors-left .acesso-texto {
  color: #ffd200;
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1.3;
  text-align: left;
  text-transform: uppercase;
  font-family: 'CenturyGothic', sans-serif;
}
.sponsors-right {
  display: flex;
  align-items: center;
  padding: 0px 40px 32px 40px;
}
#patrocinadores .row { min-height: 420px; }

/* ===== FIQUE POR DENTRO ===== */
#fique-por-dentro {
  background: #fff;
  padding: 20px 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.parque-logo { max-height: 8rem; width: auto; }
.icone-jamac { width: 24px; height: auto; }
.badge-fique {
  background: #202e7a;
  color: #ffd200;
  font-family: 'CenturyGothicBold', 'CenturyGothic', sans-serif;
  font-size: 1.5rem;
  font-weight: bold;
  padding: 4px 10px;
  text-transform: uppercase;
}
.social-icons img { width: 50px; }

/* ===== FOOTER ===== */
footer {
  background: #0b163d;
  color: #cbd5e1;
}
