:root{
  --azul:#08264a;
  --verde:#08743c;
  --laranja:#f26522;
  --amarelo:#ffc93c;
  --creme:#fff8e8;
  --branco:#ffffff;
  --texto:#1b2430;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:Arial, Helvetica, sans-serif;
  background:var(--creme);
  color:var(--azul);
  line-height:1.6;
  overflow-x:hidden;
}

img{
  max-width:100%;
  display:block;
}

section{
  position:relative;
}

.section-sobre,
.entrada-section,
.familia-section,
.atracoes-section,
.local-section,
.redes-section,
.apoio,
.secretario-section{
  scroll-margin-top:90px;
}

.titulo-amarelo{
    color:#FFDE21 !important;
    font-size:clamp(34px,4vw,56px);
    line-height:1.15;
    font-weight:800;
    text-shadow:0 3px 12px rgba(0,0,0,.20);
}
.titulo-menor{
    font-size:clamp(18px,1.8vw,26px) !important;
    line-height:1.2;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
    opacity:.95;
    margin-bottom:8px;
}

/* HEADER FIXO */

.top-fixed-header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:9998;
  padding:14px 28px;
  transition:.35s ease;
  background:rgba(8,38,74,.12);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.top-fixed-header.scrolled{
  background:rgba(8,38,74,.92);
  box-shadow:0 12px 30px rgba(0,0,0,.18);
  padding:10px 28px;
}

.header-container{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  max-width:1280px;
  margin:auto;
  gap:20px;
}

.header-nav{
  display:flex;
  align-items:center;
  gap:26px;
}

.header-nav a{
  color:white;
  text-decoration:none;
  font-weight:700;
  font-size:15px;
  transition:.25s ease;
  position:relative;
}

.header-nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:0;
  height:2px;
  background:var(--amarelo);
  transition:.3s ease;
}

.header-nav a:hover{
  color:var(--amarelo);
}

.header-nav a:hover::after{
  width:100%;
}

.menu-mobile{
  display:none;
  background:none;
  border:none;
  color:white;
  font-size:28px;
  cursor:pointer;
}

/* HERO */

.folder-hero{
  min-height:100vh;
  position:relative;
  padding:40px 20px 80px;
  overflow:hidden;
  background:
    linear-gradient(rgba(8,38,74,.72), rgba(8,38,74,.78)),
    url('/lago3.webp') center center / cover no-repeat;
}

.folder-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top left, rgba(255,201,60,.22), transparent 28%),
    radial-gradient(circle at bottom right, rgba(242,101,34,.20), transparent 32%);
  z-index:1;
}

.folder-hero::after{
  content:"";
  position:absolute;
  width:500px;
  height:500px;
  background:rgba(255,255,255,.05);
  border-radius:50%;
  right:-180px;
  top:-180px;
  filter:blur(10px);
  animation:flutuar 10s ease-in-out infinite;
}

.folder-container{
  max-width:1180px;
  margin:auto;
  position:relative;
  z-index:2;
}

.folder-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-bottom:50px;
}

.logo-instituto{
  max-width:240px;
  margin-top:40px;
  animation:flutuar 5s ease-in-out infinite;
}

.badge-evento{
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(10px);
  color:white;
  padding:12px 24px;
  border-radius:50px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1px;
  font-size:14px;
  border:1px solid rgba(255,255,255,.15);
  animation:brilho 4s linear infinite;
}

.folder-content{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:35px;
  align-items:center;
}

.folder-left,
.folder-right{
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(14px);
  border-radius:38px;
  padding:38px;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 25px 70px rgba(0,0,0,.25);
  animation:entradaSuave .9s ease both;
}

.folder-right{
  background:rgba(8,38,74,.82);
  color:white;
  padding:40px;
  position:relative;
  overflow:hidden;
  animation:entradaSuave 1s ease both;
}

.folder-right::before{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  background:var(--laranja);
  right:-80px;
  top:-80px;
  border-radius:50%;
  opacity:.18;
}

.apresenta{
  color:var(--amarelo);
  font-size:18px;
  font-weight:900;
  letter-spacing:3px;
  text-transform:uppercase;
  margin-bottom:25px;
  text-shadow:0 4px 18px rgba(0,0,0,.35);
}

.logo-caravana{
  max-width:100%;
  margin:auto;
  animation:flutuar 6s ease-in-out infinite;
}

.info-evento{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:35px;
}

.info-evento div{
  background:rgba(8,38,74,.78);
  backdrop-filter:blur(10px);
  color:white;
  border-radius:22px;
  padding:20px 14px;
  text-align:center;
  border:1px solid rgba(255,255,255,.08);
  transition:.3s ease;
}

.info-evento div:hover{
  transform:translateY(-5px);
  background:#06386d;
}

.info-evento strong{
    display:block;
    font-size:28px;
    line-height:1;
    font-weight:900;
    color:#ffd54f;          /* cor de segurança */

    background:linear-gradient(
        90deg,
        #ffd54f,
        #fff6bf,
        #ffc93c,
        #f26522,
        #ffd54f
    );

    background-size:200% auto;

    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;

    animation:brilho 4s linear infinite;
}

.info-evento span{
  display:block;
  margin-top:6px;
  font-size:14px;
  font-weight:700;
}

.folder-right h1{
  font-size:clamp(36px,4vw,58px);
  line-height:1;
  margin-bottom:30px;
  color:var(--amarelo);
  position:relative;
  z-index:2;
  text-shadow:0 4px 18px rgba(0,0,0,.35);
}

/* PROGRAMAÇÃO OFICIAL */

.lista-programacao{
  list-style:none;
  display:grid;
  gap:14px;
  position:relative;
  z-index:2;
}

.lista-programacao li{
  background:rgba(255,255,255,.10);
  border-left:5px solid var(--laranja);
  border-radius:14px;
  padding:15px 18px;
  font-size:18px;
  font-weight:700;
  line-height:1.4;
  transition:transform .3s ease, background .3s ease;
  overflow:hidden;
  position:relative;
  will-change:transform;
}

.lista-programacao li:hover{
  transform:translateX(6px);
  background:rgba(255,255,255,.16);
}

.lista-programacao li::after{
  content:"";
  position:absolute;
  top:0;
  left:-80%;
  width:60%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);
  transform:skewX(-20deg);
  transition:.6s;
  pointer-events:none;
}

.lista-programacao li:hover::after{
  left:120%;
}

.lista-programacao li:nth-child(even){
  border-left-color:var(--verde);
}

.lista-programacao li strong{
  display:block;
  font-size:20px;
  color:var(--amarelo);
  margin-bottom:4px;
}

.lista-programacao a{
  color:inherit;
  text-decoration:none;
}

/* BOTÕES HERO E CONTADOR */

.hero-actions{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}

.btn-hero-primary,
.btn-hero-secondary{
  display:inline-block;
  padding:14px 24px;
  border-radius:50px;
  text-decoration:none;
  font-weight:900;
}

.btn-hero-primary{
  background:var(--laranja);
  color:#ffffff;
  box-shadow:0 14px 30px rgba(242,101,34,.32);
}

.btn-hero-secondary{
  background:rgba(255,255,255,.16);
  color:#ffffff;
  border:1px solid rgba(255,255,255,.22);
}

.btn-hero-primary:hover,
.btn-hero-secondary:hover{
  transform:translateY(-4px);
}

