/*--------------------------------------------------------------
# CSS
--------------------------------------------------------------*/
:root{
    --azul-topo:#014A99;
    --rosa-doar:#FF438C;
    --texto:#1b1f2a;
    --cinza:#5b6475;
    --borda:#e8edf5;
    --fundo:#ffffff;
    --sombra: 0 10px 25px rgba(1, 74, 153, .12);
    --radius: 16px;
  }

  /* Reset básico */
  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{ margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color:var(--texto); }
  a{ text-decoration:none; color:inherit; }
  .container{
    width:min(1180px, 100% - 32px);
    margin:0 auto;
  }

  /* ======= 1ª Linha: Topbar ======= */
  .topbar{
    background: var(--azul-topo);
    color:#fff;
    font-size: .95rem;
  }
  .topbar-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding: 10px 0;
  }
  .topbar-left{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
  }
  .topbar-link{
	  display:inline-flex;
	  align-items:center;
	  gap:8px;
	  opacity:.95;
	  transition: opacity .2s ease, transform .2s ease, color .2s ease; /* adiciona transição de cor */
	  line-height:1.2;
	}

	.topbar-link:hover{
	  opacity:1;
	  transform: translateY(-1px);
	  color: #2F9EF6; /* NOVA COR AO PASSAR O MOUSE */
	}
  .topbar .icon{
    width:20px;
    height:20px;
    display:inline-grid;
    place-items:center;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,.15));
  }
  .sep{
    opacity:.65;
  }

  /* Botão Doe Agora */
  .btn-doar{
    background: var(--rosa-doar);
    color:#fff;
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding: 10px 14px;
    border-radius: 999px;
    font-weight: 800;
    letter-spacing:.2px;
    box-shadow: 0 10px 20px rgba(255,67,140,.25);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
    white-space:nowrap;
  }
  .btn-doar:hover{
	  transform: translateY(-2px);
	  box-shadow: 0 14px 26px rgba(255,67,140,.33);
	  filter:saturate(1.05);
	  color: #FFC3DA; /* NOVA COR DO TEXTO AO PASSAR O MOUSE */
	}
  .btn-doar:active{
    transform: translateY(0);
  }
  .btn-doar .heart{
    display:inline-block;
    transform: translateY(-.5px);
    text-shadow: 0 4px 10px rgba(0,0,0,.18);
  }

  /* ======= 2ª Linha: Logo + Menu ======= */
  .navwrap{
    background: var(--fundo);
    border-bottom: 1px solid var(--borda);
    position: sticky;
    top: 0;
    z-index: 999;
    box-shadow: 0 8px 18px rgba(0,0,0,.04);
  }
  .nav-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding: 14px 0;
  }

  .brand{
    display:flex;
    align-items:center;
    gap:12px;
    min-width: 180px;
  }
  .brand-logo{
    height: 100px;
    width:auto;
    object-fit:contain;
    display:block;
  }

  /* Menu desktop */
  .nav{ }
  .menu{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    gap: 6px;
  }
  .menu > li{
    position:relative;
  }
  .menu-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding: 10px 12px;
    border-radius: 999px;
    font-weight: 700;
    color: var(--texto);
    transition: background .2s ease, color .2s ease, transform .2s ease;
  }
  .menu-link:hover{
    background: rgba(1, 74, 153, .08);
    color: var(--azul-topo);
    transform: translateY(-1px);
  }
  .menu-link.active{
    background: rgba(1, 74, 153, .10);
    color: var(--azul-topo);
  }
  .chev{
    font-size:.9em;
    opacity:.8;
  }

  /* Submenu */
  .has-submenu .submenu{
    list-style:none;
    padding: 10px;
    margin:0;
    position:absolute;
    left:0;
    top: calc(100% + 10px);
    min-width: 240px;
    background:#fff;
    border:1px solid var(--borda);
    border-radius: var(--radius);
    box-shadow: var(--sombra);
    opacity:0;
    visibility:hidden;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  }
  .has-submenu:hover .submenu,
  .has-submenu:focus-within .submenu{
    opacity:1;
    visibility:visible;
    transform: translateY(0);
  }

  .submenu li a{
    display:block;
    padding: 10px 12px;
    border-radius: 12px;
    color: var(--texto);
    font-weight: 650;
    transition: background .2s ease, color .2s ease, transform .2s ease;
  }
  .submenu li a:hover{
    background: rgba(255,67,140,.10);
    color: #b1004a;
    transform: translateX(2px);
  }

  /* ======= Mobile ======= */
  .nav-toggle{
    display:none;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    border: 1px solid var(--borda);
    background: #fff;
    box-shadow: 0 8px 16px rgba(0,0,0,.05);
    cursor:pointer;
    padding: 10px;
  }
  .nav-toggle span{
    display:block;
    height:2px;
    background: var(--azul-topo);
    margin: 6px 0;
    border-radius: 2px;
  }

  @media (max-width: 980px){
    .brand-logo{ height: 52px; }

    .nav-toggle{ display:inline-block; }

    .nav{
      position:absolute;
      left:0;
      right:0;
      top: 100%;
      background:#fff;
      border-bottom:1px solid var(--borda);
      box-shadow: 0 16px 30px rgba(0,0,0,.08);
      padding: 12px 0;
      opacity:0;
      visibility:hidden;
      transform: translateY(-6px);
      transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    }
    .nav.open{
      opacity:1;
      visibility:visible;
      transform: translateY(0);
    }

    .menu{
      flex-direction:column;
      align-items:stretch;
      gap: 4px;
      padding: 0 16px;
    }
    .menu-link{
      border-radius: 14px;
      padding: 12px 12px;
      justify-content:space-between;
    }

    /* Submenu no mobile: vira "bloco" */
    .has-submenu .submenu{
      position:static;
      opacity:1;
      visibility:visible;
      transform:none;
      box-shadow:none;
      border:1px solid var(--borda);
      border-radius: 14px;
      margin: 6px 0 10px;
      padding: 8px;
    }
  }

  @media (max-width: 520px){
    .topbar-inner{
      flex-direction:column;
      align-items:flex-start;
      gap:10px;
    }
    .topbar-right{ width:100%; }
    .btn-doar{ width:100%; justify-content:center; }
  }

/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  overflow: hidden;
  background: #fff;
}

#preloader:before {
  content: "";
  position: fixed;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  border: 6px solid #0C51AD;
  border-top-color: #e2eefd;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: animate-preloader 1s linear infinite;
}

@keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 996;
  background: #0C51AD;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  transition: all 0.4s;
}

.back-to-top i {
  font-size: 1.75em;
  color: #fff;
  line-height: 0;
}

.back-to-top:hover {
  background: #3284f1;
  color: #fff;
}

.back-to-top.active {
  visibility: visible;
  opacity: 1;
}

/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  [data-aos-delay] {
    transition-delay: 0 !important;
  }
}

/*--------------------------------------------------------------
# Top Bar
--------------------------------------------------------------*/
#topbar {
  background: #0C51AD;
  height: 40px;
  font-size: 0.875em;
  transition: all 0.5s;
  color: #fff;
  padding: 0;
}

#topbar .contact-info i {
  font-style: normal;
  color: #fff;
}

#topbar .contact-info i a,
#topbar .contact-info i span {
  padding-left: 5px;
  color: #fff;
}

#topbar .contact-info i a {
  line-height: 0;
  transition: 0.3s;
  transition: 0.3s;
}

