/* ============================================================
   CAMPANHA BOTELHO 15650 — camada de estilo sobre o Arcon
   Carregar SEMPRE depois de master.css e responsive.css
   ============================================================ */

:root{
  --azul:#243065;
  --azul-2:#1a2450;
  --azul-3:#2e3d80;
  --amarelo:#fbde18;
  --ciano:#23ace3;
  --cinza:#f2f4f9;
}

/* ---------- Tipografia ---------- */
body,
.wrapper{
  font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  color:#3c4568;
}
h1,h2,h3,h4,h5,h6,
.navbar .nav > li > a,
.btn{
  font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
}
h1,h2,h3{color:var(--azul)}
.camp-title{
  font-weight:900;font-style:italic;text-transform:uppercase;line-height:1;letter-spacing:-.01em;
}
.camp-mark{display:inline-block;padding:.1em .35em;border-radius:.15em}
.mark-am{background:var(--amarelo);color:var(--azul)}
.mark-ci{background:var(--ciano);color:var(--azul)}
.mark-az{background:var(--azul);color:#fff}
.txt-am{color:var(--amarelo)}
.txt-ci{color:var(--ciano)}
.txt-az{color:var(--azul)}

/* ---------- Botões da campanha ---------- */
.btn-camp-am,
.btn-camp-am:focus{
  background:var(--amarelo);border-color:var(--amarelo);color:var(--azul);
  font-weight:800;text-transform:uppercase;letter-spacing:.05em;
}
.btn-camp-am:hover{background:#ffe83d;border-color:#ffe83d;color:var(--azul)}
.btn-camp-ci,
.btn-camp-ci:focus{
  background:var(--ciano);border-color:var(--ciano);color:#fff;
  font-weight:800;text-transform:uppercase;letter-spacing:.05em;
}
.btn-camp-ci:hover{background:#39bbee;border-color:#39bbee;color:#fff}
.btn-camp-line,
.btn-camp-line:focus{
  background:transparent;border:2px solid rgba(255,255,255,.6);color:#fff;
  font-weight:800;text-transform:uppercase;letter-spacing:.05em;
}
.btn-camp-line:hover{background:#fff;border-color:#fff;color:var(--azul)}

/* ---------- Navbar ---------- */
.navbar.bootsnav .logo-display,
.navbar.bootsnav .logo-scrolled{max-height:52px;width:auto}
.navbar.bootsnav.navbar-fixed.navbar-scrolled,
.navbar.bootsnav.navbar-fixed.on{background:var(--azul-2)!important;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.navbar.bootsnav .nav > li > a{
  color:#fff;font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.06em;
}
.navbar.bootsnav .nav > li > a:hover,
.navbar.bootsnav .nav > li.active > a{color:var(--amarelo)}
.navbar.bootsnav .attr-nav .btn-nav{
  background:var(--amarelo);color:var(--azul);font-weight:800;text-transform:uppercase;
  padding:8px 18px;border-radius:40px;font-size:11px;letter-spacing:.06em;display:inline-block;margin-top:22px;
}
.navbar.bootsnav .attr-nav .btn-nav:hover{background:#ffe83d;color:var(--azul)}

/* ---------- HERO ---------- */
.camp-hero{
  position:relative;overflow:hidden;padding:150px 0 0;
  background:radial-gradient(120% 110% at 15% 0%, var(--azul-3) 0%, var(--azul) 48%, var(--azul-2) 100%);
}
.camp-hero .container{position:relative;z-index:2}
.camp-hero-logo{width:100%;max-width:420px;height:auto}
.camp-hero p.lead-camp{color:rgba(255,255,255,.86);font-size:17px;line-height:1.7;max-width:34em}
.camp-hero-slogan{
  font-weight:900;font-style:italic;color:#fff;font-size:32px;line-height:1;margin:22px 0 26px;
}
.camp-hero-photo{
  display:block;width:auto;max-width:100%;max-height:560px;margin:0 auto;
  border-radius:16px;box-shadow:0 26px 50px rgba(0,0,0,.45);
}
.camp-hero-cta .btn{margin:0 8px 10px 0}
.camp-hero-wave{display:block;width:100%;height:auto;margin-bottom:-2px}

/* ---------- Blocos de seção ---------- */
.camp-section{padding:90px 0}
.camp-section-light{background:var(--cinza)}
.camp-section-white{background:#fff}
.camp-heading{margin-bottom:50px}
.camp-heading h2{font-size:38px;margin:0 0 14px}
.camp-heading p{font-size:16px;line-height:1.7;color:#5a6386;max-width:44em}
.camp-section p,.camp-story p,.camp-step p{color:#454e73}
.camp-eyebrow{
  display:block;font-weight:800;text-transform:uppercase;letter-spacing:.3em;
  font-size:11px;color:var(--ciano);margin-bottom:14px;
}

/* ---------- Minha história ---------- */
.camp-story-img{
  width:100%;height:auto;border-radius:14px;box-shadow:0 18px 44px rgba(36,48,101,.22);
}
.camp-story p{font-size:16px;line-height:1.8;margin-bottom:16px}
.camp-story p:first-of-type{
  border-left:5px solid var(--amarelo);padding-left:18px;font-weight:600;color:var(--azul);
}

/* ---------- Cards das bandeiras ---------- */
.camp-cards-row{display:flex;flex-wrap:wrap}
.camp-cards-row > div[class*="col-"]{display:flex;float:none}
.camp-cards-row .camp-card{width:100%}

.camp-card{
  background:#fff;border-radius:16px;overflow:hidden;margin-bottom:30px;
  box-shadow:0 10px 30px rgba(36,48,101,.10);
  transition:transform .28s ease, box-shadow .28s ease;
  display:flex;flex-direction:column;height:calc(100% - 30px);
}
.camp-card:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(36,48,101,.18)}
.camp-card-photo{
  display:block;width:100%;height:190px;object-fit:cover;background:var(--azul);
}
.camp-card-body{padding:26px 24px 28px;flex:1 1 auto}
.camp-card-ico{
  width:54px;height:54px;border-radius:14px;background:var(--azul);color:var(--amarelo);
  display:inline-flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:16px;
}
.camp-card-ico.ico-ci{background:var(--ciano);color:#fff}
.camp-card-ico.ico-am{background:var(--amarelo);color:var(--azul)}
.camp-card h3{font-size:20px;font-weight:800;margin:0 0 10px;line-height:1.2}
.camp-card p{font-size:14.5px;line-height:1.7;color:#5a6386}
.camp-card strong{color:var(--azul)}

/* ---------- Faixa parallax ---------- */
.camp-band{
  position:relative;padding:120px 0;background-size:cover;background-position:center;
  background-attachment:fixed;
}
.camp-band::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(26,36,80,.93) 0%, rgba(26,36,80,.74) 52%, rgba(26,36,80,.34) 100%);
}
.camp-band .container{position:relative;z-index:2}
.camp-band h2{color:#fff;font-size:36px;margin:0 0 22px}
.camp-band p{color:rgba(255,255,255,.9);font-size:18px;line-height:1.7}
.camp-band p strong{color:var(--amarelo)}

/* ---------- Avatar / apoio ---------- */
.camp-avatar{background:var(--amarelo);padding:90px 0}
.camp-avatar-card{background:#fff;border-radius:22px;padding:44px;box-shadow:0 22px 50px rgba(36,48,101,.18)}
.camp-avatar-demo{
  position:relative;width:250px;height:250px;margin:0 auto;border-radius:50%;overflow:hidden;
  border:6px solid #fff;box-shadow:0 18px 40px rgba(36,48,101,.3);background:var(--azul);
}
.camp-avatar-demo > img.face{
  position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 16%;
}
.camp-avatar-demo .ring{
  position:absolute;top:0;left:0;right:0;bottom:0;border-radius:50%;
  box-shadow:inset 0 0 0 9px var(--amarelo), inset 0 0 0 15px var(--azul);
}
.camp-avatar-demo .tag{position:absolute;left:0;right:0;bottom:9%;text-align:center}
.camp-avatar-demo .tag img{width:60%;height:auto;filter:drop-shadow(0 5px 12px rgba(0,0,0,.45))}
.camp-step{overflow:hidden;margin-bottom:18px}
.camp-step .num{
  float:left;width:36px;height:36px;border-radius:50%;background:var(--azul);color:var(--amarelo);
  font-weight:900;text-align:center;line-height:36px;margin-right:14px;
}
.camp-step p{overflow:hidden;margin:0;line-height:1.55;font-size:15px;padding-top:6px}

/* ---------- Redes sociais ---------- */
.camp-social{background:var(--azul-2);padding:80px 0}
.camp-social h2{color:#fff}
.camp-social-card{
  display:block;padding:22px 18px;border-radius:14px;margin-bottom:24px;text-align:center;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);
  color:#fff;text-decoration:none;transition:all .25s ease;
}
.camp-social-card:hover,
.camp-social-card:focus{
  background:rgba(255,255,255,.15);border-color:var(--amarelo);color:#fff;
  text-decoration:none;transform:translateY(-5px);
}
.camp-social-card i,
.camp-social-card svg{font-size:30px;display:block;margin:0 auto 12px;color:var(--amarelo);fill:var(--amarelo)}
.camp-social-card svg{width:30px;height:30px}
.camp-social-card .nm{display:block;font-weight:800;font-size:15px}
.camp-social-card .hd{display:block;font-size:12px;opacity:.7;margin-top:3px}

/* ---------- Rodapé ---------- */
.footer .footer-main{background:#131b3c}
.footer .footer-copyright{background:#0e1531}
.footer,
.footer p,
.footer li,
.footer a{color:rgba(255,255,255,.72)}
.footer a:hover{color:var(--amarelo)}
.footer .widget-title{color:#fff;font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:.08em}
.footer-logo img{max-width:210px;height:auto;margin-bottom:18px}
.camp-legal{font-size:11.5px;line-height:1.7;color:rgba(255,255,255,.5);margin:0}

/* ---------- Responsivo ---------- */
@media (max-width:991px){
  .camp-hero{padding-top:110px;text-align:center}
  .camp-hero p.lead-camp{margin-left:auto;margin-right:auto}
  .camp-hero-photo{max-height:420px;margin-top:30px}
  .camp-heading h2,.camp-band h2{font-size:29px}
  .camp-section{padding:64px 0}
  .camp-band{background-attachment:scroll;padding:80px 0}
  .camp-band::before{background:rgba(26,36,80,.9)}
  .camp-avatar-card{padding:28px}
  .camp-story{margin-top:34px}
}
@media (max-width:767px){
  .camp-hero-slogan{font-size:25px}
  .camp-heading h2,.camp-band h2{font-size:25px}
  .camp-avatar-demo{width:200px;height:200px}
}
@media (prefers-reduced-motion:reduce){
  .camp-card,.camp-social-card{transition:none}
}

/* ---------- Ajustes finais sobre o template ---------- */
/* links do menu legíveis também com a barra sólida */
.navbar.bootsnav.navbar-fixed .nav > li > a,
.navbar.bootsnav.navbar-scrolled .nav > li > a,
.navbar.bootsnav.on .nav > li > a{color:#fff !important}
.navbar.bootsnav.navbar-fixed .nav > li > a:hover,
.navbar.bootsnav.navbar-scrolled .nav > li > a:hover,
.navbar.bootsnav .nav > li.active > a{color:var(--amarelo) !important}

/* botão voltar ao topo na cor da campanha */
#back-to-top{
  background:var(--amarelo) !important;color:var(--azul) !important;
  border-color:var(--amarelo) !important;font-weight:900;
}

/* logo do rodapé no tamanho certo */
.footer .footer-logo img{max-width:210px !important;width:210px;height:auto}

/* respiro do bloco de redes */
.camp-social{padding-bottom:56px}
.camp-social .camp-heading{margin-bottom:34px}

/* botão do menu mobile (o ícone original do template não carrega a fonte) */
.navbar.bootsnav .navbar-toggle.camp-toggle{
  display:block;width:44px;height:38px;padding:8px 9px;margin:14px 0;
  background:transparent;border:2px solid rgba(255,255,255,.55);border-radius:8px;float:left;
}
.navbar.bootsnav .navbar-toggle.camp-toggle .icon-bar{
  display:block;width:100%;height:2px;background:#fff;border-radius:2px;margin:0 0 4px;
}
.navbar.bootsnav .navbar-toggle.camp-toggle .icon-bar:last-child{margin-bottom:0}
.navbar.bootsnav .navbar-toggle.camp-toggle:hover{border-color:var(--amarelo)}
.navbar.bootsnav .navbar-toggle.camp-toggle:hover .icon-bar{background:var(--amarelo)}
@media (min-width:993px){.navbar.bootsnav .navbar-toggle.camp-toggle{display:none}}
/* menu aberto no celular */
@media (max-width:991px){
  .navbar.bootsnav .navbar-collapse.collapse.in,
  .navbar.bootsnav .navbar-collapse.collapsing{background:var(--azul-2);border-radius:0 0 10px 10px}
  .navbar.bootsnav .nav > li > a{padding:12px 16px}
}


/* ============================================================
   AJUSTES — 2ª rodada
   ============================================================ */

/* logo do menu um pouco maior */
.navbar.bootsnav .logo-display,
.navbar.bootsnav .logo-scrolled{max-height:66px;width:auto;height:auto}
.navbar.bootsnav.navbar-scrolled .logo-display,
.navbar.bootsnav.navbar-scrolled .logo-scrolled{max-height:56px}

/* logo do rodapé: proporção original preservada */
.footer .footer-logo,
.footer .footer-logo a{display:inline-block;line-height:0}
.footer .footer-logo img{
  width:auto !important;height:auto !important;max-width:210px !important;max-height:none !important;
  display:inline-block;
}

/* texto único e mais longo da história: sem tratamento de citação */
.camp-story p:first-of-type{
  border-left:0;padding-left:0;font-weight:400;color:#454e73;
}


/* redes sociais: todos os botões do mesmo tamanho */
.camp-social-row{display:flex;flex-wrap:wrap}
.camp-social-row > div[class*="col-"]{display:flex;float:none;margin-bottom:24px}
.camp-social-card{
  width:100%;margin-bottom:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:136px;padding:18px 12px;
}
.camp-social-card i,
.camp-social-card svg{margin:0 0 10px}
.camp-social-card .nm{line-height:1.2}
.camp-social-card .hd{
  display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.camp-social-card.card-am{background:var(--amarelo);border-color:var(--amarelo);color:var(--azul)}
.camp-social-card.card-am i{color:var(--azul)}
.camp-social-card.card-am .hd{opacity:.85}
.camp-social-card.card-am:hover{background:#ffe83d;border-color:#ffe83d;color:var(--azul)}

/* história: foto acompanha a altura do texto, sem sobra de espaço */
@media (min-width:992px){
  .camp-story-row{display:flex;flex-wrap:wrap;align-items:stretch}
  .camp-story-row > div[class*="col-"]{float:none}
  .camp-story-row .camp-story-img{height:100%;object-fit:cover}
}

/* rodapé: logo com respiro, sem sobrepor o texto */
.footer .footer-logo{position:static;display:block;margin:0 0 22px;line-height:0}
.footer .footer-logo a{display:inline-block;line-height:0}

/* respiro entre a logo do rodapé e o texto */
.footer .footer-logo img{margin-bottom:26px}
.footer .footer-logo{height:auto !important;min-height:0 !important;line-height:normal}

/* botão "Apoiar" centralizado verticalmente em qualquer altura da barra */
.navbar.bootsnav .container{position:relative}
.navbar.bootsnav .attr-nav{
  position:absolute;right:15px;top:50%;transform:translateY(-50%);
  float:none;margin:0;padding:0 0 0 22px;height:auto;
  border-left:1px solid rgba(255,255,255,.22);display:flex;align-items:center;
}
.navbar.bootsnav .attr-nav .btn-nav{margin-top:0;line-height:1.1}
@media (max-width:991px){
  .navbar.bootsnav .attr-nav{right:12px;padding-left:0;border-left:0}
}
/* remove o espaço extra que a linha-base da imagem cria na barra */
.navbar.bootsnav .navbar-header > .logo,
.navbar.bootsnav .navbar-header > .logo > a{display:inline-block;line-height:0;font-size:0}

/* ============================================================
   BARRA DO TOPO — bloco final (sobrescreve tudo acima)
   O template fixava a altura da barra (80px no topo, 60px ao
   rolar) e trocava duas imagens de logo; a logo, maior que a
   barra encolhida, escapava para fora. Agora existe UMA logo
   (.camp-logo) e a barra é um flex container cuja altura vem
   da logo — igual nos dois estados, tudo centralizado.
   ============================================================ */
.navbar.bootsnav.navbar-fixed,
.navbar.bootsnav.navbar-fixed.navbar-transparent,
.navbar.bootsnav.navbar-fixed:not(.navbar-transparent){
  height:auto !important;min-height:0 !important;padding:0 !important;
}
.navbar.bootsnav .navbar-header,
.navbar.bootsnav.navbar-fixed .navbar-header,
.navbar.bootsnav.navbar-fixed:not(.navbar-transparent) .navbar-header{
  height:auto !important;min-height:0 !important;margin:0;padding:0 !important;
  display:flex;align-items:center;
}
.camp-logo-wrap{display:inline-flex;align-items:center;line-height:0}
.camp-logo-wrap a{display:inline-block;line-height:0}
.camp-logo{display:block;width:auto;height:auto;max-height:78px}

@media (min-width:993px){
  .navbar.bootsnav .container{
    display:flex;align-items:center;justify-content:space-between;min-height:100px;
  }
  .navbar.bootsnav .navbar-header{float:none !important;flex:0 0 auto}
  .navbar.bootsnav .navbar-collapse{
    float:none !important;flex:1 1 auto;width:auto !important;
    display:flex !important;align-items:center;justify-content:flex-end;
    padding:0 !important;margin:0 !important;border:0;box-shadow:none;
  }
  .navbar.bootsnav .nav.navbar-right{
    float:none !important;margin:0 132px 0 0 !important;display:flex;align-items:center;
  }
  .navbar.bootsnav .nav > li{float:none}
  .navbar.bootsnav .nav > li > a{
    height:auto !important;min-height:0 !important;
    padding:10px 13px !important;line-height:1.2 !important;
  }
}

/* 992–1199: menu mais compacto para caber ao lado da logo */
@media (min-width:993px) and (max-width:1199px){
  .navbar.bootsnav .container{min-height:88px}
  .camp-logo{max-height:64px}
  .navbar.bootsnav .nav > li > a{padding:9px 8px !important;font-size:10.5px;letter-spacing:.02em}
  .navbar.bootsnav .nav.navbar-right{margin-right:112px !important}
  .navbar.bootsnav .attr-nav{padding-left:14px}
  .navbar.bootsnav .attr-nav .btn-nav{padding:7px 13px;font-size:10px}
}

@media (max-width:992px){
  .navbar.bootsnav .container{display:flex;align-items:center;flex-wrap:wrap;min-height:80px}
  .navbar.bootsnav .navbar-header{flex:1 1 auto;padding:12px 0 !important}
  .camp-logo{max-height:56px}
  .navbar.bootsnav .navbar-toggle.camp-toggle{margin:0 14px 0 0;float:none}
  .navbar.bootsnav .navbar-collapse{flex:0 0 100%;order:3;width:100%}
}
