/*
Theme Name: Gavà Quiropràctica
Author: JVCorrea.dev
Description: Theme for Gavà Quiropràctica website
Version: 1.0
*/

/*
@font-face {
  font-family: 'TheSeasonsLight';
  src: url('/wp-content/themes/gava-theme/fonts/TheSeasonsLt.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'TheSeasonsRegular';
  src: url('/wp-content/themes/gava-theme/fonts/TheSeasonsRg.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
  */

@import url("https://use.typekit.net/hpk0wva.css");


:root {
  --white: #FFFFFF;
  --cor-clara: #E6E3D9;
  --cor-media: #CDCDAE;
  --cor-escura: #585C43;
}

p{
  font-family: 'Helvetica', sans-serif;
  font-size: 1.2rem;
  font-weight: 300;
}

h1, h2, h3, h4, h5, h6{
  font-family: "the-seasons", sans-serif;
}

body {
  margin: 0;
  padding: 0;
  font-family: sans-serif;
  background-color: var(--cor-clara);
  color: var(--cor-escura);
}

header {
  margin-top: 1rem;
  padding: 0.5rem 0rem;
  border-radius: 50rem;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  font-weight: 300;
}

.navbar-nav .custom-button {
  padding: 0.25rem 0.75rem 0.25rem 1.5rem;
  font-size: 0.9rem; 
}

.navbar .button-circle {
  width: 36px;
  height: 36px;
}

.navbar .button-text {
  margin-right: 12px;
  font-size: 0.95rem;
}

.navbar-brand img{
  width: 80px;
}

header .menu-links {
  list-style: none;
  display: flex;
  gap: 1rem;
}

header .navbar-toggler:focus {
  outline: none;
  box-shadow: none;
}

.custom-dropdown-menu .dropdown-item::after {
  display: none;
}

.custom-dropdown {
  position: relative;
}

.custom-dropdown .custom-dropdown-toggle {
  position: relative;
  cursor: pointer;
}

.custom-dropdown .custom-dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 280px;
  padding: 1rem;
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  z-index: 999;
  border: none;
  margin-top: -5px !important;
}

.custom-dropdown:hover .custom-dropdown-menu {
  display: block;
}

/* Estilo dos itens */
.custom-dropdown-menu li {
  border-bottom: 1px solid #eaeaea;
  padding: 0.5rem 0;
}

.custom-dropdown-menu li:last-child {
  border-bottom: none;
}

.custom-dropdown-menu .dropdown-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #1f1f1f;
  font-weight: 300;
  text-decoration: none;
  padding: 0.5rem 0;
  transition: color 0.3s ease;
}

.custom-dropdown-menu .dropdown-item:hover {
  color: var(--cor-escura);
  background-color: transparent;
}

.custom-dropdown-menu .arrow-circle {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid var(--cor-escura);
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  transition: background-color 0.3s ease, border-color 0.3s ease;
  flex-shrink: 0;
}

.custom-dropdown-menu .arrow-icon {
  will-change: transform;
}

.custom-dropdown-menu .arrow-icon path {
  stroke: var(--cor-escura);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke 0.3s ease;
}

.custom-dropdown-menu .dropdown-item:hover .arrow-circle {
  background-color: var(--cor-escura);
}

.custom-dropdown-menu .dropdown-item:hover .arrow-icon path {
  stroke: var(--cor-clara);
}

.custom-dropdown:hover .custom-dropdown-menu { 
  display: block; 
}

@keyframes arrow-run-once {
  0%   { transform: translateX(0); }
  40%  { transform: translateX(6px); }
  100% { transform: translateX(0); }
}

.custom-dropdown-menu .dropdown-item:hover .arrow-icon {
  animation: arrow-run-once 0.6s ease forwards;
}

.nav-item a {
  font-size: 0.75rem;
  letter-spacing: 1.8px;
  text-decoration: none;
  color: var(--cor-escura);
}

