/*===============================================
  Custom Color Palette - Site Político
  Azul Principal: #0f2bc5
  Amarelo Destaque (principal): #fcf251
  Amarelo Secundário (hover/badges): #fcf251
  Branco: #ffffff
  Verde Apoio: #59a446
================================================*/

/* ===== FONTE GLOBAL ===== */
body, h1, h2, h3, h4, h5, h6,
p, a, span, li, button, input, textarea, select,
.btn, .nav-link, .dropdown-item, label {
  font-family: 'Poppins', sans-serif !important;
}

/* ===== HERO - TIPOGRAFIA DE DESTAQUE ===== */
.hero-content h4 {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 300 !important;
  font-size: 18px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
}

.hero-content h1 {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -1px !important;
  line-height: 1.1 !important;
}

.hero-content h1 span {
  font-weight: 800 !important;
  font-style: italic !important;
}

/* ===== VARIÁVEIS CSS ===== */
:root {
  --azul-principal: #0f2bc5;
  --azul-escuro: #0a1f8a;
  --amarelo-destaque: #fcf251;
  --amarelo-secundario: #fcf251;
  --verde-apoio: #59a446;
  --branco: #ffffff;
  --texto-principal: #222222;
  --texto-secundario: #333333;
}

/* ===== HEADER TOP - FUNDO AZUL COM FAIXA AMARELA NO CANTO ESQUERDO ===== */

.header-top {
  padding: 5px 0 8px !important;
  background: #0f2bc5 !important;
}

.header-top::before {
  background: #fcf251 !important;
  width: 50% !important;
  left: 0 !important;
  transform: none !important;
  clip-path: none !important;
}

/* Header bottom (menu) - diminuir altura */
.header-bottom {
  padding: 5px 0 !important;
}

/* Logo do header */
.header-bottom-logo img,
.main-logo img {
  max-height: 50px !important;
  width: auto !important;
}

.elecson-menu ul li a {
  padding: 15px 0 !important;
  line-height: 35px !important;
}

.elecson-btn a {
  padding: 8px 35px !important;
  line-height: 24px !important;
}

/* Texto do header sobre faixa amarela - cor azul para contraste */
.header-area .header-top .header-left-address {
  position: relative !important;
  left: -15px !important;
}

.header-area .header-top .header-left-address ul li {
  color: #0f2bc5 !important;
  opacity: 1 !important;
}

.header-area .header-top .header-left-address ul li i,
.header-area .header-top .header-left-address ul li .bi {
  color: #0f2bc5 !important;
  opacity: 1 !important;
}

.header-area .header-top .header-center-title ul li {
  color: #fff !important;
}

/* ===== HERO - SUBTÍTULO AMARELO ===== */

.hero-content h4 {
  color: #fcf251 !important;
}

.hero-content h1 span {
  color: #fcf251 !important;
}

/* ===== SECTION TITLES - SUBTÍTULO COM FUNDO AMARELO ===== */

.section-title .section-sub-title,
.section-sub-title {
  color: #0f2bc5 !important;
  background: #fcf251 !important;
  display: inline-block !important;
  padding: 5px 15px !important;
  border-radius: 3px !important;
}

/* ===== BOTÕES ===== */

/* Botão hero - amarelo */
.hero-btn a {
  background: #fcf251 !important;
  color: #0f2bc5 !important;
  border-color: #fcf251 !important;
}

.hero-btn a:hover {
  background: #0f2bc5 !important;
  color: #fff !important;
  border-color: #0f2bc5 !important;
}

/* Botão primário - azul com hover amarelo */
.elecson-btn a:hover {
  background: #fcf251 !important;
  border-color: #fcf251 !important;
  color: #0f2bc5 !important;
}

/* Botão secundário - amarelo */
.elecson-btn.two-donate-btn a,
.elecson-btn.secondary a,
.header-btn .elecson-btn a {
  background: #fcf251 !important;
  color: #0f2bc5 !important;
  border: 2px solid #fcf251 !important;
}