.contador-evento{
  text-align:center;
  margin:70px auto 0;
}

.contador-evento span{
  display:inline-block;
  padding:14px 28px;
  border-radius:50px;
  background:#f4e3b2;
  border:1px solid #d4b26a;
  color:#5a3200;
  font-size:18px;
  font-weight:800;
  box-shadow:0 8px 25px rgba(0,0,0,.08);
}

/* ENTRADA GRATUITA */

.entrada-section{
  padding:90px 20px;
  background:linear-gradient(135deg,#08264a,#0b3d73);
  color:white;
  text-align:center;
  overflow:hidden;
}

.entrada-section::after,
.familia-section::after,
.redes-section::after{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  border-radius:50%;
  background:rgba(255,201,60,.08);
  right:-120px;
  top:-120px;
  pointer-events:none;
}

.entrada-container{
  max-width:1100px;
  margin:auto;
  position:relative;
  z-index:2;
}

.entrada-selo{
  display:inline-block;
  background:var(--laranja);
  color:white;
  padding:10px 22px;
  border-radius:50px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.8px;
  margin-bottom:22px;
}

.entrada-section h2{
  font-size:clamp(34px,4vw,56px);
  color:var(--amarelo);
  line-height:1.1;
  margin-bottom:22px;
}

.entrada-section p{
  max-width:880px;
  margin:0 auto 45px;
  font-size:22px;
  line-height:1.8;
  color:rgba(255,255,255,.92);
}

.entrada-info{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.entrada-info div{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  padding:30px 22px;
  backdrop-filter:blur(12px);
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}

.entrada-info strong{
  display:block;
  color:var(--amarelo);
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:10px;
}

.entrada-info span{
  display:block;
  color:white;
  font-size:24px;
  font-weight:900;
  line-height:1.3;
}

/* SOBRE */

.section-sobre{
  padding:90px 20px;
  text-align:center;
  background:
    linear-gradient(rgba(255,255,255,.94),rgba(255,255,255,.94)),
    url('/feira_nova_barra.webp') center/cover fixed;
}

.section-sobre h2,
.atracoes-section h2,
.apoio h2{
  font-size:clamp(34px,4vw,56px);
  color:var(--azul);
  margin-bottom:20px;
  line-height:1.1;
}

.section-sobre p{
  max-width:900px;
  margin:auto;
  font-size:22px;
  line-height:1.8;
  color:#35465c;
}

/* SECRETÁRIO */

.secretario-section{
  padding:90px 20px;
  background:linear-gradient(135deg,#08264a,#0b3d73);
  margin-bottom:0;
}

.secretario-container{
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns:420px 1fr;
  gap:50px;
  align-items:center;
}

.secretario-video{
  display:flex;
  justify-content:center;
}

.secretario-video video,
.video-secretario{
  width:100%;
  max-width:420px;
  aspect-ratio:9/16;
  object-fit:cover;
  border-radius:30px;
  box-shadow:0 25px 60px rgba(0,0,0,.35);
}

.secretario-badge{
  display:inline-block;
  background:var(--laranja);
  color:#fff;
  padding:10px 20px;
  border-radius:50px;
  font-weight:900;
  text-transform:uppercase;
  margin-bottom:20px;
}

.secretario-texto h2.titulo-laranja{
    background:linear-gradient(
        90deg,
        #ffd54f,
        #fff6bf,
        #ffc93c,
        #f4b400,
        #ffd54f
    );

    background-size:200% auto;
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;

    animation:brilho 4s linear infinite;
}

.secretario-texto p{
  color:#fff;
  font-size:20px;
  line-height:1.8;
  margin-bottom:20px;
}

/* FAMÍLIA */

.familia-section{
  padding:90px 20px;
  background:linear-gradient(135deg,#fff8e8,#ffffff);
  margin-top:0;
  overflow:hidden;
}

.familia-container{
  max-width:1150px;
  margin:auto;
  display:grid;
  grid-template-columns:1.4fr .8fr;
  gap:35px;
  align-items:center;
  position:relative;
  z-index:2;
}

.familia-texto h2{
  font-size:clamp(34px,4vw,56px);
  color:var(--azul);
  line-height:1.1;
  margin-bottom:22px;
}

.familia-texto p{
  font-size:22px;
  line-height:1.8;
  color:#35465c;
}

.familia-card{
  background:var(--azul);
  color:white;
  border-radius:32px;
  padding:38px;
  box-shadow:0 22px 55px rgba(0,0,0,.18);
  border-left:8px solid var(--laranja);
}

.familia-card strong{
  display:block;
  color:var(--amarelo);
  font-size:22px;
  margin-bottom:14px;
}

.familia-card span{
  display:block;
  font-size:19px;
  line-height:1.7;
}

/* LAGO */

.lago-section{
  position:relative;
  height:620px;
  background:url('/lago3.webp') center center / cover no-repeat;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.lago-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(rgba(8,38,74,.58),rgba(8,38,74,.62));
  backdrop-filter:blur(1px);
}

.lago-content{
  position:relative;
  z-index:2;
  max-width:900px;
  text-align:center;
  padding:40px;
  animation:entradaSuave 1s ease both;
}

.lago-content h2{
  font-size:clamp(42px,5vw,78px);
  color:white;
  line-height:1;
  margin-bottom:25px;
  text-shadow:0 6px 24px rgba(0,0,0,.45);
}

.lago-content p{
  font-size:24px;
  line-height:1.8;
  color:white;
  text-shadow:0 4px 18px rgba(0,0,0,.45);
}

/* Feira */

.feira-section{
  position:relative;
  height:620px;
  background:url('/feira_nova_barra.webp') center center / cover no-repeat;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.feira-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(rgba(8,38,74,.58),rgba(8,38,74,.62));
  backdrop-filter:blur(1px);
}

.feira-content{
  position:relative;
  z-index:2;
  max-width:900px;
  text-align:center;
  padding:40px;
  animation:entradaSuave 1s ease both;
}

.feira-content h2{
  font-size:clamp(42px,5vw,78px);
  color:white;
  line-height:1;
  margin-bottom:25px;
  text-shadow:0 6px 24px rgba(0,0,0,.45);
}

.feira-content p{
  font-size:24px;
  line-height:1.8;
  color:white;
  text-shadow:0 4px 18px rgba(0,0,0,.45);
}

/* NAVE */

.nave-section{
  position:relative;
  height:620px;
  background:url('/discoporto-2.webp') center center / cover no-repeat;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.nave-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(rgba(8,38,74,.58),rgba(8,38,74,.62));
  backdrop-filter:blur(1px);
}

.nave-content{
  position:relative;
  z-index:2;
  max-width:900px;
  text-align:center;
  padding:40px;
  animation:entradaSuave 1s ease both;
}

.nave-content h2{
  font-size:clamp(42px,5vw,78px);
  color:white;
  line-height:1;
  margin-bottom:25px;
  text-shadow:0 6px 24px rgba(0,0,0,.45);
}

.nave-content p{
  font-size:24px;
  line-height:1.8;
  color:white;
  text-shadow:0 4px 18px rgba(0,0,0,.45);
}

/* ATRAÇÕES */

.atracoes-section{
  padding:110px 20px 100px;
  background:linear-gradient(180deg,#ffffff 0%,#fff8e8 100%);
}

.atracoes-section h2{
  text-align:center;
}

.atracoes-subtitulo{
  text-align:center;
  max-width:850px;
  margin:0 auto 55px;
  font-size:21px;
  color:#35465c;
  line-height:1.7;
}

.atracoes-grid{
  max-width:1280px;
  margin:auto;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:28px;
}

.card-atracao{
  flex:0 0 calc(25% - 21px);
  max-width:calc(25% - 21px);
}

.card-atracao{
  background:white;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.10);
  transition:.35s ease;
  border:1px solid rgba(8,38,74,.08);
  animation:entradaSuave .9s ease both;
  height:100%;
}

.card-atracao:hover{
  transform:translateY(-8px);
  box-shadow:0 25px 55px rgba(0,0,0,.18);
}

.card-atracao img{
  width:100%;
  height:280px;
  object-fit:cover;
  transition:transform .7s ease, filter .7s ease;
  filter:saturate(1.05) contrast(1.02);
}

.card-atracao:hover img{
  transform:scale(1.08);
  filter:saturate(1.2) contrast(1.08);
}

.card-info{
  padding:24px;
  min-height:230px;
  background:linear-gradient(180deg,#ffffff,#fff8e8);
}

.card-info h3{
  font-size:27px;
  color:var(--azul);
  margin-bottom:10px;
  line-height:1.1;
  min-height:60px;
}

.card-info h3::after{
  content:"";
  display:block;
  width:55px;
  height:4px;
  background:var(--laranja);
  border-radius:10px;
  margin-top:10px;
}

.card-info p{
  font-size:17px;
  color:#44566c;
  line-height:1.7;
}

.tag-atracao{
  display:inline-block;
  background:rgba(242,101,34,.10);
  color:var(--laranja);
  padding:7px 14px;
  border-radius:50px;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  margin-bottom:14px;
}

/* ARTESANATO */

.artesanato-section{
  padding:0 20px 70px;
  background:#fff8e8;
}

.artesanato-bloco{
  max-width:1200px;
  margin:0 auto;
}

.artesanato-bloco img{
  width:100%;
  height:auto;
  display:block;
}

.artesanato-card.card-info{
  transform:none;
  margin:0 auto;
  padding:38px 70px 36px;
  max-width:1050px;
  min-height:auto;
  height:auto;
  border-radius:0 0 28px 28px;
}

.artesanato-card.card-info h3{
  margin:0 0 16px 0;
  padding:0;
  min-height:auto;
}

.artesanato-card.card-info p{
  margin:0;
  padding:0;
  line-height:1.7;
  text-align:justify;
}

.artesanato-selo{
  margin-top:24px;
  padding:0;
  text-align:center;
  position:relative;
  z-index:2;
}

.artesanato-linha{
  width:100%;
  height:1px;
  background:linear-gradient(to right, transparent, rgba(8,38,74,.25), transparent);
  margin:0 0 16px 0;
}

.artesanato-pill{
  margin:0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:12px 24px;
  border-radius:60px;
  background:#f4e3b2;
  border:1px solid #d4b26a;
}

.artesanato-pill span{
  font-size:28px;
}

.artesanato-pill span:nth-child(2){
  color:#5a3200;
  font-size:15px;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
}

/* LOCAL E QR CODE */

.local-section{
  padding:85px 20px;
  text-align:center;
  background:linear-gradient(180deg,#ffffff,#fff8e8);
  margin-top:0;
}

.local-section h2{
  font-size:clamp(34px,4vw,56px);
  color:var(--azul);
  margin-bottom:20px;
  line-height:1.1;
}

.local-section p{
  max-width:820px;
  margin:0 auto 28px;
  font-size:21px;
  color:#35465c;
  line-height:1.8;
}

.mapa-container{
  max-width:1200px;
  margin:40px auto 0;
  display:flex;
  gap:40px;
  align-items:center;
  justify-content:center;
}

.mapa-container .mapa-box{
  flex:1;
  margin:0;
}

.mapa-box{
  max-width:1100px;
  margin:auto;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.16);
  border:8px solid #ffffff;
}

.mapa-box iframe{
  width:100%;
  height:430px;
  border:0;
  display:block;
}

.qrcode-box{
  width:280px;
  background:white;
  padding:28px 22px;
  border-radius:26px;
  box-shadow:0 18px 45px rgba(0,0,0,.12);
  text-align:center;
}

.qrcode-box img{
  width:220px;
  height:auto;
  margin:0 auto 18px;
  border-radius:14px;
}

.qrcode-box h3{
  color:var(--azul);
  font-size:22px;
  margin-bottom:10px;
}

.qrcode-box p{
  font-size:15px;
  line-height:1.6;
  color:#35465c;
  margin:0;
}

/* CTA FINAL */

.cta-final-section{
  padding:95px 20px;
  text-align:center;
  background:
  linear-gradient(rgba(8,38,74,.82),rgba(8,38,74,.88)),
  url('/lago3.webp') center/cover no-repeat;
  color:white;
}

.cta-final-section h2{
  max-width:950px;
  margin:0 auto 22px;
  font-size:clamp(34px,4vw,58px);
  line-height:1.1;
  color:var(--amarelo);
}

.cta-final-section p{
  max-width:850px;
  margin:0 auto 35px;
  font-size:22px;
  line-height:1.8;
  color:rgba(255,255,255,.94);
}

.btn-cta-final{
  display:inline-block;
  background:var(--laranja);
  color:white;
  padding:16px 34px;
  border-radius:50px;
  text-decoration:none;
  font-weight:900;
  text-transform:uppercase;
  box-shadow:0 14px 34px rgba(242,101,34,.35);
  transition:.3s ease;
}

.btn-cta-final:hover{
  transform:translateY(-4px);
  background:#d94f12;
}

/* CTA FINAL FEIRA */

.cta-final-section-feira{
  padding:95px 20px;
  text-align:center;
  background:
  linear-gradient(rgba(8,38,74,.82),rgba(8,38,74,.88)),
  url('/feira_nova_barra.webp') center/cover no-repeat;
  color:white;
}

.cta-final-section-feira h2{
  max-width:950px;
  margin:0 auto 22px;
  font-size:clamp(34px,4vw,58px);
  line-height:1.1;
  color:var(--amarelo);
}

.cta-final-section-feira p{
  max-width:850px;
  margin:0 auto 35px;
  font-size:22px;
  line-height:1.8;
  color:rgba(255,255,255,.94);
}

.btn-cta-final-feira{
  display:inline-block;
  background:var(--laranja);
  color:white;
  padding:16px 34px;
  border-radius:50px;
  text-decoration:none;
  font-weight:900;
  text-transform:uppercase;
  box-shadow:0 14px 34px rgba(242,101,34,.35);
  transition:.3s ease;
}

.btn-cta-final-feira:hover{
  transform:translateY(-4px);
  background:#d94f12;
}

/* CTA FINAL NAVE */

.cta-final-section-nave{
  padding:95px 20px;
  text-align:center;
  background:
  linear-gradient(rgba(8,38,74,.82),rgba(8,38,74,.88)),
  url('/discoporto-2.webp') center/cover no-repeat;
  color:white;
}

.cta-final-section-nave h2{
  max-width:950px;
  margin:0 auto 22px;
  font-size:clamp(34px,4vw,58px);
  line-height:1.1;
  color:var(--amarelo);
}

.cta-final-section-nave p{
  max-width:850px;
  margin:0 auto 35px;
  font-size:22px;
  line-height:1.8;
  color:rgba(255,255,255,.94);
}

.btn-cta-final-feira-nave{
  display:inline-block;
  background:var(--laranja);
  color:white;
  padding:16px 34px;
  border-radius:50px;
  text-decoration:none;
  font-weight:900;
  text-transform:uppercase;
  box-shadow:0 14px 34px rgba(242,101,34,.35);
  transition:.3s ease;
}

.btn-cta-final-feira-nave:hover{
  transform:translateY(-4px);
  background:#d94f12;
}

/* REDES */

.redes-section{
  padding:90px 20px;
  background:linear-gradient(135deg,#08264a,#0b3d73);
  text-align:center;
  color:white;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.redes-container{
  max-width:1000px;
  margin:auto;
  position:relative;
  z-index:2;
}

.redes-section h2{
  font-size:clamp(34px,4vw,56px);
  color:var(--amarelo);
  margin-bottom:20px;
  line-height:1.1;
}

.redes-section p{
  max-width:820px;
  margin:0 auto 40px;
  font-size:22px;
  line-height:1.8;
  color:rgba(255,255,255,.92);
}

.redes-links{
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
}

.rede-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 28px;
  border-radius:50px;
  text-decoration:none;
  color:white;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(10px);
  font-weight:900;
  font-size:15px;
  transition:.3s ease;
  min-width:220px;
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}

.rede-btn:hover{
  transform:translateY(-5px);
  background:var(--laranja);
}

.rede-btn.instagram{
  background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045);
}

/* APOIOS */

.apoio{
  padding:100px 20px;
  text-align:left;
  background:linear-gradient(135deg,#fff8e8,#fff1c8);
  animation:entradaSuave .9s ease both;
}

.apoio p{
  max-width:850px;
  margin:0 auto 40px;
  font-size:20px;
  color:#35465c;
  line-height:1.8;
}

.realizacao-box{
  max-width:420px;
  margin:0 auto 28px;
  background:white;
  border-radius:24px;
  padding:26px;
  box-shadow:0 15px 35px rgba(0,0,0,.10);
  text-align:center;
}

.realizacao-box strong{
  display:block;
  color:var(--laranja);
  text-transform:uppercase;
  font-size:14px;
  letter-spacing:1px;
  margin-bottom:8px;
}

.realizacao-box span{
  display:block;
  color:var(--azul);
  font-size:26px;
  font-weight:900;
}

.apoio-label{
  display:block;
  width:100%;
  max-width:1400px;
  margin:0 auto 28px auto;
  text-align:left;
  color:var(--azul);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1px;
}

.logos{
  max-width:1400px;
  margin:35px auto 0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:28px;
  align-items:center;
}

.apoio-item{
  width:100%;
}

.logos img{
  background:white;
  padding:28px;
  border-radius:24px;
  width:100%;
  height:170px;
  object-fit:contain;
  box-shadow:0 12px 30px rgba(0,0,0,.10);
  transition:.35s ease;
  border:1px solid rgba(8,38,74,.06);
}

.logos img:hover{
  transform:translateY(-8px) scale(1.03);
  box-shadow:0 24px 48px rgba(0,0,0,.16);
}

/* MÚSICA */

.audio-player{
  position:fixed;
  top:50%;
  right:0;
  bottom:auto;
  transform:translateY(-50%);
  z-index:9999;
}

#musicToggle{
  background:rgba(8,38,74,.92);
  color:#fff;
  border:none;
  padding:12px 8px;
  border-radius:15px 0 0 15px;
  font-weight:800;
  cursor:pointer;
  line-height:1.35;
  text-align:center;
  font-size:14px;
  box-shadow:0 10px 28px rgba(0,0,0,.20);
  writing-mode:horizontal-tb;
  transform:none;
  white-space:normal;
}

#musicToggle:hover{
  background:var(--laranja);
}

/* LOADER */

#loader{
  position:fixed;
  inset:0;
  background:
    linear-gradient(rgba(8,38,74,.88), rgba(8,38,74,.94)),
    url('/lago3.webp') center/cover no-repeat;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:opacity .9s ease, visibility .9s ease;
  pointer-events:none;
}

#loader.hide{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  display:none;
}

.loader-content{
  text-align:center;
  color:white;
  padding:30px;
  animation:loaderEntrada 1.2s ease both;
}

.loader-content img{
  max-width:260px;
  margin:0 auto 25px;
  animation:loaderFlutuar 3s ease-in-out infinite;
}

.loader-content h1{
  font-size:clamp(34px,5vw,62px);
  line-height:1;
  color:var(--amarelo);
  margin-bottom:12px;
  text-shadow:0 6px 24px rgba(0,0,0,.45);
}

.loader-content p{
  font-size:18px;
  letter-spacing:1px;
  opacity:.9;
  margin-bottom:28px;
}

.loader-line{
  width:220px;
  height:4px;
  margin:auto;
  border-radius:20px;
  overflow:hidden;
  background:rgba(255,255,255,.18);
  position:relative;
}

.loader-line::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, #ffc93c, #f26522, transparent);
  animation:loaderLinha 1.6s linear infinite;
}

/* PARTÍCULAS */

.particles{
  position:fixed;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:1;
}

.particles span{
  position:absolute;
  display:block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:radial-gradient(circle,#ffc93c,#f26522);
  opacity:.18;
  filter:blur(.5px);
  animation:subirParticulas linear infinite, pulsarParticulas ease-in-out infinite;
}

.particles span:nth-child(1){left:8%;bottom:-40px;width:10px;height:10px;animation-duration:18s,4s;}
.particles span:nth-child(2){left:18%;bottom:-80px;animation-duration:24s,5s;}
.particles span:nth-child(3){left:28%;bottom:-50px;width:12px;height:12px;animation-duration:20s,6s;}
.particles span:nth-child(4){left:40%;bottom:-60px;animation-duration:26s,4s;}
.particles span:nth-child(5){left:52%;bottom:-40px;width:9px;height:9px;animation-duration:21s,5s;}
.particles span:nth-child(6){left:64%;bottom:-70px;width:13px;height:13px;animation-duration:28s,6s;}
.particles span:nth-child(7){left:74%;bottom:-50px;animation-duration:24s,5s;}
.particles span:nth-child(8){left:82%;bottom:-60px;width:10px;height:10px;animation-duration:19s,4s;}
.particles span:nth-child(9){left:90%;bottom:-80px;animation-duration:26s,5s;}
.particles span:nth-child(10){left:58%;bottom:-90px;width:12px;height:12px;animation-duration:30s,6s;}
.particles span:nth-child(11){left:34%;bottom:-70px;width:7px;height:7px;animation-duration:22s,4s;}
.particles span:nth-child(12){left:12%;bottom:-60px;width:11px;height:11px;animation-duration:27s,5s;}

/* FOOTER */

footer{
  background:linear-gradient(90deg,#08264a,#08743c);
  color:white;
  text-align:center;
  padding:35px 20px;
  font-weight:800;
  letter-spacing:.5px;
  line-height:1.6;
}

.footer-creditos{
  font-size:10px;
  opacity:0.5;
  text-align:center;
  margin-top:6px;
  font-weight:normal;
  line-height:1.2;
  letter-spacing:0;
}

.footer-creditos a{
  color:inherit;
  text-decoration:none;
  font-weight:normal;
  font-size:inherit;
}

/* ANIMAÇÕES */

@keyframes flutuar{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-12px);}
}

@keyframes entradaSuave{
  from{opacity:0;transform:translateY(45px);}
  to{opacity:1;transform:translateY(0);}
}

@keyframes brilho{
  0%{background-position:-200% center;}
  100%{background-position:200% center;}
}

@keyframes loaderEntrada{
  from{opacity:0;transform:translateY(30px) scale(.96);}
  to{opacity:1;transform:translateY(0) scale(1);}
}

@keyframes loaderFlutuar{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-10px);}
}