.nav-item a:hover {
  color: var(--cor-media);
}

.nav-item a:active {
  color: var(--cor-escura);
}

.divider {
  width: 0;
  height: 1px;
  background-color: var(--cor-escura);
  transition: width 1.5s ease-out;
  margin-bottom: 2rem;
}

.intro-home {
  position: relative;
  isolation: isolate;   /* garante que o ::before não afete o conteúdo */
  height: 110vh;
  padding-top: 12rem;
  overflow: hidden;     /* evita scroll horizontal */
}

.intro-home::before {
  content: "";
  position: absolute;
  inset: -12px;         /* borda extra p/ não cortar o blur */
  z-index: -1;          /* atrás do conteúdo */
  background-image: url('/wp-content/uploads/2025/07/intro-home.png');
  background-size: cover;
  background-position: center 20%;
  background-repeat: no-repeat;
  background-attachment: fixed;
  filter: blur(var(--blur, 0px));
}

.intro-home h1 {
  font-size: 6rem;
  color: var(--white);
}

.intro-home .intro-content-conversion {
  font-size: 1rem;
  color: var(--white);
  padding-top: 2rem;
  border-top: 1px solid var(--cor-clara);
}

.intro-home .intro-content-conversion p {
  margin-bottom: 0;
}

.intro-service {
  background-color: var(--cor-clara);
  padding: 10rem 0;
}

.intro-service p{
  color: var(--cor-escura);
  font-size: 1.2rem;
}

.intro-service h2{
  font-size: 5rem;
  color: var(--cor-escura);
  margin-bottom: 5rem;
}

.intro-service h3{
  font-size: 3.5rem;
  color: var(--cor-escura);
}

.intro-service .intro-content-conversion {
  font-size: 1rem;
  color: var(--cor-escura);
  padding-top: 2rem;
}

.intro-service .the-service{
  padding: 0 0 10rem 0;
}

.first-step{
  background-color: var(--cor-escura);
  padding: 10rem 0;
  text-align: center;
}

.first-step h2{
  font-size: 5rem;
  font-weight: 300;
  color: var(--cor-clara);
}

.first-step p{
  font-size: 1.2rem;
  color: var(--cor-clara);
  margin-bottom: 1rem;
}

/* services */

.all-services {
  background-color: var(--cor-media);
  padding: 10rem 0 15rem 0;
}

.all-services h1{
  font-size: 4rem;
  margin-bottom: 5rem;
  color: var(--cor-escura);
}

.menu-service-item {
  position: relative;
  padding: 1.5rem 0 2.5rem 0;
  cursor: pointer;
}

/* Borda animada usando ::after */
.menu-service-item::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;                /* começa invisível */
  height: 1px;             /* espessura da linha */
  background-color: var(--cor-escura);
  transition: width 0.9s ease-out;
}

.menu-service-item.active-border::after {
  width: 100%; /* a linha cresce da esquerda pra direita */
}

.menu-service-item a {
  color: var(--cor-escura);
  font-size: 2.5rem;
  text-decoration: none;
  font-weight: 350;
}

.menu-service-item a:hover {
  padding-left: 0.5rem;
  transition: 0.2s;
}

.menu-service-item .arrow-circle {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid var(--cor-escura);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s, border 0.3s;
  background-color: transparent;
}

.menu-service-item .arrow-icon path {
  stroke: var(--cor-escura); 
  transition: stroke 0.3s;
}

.menu-service-item:hover .arrow-circle,
.menu-service-item.active .arrow-circle {
  background-color: var(--cor-escura);
}

.menu-service-item:hover .arrow-icon path,
.menu-service-item.active .arrow-icon path {
  stroke: var(--cor-clara);
}

.service-display {
  width: 100%;
  background-color: var(--cor-escura);
  padding: 1rem;
  border-radius: 0 0 12rem 12rem;
}

.service-display p {
  color: var(--cor-clara);
  text-align: left;
  font-size: 0.9rem;
}