.elecson-btn.two-donate-btn a:hover,
.elecson-btn.secondary a:hover {
  background: #0f2bc5 !important;
  border-color: #0f2bc5 !important;
  color: #fff !important;
}

/* Botão do header - amarelo destaque */
.header-btn a {
  background: #fcf251 !important;
  color: #0f2bc5 !important;
  border-color: #fcf251 !important;
}

.header-btn a:hover {
  background: #0f2bc5 !important;
  color: #fff !important;
  border-color: #0f2bc5 !important;
}

/* ===== LINKS E MENU ===== */

/* Links hover */
.elecson-menu ul li a:hover {
  color: #fcf251 !important;
}

/* Header social icons hover */
.header-right-social-icon ul li a:hover {
  color: #fcf251 !important;
}

/* Sticky menu */
.sticky {
  background: #0f2bc5 !important;
}

.sticky .elecson-menu ul li a:hover {
  color: #fcf251 !important;
}

.sticky .elecson-btn a {
  background: #fcf251 !important;
  color: #0f2bc5 !important;
  border-color: #fcf251 !important;
}

.sticky .elecson-btn a:hover {
  background: #fff !important;
  color: #0f2bc5 !important;
  border-color: #fff !important;
}

/* Sub-menu */
.elecson-menu ul li ul.sub-menu {
  border-top: 5px solid #fcf251 !important;
}

.elecson-menu ul li ul.sub-menu li a:hover {
  background: #fcf251 !important;
  color: #0f2bc5 !important;
}

/* ===== FLIPING AREA - ESPAÇAMENTO ===== */

#comissoes .swiper {
  padding: 12px 4px !important;
  margin: -12px -4px !important;
}

.fliping-area {
  padding-top: 100px !important;
  padding-bottom: 80px !important;
  position: relative !important;
  z-index: 1 !important;
  background: #fff !important;
}

/* ===== FLIP CARDS - SEM GIRO, HOVER AMARELO ===== */

.fliping-card {
  perspective: none !important;
  transform-style: flat !important;
}

.fliping-layer {
  position: relative !important;
  top: auto !important;
  left: auto !important;
}

.front-card {
  transform: none !important;
  transform-style: flat !important;
  backface-visibility: visible !important;
  transition: background 0.3s ease !important;
}

.front-card-box {
  transform: none !important;
  transform-style: flat !important;
  backface-visibility: visible !important;
}

.front-content {
  transform: none !important;
  backface-visibility: visible !important;
}

.back-card {
  display: none !important;
}

.fliping-card:hover > .front-card {
  background: #fcf251 !important;
  transform: none !important;
}

.fliping-card:hover > .front-card .front-card-heading h4 {
  color: #0f2bc5 !important;
}

.front-card-icon-img span {
  background: #fcf251 !important;
}

.front-card-icon-img img {
  filter: brightness(0) saturate(100%) !important;
}

.fliping-btn a:hover {
  background: #fff !important;
  color: #0f2bc5 !important;
  border-color: #0f2bc5 !important;
}

/* ===== MISSION CARDS - LINHA AMARELA ===== */

.mission-item-box {
  min-height: 280px !important;
}

.mission-content h4 {
  white-space: nowrap !important;
  font-size: 18px !important;
}