#topbar .contact-info i a:hover {
  color: #fff;
  text-decoration: underline;
}

#topbar .social-links a {
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.5em; /* defina o tamanho do ícone */
  line-height: 0;
  transition: 0.3s;
  margin-left: 20px;
}

#topbar .social-links a:hover {
  color: white;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {
  background: #fff;
  transition: all 0.5s;
  z-index: 997;
  height: 100px;
  box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.1);
}

#header.fixed-top {
  height: 80px;
}

#header .logo {
  font-size: 30px;
  margin: 0;
  padding: 0;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.8px;
  font-family: "Poppins", sans-serif;
}

#header .logo a {
  color: #222222;
}

#header .logo a span {
  color: #0C51AD;
}

#header .logo img {
  max-height: 74px;
}

.scrolled-offset {
  margin-top: 70px;
}

/*--------------------------------------------------------------
# Container dos ícones
--------------------------------------------------------------*/
.social-icons{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:10px;
}

/* Base dos botões */
.social{
  width:36px;
  height:36px;
  border-radius:8px; /* quadrado com leve suavidade */
  display:flex;
  align-items:center;
  justify-content:center;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

/* Ícones SVG */
.social svg{
  width:18px;
  height:18px;
  fill:#fff;
}

/* Instagram gradiente */
.insta{
  background: radial-gradient(circle at 30% 107%,
    #fdf497 0%, #fdf497 5%,
    #fd5949 45%, #d6249f 60%,
    #285AEB 90%);
}

/* Facebook azul */
.face{
  background:#1877F2;
}

/* Hover animado */
.social:hover{
  transform: translateY(-4px) scale(1.08);
  box-shadow: 0 10px 18px rgba(0,0,0,.18);
  filter: brightness(1.1);
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/**
* Desktop Navigation 
*/
.navbar {
  padding: 0;
}

.navbar ul {
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none;
  align-items: center;
}

.navbar li {
  position: relative;
}

.navbar>ul>li {
  white-space: nowrap;
  padding: 10px 0 10px 28px;
}

.navbar a,
.navbar a:focus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 3px;
  font-size: 1em; /*-- TAMANHO DO TEXTO NA LINHA DE MENUS --*/
  font-weight: 400;
  color: #222222;
  white-space: nowrap;
  transition: 0.3s;
  position: relative;
}

.navbar a i,
.navbar a:focus i {
  font-size: 0.75em;
  line-height: 0;
  margin-left: 5px;
}

.navbar>ul>li>a:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: -6px;
  left: 0;
  background-color: #0C51AD;
  visibility: hidden;
  width: 0px;
  transition: all 0.3s ease-in-out 0s;
}

.navbar a:hover:before,
.navbar li:hover>a:before,
.navbar .active:before {
  visibility: visible;
  width: 100%;
}

.navbar a:hover,
.navbar .active,
.navbar .active:focus,
.navbar li:hover>a {
  color: #0C51AD;
}

.navbar .dropdown ul {
  display: block;
  position: absolute;
  left: 28px;
  top: calc(100% + 30px);
  margin: 0;
  padding: 10px 0;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  background: #fff;
  box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
  transition: 0.3s;
}

.navbar .dropdown ul li {
  min-width: 200px;
}

.navbar .dropdown ul a {
  padding: 10px 20px;
  font-weight: 400;
}

.navbar .dropdown ul a i {
  font-size: 0.75em;
}

.navbar .dropdown ul a:hover,
.navbar .dropdown ul .active:hover,
.navbar .dropdown ul li:hover>a {
  color: #0C51AD;
}

.navbar .dropdown:hover>ul {
  opacity: 1;
  top: 100%;
  visibility: visible;
}

.navbar .dropdown .dropdown ul {
  top: 0;
  left: calc(100% - 30px);
  visibility: hidden;
}

.navbar .dropdown .dropdown:hover>ul {
  opacity: 1;
  top: 0;
  left: 100%;
  visibility: visible;
}

@media (max-width: 1366px) {
  .navbar .dropdown .dropdown ul {
    left: -90%;
  }

  .navbar .dropdown .dropdown:hover>ul {
    left: -100%;
  }
}

/**
* Mobile Navigation 
*/
.mobile-nav-toggle {
  color: #222222;
  font-size: 1.75em;
  cursor: pointer;
  display: none;
  line-height: 0;
  transition: 0.5s;
}

.mobile-nav-toggle.bi-x {
  color: #fff;
}

@media (max-width: 991px) {
  .mobile-nav-toggle {
    display: block;
  }

  .navbar ul {
    display: none;
  }
}

.navbar-mobile {
  position: fixed;
  overflow: hidden;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(9, 9, 9, 0.9);
  transition: 0.3s;
  z-index: 999;
}

.navbar-mobile .mobile-nav-toggle {
  position: absolute;
  top: 15px;
  right: 15px;
}

.navbar-mobile ul {
  display: block;
  position: absolute;
  top: 55px;
  right: 15px;
  bottom: 15px;
  left: 15px;
  padding: 10px 0;
  background-color: #fff;
  overflow-y: auto;
  transition: 0.3s;
}

.navbar-mobile a,
.navbar-mobile a:focus {
  padding: 10px 20px;
  font-size: 0.9375em;
  color: #222222;
}

.navbar-mobile>ul>li {
  padding: 0;
}

.navbar-mobile a:hover:before,
.navbar-mobile li:hover>a:before,
.navbar-mobile .active:before {
  visibility: hidden;
}

.navbar-mobile a:hover,
.navbar-mobile .active,
.navbar-mobile li:hover>a {
  color: #0C51AD;
}

.navbar-mobile .getstarted,
.navbar-mobile .getstarted:focus {
  margin: 15px;
}

.navbar-mobile .dropdown ul {
  position: static;
  display: none;
  margin: 10px 20px;
  padding: 10px 0;
  z-index: 99;
  opacity: 1;
  visibility: visible;
  background: #fff;
  box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
}

.navbar-mobile .dropdown ul li {
  min-width: 200px;
}

.navbar-mobile .dropdown ul a {
  padding: 10px 20px;
}

.navbar-mobile .dropdown ul a i {
  font-size: 0.75em;
}

.navbar-mobile .dropdown ul a:hover,
.navbar-mobile .dropdown ul .active:hover,
.navbar-mobile .dropdown ul li:hover>a {
  color: #0C51AD;
}

.navbar-mobile .dropdown>.dropdown-active {
  display: block;
}

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
#hero {
  width: 100%;
  height: 50vh; /*-- ALTURA DO QUADRO --*/
  background: url("../img/hero-bg.jpg") top left;
  background-size: cover;
  position: relative;
}

#hero:before {
  content: "";
  background: rgba(255, 255, 255, 0.0); /*-- 0.6 EU COLOCO OPACIDADE NA IMAGEM DO QUADRO --*/
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
}

#hero .container {
  position: relative;
}

#hero h1 {
  margin: 0;
  font-size: 48px;
  font-weight: 700;
  line-height: 56px;
  color: #222222;
  font-family: "Poppins", sans-serif;
}

#hero h1 span {
  color: #0C51AD;
}

#hero h2 {
  color: #555555;
  margin: 5px 0 30px 0;
  font-size: 1.5em;
  font-weight: 400;
}