.service-display {
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Mostra quando ativo */
.service-display.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

footer{
  background-color: var(--cor-media);
  padding: 4rem 0;
  color: var(--cor-escura);
}

footer p, footer a{
  font-size: 0.8rem;
}

footer a{
  color: var(--cor-escura);
  text-decoration: none;
}

footer a:hover{
  color: black;
  font-size: 0.8rem;
}

footer h2{
  color: var(--cor-escura);
  font-family: 'Helvetica', sans-serif;
  font-weight: 300;
  font-size: 1.8rem;
  border-top: 1px solid var(--cor-escura);
  padding-top: 2rem;
}

footer .social{
  font-family: "the-seasons", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
}

footer .social a{
  margin-left: 0.3rem;
}

footer .social a:hover{
  opacity: 0.7;
  transition: 0.2s;
}

.custom-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 0.50rem 0.75rem 0.50rem 1.5rem;
  font-size: 1rem; 
  border-radius: 999px;
  background-color: var(--cor-media);
  color: var(--cor-escura);
  text-decoration: none;
  overflow: hidden;
  transition: color 0.3s ease;
}

.custom-button::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0%;
  background-color: var(--cor-escura);
  z-index: 0;
  transition: height 0.4s ease;
}

.custom-button:hover::after {
  height: 100%;
}

.button-text {
  position: relative;
  z-index: 1;
  margin-right: 16px;
  transition: color 0.3s ease;
}

.custom-button:hover .button-text {
  color: #ffffff;
}

.button-circle {
  position: relative;
  z-index: 1;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: var(--cor-escura);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: background-color 0.3s ease;
}

.custom-button:hover .button-circle {
  background-color: var(--cor-media);
}

/* Animação: corre pra direita e volta */
@keyframes arrow-run-once {
  0%   { transform: translateX(0); }
  40%  { transform: translateX(8px); }
  100% { transform: translateX(0); }
}

.arrow-icon {
  will-change: transform;
  transition: stroke 0.3s ease;
}

.arrow-icon path {
  stroke: #EAE8DD;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke 0.3s ease;
}

/* ANIMAÇÃO ÚNICA */
.custom-button:hover .arrow-icon {
  animation: arrow-run-once 0.6s ease forwards;
}

.custom-button:hover .arrow-icon path {
  stroke: #2E4C47;
}

/* OUTLINE */

.custom-button-outline {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 0.50rem 0.75rem 0.50rem 1.5rem;
  font-size: 1rem; 
  border-radius: 999px;
  background-color: var(--cor-media);
  color: var(--cor-escura);
  border: 1px solid var(--cor-escura); /* Borda inicial */
  text-decoration: none;
  overflow: hidden;
  transition: all 0.3s ease;
}

.custom-button-outline::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0%;
  z-index: 0;
  transition: height 0.4s ease;
  background-color: var(--cor-escura);
}

.custom-button-outline:hover::after {
  height: 100%;
}

.custom-button-outline .button-text {
  position: relative;
  z-index: 1;
  margin-right: 16px;
  transition: color 0.3s ease;
}

.custom-button-outline:hover {
  border-color: var(--cor-media); /* Altera borda ao hover */
}

.custom-button-outline:hover .button-text {
  color: var(--cor-clara);
}

.custom-button-outline .button-circle {
  position: relative;
  z-index: 1;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: var(--cor-escura); 
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: background-color 0.3s ease;
}

.custom-button-outline:hover .button-circle {
  background-color: var(--cor-media); 
}

.custom-button-outline .arrow-icon {
  will-change: transform;
  transition: stroke 0.3s ease;
}

.custom-button-outline .arrow-icon path {
  stroke: #EAE8DD;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke 0.3s ease;
}

.custom-button-outline:hover .arrow-icon {
  animation: arrow-run-once 0.6s ease forwards;
}