@keyframes loaderLinha{
  from{transform:translateX(-100%);}
  to{transform:translateX(100%);}
}

@keyframes subirParticulas{
  0%{transform:translateY(0) translateX(0) scale(1);opacity:0;}
  10%{opacity:.18;}
  50%{transform:translateY(-50vh) translateX(20px) scale(1.2);}
  100%{transform:translateY(-120vh) translateX(-20px) scale(.8);opacity:0;}
}

@keyframes pulsarParticulas{
  0%,100%{opacity:.12;}
  50%{opacity:.28;}
}

.artesanato-destaque{
  font-size:clamp(24px,3vw,38px);
  color:#ffc93c;
  font-weight:800;
  margin-bottom:25px;
  text-align:center;
  font-style:italic;
}

/* CARD DESTAQUE - EUDES E CANDINHO */

.card-destaque{
  flex:0 0 calc(50% - 14px);
  max-width:calc(50% - 14px);
  width:calc(50% - 14px);
  position:relative;
  border:3px solid #f4c542;
  box-shadow:0 18px 45px rgba(244,196,66,.34);
  background:#ffffff;
  overflow:hidden;
}

.card-destaque:hover{
  transform:translateY(-8px);
  box-shadow:0 26px 60px rgba(244,196,66,.45);
}