#hero .btn-get-started {
  font-family: "Roboto", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 0.875em;
  letter-spacing: 1px;
  display: inline-block;
  padding: 10px 28px;
  border-radius: 4px;
  transition: 0.5s;
  color: #fff;
  background: #0C51AD;
}

#hero .btn-get-started:hover {
  background: #247cf0;
}

#hero .btn-watch-video {
  font-size: 1em;
  transition: 0.5s;
  margin-left: 25px;
  color: #222222;
  font-weight: 600;
  display: flex;
  align-items: center;
}

#hero .btn-watch-video i {
  color: #0C51AD;
  font-size: 2em;
  transition: 0.3s;
  line-height: 0;
  margin-right: 8px;
}

#hero .btn-watch-video:hover {
  color: #0C51AD;
}

#hero .btn-watch-video:hover i {
  color: #D1D1D1;
}

@media (min-width: 1024px) {
  #hero {
    background-attachment: fixed;
  }
}

@media (max-width: 768px) {
  #hero {
    height: 100vh;
  }

  #hero h1 {
    font-size: 1.75em;
    line-height: 36px;
  }

  #hero h2 {
    font-size: 1.125em;
    line-height: 24px;
    margin-bottom: 30px;
  }

  #hero .btn-get-started,
  #hero .btn-watch-video {
    font-size: 0.8125em;
  }
}

@media (max-height: 500px) {
  #hero {
    height: 120vh;
  }
}

/*--------------------------------------------------------------
# Sections General
--------------------------------------------------------------*/
section {
  padding: 60px 0;
  overflow: hidden;
}

.section-bg {
  background-color: #f6f9fe;
}

.section-title {
  text-align: center;
  padding-bottom: 30px;
}

.section-title h2 {
  font-size: 0.8125em;
  letter-spacing: 1px;
  font-weight: 700;
  padding: 8px 20px;
  margin: 0;
  background: #e7f1fd;
  color: #0C51AD;
  display: inline-block;
  text-transform: uppercase;
  border-radius: 50px;
}

.section-title h3 {
  margin: 15px 0 0 0;
  font-size: 2em;
  font-weight: 700;
}

.section-title h3 span {
  color: #0C51AD;
}

.section-title p {
  margin: 15px auto 0 auto;
  font-weight: 600;
}

@media (min-width: 1024px) {
  .section-title p {
    width: 50%;
  }
}

/*--------------------------------------------------------------
# Breadcrumbs
--------------------------------------------------------------*/
.breadcrumbs {
  padding: 20px 0;
  background-color: #f1f6fe;
  min-height: 40px;
}

.breadcrumbs h2 {
  font-size: 1.5em;
  font-weight: 300;
  margin: 0;
}

@media (max-width: 992px) {
  .breadcrumbs h2 {
    margin: 0 0 10px 0;
  }
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.875em;
}

.breadcrumbs ol li+li {
  padding-left: 10px;
}

.breadcrumbs ol li+li::before {
  display: inline-block;
  padding-right: 10px;
  color: #6c757d;
  content: "/";
}

@media (max-width: 768px) {
  .breadcrumbs .d-flex {
    display: block !important;
  }

  .breadcrumbs ol {
    display: block;
  }

  .breadcrumbs ol li {
    display: inline-block;
  }
}

/*--------------------------------------------------------------
# Featured Services
--------------------------------------------------------------*/
.featured-services .icon-box {
  padding: 30px;
  position: relative;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 0 29px 0 rgba(68, 88, 144, 0.12);
  transition: all 0.3s ease-in-out;
  border-radius: 8px;
  z-index: 1;
}

.featured-services .icon-box::before {
  content: "";
  position: absolute;
  background: #cbe0fb;
  right: 0;
  left: 0;
  bottom: 0;
  top: 100%;
  transition: all 0.3s;
  z-index: -1;
}

.featured-services .icon-box:hover::before {
  background: #0C51AD;
  top: 0;
  border-radius: 0px;
}

.featured-services .icon {
  margin-bottom: 15px;
}

.featured-services .icon i {
  font-size: 48px;
  line-height: 1;
  color: #0C51AD;
  transition: all 0.3s ease-in-out;
}

.featured-services .title {
  font-weight: 700;
  margin-bottom: 15px;
  font-size: 1.125em;
}

.featured-services .title a {
  color: #111;
}

.featured-services .description {
  font-size: 0.9375em;
  line-height: 28px;
  margin-bottom: 0;
}

.featured-services .icon-box:hover .title a,
.featured-services .icon-box:hover .description {
  color: #fff;
}

.featured-services .icon-box:hover .icon i {
  color: #fff;
}

/*--------------------------------------------------------------
# About
--------------------------------------------------------------*/
.about .content h3 {
  font-weight: 600;
  font-size: 26px;
}

.about .content ul {
  list-style: none;
  padding: 0;
}

.about .content ul li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 35px;
}

.about .content ul li:first-child {
  margin-top: 35px;
}

.about .content ul i {
  background: #fff;
  box-shadow: 0px 6px 15px rgba(16, 110, 234, 0.12);
  font-size: 1.5em;
  padding: 20px;
  margin-right: 15px;
  color: #0C51AD;
  border-radius: 50px;
}

.about .content ul h5 {
  font-size: 1.125em;
  color: #555555;
}

.about .content ul p {
  font-size: 0.9375em;
}

.about .content p:last-child {
  margin-bottom: 0;
}

/*--------------------------------------------------------------
# Counts
--------------------------------------------------------------*/
.counts {
  padding: 70px 0 60px;
}

.counts .count-box {
  padding: 30px 30px 25px 30px;
  width: 100%;
  position: relative;
  text-align: center;
  background: #f1f6fe;
}

.counts .count-box i {
  position: absolute;
  top: -28px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 1.5em;
  background: #0C51AD;
  color: #fff;
  width: 56px;
  height: 56px;
  line-height: 0;
  border-radius: 50px;
  border: 5px solid #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.counts .count-box span {
  font-size: 36px;
  display: block;
  font-weight: 600;
  color: #062b5b;
}

.counts .count-box p {
  padding: 0;
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-size: 0.875em;
}

/*--------------------------------------------------------------
# Portfolio
--------------------------------------------------------------*/
.portfolio #portfolio-flters {
  padding: 0;
  margin: 0 auto 15px auto;
  list-style: none;
  text-align: center;
  border-radius: 50px;
  padding: 2px 15px;
}

.portfolio #portfolio-flters li {
  cursor: pointer;
  display: inline-block;
  padding: 10px 15px 8px 15px;
  font-size: 1em;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  color: #444444;
  margin-bottom: 5px;
  transition: all 0.3s ease-in-out;
}

.portfolio #portfolio-flters li:hover,
.portfolio #portfolio-flters li.filter-active {
  color: #0C51AD;
}

.portfolio #portfolio-flters li:last-child {
  margin-right: 0;
}

.portfolio .portfolio-item {
  margin-bottom: 30px;
}

.portfolio .portfolio-item .portfolio-info {
  opacity: 0;
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: 0;
  z-index: 3;
  transition: all ease-in-out 0.3s;
  background: rgba(255, 255, 255, 0.9);
  padding: 15px;
}

.portfolio .portfolio-item .portfolio-info h4 {
  font-size: 1.125em;
  color: #fff;
  font-weight: 600;
  color: #222222;
}

.portfolio .portfolio-item .portfolio-info p {
  color: #555555;
  font-size: 0.875em;
  margin-bottom: 0;
}