.custom-button-outline:hover .arrow-icon path {
  stroke: var(--cor-escura);
}

/* ABOUT */

.about{
  padding: 10rem 0;
  background-color: var(--cor-clara);
  color: var(--cor-escura);
}

.about h1{
  font-size: 5rem;
  margin-bottom: 5rem;
}

/* POLITICA DE PRIVACIDAD */

.politica-de-privacidad{
  padding: 10rem 0;
  background-color: var(--cor-clara);
}

.politica-de-privacidad h1{
  color: var(--cor-escura);
  font-size: 5rem;
  padding-bottom: 5rem;
}

.politica-de-privacidad .divider{
  margin-bottom: 5rem;
}

.politica-de-privacidad p{
  color: var(--cor-escura);
}

/* LA CLINICA */

.la-clinica{
  padding: 10rem 0;
  background-color: var(--cor-clara);
  color: var(--cor-escura);
}

.la-clinica h1{
  color: var(--cor-escura);
  font-size: 5rem;
  margin-bottom: 5rem;
}

.la-clinica .divider{
  margin-bottom: 3rem;
}

.la-clinica img:hover{
  opacity: 0.9;
  transition: 0.2s;
}

/* CONTACTO */

.contacto{
  padding: 10rem 0;
  background-color: var(--cor-clara);
  color: var(--cor-escura);
}

.contacto h1{
  color: var(--cor-escura);
  font-size: 5rem;
  padding-bottom: 5rem;
}

.contacto .contacto-infos{
  padding-top: 0rem;
}

.contacto-infos a:hover {
  opacity: 0.7;
  transition: 0.2s;
}

.contacto .form{
  background-color: var(--cor-media);
  padding: 3rem 2rem;
}

.form-row {
  display: flex;
  gap: 1rem;
  margin-bottom: 1rem;
}

.custom-form input,
.custom-form textarea {
  flex: 1;
  border: none;
  border-bottom: 1px solid var(--cor-escura);
  background: transparent;
  padding: 0.5rem;
  font-size: 1rem;
  color: var(--cor-escura);
}

.custom-form textarea {
  width: 100%;
  min-height: 100px;
  resize: vertical;
  margin-bottom: 1rem;
  color: var(--cor-escura);
}

.custom-form button {
  background: transparent;
  border: 1px solid var(--cor-escura);
  padding: 0.5rem 2rem;
  border-radius: 20px;
  color: var(--cor-escura);
  cursor: pointer;
  transition: all 0.3s ease;
}

.custom-form button:hover {
  background-color: var(--cor-escura);
  color: white;
}

.custom-form ::placeholder {
  color: var(--cor-escura);
  opacity: 1; 
  font-size: 0.9rem;
}

.custom-form  textarea::placeholder {
  color: var(--cor-escura);
}

.form-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1rem;
  flex-wrap: wrap;
}

.terms{
  display: grid;
  grid-template-columns: 20px 1fr; /* auto | conteúdo */
  column-gap: .5rem;
  align-items: start;
  width: 45%;
  font-size: 0.8rem;
}

/* texto sempre quebra e não “vaza” */
.terms label{
  display: block;
  line-height: 1.3;
  overflow-wrap: anywhere;   /* fallback bom */
  word-break: break-word;    /* garante no iOS */
  -webkit-hyphens: auto;
  hyphens: auto;
  margin: 0;                 /* remove gaps inesperados */
}

/* checkbox alinhadinho */
.terms input[type="checkbox"]{
  margin-top: .2rem;
}


.terms a {
  color: var(--cor-escura);
  text-decoration: underline;
  font-weight: bold;
}

.small {
  font-size: 0.7rem;
  color: #585C43;
  margin-top: 1rem;
}

.custom-form input:focus,
.custom-form textarea:focus {
  outline: none;
  box-shadow: none;
}

/* ESPECIALID */

.especialidad{
  padding: 10rem 0;
  background-color: var(--cor-clara);
  color: var(--cor-escura);
}