.card-destaque .card-info{
  background:linear-gradient(180deg,#ffffff 0%,#fff8e8 100%);
  border-top:4px solid #ffc93c;
}

.card-destaque .card-info h3{
  color:#08264a;
  font-size:32px;
  min-height:auto;
  margin-bottom:12px;
}

.card-destaque .tag-atracao{
  background:#f26522;
  color:#ffffff;
}

.selo-especial{
  position:absolute;
  top:10px;
  left:50%;
  transform:translateX(-50%);
  z-index:20;

  background:#f26522;
  color:#fff;

  font-size:12px;
  font-weight:900;

  padding:8px 16px;
  border-radius:30px;

  box-shadow:0 5px 15px rgba(0,0,0,.25);
  white-space:nowrap;
}

@media(max-width:1100px){
  .folder-content{
    gap:25px;
  }

  .logos{
    grid-template-columns:repeat(3,1fr);
    gap:22px;
  }

  .logos img{
    height:150px;
    padding:24px;
  }

  .artesanato-card.card-info{
    padding:34px 50px 34px;
  }
}

@media(max-width:1024px){
  .atracoes-grid .card-atracao{
    flex:0 0 calc(50% - 14px) !important;
    max-width:calc(50% - 14px) !important;
    width:calc(50% - 14px) !important;
  }

  .atracoes-grid .card-atracao.card-destaque{
    flex:0 0 100% !important;
    max-width:100% !important;
    width:100% !important;
  }
}

@media(max-width:900px){
  .top-fixed-header{
    padding:12px 18px;
  }

  .header-nav{
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    max-height:80vh;
    overflow-y:auto;
    background:rgba(8,38,74,.96);
    backdrop-filter:blur(12px);
    flex-direction:column;
    padding:24px;
    gap:22px;
    display:none;
  }

  .header-nav.active{
    display:flex;
  }

  .menu-mobile{
    display:block;
  }

  .folder-hero{
    min-height:auto;
    padding:28px 16px 55px;
    background:
      linear-gradient(rgba(8,38,74,.82), rgba(8,38,74,.86)),
      url('/feira_nova_barra.webp') center center / cover no-repeat;
  }

  .folder-top{
    flex-direction:column;
    text-align:center;
    margin-bottom:32px;
  }

  .logo-instituto{
    max-width:210px;
  }

  .badge-evento{
    font-size:12px;
    padding:10px 18px;
  }

  .folder-content{
    grid-template-columns:1fr;
  }

  .folder-left,
  .folder-right{
    padding:24px;
    border-radius:28px;
  }

  .apresenta{
    text-align:center;
    font-size:14px;
    letter-spacing:2px;
  }

  .info-evento,
  .entrada-info,
  .familia-container,
  .secretario-container{
    grid-template-columns:1fr;
  }

  .folder-right h1{
    text-align:center;
    font-size:clamp(32px,8vw,46px);
  }

  .lista-programacao li{
    font-size:16px;
  }

  .section-sobre,
  .atracoes-section,
  .apoio,
  .entrada-section,
  .familia-section,
  .cta-final-section,
  .redes-section,
  .secretario-section{
    padding:65px 16px;
  }

  .section-sobre{
    background:
      linear-gradient(rgba(255,255,255,.95),rgba(255,255,255,.95)),
      url('/lago3.webp') center/cover no-repeat;
  }

  .section-sobre p,
  .apoio p,
  .atracoes-subtitulo,
  .entrada-section p,
  .familia-texto p,
  .cta-final-section p,
  .redes-section p,
  .secretario-texto p{
    font-size:18px;
    line-height:1.7;
  }

  .lago-section{
    height:auto;
    min-height:430px;
    padding:80px 16px;
    background-attachment:scroll;
  }

  .lago-content{
    padding:10px;
  }

  .lago-content p{
    font-size:18px;
    line-height:1.65;
  }

  .card-atracao img{
    height:240px;
  }

  .logos{
    grid-template-columns:1fr;
  }

  .logos img{
    max-width:420px;
    margin:auto;
    height:190px;
    padding:30px;
    border-radius:28px;
  }

  .secretario-container{
    text-align:center;
    gap:30px;
  }

  .secretario-video video,
  .video-secretario{
    max-width:340px;
    margin:0 auto;
  }

  .secretario-texto h2{
    font-size:32px;
    line-height:1.2;
  }

  .familia-card{
    padding:30px 24px;
  }

  .entrada-info span{
    font-size:22px;
  }

  .artesanato-section{
    padding:0 14px 55px;
  }

  .artesanato-card.card-info{
    padding:28px 20px 30px;
  }

  .artesanato-card.card-info p{
    text-align:left;
    font-size:16px;
  }

  .artesanato-pill{
    gap:8px;
    padding:10px 14px;
  }

  .artesanato-pill span{
    font-size:18px;
  }

  .artesanato-pill span:nth-child(2){
    font-size:11px;
    line-height:1.4;
  }

  .local-section{
    padding:65px 16px;
  }

  .local-section p{
    font-size:18px;
  }

  .mapa-container{
    flex-direction:column;
    gap:28px;
    align-items:center;
  }

  .mapa-box iframe{
    height:360px;
  }

  .qrcode-box{
    width:100%;
    max-width:320px;
    margin:0 auto;
    text-align:center;
  }

  .qrcode-box img{
    width:220px;
    display:block;
    margin:0 auto 15px auto;
  }

  .contador-evento span{
    font-size:15px;
    padding:12px 18px;
  }

  .rede-btn{
    width:100%;
    max-width:360px;
  }
}

@media(max-width:768px){
  .atracoes-section{
    padding:70px 16px 60px !important;
  }

  .atracoes-subtitulo{
    margin-bottom:35px !important;
    font-size:18px !important;
  }

  .card-destaque{
    flex:0 0 100% !important;
    max-width:100% !important;
    width:100% !important;
  }

  .selo-especial{
    bottom:10px;
    right:10px;
    font-size:11px;
    padding:7px 12px;
  }

  .card-atracao{
    animation:none !important;
    transition:none !important;
    box-shadow:0 10px 24px rgba(0,0,0,.10) !important;
    transform:none !important;
  }

  .card-atracao:hover{
    transform:none !important;
    box-shadow:0 10px 24px rgba(0,0,0,.10) !important;
  }

  .card-atracao img{
    height:250px !important;
    transform:none !important;
    transition:none !important;
    filter:none !important;
  }

  .card-atracao:hover img{
    transform:none !important;
    filter:none !important;
  }
}

@media(max-width:700px){
  .particles{
    display:none;
  }

  .audio-player{
    top:55%;
    right:0;
  }

  #musicToggle{
    font-size:12px;
    padding:10px 7px;
  }
}