.portfolio .portfolio-item .portfolio-info .preview-link,
.portfolio .portfolio-item .portfolio-info .details-link {
  position: absolute;
  right: 40px;
  font-size: 1.5em;
  top: calc(50% - 18px);
  color: #3c3c3c;
}

.portfolio .portfolio-item .portfolio-info .preview-link:hover,
.portfolio .portfolio-item .portfolio-info .details-link:hover {
  color: #0C51AD;
}

.portfolio .portfolio-item .portfolio-info .details-link {
  right: 10px;
}

.portfolio .portfolio-item .portfolio-links {
  opacity: 0;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 3;
  position: absolute;
  transition: all ease-in-out 0.3s;
}

.portfolio .portfolio-item .portfolio-links a {
  color: #fff;
  margin: 0 2px;
  font-size: 1.75em;
  display: inline-block;
  transition: 0.3s;
}

.portfolio .portfolio-item .portfolio-links a:hover {
  color: #6ba7f5;
}

.portfolio .portfolio-item:hover .portfolio-info {
  opacity: 1;
  bottom: 20px;
}

/*--------------------------------------------------------------
# Portfolio Details
--------------------------------------------------------------*/
.portfolio-details {
  padding-top: 40px;
}

.portfolio-details .portfolio-details-slider img {
  width: 100%;
}

.portfolio-details .portfolio-details-slider .swiper-pagination {
  margin-top: 20px;
  position: relative;
}

.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: #fff;
  opacity: 1;
  border: 1px solid #0C51AD;
}

.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #0C51AD;
}

.portfolio-details .portfolio-info {
  padding: 30px;
  box-shadow: 0px 0 30px rgba(34, 34, 34, 0.08);
}

.portfolio-details .portfolio-info h3 {
  font-size: 1.375em;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
}

.portfolio-details .portfolio-info ul {
  list-style: none;
  padding: 0;
  font-size: 0.9375em;
}

.portfolio-details .portfolio-info ul li+li {
  margin-top: 10px;
}

.portfolio-details .portfolio-description {
  padding-top: 30px;
}

.portfolio-details .portfolio-description h2 {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 20px;
}

.portfolio-details .portfolio-description p {
  padding: 0;
}

/*--------------------------------------------------------------
# Team
--------------------------------------------------------------*/
.team {
  padding: 60px 0;
}

.team .member {
  margin-bottom: 20px;
  overflow: hidden;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0px 2px 15px rgba(16, 110, 234, 0.15);
}

.titulo-destaque {
    color: #0C51AD; /* Define a cor do texto */
    text-decoration: underline; /* Adiciona sublinhado ao texto */
    font-size: 1.5em; /* Ajusta o tamanho do texto */
    font-weight: bold; /* Define o texto em negrito */
    position: relative; /* Necessário para posicionar o marcador */
}

.titulo-destaque::before {
    content: "➤ "; /* Adiciona a seta como marcador */
    color: #0C51AD; /* Define a cor da seta */
    position: absolute; /* Garante que a seta fique alinhada */
    left: -30px; /* Ajusta a posição da seta */
}

.team .member .member-img {
  position: relative;
  overflow: hidden;
}

.team .member .social {
  position: absolute;
  left: 0;
  bottom: 30px;
  right: 0;
  opacity: 0;
  transition: ease-in-out 0.3s;
  text-align: center;
}

.team .member .social a {
  transition: color 0.3s;
  color: #222222;
  margin: 0 3px;
  padding-top: 7px;
  border-radius: 4px;
  width: 36px;
  height: 36px;
  background: rgba(16, 110, 234, 0.8);
  display: inline-block;
  transition: ease-in-out 0.3s;
  color: #fff;
}

.team .member .social a:hover {
  background: #D1D1D1;
}

.team .member .social i {
  font-size: 1.125em;
}

.team .member .member-info {
  padding: 25px 15px;
}

.team .member .member-info h4 {
  font-weight: 700;
  margin-bottom: 5px;
  font-size: 1.125em;
  color: #222222;
}

.team .member .member-info span {
  display: block;
  font-size: 0.8125em;
  font-weight: 400;
  color: #aaaaaa;
}

.team .member .member-info p {
  font-style: italic;
  font-size: 0.875em;
  line-height: 26px;
  color: #777777;
}

.team .member:hover .social {
  opacity: 1;
  bottom: 15px;
}

/*--------------------------------------------------------------
# Pricing
--------------------------------------------------------------*/
.pricing .box {
  padding: 20px;
  background: #fff;
  text-align: center;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.12);
  border-radius: 5px;
  position: relative;
  overflow: hidden;
}

.pricing .box h3 {
  font-weight: 400;
  margin: -20px -20px 20px -20px;
  padding: 20px 15px;
  font-size: 1em;
  font-weight: 600;
  color: #777777;
  background: #f8f8f8;
}

.pricing .box h4 {
  font-size: 36px;
  color: #0C51AD;
  font-weight: 600;
  font-family: "Poppins", sans-serif;
  margin-bottom: 20px;
}

.pricing .box h4 sup {
  font-size: 1.25em;
  top: -15px;
  left: -3px;
}

.pricing .box h4 span {
  color: #bababa;
  font-size: 1em;
  font-weight: 300;
}

.pricing .box ul {
  padding: 0;
  list-style: none;
  color: #444444;
  text-align: center;
  line-height: 20px;
  font-size: 0.875em;
}

.pricing .box ul li {
  padding-bottom: 16px;
}

.pricing .box ul i {
  color: #0C51AD;
  font-size: 1.125em;
  padding-right: 4px;
}

.pricing .box ul .na {
  color: #ccc;
  text-decoration: line-through;
}

.pricing .btn-wrap {
  margin: 20px -20px -20px -20px;
  padding: 20px 15px;
  background: #f8f8f8;
  text-align: center;
}

.pricing .btn-buy {
  background: #0C51AD;
  display: inline-block;
  padding: 8px 35px 10px 35px;
  border-radius: 4px;
  color: #fff;
  transition: none;
  font-size: 0.875em;
  font-weight: 400;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  transition: 0.3s;
}

.pricing .btn-buy:hover {
  background: #D1D1D1;
}

.pricing .featured h3 {
  color: #fff;
  background: #0C51AD;
}

.pricing .advanced {
  width: 200px;
  position: absolute;
  top: 18px;
  right: -68px;
  transform: rotate(45deg);
  z-index: 1;
  font-size: 0.875em;
  padding: 1px 0 3px 0;
  background: #0C51AD;
  color: #fff;
}

/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/
.contact .info-box {
  color: #444444;
  text-align: center;
  box-shadow: 0 0 30px rgba(214, 215, 216, 0.3);
  padding: 20px 0 30px 0;
}

.contact .info-box i {
  font-size: 2em;
  color: #0C51AD;
  border-radius: 50%;
  padding: 8px;
  border: 2px dotted #b3d1fa;
}

.contact .info-box h3 {
  font-size: 1.25em;
  color: #777777;
  font-weight: 700;
  margin: 10px 0;
}

.contact .info-box p {
  padding: 0;
  line-height: 24px;
  font-size: 0.875em;
  margin-bottom: 0;
}

.contact .php-email-form {
  box-shadow: 0 0 30px rgba(214, 215, 216, 0.4);
  padding: 30px;
}