.especialidad h1{
  color: var(--cor-escura);
  font-size: 5rem;
  padding-bottom: 10rem;
}

.service-stack {
  position: relative;
  margin: 0;
  padding: 0;
}

.service-card {
  position: sticky;
  top: 10rem; 
  background: white;
  z-index: 1;
  transition: all 0.3s ease;
  margin-bottom: 5rem;
}

.service-card-content{
  background-color: var(--cor-media);
  padding: 10rem 0;
}

.service-card-content:hover{
  background-color: var(--cor-escura);
  color: var(--cor-clara);
  transition: 0.3s;
}

.service-content-size{
  width: 50%;
}

.service-card-content h2{
  font-size: 4rem;
}

.service-image-circle {
  height: 300px;
  width: 300px;
  border-radius: 100% 0% 0% 100%;
  overflow: hidden;
  flex-shrink: 0;
  background-color: var(--cor-escuro); /* fallback se a imagem não carregar */
}

.service-image-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* ESPECIALIDADES */

.the-especialidad{
  background-color: var(--cor-media);
  padding: 10rem 0;
  color: var(--cor-escura);
}

.the-especialidad h1{
  font-size: 5rem;
  margin-bottom: 5rem;
}

.the-especialidad-description{
  background-color: var(--cor-clara);
  padding: 10rem 0;
  color: var(--cor-escura);
}

.especialidad-item-description{
  border-top: 1px solid var(--cor-escura);
  padding: 3rem 0 3rem 1rem;
}

/* CURSOR */

.cursor-dot {
  position: fixed;
  top: -5px;
  left: -10px;
  width: 10px;
  height: 10px;
  background-color: #edd085;
  border-radius: 50%;
  pointer-events: none; /* não interfere nos cliques */
  z-index: 9999;
  transform: translate(-50%, -50%);
  transition: transform 0.05s linear;
}