@media(max-width:600px){
  .atracoes-grid{
    flex-direction:column !important;
  }

  .atracoes-grid .card-atracao,
  .atracoes-grid .card-atracao.card-destaque{
    flex:0 0 auto !important;
    max-width:100% !important;
    width:100% !important;
  }

  .card-atracao img{
    height:240px !important;
    object-fit:cover !important;
  }

  .logo-caravana{
    max-width:300px;
    width:100%;
    height:auto !important;
  }
}

@media(max-width:480px){
  .folder-left,
  .folder-right{
    padding:20px;
  }

  .logo-caravana{
    max-width:300px;
    width:100%;
    height:auto !important;
    display:block;
    margin:auto;
  }

  .info-evento div{
    padding:16px 10px;
  }

  .section-sobre h2,
  .atracoes-section h2,
  .apoio h2,
  .entrada-section h2,
  .familia-texto h2,
  .cta-final-section h2,
  .secretario-texto h2{
    font-size:32px;
  }

  .lago-content h2{
    font-size:38px;
  }

  .card-info h3{
    font-size:24px;
    min-height:auto;
  }

  .card-info{
    min-height:auto;
  }

  .btn-hero-primary,
  .btn-hero-secondary,
  .btn-cta-final{
    width:100%;
    text-align:center;
  }

  .secretario-video video,
  .video-secretario{
    max-width:280px;
  }

  .secretario-badge{
    font-size:12px;
    padding:9px 16px;
  }

  .artesanato-pill{
    width:100%;
    flex-wrap:wrap;
    justify-content:center;
  }

  .entrada-info div,
  .familia-card,
  .realizacao-box{
    border-radius:22px;
  }

  .logos img{
    max-width:330px;
  }

  .selo-especial{
    bottom:8px;
    right:8px;
    font-size:10px;
    padding:6px 10px;
  }

  footer{
    font-size:14px;
    padding:28px 14px;
  }
}