.contact .php-email-form .error-message {
  display: none;
  color: #fff;
  background: #ed3c0d;
  text-align: left;
  padding: 15px;
  font-weight: 600;
}

.contact .php-email-form .error-message br+br {
  margin-top: 25px;
}

.contact .php-email-form .sent-message {
  display: none;
  color: #fff;
  background: #18d26e;
  text-align: center;
  padding: 15px;
  font-weight: 600;
}

.contact .php-email-form .loading {
  display: none;
  background: #fff;
  text-align: center;
  padding: 15px;
}

.contact .php-email-form .loading:before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  margin: 0 10px -6px 0;
  border: 3px solid #18d26e;
  border-top-color: #eee;
  animation: animate-loading 1s linear infinite;
}

.contact .php-email-form .form-group {
  margin-bottom: 20px;
}

.contact .php-email-form input,
.contact .php-email-form textarea {
  border-radius: 0;
  box-shadow: none;
  font-size: 0.875em;
}

.contact .php-email-form input:focus,
.contact .php-email-form textarea:focus {
  border-color: #0C51AD;
}

.contact .php-email-form input {
  padding: 10px 15px;
}

.contact .php-email-form textarea {
  padding: 12px 15px;
}

.contact .php-email-form button[type=submit] {
  background: #0C51AD;
  border: 0;
  padding: 10px 30px;
  color: #fff;
  transition: 0.4s;
  border-radius: 4px;
}

.contact .php-email-form button[type=submit]:hover {
  background: #D1D1D1;
}

@keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer{
  background:#0b2f63;
  color:#fff;
  font-size:0.95rem;
}

.footer-top{
  padding:60px 20px 30px;
}

.footer-grid{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px;
}

.footer-col h4{
  font-size:1.2rem;
  margin-bottom:15px;
  color:#fff;
}

.footer-col p{
  line-height:1.7;
  opacity:.9;
}

.footer-col ul{
  list-style:none;
  padding:0;
  margin:0;
}

.footer-col ul li{
  margin-bottom:8px;
}

.footer-col ul li a{
  color:#dbe7ff;
  text-decoration:none;
  transition:.2s;
}

.footer-col ul li a:hover{
  color:#FF438C;
  padding-left:4px;
}

/* Social */
.footer-social{
  display:flex;
  gap:10px;
  margin-top:12px;
}

.footer-social .social{
  width:34px;
  height:34px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.25s;
}

.footer-social .insta{
  background: radial-gradient(circle at 30% 107%,
    #fdf497 0%, #fdf497 5%,
    #fd5949 45%, #d6249f 60%,
    #285AEB 90%);
}

.footer-social .face{
  background:#1877F2;
}

.footer-social .social:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 15px rgba(0,0,0,.3);
}

/* Bottom */
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  text-align:center;
}

.footer-bottom img{
  height:36px;
  margin-left:8px;
}

/* Responsivo */
@media(max-width:900px){
  .footer-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:600px){
  .footer-grid{
    grid-template-columns:1fr;
    text-align:center;
  }
  .footer-bottom{
    flex-direction:column;
  }
}

.credits img{
  height:22px;
  width:auto; /* mantém proporção */
}