.mission-content p {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.mission-content h4::before {
  background: #fcf251 !important;
}

.mission-item-box:hover .mission-content h4 {
  color: #0f2bc5 !important;
}

/* ===== PORTFOLIO / EMENDAS - ESPAÇAMENTO ===== */

.portfolio-area {
  padding-top: 100px !important;
  margin-top: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

/* ===== PORTFOLIO HOVER - SEMPRE ATIVO ===== */

.portfolio-item-box {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.portfolio-item-box:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2) !important;
}

.portfolio-item-box::before {
  background-image: linear-gradient(0deg, rgba(15, 43, 197, 0.80) 0%, rgba(15, 43, 197, 0.60) 20%, rgba(3, 3, 33, 0) 50%, rgba(3, 3, 33, 0) 100%) !important;
  opacity: 1 !important;
  visibility: visible !important;
  bottom: 0 !important;
  transform: translateY(0) !important;
}

.portfolio-item-box .portfolio-content {
  opacity: 1 !important;
  visibility: visible !important;
  bottom: 30px !important;
  transform: translateY(0) !important;
}

.portfolio-content h4,
.portfolio-content span {
  color: #ffffff !important;
  opacity: 1 !important;
}

.portfolio-content span::before {
  background: #ffffff !important;
}

/* ===== SERVICE CARDS ===== */

.service-front-card {
  border-color: rgba(252, 242, 81, 0.5) !important;
}

.service-back-card {
  border-color: #fcf251 !important;
  background: #fcf251 !important;
}

.service-back-content h4,
.service-back-content p {
  color: #0f2bc5 !important;
}

/* ===== DONATE SECTION ===== */

.donate-up-icon span {
  background: #fcf251 !important;
  color: #0f2bc5 !important;
}

/* Contadores de valores - texto visível */
.donate-count-number h6,
.donate-count-number span {
  color: #fff !important;
}

.donate-count-item p {
  color: #fff !important;
}

/* ===== BLOG - DATA AMARELA ===== */

.blog-details-time {
  background: #0f2bc5 !important;
}

.blog-details-time .blog-day {
  color: #fcf251 !important;
}

.blog-details-time .blog-year {
  color: #0f2bc5 !important;
}

.blog-inner-content p {
  color: #59a446 !important;
}

/* ===== TAMANHO DOS TEXTOS DE DESCRIÇÃO ===== */
.section-paragraph,
.section-paragraph p {
  font-size: 19px !important;
  line-height: 30px !important;
}

.mission-content p {
  font-size: 17px !important;
  line-height: 27px !important;
}

.service-right-paragraph p {
  font-size: 19px !important;
  line-height: 30px !important;
}

.donate-paragraph p {
  font-size: 18px !important;
  line-height: 29px !important;
  width: 100% !important;
}

.team-top-content p {
  font-size: 19px !important;
  line-height: 30px !important;
}

/* Esconder botão Saiba Mais nos eventos */
.blog-btn,
.blog-inner-content .elecson-btn {
  display: none !important;
}

.blog-btn a:hover {
  background: #fcf251 !important;
  border-color: #fcf251 !important;
  color: #0f2bc5 !important;
}

/* ===== TESTIMONIAL ===== */

.testi-quote-icon span {
  color: #fcf251 !important;
}

.testi-shape1 {
  opacity: 0.1;
}

/* ===== TEAM ===== */

.team-social-icon {
  background: linear-gradient(to top, #0f2bc5 0%, rgba(15, 43, 197, 0.8) 100%) !important;
}

.team-social-icon ul li a:hover {
  background: #fcf251 !important;
  color: #0f2bc5 !important;
}

/* ===== FOOTER ===== */

.widgets-logo {
  text-align: left !important;
}

.widgets-logo img {
  max-width: 200px !important;
  height: auto !important;
}

.widget-title::before,
.widget-title::after {
  background: #fcf251 !important;
}

.widget-social-icon ul li a {
  background: #CFD4F5 !important;
  color: #0f2bc5 !important;
}

.widget-social-icon ul li a:hover {
  background: #fcf251 !important;
  color: #0f2bc5 !important;
}

/* Espaçamento nos itens de contato */
.footer-widget-list li {
  margin-bottom: 12px !important;
  line-height: 1.6 !important;
}

.widget-contact-form form input {
  width: 100% !important;
  box-sizing: border-box !important;
}

.widget-subscribe-btn {
  display: block !important;
}

.widget-subscribe-btn a {
  display: block !important;
  text-align: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: #fcf251 !important;
  color: #0f2bc5 !important;
}

.widget-subscribe-btn a:hover {
  background: #0f2bc5 !important;
  color: #fff !important;
}

.footer-widget-list li a:hover {
  color: #fcf251 !important;
}

/* ===== HERO CAROUSEL NAV ===== */

#customers-hero .owl-nav .owl-next:hover,
#customers-hero .owl-nav .owl-prev:hover {
  background: #fcf251 !important;
  -webkit-text-stroke-color: #0f2bc5 !important;
}

/* ===== OWL CAROUSEL DOTS ===== */

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background: #fcf251 !important;
}