@media (prefers-reduced-motion: reduce){
  *{
    animation:none !important;
    transition:none !important;
  }
}
@media(max-width:768px){

  .selo-especial{
    position:relative !important;
    display:block;
    width:max-content;
    margin:12px auto;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
  }

}
.header-logo-texto{
  position:absolute;
  left:15px;
  top:50%;
  transform:translateY(-50%);

  display:flex;
  align-items:center;
  gap:10px;

  z-index:1001;
}

.header-logo-texto span{
  color:#fff;
  font-size:13px;
  font-weight:800;

  padding:7px 12px;

  border-radius:30px;

  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.15);

  backdrop-filter:blur(10px);
}
@media(max-width:768px){
  .header-logo-texto{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
  }

  .header-logo-texto span{
    font-size:11px;
    padding:5px 9px;
  }
}

/* MENU NOVO - CARAVANA CULTURAL */
.top-fixed-header{
  background:rgba(91,33,182,.82);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.14);
}

.top-fixed-header.scrolled{
  background:rgba(76,29,149,.96);
}

.header-container-novo{
  justify-content:space-between !important;
  gap:22px;
}

.header-brand-evento{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  color:#fff;
  line-height:1.1;
  min-width:auto;
  max-width:70%;
}

.header-brand-evento .brand-mini{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1.1px;
  font-weight:800;
  color:#FDBA74;
}

.header-brand-evento strong{
  font-size:16px;
  font-weight:900;
  letter-spacing:.2px;
}

.header-nav{
  justify-content:flex-end;
}

.header-nav a{
  padding:9px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
}

.header-nav a::after{
  display:none;
}

.header-nav a:hover{
  background:linear-gradient(135deg,#ffc93c,#ffd95a);
  color:#08264a;
  transform:translateY(-2px);
}

.edicoes-caravana{
  max-width:1280px;
  margin:8px auto 0;
  padding:0 4px;
  display:flex;
  justify-content:flex-start;
  gap:10px;
}

.edicoes-caravana span{
  color:#fff;
  font-size:12px;
  font-weight:800;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.14);
}

@media(max-width:900px){
  .header-container-novo{
    align-items:center;
  }

  .header-brand-evento strong{
    font-size:14px;
  }

  .header-brand-evento .brand-mini{
    font-size:10px;
  }

  .header-nav{
    top:100%;
  }

  .edicoes-caravana{
    display:none;
  }
}

@media(max-width:480px){
  .header-brand-evento strong{
    font-size:13px;
  }

  .header-brand-evento .brand-mini{
    font-size:9px;
  }
}
.edicoes-caravana{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:0;
  flex-wrap:wrap;
}

.edicao-link{
  color:#08264a;
  font-size:13px;
  font-weight:800;
  padding:7px 12px;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(255,255,255,.15);
  text-decoration:none;
  transition:.3s;
}

.edicao-link:hover{
  background:#ffe082;
}

.edicao-link.ativa{
  background:linear-gradient(135deg,#ffc93c,#ffd95a);
  color:#08264a;
  border:none;
}

@media(max-width:768px){

  .header-container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    position:relative;
  }

  .menu-mobile{
    display:block;
    margin-left:auto;
    position:relative;
    z-index:1002;
  }

}

/* =========================================================
   CORREÇÕES FINAIS - MENU MOBILE, BOTÃO E CORES
   Mantém o botão do menu à direita, evita estouro no celular
   e padroniza as cores em azul + dourado.
========================================================= */

.header-container,
.header-container-novo{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  max-width:1280px;
  margin:0 auto;
  gap:20px;
  position:relative;
}

.header-brand-evento{
  min-width:auto !important;
  max-width:70%;
  overflow:hidden;
}

.header-brand-evento strong,
.header-brand-evento .brand-mini{
  white-space:normal;
}