/*<!-- ============================================================== -->
<!-- Start  slider-area   Css -->
<!-- ============================================================== -->*/
.slider-area1 {
    height: 700px;
    background: url(../img/banner-01.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
}

.slider-area2 {
    height: 700px;
    background: url(../img/banner-02.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
}

.slider-area3 {
    height: 700px;
    background: url(../img/banner-03.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
}

.slider-area4 {
    height: 700px;
    background: url(../img/banner-04.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
}

.slider-area5 {
    height: 700px;
    background: url(../img/banner-05.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
}

.slider-area6 {
    height: 700px;
    background: url(../img/banner-06.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
}

.slider-area7 {
    height: 700px;
    background: url(../img/banner-07.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
}

.slider-area8 {
    height: 700px;
    background: url(../img/banner-08.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
}

.slider-area9 {
    height: 700px;
    background: url(../img/banner-09.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
}

.slider-area10 {
    height: 700px;
    background: url(../img/banner-10.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
}

.slider-title h1 {              /*===TÍTULO SLIDES PEQUENO DA COR BRANCA ===*/
    line-height: 26px;
    letter-spacing: 0px;
    font-weight: 600;
    font-size: 18px;
    color: #fff;
}

.slider-title h2 {             /*===TÍTULO SLIDES GRANDE DA COR BRANCA ===*/
    font-family: Lobster;
    line-height: 76px;
    letter-spacing: 0px;
    font-weight: 400;
    font-size: 60px;
    color: #ffffff;
    text-transform: capitalize;
}

.slider-title h3 {              /*===TÍTULO SLIDES PEQUENO DA COR PRETO===*/
    line-height: 26px;
    letter-spacing: 0px;
    font-weight: 600;
    font-size: 18px;
    color: #333;
}

.slider-title h4 {              /*===TEXTOS SLIDES GRANDE DA COR PRETO===*/
    font-family: Lobster;
    line-height: 76px;
    letter-spacing: 0px;
    font-weight: 400;
    font-size: 60px;
    color: #333;
    text-transform: capitalize;
}


.slider-title h1 span {
    color: #0C51AD;
}
.slider-thumb img {
    width: 100%;
}
.slider-button {
    display: inline-block;
    margin-right: 28px;
}
.slider-btn {
    display: inline-block;
}
.slider-button a {
    background-color: #0C51AD;
    font-family: Inter;
    color: rgb(255, 255, 255);
    text-decoration: none;
    text-align: center;
    letter-spacing: 0px;
    font-weight: 600;
    font-size: 16px;
    border-radius: 30px;
     padding: 17px 30px;
     text-transform: capitalize;
}
.slider-btn a {
    font-family: Inter;
	background: #0C51AD;
    border: 1px solid #0C51AD;
    color: #ffffff;
    text-decoration: none;
    text-align: center;
    letter-spacing: 0px;
    font-weight: 600;
    font-size: 16px;
    border-radius: 30px;
     padding: 17px 30px;
     text-transform: capitalize;
}
.slider-btn a:hover {
    background: #0E5CC7;
    color: #fff;
    border: 1px solid #0E5CC7;
}
.slider-button a:hover{
   background: #FFD850;   
} 
.slider-title p {
    color: #fff;
    text-align: left;
    line-height: 30px;
    letter-spacing: 0px;
    font-weight: 400;
    font-size: 16px;
    margin: 26px 0 50px;
}
.slider-area.upper .slider-thumb {
    margin-left: -50px;
}
.owl-prev {
    position: absolute;
    left: 75px;
    top: 48%;
    transform: translateY(-50%);
    opacity: 1;
    transition: .3s;
}
.owl-next {
    position: absolute;
    right: 40px;
    top: 48%;
    transform: translateY(-50%);
    opacity: 1;
    transition: .3s;
}
.owl-next i{
    background: rgba(0,0,0,0.35);
    height: 100px;
    width: 100px;
    line-height: 100px;
    z-index: 1;
    color: #fff;
    border: 0;
    text-align: center;
    font-size: 30px;
    transition: .5s;
} 
.owl-prev i{
    background: rgba(0,0,0,0.35);
    height: 100px;
    width: 100px;
    line-height: 100px;
    z-index: 1;
    color: #fff;
    border: 0;
    text-align: center;
    font-size: 30px;
    transition: .5s;
}
.owl-prev i:hover{
    background: #fff;
    color: #333;
    width: 150px;
}
.owl-next i:hover{
    background: #fff;
    color: #333;
    width: 150px;
}
/*<!-- ============================================================== -->
<!-- Start  slider-area.style-two   Css -->
<!-- ============================================================== -->*/
.slider-area.style-two {
    height: 750px;
    background: url(assets/img/hero-bg.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
}
.slider-area.style-two .slider-title h1 {
    font-family: Lobster;
    line-height: 79px;
    letter-spacing: 0px;
    font-weight: 400;
    font-size: 75px;
    color: #fff;
    text-transform: capitalize;
}
.slider-area.style-two .slider-title h3 {
    line-height: 26px;
    letter-spacing: 0px;
    font-weight: 600;
    font-size: 18px;
    color: #0C51AD;
}
.slider-area.style-two .slider-title p {
    color: #fff;
    text-align: left;
    line-height: 30px;
    letter-spacing: 0px;
    font-weight: 400;
    font-size: 16px;
    margin: 26px 0 50px;
}
.slider-area.style-two .slider-button a {
    background:#FFD850;
    font-family: Inter;
    color: rgb(255, 255, 255);
    text-decoration: none;
    text-align: center;
    letter-spacing: 0px;
    font-weight: 600;
    font-size: 16px;
    border-radius: 5px;
    padding: 17px 30px;
    text-transform: capitalize;
    transition: .5s;
}
.slider-area.style-two .slider-button a:hover {
    border-radius: 30px;
}
.slider-area.style-two .slider-btn a {
    font-family: Inter;
    color: #fff;
    background: #0C51AD;
    text-decoration: none;
    text-align: center;
    letter-spacing: 0px;
    font-weight: 600;
    font-size: 16px;
    border-radius: 5px;
    padding: 17px 30px;
    text-transform: capitalize;
    transition: .5s;
}
.slider-area.style-two .slider-btn a:hover {
    border-radius: 30px;
}

/*--------------------------------------------------------------
# PLATAFORMA DE ARQUIVOS
--------------------------------------------------------------*/
#table-container {
    padding: 0 3%;
    font-family: "Open Sans", sans-serif;
}

.table-title {
    font-family: "Roboto", sans-serif;
    
    text-align: center;
    margin: 50px 0 0 0;
    font-size: 2em;
    color: #444444; /* Texto escuro */
    font-weight: 700;
}

.custom-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 1em;
    text-align: center;
    background-color: #fff; /* Fundo branco */
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra leve */
}

/* Cabeçalho da tabela */
.custom-table-header {
    background-color: #EFEFEF; /* Fundo cinza claro */
    color: #444444; /* Texto escuro */
    border: 1px solid rgb(214, 214, 214);
    text-align: center;
    font-weight: bold;
    padding: 12px 15px;
}

/* Corpo da tabela */
.custom-table-cell {
    font-size: 1rem;
    color: #444444;
    line-height: 1.5rem;
    padding: 10px 15px;
    border: 1px solid #ddd; /* Bordas leves */
    word-wrap: break-word;
}

.file-align {
    width: 70px;
}

.description-align {
    width: 80%;
    text-align: left;
}

.date-style {
    font-size: 0.8125em;
    text-align: right;
    display: block;
    font-style: italic;
    margin-top: 5px; 
    color: #555; 
}

/* Links nos anexos */
.custom-subattachment-link {
    display: inline-flex;
    align-items: center;
    color: rgb(44, 58, 255); /* Azul para links */
    line-height: 1rem;
    font-size: .9rem;
    padding: 3px 0;
    text-decoration: none;
    gap: 8px; /* Espaçamento entre ícone e texto */
}

.custom-subattachment-link:hover {
    text-decoration: underline;
}

/* Ícones */
.custom-attachment-link i {
    font-size: 1rem;
    color: gray; /* Cor do ícone */
}

/* Cor alternada para as linhas */
.custom-table-row:nth-child(even) {
    background-color: #f9f9f9; /* Fundo cinza claro para linhas pares */
}

/* Cor de fundo ao passar o mouse */
.custom-table-row:hover {
    background-color: #f1f1f1; /* Fundo mais claro ao passar o mouse */
}

/* Responsividade */
@media screen and (max-width: 768px) {
    .custom-table {
        font-size: 0.875em;
    }

    .custom-table-header, .custom-table-cell {
        padding: 8px;
    }

    .custom-table-header {
        font-size: 0.9375em;
    }
}

@media screen and (max-width: 480px) {
    .table-title {
        font-size: 25px; /* Título menor em telas pequenas */
    }

    .custom-table {
        font-size: 0.75em;
    }

    .date-style {
        font-size: 0.6875em; /* Data menor em dispositivos pequenos */
    }

    .custom-table-header, .custom-table-cell {
        padding: 6px;
        font-size: .7rem;
    }
}

/*--------------------------------------------------------------
# ACESSIBILIDADE CSS FLUTUANTE
--------------------------------------------------------------*/
#acessibilidade-flutuante {
  position: fixed;
  top: 120px;
  right: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  z-index: 9999;
}

#acessibilidade-flutuante button {
  background: #0C51AD;
  color: #fff;
  border: none;
  width: 45px;
  height: 45px;
  font-size: 18px;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.3s;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

#acessibilidade-flutuante button:hover {
  background: #1a4d7a;
}

/*--------------------------------------------------------------
# ACESSIBILIDADE - ESCALONAMENTO GLOBAL E CONTRASTE
--------------------------------------------------------------*/
html {
  font-size: 100%;
}

body.baixo-fonte {
  font-size: 90%;
}

body.medio-fonte {
  font-size: 100%;
}

body.alto-fonte {
  font-size: 110%;
}

body.alto-contraste,
body.alto-contraste * {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

body.alto-contraste a {
  color: #fff !important;
  text-decoration: underline;
}

body.alto-contraste #logo {
  filter: brightness(3) contrast(100%);
}

/*<!-- ============================================================== -->
<!-- BOTÕES ACESSIBILIDADE TOPO - VERSÃO MOBILE -->
<!-- ============================================================== -->*/

@media (max-width: 768px) {
  /* Oculta os links do topo */
  .access-links {
    display: none !important;
  }

  /* Ajusta a posição dos botões flutuantes para não sobrepor o menu mobile */
  #acessibilidade-flutuante {
    top: 180px; /* ou outro valor maior que 120px, conforme necessário */
  }
}


/*<!-- ============================================================== -->
<!-- ICONES DE FOTOS CAPA DO SITE -->
<!-- ============================================================== -->*/

.icon-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr); /* 06 colunas */
    gap: 30px; /* Espaçamento entre colunas e linhas */
    padding: 10px;
    justify-items: center;
}

.icon-grid a {
    display: inline-block;
    transition: transform 0.3s ease;
}

.icon-grid img {
    width: 162px;
    height: 240px;
    object-fit: cover;
    border-radius: 10px;
    transition: transform 0.3s ease;
}

.icon-grid a:hover img {
    transform: scale(1.2); /* Aumenta 20% ao passar o mouse */
}

/* Para tablets (máximo de 768px) - Reduz para 4 colunas */
@media (max-width: 768px) {
    .icon-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }

    .icon-grid img {
        width: 120px;
        height: 120px;
    }
}

/* Para celulares (máximo de 480px) - Reduz para 2 colunas */
@media (max-width: 480px) {
    .icon-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .icon-grid img {
        width: 100px;
        height: 100px;
    }
}

/* =========================================================
   3ª LINHA: BREADCRUMB + TÍTULO DA PÁGINA (PADRÃO INTERNO)
   Use em todas as páginas internas
   ========================================================= */
.page-hero{
  background: #f5f9ff;
  border-bottom: 1px solid #e8edf5;
  padding: 26px 0;
}

.page-hero .container{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.breadcrumb-apae{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  font-size:.95rem;
  color:#4f5b70;
  margin:0;
}

.breadcrumb-apae a{
  color:#014A99;
  text-decoration:none;
  font-weight:700;
  transition: color .2s ease;
}

.breadcrumb-apae a:hover{
  color:#2F9EF6;
}

.breadcrumb-apae .sep{
  opacity:.55;
}

.page-title{
  margin: 6px 0 0;
  font-size: 1.85rem;
  line-height:1.15;
  color:#0f2442;
  font-weight:900;
  letter-spacing:.2px;
}

.page-subtitle{
  margin: 8px 0 0;
  color:#5b6475;
  font-size:1.05rem;
  line-height:1.5;
  max-width: 820px;
}

/* =========================================================
   SEÇÃO PADRÃO PARA TEXTOS GERAIS DAS PÁGINAS
   (conteúdo interno: textos, listas, tabelas, links, etc.)
   ========================================================= */
.secao-texto-geral{
  padding: 45px 0;
  background:#fff;
}

.secao-texto-geral .container{
  max-width: 100%; /* leitura confortável */
}

.texto-geral{
  color:#2a3345;
  font-size:1.05rem;
  line-height:1.85;
}

.texto-geral h2{
  font-size:1.65rem;
  color:#014A99;
  font-weight:900;
  margin: 0 0 14px;
}

.texto-geral h3{
  font-size:1.28rem;
  color:#0f2442;
  font-weight:900;
  margin: 26px 0 10px;
}

.texto-geral p{
  margin: 0 0 14px;
}

.texto-geral a{
  color:#014A99;
  font-weight:800;
  text-decoration:none;
  border-bottom: 2px solid rgba(1,74,153,.18);
  transition: .2s ease;
}

.texto-geral a:hover{
  color:#2F9EF6;
  border-bottom-color:#2F9EF6;
}

.texto-geral ul,
.texto-geral ol{
  margin: 0 0 16px 22px;
}

.texto-geral li{
  margin: 6px 0;
}

.texto-geral blockquote{
  margin: 18px 0;
  padding: 16px 18px;
  border-left: 5px solid #FF438C;
  background: #fff2f7;
  border-radius: 12px;
  color:#3c455a;
  font-weight:650;
}

/* Tabelas (se usar) */
.texto-geral table{
  width:100%;
  border-collapse:collapse;
  margin: 16px 0;
  overflow:hidden;
  border-radius: 12px;
  border:1px solid #e8edf5;
}

.texto-geral th,
.texto-geral td{
  padding: 12px 12px;
  border-bottom:1px solid #e8edf5;
  text-align:left;
  vertical-align:top;
}

.texto-geral th{
  background:#f5f9ff;
  color:#0f2442;
  font-weight:900;
}

/* Responsivo */
@media (max-width: 768px){
  .page-title{ font-size: 1.55rem; }
  .secao-texto-geral{ padding: 34px 0; }
  .texto-geral{ font-size: 1.02rem; line-height:1.8; }
}

/* ================================
   FAIXA DOE AGORA
==================================*/
.faixa-apae{
  background:#014A99;
  padding: 50px 20px;
}

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

/* Texto lado esquerdo */
.faixa-texto{
  flex: 1 1 600px;
  color:#fff;
  font-size: 1.15rem;
  line-height:1.7;
  font-weight:500;
}

/* Botão Doar */
.faixa-doar{
  flex: 0 0 auto;
  background:#FF438C;
  color:#fff;
  font-weight:800;
  font-size:1.2rem;
  padding:18px 36px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  box-shadow:0 12px 25px rgba(0,0,0,.25);
  transition: transform .25s ease, box-shadow .25s ease, color .25s ease;
}

.faixa-doar:hover{
  color:#FFC2DA; /* SÓ O TEXTO MUDA */
  transform: translateY(-4px) scale(1.05);
  box-shadow:0 18px 30px rgba(0,0,0,.35);
}

.faixa-doar .heart{
  font-size:1.3rem;
}

/* Responsivo */
@media (max-width: 900px){
  .faixa-container{
    flex-direction:column;
    text-align:center;
  }

  .faixa-doar{
    width:100%;
    justify-content:center;
  }
}

/* ================================
   FOTO DIRETORIA
==================================*/
    .diretoria-wrap{
      display:flex;
      gap:26px;
      align-items:flex-start;
      flex-wrap:wrap;
    }

    .diretoria-foto{
      flex: 0 0 320px;
      max-width: 320px;
    }

    .diretoria-foto img{
      width:100%;
      height:auto;
      display:block;
      border-radius:16px;
      border:1px solid #e8edf5;
      box-shadow: 0 12px 25px rgba(1, 74, 153, .10);
      object-fit:cover;
      background:#fff;
    }

    .diretoria-card{
      flex: 1 1 520px;
      background:#fff;
      border:1px solid #e8edf5;
      border-radius:16px;
      padding:22px 22px;
      box-shadow: 0 12px 25px rgba(0,0,0,.05);
    }

    .diretoria-nome{
      margin:0;
      font-size:1.65rem;
      line-height:1.15;
      font-weight:900;
      color:#0f2442;
    }

    .diretoria-cargo{
      display:inline-flex;
      align-items:center;
      gap:10px;
      margin:10px 0 0;
      padding:8px 12px;
      border-radius:999px;
      background: rgba(1, 74, 153, .08);
      color:#014A99;
      font-weight:900;
    }

    .diretoria-cargo .badge{
      width:10px;
      height:10px;
      border-radius:50%;
      background:#FF438C;
      display:inline-block;
    }

    .diretoria-card p{
      margin:14px 0 0;
      color:#2a3345;
      font-size:1.05rem;
      line-height:1.85;
    }

    .diretoria-destaque{
      margin-top:16px;
      padding:14px 16px;
      border-left:5px solid #FF438C;
      background:#fff2f7;
      border-radius:12px;
      color:#3c455a;
      font-weight:650;
    }

    @media (max-width: 768px){
      .diretoria-foto{ flex: 1 1 100%; max-width: 100%; }
      .diretoria-card{ padding:18px; }
      .diretoria-nome{ font-size:1.45rem; }
    }

/* ================================
   FOTOS COLABORADORES
==================================*/

/* Cabeçalho da seção */
.colab-head{
  margin: 0 0 18px;
}

.colab-title{
  margin:0 0 8px;
  font-size: 1.65rem;
  font-weight: 900;
  color: var(--azul);
}

.colab-desc{
  margin:0;
  color:#5b6475;
  line-height:1.7;
  max-width: 900px;
}

/* Grid */
.colab-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 18px;
}

/* Card */
.colab-card{
  background:#fff;
  border:1px solid var(--borda);
  border-radius:16px;
  overflow:hidden;
  box-shadow: var(--sombra);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.colab-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 18px 36px rgba(1, 74, 153, .16);
  border-color: rgba(1,74,153,.22);
}

.colab-img{
  width: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
}

.colab-body{
  padding: 14px 14px 16px;
}

.colab-name{
  margin:0;
  font-size: 1.05rem;
  font-weight: 900;
  color: var(--titulo);
  line-height:1.25;
}

.colab-role{
  margin: 8px 0 0;
  color: var(--texto);
  font-weight: 700;
  opacity:.9;
}

/* Pequeno destaque no hover do cargo */
.colab-card:hover .colab-role{
  color: var(--azul);
}

/* Responsivo */
@media (max-width: 1100px){
  .colab-grid{ grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 820px){
  .colab-grid{ grid-template-columns: repeat(2, 1fr); }
  .colab-img{ height: 210px; }
}

@media (max-width: 520px){
  .colab-grid{ grid-template-columns: 1fr; }
  .colab-img{ height: 240px; }
}

/* ================================
   PÁGINA DOE AGORA
==================================*/
.doe-wrap{
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 22px;
      align-items: start;
    }

    .doe-card{
      background:#fff;
      border:1px solid var(--borda);
      border-radius:16px;
      box-shadow: var(--sombra);
      padding: 20px 20px;
    }

    .doe-card h2{
      margin:0 0 10px;
      color: var(--azul);
      font-weight: 900;
      font-size: 1.55rem;
    }

    .doe-card p{
      margin:0 0 12px;
      color: var(--texto);
      line-height: 1.85;
      font-size: 1.05rem;
    }

    .doe-highlight{
      background: #fff2f7;
      border-left: 5px solid var(--rosa);
      border-radius: 12px;
      padding: 14px 16px;
      margin: 16px 0 0;
      color: #3c455a;
      line-height: 1.7;
      font-weight: 650;
    }

    .doe-steps{
      margin: 14px 0 0;
      padding: 0;
      list-style: none;
      display:grid;
      gap: 10px;
    }

    .doe-steps li{
      border:1px solid var(--borda);
      background: var(--bgsoft);
      border-radius: 14px;
      padding: 12px 12px;
      display:flex;
      gap: 10px;
      align-items:flex-start;
    }

    .doe-steps .num{
      width: 30px;
      height: 30px;
      border-radius: 10px;
      background: rgba(1,74,153,.10);
      color: var(--azul);
      font-weight: 900;
      display:grid;
      place-items:center;
      flex: 0 0 auto;
    }

    .doe-steps strong{ color: var(--titulo); }

    /* ======= Box WhatsApp ======= */
    .wpp-card{
      background: linear-gradient(180deg, #ffffff 0%, #f9fffb 100%);
      border: 1px solid var(--borda);
      border-radius: 16px;
      box-shadow: var(--sombra);
      padding: 20px;
      position: sticky;
      top: 92px; /* caso seu menu seja sticky */
    }

    .wpp-badge{
      display:inline-flex;
      gap: 8px;
      align-items:center;
      background: rgba(1,74,153,.08);
      color: var(--azul);
      font-weight: 900;
      padding: 8px 12px;
      border-radius: 999px;
      font-size: .95rem;
      margin-bottom: 10px;
    }

    .wpp-card h3{
      margin: 8px 0 10px;
      font-size: 1.35rem;
      font-weight: 900;
      color: var(--titulo);
      line-height: 1.2;
    }

    .wpp-card p{
      margin: 0 0 14px;
      color: var(--texto);
      line-height: 1.8;
      font-size: 1.02rem;
    }

    /* Botão WhatsApp “animado” */
    .btn-wpp{
      width: 100%;
      border: 0;
      border-radius: 16px;
      background: #25D366;
      color: #fff;
      text-decoration:none;
      display:flex;
      align-items:center;
      justify-content:center;
      gap: 12px;
      font-weight: 1000;
      letter-spacing: .2px;
      font-size: 1.1rem;
      padding: 16px 16px;
      box-shadow: 0 16px 30px rgba(37, 211, 102, .25);
      position: relative;
      overflow: hidden;
      transform: translateZ(0);
      transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
    }

    /* Brilho passando */
    .btn-wpp::before{
      content:"";
      position:absolute;
      top:-30%;
      left:-40%;
      width: 50%;
      height: 160%;
      transform: rotate(20deg);
      background: rgba(255,255,255,.25);
      filter: blur(1px);
      opacity: .0;
    }

    .btn-wpp:hover{
      transform: translateY(-4px);
      box-shadow: 0 22px 40px rgba(37, 211, 102, .33);
      filter: saturate(1.05);
    }

    .btn-wpp:hover::before{
      opacity: 1;
      animation: shine 1.1s ease;
    }

    /* “Pulse” discreto */
    .pulse-dot{
      width: 10px;
      height: 10px;
      border-radius: 999px;
      background: #fff;
      opacity:.95;
      position: relative;
    }
    .pulse-dot::after{
      content:"";
      position:absolute;
      inset:-10px;
      border-radius: 999px;
      border: 2px solid rgba(255,255,255,.55);
      animation: pulse 1.4s infinite ease-out;
    }

    @keyframes pulse{
      0%{ transform: scale(.35); opacity: .85; }
      100%{ transform: scale(1.25); opacity: 0; }
    }

    @keyframes shine{
      0%{ transform: translateX(0) rotate(20deg); }
      100%{ transform: translateX(280%) rotate(20deg); }
    }

    .wpp-mini{
      margin-top: 14px;
      padding: 12px 12px;
      border: 1px dashed rgba(1,74,153,.25);
      border-radius: 14px;
      background: rgba(1,74,153,.04);
      color: #3c455a;
      line-height: 1.7;
      font-weight: 650;
      font-size: .98rem;
    }

    .wpp-mini strong{ color: var(--azul); }

    /* ======= Faixa doação (opcional) ======= */
    .doe-cta{
      margin-top: 18px;
      border-radius: 16px;
      border:1px solid var(--borda);
      background: linear-gradient(180deg, #ffffff 0%, #fff6fb 100%);
      padding: 16px;
    }

    .doe-cta .cta-title{
      margin:0 0 10px;
      font-weight: 1000;
      color: var(--titulo);
      font-size: 1.12rem;
    }

    .doe-cta .cta-row{
      display:flex;
      gap: 10px;
      flex-wrap: wrap;
    }

    .cta-pill{
      display:inline-flex;
      align-items:center;
      gap: 8px;
      padding: 10px 12px;
      border-radius: 999px;
      background: rgba(255,67,140,.10);
      color: #b1004a;
      font-weight: 900;
      border: 1px solid rgba(255,67,140,.18);
      font-size: .95rem;
    }

    @media (max-width: 980px){
      .doe-wrap{ grid-template-columns: 1fr; }
      .wpp-card{ position: static; top:auto; }
    }
	
/* ================================
   BOTÃO WEBMAIL
==================================*/
.btn-webmail{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  padding:10px 14px;
  background:#014A99;
  color:#fff;
  font-weight:700;
  border-radius:10px;
  text-decoration:none;
  transition:.25s ease;
  box-shadow:0 8px 18px rgba(1,74,153,.25);
}

.btn-webmail:hover{
  background:#2F9EF6;
  transform:translateY(-2px);
}

/* ================================
   MOBILE
==================================*/
@media (max-width: 980px){
  .nav{ opacity:0; visibility:hidden; transform: translateY(-6px); }
  .nav.open{ opacity:1; visibility:visible; transform: translateY(0); }
}