/* ===== COUNTER SECTION ===== */

.counter-icon {
  background: #fcf251 !important;
}

/* ===== VIDEO ICON ===== */

.video-icon a span {
  color: #fcf251 !important;
}

.video-icon a {
  background: #fcf251 !important;
}

/* ===== SCROLL UP BUTTON ===== */

.prgoress_indicator svg path {
  stroke: #fcf251 !important;
}

.prgoress_indicator:hover svg path {
  stroke: #0f2bc5 !important;
}

/* ===== LOADER ===== */

.loader {
  border-top-color: #fcf251 !important;
}

.loder-section {
  background: #0f2bc5 !important;
}

/* ===== BREADCRUMB ===== */

.breadcumb-title h4 {
  color: #fcf251 !important;
}

/* ===== FORM INPUTS FOCUS ===== */

input:focus,
textarea:focus,
select:focus {
  border-color: #fcf251 !important;
  box-shadow: 0 0 0 3px rgba(241, 188, 55, 0.2) !important;
}

/* ===== LINKS GERAIS ===== */

a:hover {
  color: #fcf251;
}

/* ===== BADGES E TAGS ===== */

.badge-highlight,
.tag-highlight {
  background: #fcf251;
  color: #0f2bc5;
}

/* ===== ESTADOS DE SUCESSO (VERDE) ===== */

.alert-success,
.success-message {
  background-color: rgba(89, 164, 70, 0.1);
  border-color: #59a446;
  color: #59a446;
}

.success-icon,
.check-icon {
  color: #59a446;
}

/* ===== SELECTION COLOR ===== */

::selection {
  background: #fcf251;
  color: #0f2bc5;
}

::-moz-selection {
  background: #fcf251;
  color: #0f2bc5;
}

/* ===== MOBILE MENU ===== */

.mean-container .mean-bar {
  background: #0f2bc5 !important;
}