.header-nav a:hover{
  background:linear-gradient(135deg,#ffc93c,#ffd95a) !important;
  color:#08264a !important;
  transform:translateY(-2px);
}

.menu-mobile{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#ffc93c;
  border-radius:12px;
  width:46px;
  height:42px;
  align-items:center;
  justify-content:center;
  line-height:1;
}

.menu-mobile:hover{
  background:linear-gradient(135deg,#ffc93c,#ffd95a);
  color:#08264a;
}

.edicao-link{
  color:#08264a;
  background:#ffffff;
  border:1px solid rgba(255,255,255,.25);
}

.edicao-link:hover{
  background:#ffe082;
  color:#08264a;
}

.edicao-link.ativa{
  background:linear-gradient(135deg,#ffc93c,#ffd95a);
  color:#08264a;
  border:none;
}

@media(max-width:900px){

  .top-fixed-header{
    padding:10px 14px !important;
  }

  .header-container,
  .header-container-novo{
    width:100%;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
  }

  .header-brand-evento{
    max-width:calc(100% - 62px) !important;
    min-width:0 !important;
    flex:1 1 auto;
  }

  .header-brand-evento strong{
    font-size:13px !important;
    line-height:1.25 !important;
    display:block;
  }

  .header-brand-evento .brand-mini{
    font-size:9px !important;
    line-height:1.2 !important;
  }

  .menu-mobile{
    display:flex !important;
    margin-left:auto !important;
    flex:0 0 46px;
    position:relative;
    z-index:1002;
    font-size:28px;
  }

  .header-nav{
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    width:100%;
    max-height:80vh;
    overflow-y:auto;
    background:rgba(8,38,74,.96);
    backdrop-filter:blur(12px);
    flex-direction:column;
    padding:22px;
    gap:14px;
    display:none;
    border-radius:0 0 22px 22px;
    box-shadow:0 18px 40px rgba(0,0,0,.25);
  }

  .header-nav.active{
    display:flex !important;
  }

  .header-nav a{
    width:100%;
    text-align:center;
    padding:12px 16px;
    background:rgba(255,255,255,.10);
  }

  .edicoes-caravana{
    display:none !important;
  }

}

@media(max-width:480px){

  .top-fixed-header{
    padding:9px 10px !important;
  }

  .header-brand-evento{
    max-width:calc(100% - 58px) !important;
  }

  .header-brand-evento strong{
    font-size:12px !important;
  }

  .menu-mobile{
    width:44px;
    height:40px;
    flex-basis:44px;
    font-size:27px;
  }

}


/* =========================================================
   PADRÃO ÚNICO FINAL - CARAVANA CULTURAL
   Use este arquivo em todas as páginas:
   /assets/css/style.css
   ========================================================= */

/* Cabeçalho único */
.header-container,
.header-container-novo{
  max-width:1280px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  position:relative;
}

.header-brand-evento{
  min-width:0 !important;
  max-width:42%;
}

.header-nav{
  margin-left:auto;
}

.menu-mobile{
  align-items:center;
  justify-content:center;
  width:46px;
  height:42px;
  border-radius:12px;
  color:#ffc93c;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
}

.menu-mobile:hover{
  background:linear-gradient(135deg,#ffc93c,#ffd95a);
  color:#08264a;
}

/* Edições no topo - padrão para 1ª, 2ª e 3ª edição */
.edicoes-caravana{
  max-width:1280px;
  margin:10px auto 0 !important;
  padding:0 10px;
  display:flex !important;
  justify-content:center;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.edicao-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:30px;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  color:#08264a;
  background:#fff;
  border:1px solid rgba(255,255,255,.18);
  transition:.25s ease;
  box-shadow:0 6px 16px rgba(0,0,0,.10);
}

.edicao-link:hover{
  background:#ffd54f;
  transform:translateY(-2px);
}

.edicao-link.ativa{
  background:linear-gradient(135deg,#ffc93c,#f26522);
  color:#fff;
  border:none;
}

/* Hero genérico com imagem por classe da página */
body.edicao-lago .folder-hero{
  background:
    linear-gradient(rgba(8,38,74,.72), rgba(8,38,74,.78)),
    url('/lago3.webp') center center / cover no-repeat;
}

body.edicao-feira .folder-hero{
  background:
    linear-gradient(rgba(8,38,74,.72), rgba(8,38,74,.78)),
    url('/feira_nova_barra.webp') center center / cover no-repeat;
}

body.edicao-nave .folder-hero{
  background:
    linear-gradient(rgba(5,11,29,.74), rgba(5,11,29,.88)),
    url('/discoporto-2.webp') center center / cover no-repeat;
}

/* Compatibilidade para a 3ª edição, caso ainda use classes hero-nave */
.hero-nave{
  min-height:100vh;
  padding:150px 20px 90px;
  overflow:hidden;
  position:relative;
  background:
    linear-gradient(rgba(3,7,18,.72),rgba(3,7,18,.92)),
    url('/discoporto-2.webp') center top / cover no-repeat;
}

.hero-nave::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 70% 18%,rgba(0,183,255,.28),transparent 28%),
    radial-gradient(circle at 18% 80%,rgba(242,101,34,.25),transparent 35%),
    radial-gradient(circle at 50% 52%,rgba(255,201,60,.15),transparent 28%);
  z-index:1;
}

.hero-nave::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(#fff 1px, transparent 1px);
  background-size:70px 70px;
  opacity:.09;
  z-index:1;
}

.hero-container{
  max-width:1280px;
  margin:auto;
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:38px;
  align-items:center;
}

.hero-card{
  background:rgba(5,11,29,.60);
  border:1px solid rgba(255,255,255,.14);
  border-radius:38px;
  padding:42px;
  backdrop-filter:blur(15px);
  box-shadow:0 30px 80px rgba(0,0,0,.35);
}

.logos-top{
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
  margin-bottom:26px;
}

.logos-top img.logo-instituto{
  width:220px;
  height:auto;
  margin-top:0;
  animation:none;
}

.logos-top img.logo-caravana{
  width:230px;
  height:auto;
  filter:drop-shadow(0 0 18px rgba(255,255,255,.25));
  animation:none;
}

.selo-show{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:linear-gradient(135deg,var(--amarelo),var(--laranja));
  color:#08111f;
  padding:10px 18px;
  border-radius:999px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:18px;
}

.hero-title{
  color:#fff;
  font-size:clamp(46px,8vw,108px);
  line-height:.9;
  letter-spacing:-2px;
  text-transform:uppercase;
  font-weight:900;
  text-shadow:0 10px 35px rgba(0,0,0,.55);
  margin-bottom:12px;
}

.hero-title span{
  display:block;
  color:var(--amarelo);
  font-size:.82em;
}

.hero-subtitle{
  font-size:clamp(28px,4vw,54px);
  color:#fff;
  font-weight:900;
  margin:22px 0 10px;
  line-height:1.05;
}

.hero-subtitle span{
  color:var(--laranja);
}

.frase-impacto{
  color:var(--amarelo);
  font-size:clamp(22px,3vw,38px);
  font-weight:900;
  font-style:italic;
  line-height:1.1;
  margin-top:18px;
}

.hero-info{
  display:grid;
  gap:18px;
}

.info-box{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px;
  padding:24px;
  box-shadow:0 20px 45px rgba(0,0,0,.25);
  backdrop-filter:blur(12px);
}

.info-box strong{
  display:block;
  color:var(--amarelo);
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:7px;
}

.info-box span{
  display:block;
  color:#fff;
  font-size:clamp(24px,3vw,48px);
  line-height:1.05;
  font-weight:900;
  text-transform:uppercase;
}

.info-box.local span{
  font-size:clamp(22px,2.6vw,38px);
}

.entrada-limitada{
  background:linear-gradient(135deg,var(--amarelo),var(--laranja));
  color:#061023;
  text-align:center;
  font-size:28px;
  font-weight:900;
  text-transform:uppercase;
  transform:rotate(-2deg);
  border:none;
}

.btn-primary,
.btn-secondary{
  display:inline-block;
  padding:15px 24px;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  text-transform:uppercase;
  transition:.3s ease;
}

.btn-primary{
  background:linear-gradient(135deg,var(--amarelo),var(--laranja));
  color:#061023;
}

.btn-secondary{
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.10);
}

.btn-primary:hover,
.btn-secondary:hover{
  transform:translateY(-4px);
}

.section-dark{
  padding:90px 20px;
  background:linear-gradient(135deg,#061023,#091c40);
  color:#fff;
}

.section-light{
  padding:90px 20px;
  background:linear-gradient(180deg,#fff8e8,#ffffff);
  color:#08264a;
}

.container{
  max-width:1220px;
  margin:auto;
}

.section-title{
  text-align:center;
  font-size:clamp(34px,4vw,60px);
  line-height:1.05;
  margin-bottom:20px;
  color:var(--amarelo);
  font-weight:900;
}

.section-light .section-title{
  color:#08264a;
}

.section-subtitle{
  max-width:900px;
  margin:0 auto 50px;
  text-align:center;
  font-size:21px;
  line-height:1.75;
  color:rgba(255,255,255,.88);
}

.section-light .section-subtitle{
  color:#35465c;
}

.cards-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
}

.guest-card{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.13);
  border-radius:26px;
  padding:24px 18px;
  text-align:center;
  box-shadow:0 20px 45px rgba(0,0,0,.22);
  transition:.3s ease;
}

.guest-card:hover{
  transform:translateY(-7px);
  background:rgba(255,255,255,.15);
}

.guest-icon{
  width:78px;
  height:78px;
  margin:0 auto 16px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:36px;
  background:linear-gradient(135deg,var(--laranja),var(--amarelo));
  color:#061023;
  box-shadow:0 0 24px rgba(255,201,60,.25);
}

.guest-card h3{
  color:#fff;
  font-size:20px;
  line-height:1.2;
  margin-bottom:8px;
  text-transform:uppercase;
}

.guest-card p{
  color:rgba(255,255,255,.82);
  font-size:15px;
  line-height:1.55;
}

.about-box{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
  align-items:center;
}

.about-card{
  background:#fff;
  border-radius:34px;
  padding:38px;
  box-shadow:0 18px 50px rgba(0,0,0,.12);
  border-left:8px solid var(--laranja);
}

.about-card h3{
  font-size:34px;
  line-height:1.12;
  margin-bottom:18px;
  color:#08264a;
}

.about-card p{
  font-size:20px;
  line-height:1.8;
  color:#35465c;
}

.highlight-card{
  background:
    linear-gradient(rgba(5,11,29,.75),rgba(5,11,29,.80)),
    url('/discoporto-2.webp') center / cover no-repeat;
  border-radius:34px;
  padding:38px;
  color:#fff;
  min-height:390px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  box-shadow:0 20px 60px rgba(0,0,0,.20);
}

.highlight-card strong{
  color:var(--amarelo);
  font-size:42px;
  line-height:1.05;
  text-transform:uppercase;
}

.local-grid{
  display:grid;
  grid-template-columns:1fr 330px;
  gap:34px;
  align-items:center;
}

.whatsapp-box{
  background:#fff;
  border-radius:30px;
  padding:30px;
  box-shadow:0 18px 50px rgba(0,0,0,.12);
  text-align:center;
}

.whatsapp-box h3{
  font-size:26px;
  color:#08264a;
  margin-bottom:12px;
}

.whatsapp-box p{
  color:#35465c;
  font-size:17px;
  margin-bottom:24px;
}

.whatsapp-btn{
  display:block;
  background:#25D366;
  color:white;
  text-decoration:none;
  padding:15px;
  border-radius:999px;
  font-weight:900;
}

@media(max-width:1050px){
  .hero-container,
  .about-box,
  .local-grid{
    grid-template-columns:1fr;
  }

  .cards-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .header-brand-evento{
    max-width:55%;
  }
}

@media(max-width:900px){
  .header-container,
  .header-container-novo{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
  }

  .header-brand-evento{
    max-width:calc(100% - 62px) !important;
    min-width:0 !important;
    flex:1 1 auto;
  }

  .header-brand-evento strong{
    font-size:13px !important;
    line-height:1.25 !important;
    display:block;
  }

  .header-brand-evento .brand-mini{
    font-size:9px !important;
    line-height:1.2 !important;
  }

  .menu-mobile{
    display:flex !important;
    margin-left:auto !important;
    flex:0 0 46px;
    position:relative;
    z-index:1002;
    font-size:28px;
  }

  .header-nav{
    position:absolute;
    top:calc(100% + 10px);
    left:0;
    width:100%;
    max-height:80vh;
    overflow-y:auto;
    background:rgba(8,38,74,.96);
    backdrop-filter:blur(12px);
    flex-direction:column;
    padding:22px;
    gap:14px;
    display:none;
    border-radius:0 0 22px 22px;
    box-shadow:0 18px 40px rgba(0,0,0,.25);
  }

  .header-nav.active{
    display:flex !important;
  }

  .header-nav a{
    width:100%;
    text-align:center;
    padding:12px 16px;
    background:rgba(255,255,255,.10);
  }

  .edicoes-caravana{
    display:flex !important;
    justify-content:center;
    margin-top:8px !important;
    gap:6px;
  }

  .edicao-link{
    font-size:11px;
    padding:6px 10px;
  }

  .edicao-link.ativa{
    display:none !important;
  }

  .hero-nave{
    padding:150px 16px 65px;
  }

  .hero-card{
    padding:26px;
    border-radius:28px;
  }

  .logos-top img.logo-instituto{
    width:180px;
  }

  .logos-top img.logo-caravana{
    width:190px;
  }
}

@media(max-width:600px){
  .hero-nave{
    padding-top:160px;
  }

  .hero-title{
    font-size:54px;
  }

  .hero-subtitle{
    font-size:34px;
  }

  .cards-grid{
    grid-template-columns:1fr;
  }

  .section-dark,
  .section-light{
    padding:65px 16px;
  }

  .section-subtitle{
    font-size:18px;
  }

  .about-card,
  .highlight-card,
  .whatsapp-box{
    padding:26px;
    border-radius:26px;
  }

  .btn-primary,
  .btn-secondary{
    width:100%;
    text-align:center;
  }
}
.qrcode-box .btn-cta-final{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  margin-top:18px;
  padding:16px 20px;
  border-radius:18px;
  background:linear-gradient(135deg,#25D366,#128C7E);
  color:#fff;
  font-size:15px;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 14px 30px rgba(37,211,102,.35);
  text-transform:none;
}

.qrcode-box .btn-cta-final:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 38px rgba(37,211,102,.45);
  background:linear-gradient(135deg,#2ee87a,#0f7f72);
}