/* GALLERY */
.pgc-rev-lb-b-next-prev-button {
  background: var(--cor-escura) !important; /* cor de fundo */
  border-radius: 50% !important;            /* formato redondo */
  width: 48px !important;
  height: 48px !important;
  padding: 0.5rem!important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pgc-rev-lb-b-next-prev-button:hover{
  background: var(--cor-media) !important; /* cor de fundo */
}

.pgc-rev-lb-b-next-prev-button svg path {
  stroke: var(--cor-media) !important; /* cor da seta */
  fill: var(--cor-media) !important;   /* caso a seta seja preenchida */
}


@media (min-width: 992px) {
  .nav-item.dropdown:hover .dropdown-arrow {
    transform: rotate(180deg);
  }

  .nav-item.dropdown:hover .dropdown-menu {
    display: block;
    margin-top: 0.5rem;
  }

  .custom-dropdown .custom-dropdown-menu { 
    display: none; 
  }
  .custom-dropdown .custom-dropdown-menu.show { 
    display: block; 
  }
}

@media (width <= 768px) {
	
  .navbar .custom-button {
    padding: 0.30rem 0.75rem; 
    font-size: 0.8rem;       
	margin-bottom: 0.5rem;
  }

  .navbar .custom-button .button-circle {
    width: 24px;  
    height: 24px;
  }

  .navbar .custom-button .button-text {
    margin-right: 6px;
    font-size: 0.8rem;
  }
	
	.navbar .custom-button .arrow-icon {
    width: 14px;  
    height: 14px;
  }

  .custom-button .arrow-icon path {
    stroke-width: 1.6; 
  }
	
	.navbar-nav a{
		border-bottom: 1px solid rgba(0, 0, 0, 0.2);
		padding: 1rem 0 2rem 0;
	}
	
	.custom-dropdown-menu a{
		border-bottom: none;
	}

  .navbar-collapse.show {
    border-radius: 0 !important;
  }

  .navbar-collapse.show ~ .custom-button,
  .navbar-collapse.show ~ .navbar {
    border-radius: 0 !important;
  }

  .navbar-collapse.show + .custom-button,
  header.menu-open {
    border-radius: 0 !important;
  }

  p{
    font-size: 1rem;
  }

/*
  .intro-home {
    height: 100vh;
    background-attachment: scroll;
    background-position: center 20%;
    padding-top: 9rem;
  }
*/
	
  .intro-home { 
    height: 110vh; 
    padding-top: 10rem; 
    overflow: hidden; 
  }
  .intro-home::before {
    background-attachment: scroll;                
    will-change: auto;
  }
  
  .intro-home h1 {
    font-size: 2.5rem;
  }

  .intro-service {
    padding: 5rem 0;
  }
  
  .intro-service p{
    font-size: 1rem;
  }
  
  .intro-service h2{
    font-size: 2.5rem;
    margin-bottom: 1rem;
  }
  
  .intro-service h3{
    font-size: 2rem;
  }

  .intro-service .the-service{
    padding: 0 0 5rem 0;
  }

  .first-step{
    padding: 5rem 0;
    text-align: center;
  }
  
  .first-step h2{
    font-size: 2.5rem;
  }
  
  .first-step p{
    font-size: 1rem;
    margin-bottom: 1rem;
  }

  .service-display{
    display: none;
  }

  .all-services{
    padding: 5rem 0;
  }

  .all-services h1{
    font-size: 3rem;
    margin-bottom: 5rem;
  }

  .menu-service-item a {
    font-size: 1.5rem;
  }

  .especialidad{
    padding: 10rem 0;
  }
  
  .especialidad h1{
    font-size: 3rem;
    padding-bottom: 5rem;
  }

  .especialidad .service-image-circle{
    display: none;
  }

  .service-card-content{
    padding-right: 2rem;
  }

  .service-card-content h2{
    font-size: 2.5rem;
  }

  .service-content-size{
    width: 100%;
  }

  .about{
    padding: 10rem 0;
  }
  
  .about h1{
    font-size: 3rem;
    margin-bottom: 5rem;
  }

  .la-clinica{
    padding: 10rem 0;
  }
  
  .la-clinica h1{
    font-size: 3rem;
    margin-bottom: 5rem;
  }
  
  .contacto{
    padding: 10rem 0;
  }
  
  .contacto h1{
    font-size: 3rem;
  }

  .custom-form input,
  .custom-form textarea {
    width: 100%;
    display: block;
  }

  .custom-form {
    flex-direction: column;
  }

  .contacto .contacto-infos{
   margin-bottom: 2rem;
  }

  .the-especialidad{
    padding: 10rem 0;
  }
  
  .the-especialidad h1{
    font-size: 3rem;
  }
  
  .the-especialidad-description{
    padding: 5rem 0;
  }

  .the-especialidad-description h1{
    margin-bottom: 2rem;
  }

  .terms {
    width: 100%;
  }

  .form-actions { 
    row-gap: 1rem; 
  }

  .politica-de-privacidad{
    padding: 10rem 0;
  }
  
  .politica-de-privacidad h1{
    color: var(--cor-escura);
    font-size: 3rem;
    padding-bottom: 5rem;
  }
  
  footer h2{
    font-size: 1.2rem;
	 text-align: center;
	  margin-top: 1.5rem;
  }
	
  footer .col-lg-12.d-flex {
    flex-direction: column !important; /* empilha os elementos */
    align-items: center !important;    /* centraliza horizontalmente */
    text-align: center;                 /* centraliza texto dentro */
    gap: 1rem;                          /* espaçamento entre elementos */
  }

  footer .col-lg-12.d-flex a,
  footer .col-lg-12.d-flex p {
    text-align: center;
  }

  footer .social {
    justify-content: center !important; /* centraliza ícones sociais */
    gap: 0.5rem;                        /* ajusta espaçamento entre ícone e texto */
  }
  

}