/* Esconder texto "elecson" e mostrar logo */
.mean-container .mean-bar::before {
  content: "" !important;
  display: block !important;
  background-image: url('/assets/images/logo/logo-branca.png') !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  width: 150px !important;
  height: 45px !important;
  position: absolute !important;
  left: 15px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

/* Manter o menu hambúrguer visível */
.mean-container a.meanmenu-reveal {
  display: block !important;
}

.mean-container a.meanmenu-reveal span {
  background: #fcf251 !important;
}

.mean-container .mean-nav ul li a:hover {
  color: #fcf251 !important;
}

/* ===== MOBILE - TEXTOS CENTRALIZADOS ===== */
@media (max-width: 991px) {
  /* Centralizar tudo */
  h1, h2, h3, h4, h5, h6, p, span, li, a {
    text-align: center !important;
  }

  /* Hero - organização e tamanhos com espaçamento UX */
  .hero-content,
  .hero-content h1,
  .hero-content h4,
  .hero-content p,
  .politics-hero-desc,
  .politics-hero-box {
    text-align: center !important;
  }

  .hero-content {
    padding: 0 20px !important;
  }

  .hero-content h4 {
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    margin-bottom: 16px !important;
    opacity: 0.9 !important;
  }

  .hero-partido {
    display: none !important;
  }

  .hero-content h1 {
    font-size: 40px !important;
    line-height: 1.15 !important;
    margin-bottom: 24px !important;
    font-weight: 700 !important;
  }

  .politics-hero-desc,
  .politics-hero-desc p {
    font-size: 16px !important;
    line-height: 1.7 !important;
    padding: 0 10px !important;
    margin-bottom: 32px !important;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
    color: rgba(255, 255, 255, 0.9) !important;
  }

  .hero-shape1 {
    display: none !important;
  }

  .hero-active {
    height: auto !important;
    min-height: 82vh !important;
    padding: 100px 0 40px !important;
    display: flex !important;
    align-items: flex-start !important;
    padding-top: 140px !important;
  }

  .hero-btn,
  .elecson-btn.hero-btn {
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    margin-top: 8px !important;
  }

  .hero-btn a {
    padding: 14px 32px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
  }

  /* Seções - textos centralizados e tamanho consistente */
  .section-title,
  .section-title h2,
  .section-title h4,
  .section-sub-title,
  .mission-content,
  .mission-content h4,
  .mission-content p,
  .about-content,
  .about-content h2,
  .about-content p,
  .about-desc,
  .about-desc p,
  .blog-inner-content,
  .blog-inner-content h4,
  .blog-inner-content p,
  .portfolio-content,
  .portfolio-content h4,
  .portfolio-content span,
  .donate-content,
  .donate-content h2,
  .donate-content p,
  .testi-content,
  .testi-content p,
  .counter-content,
  .counter-content h2,
  .counter-content p {
    text-align: center !important;
  }

  /* Emendas - texto alinhado à esquerda */
  .portfolio-content,
  .portfolio-content h4,
  .portfolio-content span {
    text-align: left !important;
  }
  .emendas-full-wrap .portfolio-content {
    left: 15px !important;
  }

  /* Tamanho dos textos das seções igual ao hero */
  .section-title p,
  .about-content p,
  .about-desc p,
  .mission-content p,
  .blog-inner-content p,
  .donate-content p,
  .testi-content p,
  .counter-content p,
  .service-front-content p,
  .service-back-content p,
  .front-content p,
  .back-content p {
    font-size: 18px !important;
    line-height: 1.7 !important;
    color: inherit !important;
  }

  .service-back-content p,
  .service-back-content h4 {
    color: #0f2bc5 !important;
  }

  .section-paragraph,
  .section-paragraph p,
  .mission-content p,
  .service-right-paragraph p,
  .donate-paragraph p,
  .team-top-content p {
    font-size: 18px !important;
    line-height: 1.7 !important;
  }

  /* Títulos das seções */
  .section-title h2,
  .about-content h2,
  .donate-content h2 {
    font-size: 28px !important;
    line-height: 1.3 !important;
    margin-bottom: 20px !important;
  }

  /* Subtítulos das seções */
  .section-sub-title,
  .section-title h4 {
    font-size: 14px !important;
    letter-spacing: 1px !important;
    margin-bottom: 12px !important;
  }

  /* Cards - títulos e descrições */
  .mission-content h4,
  .blog-inner-content h4,
  .front-content h4,
  .back-content h4,
  .service-front-content h4,
  .service-back-content h4 {
    font-size: 18px !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
  }

  /* About / Prestação de Contas - menos espaço no topo */
  .about-area {
    padding-top: 20px !important;
  }

  .mission-area {
    padding-top: 80px !important;
  }

  .fliping-area {
    padding-top: 50px !important;
  }

  #comissoes .swiper-slide {
    padding: 0 10px !important;
  }

  .portfolio-area {
    padding-top: 70px !important;
    padding-bottom: 20px !important;
  }

  .service-area {
    padding-top: 70px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  #servicos .service-fliping-card {
    min-height: 200px !important;
    height: 200px !important;
    box-shadow: 0px 8px 30px rgba(0, 0, 0, 0.25) !important;
  }

  #servicos .service-front-card,
  #servicos .service-back-card {
    min-height: 200px !important;
    height: 200px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #servicos .service-front-card-box,
  #servicos .service-back-card-box {
    width: 100% !important;
  }

  /* Turismo e Eventos */
  #turismo,
  .blog-area {
    padding-top: 70px !important;
  }

  /* Donate / Itaperuna - Layout organizado */
  #itaperuna,
  .donate-area {
    padding-top: 100px !important;
    padding-bottom: 60px !important;
  }

  #itaperuna .donate-heading-title {
    margin-top: 0 !important;
  }

  .donate-item-box {
    padding: 30px 0px !important;
  }

  .donate-content {
    margin-bottom: 30px !important;
  }

  /* Esconder ícone superior redundante */
  .donate-up-icon {
    display: none !important;
  }

  /* Título principal */
  .donate-heading-title {
    margin-bottom: 20px !important;
  }

  .donate-heading-title h2 {
    font-size: 26px !important;
    line-height: 1.2 !important;
    margin-bottom: 0 !important;
  }

  .donate-heading-title h2:first-child {
    font-size: 18px !important;
    font-weight: 400 !important;
    opacity: 0.9 !important;
    margin-bottom: 5px !important;
  }

  /* Texto descrição */
  .donate-paragraph {
    margin-bottom: 0 !important;
  }

  .donate-paragraph p,
  .donate-content p {
    color: #fff !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
  }

  /* Donate - esconder botões no mobile */
  .donate-btn {
    display: none !important;
  }

  .donate-btn {
    justify-content: center !important;
    width: 100% !important;
  }

  .donate-btn .elecson-btn a {
    font-size: 16px !important;
    padding: 14px 30px !important;
  }

  /* Carrosséis - barra de controle (dots) padronizada igual Eventos Apoiados */
  .owl-carousel .owl-dots {
    text-align: center !important;
    position: relative !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    margin-top: 25px !important;
    display: flex !important;
    justify-content: center !important;
    gap: 6px !important;
  }

  .owl-carousel .owl-dots .owl-dot {
    background: #dddddd !important;
    display: inline-block !important;
    height: 5px !important;
    width: 30px !important;
    border-radius: 10px !important;
    margin: 0 !important;
    transition: all 0.3s ease !important;
  }

  .owl-carousel .owl-dots .owl-dot.active {
    background: #0f2bc5 !important;
    width: 40px !important;
  }

  .owl-carousel .owl-dots .owl-dot span {
    display: none !important;
  }

  /* Esconder setas de navegação no mobile */
  .owl-carousel .owl-nav {
    display: none !important;
  }

  /* Eventos - data centralizada no card */
  .blog-details-time {
    left: 50% !important;
    transform: translateX(-50%) !important;
    right: auto !important;
  }

  /* Mission cards - títulos em uma linha */
  .mission-content h4 br {
    display: none !important;
  }

  .mission-content h4 {
    white-space: nowrap !important;
  }

  /* Região Noroeste - menos espaço no topo */
  .team-area {
    padding-top: 50px !important;
  }

  /* Footer - Layout organizado mobile */
  .footer-area {
    padding-top: 60px !important;
    padding-bottom: 30px !important;
  }

  .footer-area .row {
    gap: 0 !important;
  }

  .footer-area [class*="col-"] {
    margin-bottom: 40px !important;
  }

  /* Logo e info da empresa */
  .widgets-company-info {
    text-align: center !important;
    padding: 0 20px !important;
  }

  .widgets-logo {
    text-align: center !important;
    margin-bottom: 20px !important;
  }

  .widgets-logo img {
    max-width: 180px !important;
    margin: 0 auto !important;
  }

  .widgets-company-info p {
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    margin-bottom: 20px !important;
  }

  /* Redes sociais */
  .widget-social-icon {
    margin-top: 20px !important;
  }

  .widget-social-icon ul {
    justify-content: center !important;
    display: flex !important;
    gap: 12px !important;
  }

  .widget-social-icon ul li a {
    width: 45px !important;
    height: 45px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: #CFD4F5 !important;
    color: #0f2bc5 !important;
    border: none !important;
    transition: all 0.3s ease !important;
  }

  /* Títulos das seções do footer */
  .widget-title {
    text-align: center !important;
    font-size: 18px !important;
    margin-bottom: 20px !important;
    color: #fff !important;
    position: relative !important;
    padding-bottom: 12px !important;
  }

  .widget-title::before,
  .widget-title::after {
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  /* Navegação - links em grid */
  .widget-nav-menu {
    text-align: center !important;
    padding: 0 15px !important;
  }

  .footer-widget-list {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px 20px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  .footer-widget-list li {
    text-align: center !important;
    margin: 0 !important;
  }

  .footer-widget-list li a,
  .footer-widget-list li {
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.85) !important;
    text-align: center !important;
  }

  .footer-widget-list li i {
    margin-right: 8px !important;
    color: #fcf251 !important;
  }

  /* Newsletter */
  .widget-contact-form {
    max-width: 300px !important;
    margin: 0 auto !important;
  }

  .widget-contact-form input {
    width: 100% !important;
    padding: 14px 16px !important;
    border-radius: 8px !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    background: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
    font-size: 14px !important;
    margin-bottom: 12px !important;
  }

  .widget-contact-form input::placeholder {
    color: rgba(255, 255, 255, 0.6) !important;
  }

  .widget-subscribe-btn {
    text-align: center !important;
  }

  .widget-subscribe-btn a {
    display: block !important;
    width: 100% !important;
    padding: 12px 30px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    box-sizing: border-box !important;
  }

  .widget-nav-menu p {
    text-align: center !important;
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.85) !important;
    margin-bottom: 15px !important;
  }

  /* Copyright */
  .widgets-copyright-bottom {
    margin-top: 20px !important;
    padding-top: 20px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  }

  .widgets-copyright,
  .copyright,
  .copyright p {
    text-align: center !important;
  }

  .copyright p {
    font-size: 12px !important;
    color: rgba(255, 255, 255, 0.7) !important;
    line-height: 1.6 !important;
  }

  /* Cards e boxes */
  .fliping-front-card,
  .fliping-back-card,
  .front-content,
  .front-content h4,
  .front-content p,
  .back-content,
  .back-content h4,
  .back-content p,
  .service-front-card,
  .service-front-content,
  .service-front-content h4,
  .service-front-content p,
  .service-back-card,
  .service-back-content,
  .service-back-content h4,
  .service-back-content p,
  .mission-item-box,
  .team-content,
  .team-content h4,
  .team-content span {
    text-align: center !important;
  }

  /* Containers e rows */
  .container,
  .row,
  [class*="col-"] {
    text-align: center !important;
  }

  /* Listas */
  ul, ol {
    text-align: center !important;
    padding-left: 0 !important;
    list-style-position: inside !important;
  }

  /* Ícones e imagens centralizados */
  .mission-icon,
  .front-card-icon,
  .front-card-icon-img,
  .service-icon,
  .counter-icon,
  .donate-up-icon {
    margin: 0 auto !important;
    text-align: center !important;
  }

  /* Botões centralizados */
  .elecson-btn,
  .fliping-btn,
  .about-btn {
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

/* ===== SMOOTH SCROLL ===== */

html {
  scroll-behavior: smooth;
}

/* Offset para compensar o header fixo */
section[id] {
  scroll-margin-top: 80px;
}

/* ===== HERO - ALTURA E BACKGROUND ===== */

.hero-active {
  height: 85vh !important;
  background-image: url('/assets/images/hero-bg/hero-bg.webp') !important;
  background-size: cover !important;
  background-position: top center !important;
  background-repeat: no-repeat !important;
}

/* Hero logo/shape maior */
.hero-shape1 {
  max-width: 550px !important;
  width: 550px !important;
  height: auto !important;
  top: -60px !important;
  animation: none !important;
}

/* Imagem fundo brasil - esconder a antiga */
.hero-shape3 {
  display: none !important;
}

/* ===== BOTÃO WHATSAPP FIXO ===== */
.whatsapp-fixed-btn {
  position: fixed;
  right: 20px;
  bottom: 30px;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #25d366;
  color: #fff !important;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none !important;
  box-shadow: 0 4px 15px rgba(37, 211, 102, 0.4);
  transition: transform 0.2s, box-shadow 0.2s;
}

.whatsapp-fixed-btn i {
  font-size: 26px;
}

.whatsapp-fixed-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.6);
  color: #fff !important;
}

/* Bandeira na divisa amarelo/azul do header top */
.header-top {
  position: relative !important;
}

.header-flag {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  max-width: 40px !important;
  width: 40px !important;
  height: auto !important;
  z-index: 100 !important;
  animation: header-flag-sutil 8s ease-in-out infinite !important;
}

@keyframes header-flag-sutil {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
